Skip to content

Commit 83b101b

Browse files
committed
fix geoip
1 parent 1d42e5e commit 83b101b

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

backend/client/box.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ func getOUt(peer *config.Peer) option.Outbound {
105105
func Client(gamePeer, httpPeer *config.Peer, proxyDNS, localDNS string, rules []option.Rule) (*box.Box, error) {
106106
home, _ := os.UserHomeDir()
107107
proxyOut := getOUt(gamePeer)
108+
httpOut := proxyOut
109+
if httpPeer != nil {
110+
httpOut = getOUt(httpPeer)
111+
}
112+
httpOut.Tag = "http"
108113
proxyOut.Tag = "proxy"
109114
options := box.Options{
110115
Context: context.Background(),
@@ -205,13 +210,13 @@ func Client(gamePeer, httpPeer *config.Peer, proxyDNS, localDNS string, rules []
205210
AutoDetectInterface: true,
206211
GeoIP: &option.GeoIPOptions{
207212
Path: fmt.Sprintf("%s%c%s%c%s", home, os.PathSeparator, ".gpp", os.PathSeparator, "geoip.db"),
208-
DownloadURL: "https://ghp.ci/https://github.com/SagerNet/sing-geoip/releases/latest/download/geoip.db",
209-
DownloadDetour: "direct",
213+
DownloadURL: "https://github.com/SagerNet/sing-geoip/releases/latest/download/geoip.db",
214+
DownloadDetour: "http",
210215
},
211216
Geosite: &option.GeositeOptions{
212217
Path: fmt.Sprintf("%s%c%s%c%s", home, os.PathSeparator, ".gpp", os.PathSeparator, "geosite.db"),
213-
DownloadURL: "https://ghp.ci/https://github.com/SagerNet/sing-geosite/releases/latest/download/geosite.db",
214-
DownloadDetour: "direct",
218+
DownloadURL: "https://github.com/SagerNet/sing-geosite/releases/latest/download/geosite.db",
219+
DownloadDetour: "http",
215220
},
216221
Rules: []option.Rule{
217222
{
@@ -320,10 +325,9 @@ func Client(gamePeer, httpPeer *config.Peer, proxyDNS, localDNS string, rules []
320325
options.Options.Route.Rules = append(options.Options.Route.Rules, rules...)
321326
// http
322327
if httpPeer != nil && httpPeer.Name != gamePeer.Name {
323-
out := getOUt(httpPeer)
324-
options.Options.Outbounds = append(options.Options.Outbounds, out)
325-
options.Options.Route.Rules = append(options.Options.Route.Rules, option.Rule{Type: "default", DefaultOptions: option.DefaultRule{Protocol: option.Listable[string]{"http"}, Outbound: out.Tag}})
326-
options.Options.Route.Rules = append(options.Options.Route.Rules, option.Rule{Type: "default", DefaultOptions: option.DefaultRule{Network: option.Listable[string]{"tcp"}, Port: []uint16{80, 443, 8080, 8443}, Outbound: out.Tag}})
328+
options.Options.Outbounds = append(options.Options.Outbounds, httpOut)
329+
options.Options.Route.Rules = append(options.Options.Route.Rules, option.Rule{Type: "default", DefaultOptions: option.DefaultRule{Protocol: option.Listable[string]{"http"}, Outbound: httpOut.Tag}})
330+
options.Options.Route.Rules = append(options.Options.Route.Rules, option.Rule{Type: "default", DefaultOptions: option.DefaultRule{Network: option.Listable[string]{"tcp"}, Port: []uint16{80, 443, 8080, 8443}, Outbound: httpOut.Tag}})
327331
}
328332
if config.Debug.Load() {
329333
options.Log = &option.LogOptions{

0 commit comments

Comments
 (0)