mirror of
https://github.com/Sagit-chu/flvx.git
synced 2026-10-12 04:06:37 +08:00
增加协议屏蔽支持
This commit is contained in:
Executable
BIN
Binary file not shown.
+1
-5
@@ -140,11 +140,7 @@ func main() {
|
|||||||
defer wsReporter.Stop()
|
defer wsReporter.Stop()
|
||||||
service.SetHTTPReportURL(config.Addr, config.Secret)
|
service.SetHTTPReportURL(config.Addr, config.Secret)
|
||||||
|
|
||||||
p := &program{
|
p := &program{}
|
||||||
configReporter: func() {
|
|
||||||
service.StartConfigReporter()
|
|
||||||
},
|
|
||||||
}
|
|
||||||
if err := svc.Run(p); err != nil {
|
if err := svc.Run(p); err != nil {
|
||||||
logger.Default().Fatal(err)
|
logger.Default().Fatal(err)
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-6
@@ -15,12 +15,14 @@ import (
|
|||||||
xmetrics "github.com/go-gost/x/metrics"
|
xmetrics "github.com/go-gost/x/metrics"
|
||||||
metrics "github.com/go-gost/x/metrics/service"
|
metrics "github.com/go-gost/x/metrics/service"
|
||||||
"github.com/go-gost/x/registry"
|
"github.com/go-gost/x/registry"
|
||||||
|
xservice "github.com/go-gost/x/service"
|
||||||
"github.com/judwhite/go-svc"
|
"github.com/judwhite/go-svc"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
"strings"
|
"strings"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
type program struct {
|
type program struct {
|
||||||
@@ -29,7 +31,6 @@ type program struct {
|
|||||||
srvProfiling *http.Server
|
srvProfiling *http.Server
|
||||||
|
|
||||||
cancel context.CancelFunc
|
cancel context.CancelFunc
|
||||||
configReporter func() // 配置上报器启动函数
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *program) Init(env svc.Environment) error {
|
func (p *program) Init(env svc.Environment) error {
|
||||||
@@ -65,11 +66,6 @@ func (p *program) Start() error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// 配置加载完成后启动配置上报器
|
|
||||||
if p.configReporter != nil {
|
|
||||||
go p.configReporter()
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := p.run(cfg); err != nil {
|
if err := p.run(cfg); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -78,6 +74,15 @@ func (p *program) Start() error {
|
|||||||
p.cancel = cancel
|
p.cancel = cancel
|
||||||
go p.reload(ctx)
|
go p.reload(ctx)
|
||||||
|
|
||||||
|
go func() {
|
||||||
|
select {
|
||||||
|
case <-time.After(10 * time.Second):
|
||||||
|
xservice.StartConfigReporter(ctx)
|
||||||
|
case <-ctx.Done():
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -189,8 +189,7 @@ func sendConfigReport(ctx context.Context) (bool, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// StartConfigReporter 启动配置定时上报器(每10分钟上报一次)
|
// StartConfigReporter 启动配置定时上报器(每10分钟上报一次)
|
||||||
func StartConfigReporter() {
|
func StartConfigReporter(ctx context.Context) {
|
||||||
ctx, _ := context.WithCancel(context.Background())
|
|
||||||
if configReportURL == "" {
|
if configReportURL == "" {
|
||||||
fmt.Printf("⚠️ 配置上报URL未设置,跳过定时上报\n")
|
fmt.Printf("⚠️ 配置上报URL未设置,跳过定时上报\n")
|
||||||
return
|
return
|
||||||
|
|||||||
+1
-1
@@ -266,7 +266,7 @@ block_protocol() {
|
|||||||
[[ "$block_socks5" == "y" ]] && echo " - SOCKS5 已屏蔽" || echo " - SOCKS5 未屏蔽"
|
[[ "$block_socks5" == "y" ]] && echo " - SOCKS5 已屏蔽" || echo " - SOCKS5 未屏蔽"
|
||||||
|
|
||||||
# 生成 rules.yaml 文件
|
# 生成 rules.yaml 文件
|
||||||
local file="rules.yaml"
|
local file="/etc/gost/rules.yaml"
|
||||||
> "$file"
|
> "$file"
|
||||||
|
|
||||||
# 构造 IP 排除字符串
|
# 构造 IP 排除字符串
|
||||||
|
|||||||
Reference in New Issue
Block a user