diff --git a/internal/iplibrary/manager_ip_list.go b/internal/iplibrary/manager_ip_list.go index 917d823..017cf97 100644 --- a/internal/iplibrary/manager_ip_list.go +++ b/internal/iplibrary/manager_ip_list.go @@ -49,7 +49,7 @@ func (this *IPListManager) Start() { remotelogs.Println("IP_LIST_MANAGER", err.Error()) } - ticker := time.NewTicker(60 * time.Second) // TODO 未来改成可以手动触发IP变更事件 + ticker := time.NewTicker(60 * time.Second) events.On(events.EventQuit, func() { ticker.Stop() }) diff --git a/internal/nodes/http_request.go b/internal/nodes/http_request.go index db035ad..5a538a3 100644 --- a/internal/nodes/http_request.go +++ b/internal/nodes/http_request.go @@ -853,6 +853,7 @@ func (this *HTTPRequest) requestServerPort() int { // 设置代理相关头部信息 // 参考:https://tools.ietf.org/html/rfc7239 +// TODO X-Forwarded-* 系列做成可选项,避免有些源站屏蔽此项 func (this *HTTPRequest) setForwardHeaders(header http.Header) { if this.RawReq.Header.Get("Connection") == "close" { this.RawReq.Header.Set("Connection", "keep-alive") diff --git a/internal/nodes/http_request_waf.go b/internal/nodes/http_request_waf.go index e90c566..5f04bb0 100644 --- a/internal/nodes/http_request_waf.go +++ b/internal/nodes/http_request_waf.go @@ -84,6 +84,7 @@ func (this *HTTPRequest) checkWAFRequest(firewallPolicy *firewallconfigs.HTTPFir countryId := iplibrary.SharedCountryManager.Lookup(result.Country) if countryId > 0 && lists.ContainsInt64(regionConfig.DenyCountryIds, countryId) { // TODO 可以配置对封禁的处理方式等 + // TODO 需要记录日志信息 this.writer.WriteHeader(http.StatusForbidden) this.writer.Close() @@ -99,6 +100,7 @@ func (this *HTTPRequest) checkWAFRequest(firewallPolicy *firewallconfigs.HTTPFir provinceId := iplibrary.SharedProvinceManager.Lookup(result.Province) if provinceId > 0 && lists.ContainsInt64(regionConfig.DenyProvinceIds, provinceId) { // TODO 可以配置对封禁的处理方式等 + // TODO 需要记录日志信息 this.writer.WriteHeader(http.StatusForbidden) this.writer.Close() diff --git a/internal/utils/ip_test.go b/internal/utils/ip_test.go new file mode 100644 index 0000000..132b4aa --- /dev/null +++ b/internal/utils/ip_test.go @@ -0,0 +1,9 @@ +package utils + +import "testing" + +func TestIP2Long(t *testing.T) { + t.Log(IP2Long("0.0.0.0")) + t.Log(IP2Long("1.0.0.0")) + t.Log(IP2Long("0.0.0.0.0")) +}