Loading conf/config.json +1 −6 Original line number Diff line number Diff line Loading @@ -112,12 +112,7 @@ "num_bridges_per_request": 3, "rotation_period_hours": 24, "num_periods": 30, "builtin_bridges_url": "https://gitweb.torproject.org/builders/tor-browser-build.git/plain/projects/common/", "builtin_bridges_types": [ "meek-azure", "obfs4", "snowflake" ], "builtin_bridges_url": "https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/raw/main/projects/tor-expert-bundle/pt_config.json", "shim_tokens": { "shim": "" }, Loading internal/config.go +0 −1 Original line number Diff line number Diff line Loading @@ -94,7 +94,6 @@ type MoatDistConfig struct { RotationPeriodHours int `json:"rotation_period_hours"` NumPeriods int `json:"num_periods"` BuiltInBridgesURL string `json:"builtin_bridges_url"` BuiltInBridgesTypes []string `json:"builtin_bridges_types"` ShimTokens map[string]string `json:"shim_tokens"` DummyBridgesFile string `json:"dummy_bridges_file"` WebApi WebApiConfig `json:"web_api"` Loading pkg/presentation/distributors/moat/web.go +9 −8 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ package moat import ( "bytes" "encoding/json" "errors" "fmt" Loading Loading @@ -303,7 +302,11 @@ func builtinHandler(w http.ResponseWriter, r *http.Request) { } } func fetchBridges(url string) ([]string, error) { type builtinBridgesJSON struct { Bridges map[string][]string `json:"bridges"` } func fetchBridges(url string) (map[string][]string, error) { resp, err := http.Get(url) if err != nil { return nil, err Loading @@ -313,10 +316,8 @@ func fetchBridges(url string) ([]string, error) { return nil, fmt.Errorf("Status code: %d", resp.StatusCode) } body, err := io.ReadAll(resp.Body) if err != nil { return nil, err } body = bytes.TrimSpace(body) return strings.Split(string(body), "\n"), nil var builtinBridges builtinBridgesJSON dec := json.NewDecoder(resp.Body) err = dec.Decode(&builtinBridges) return builtinBridges.Bridges, err } pkg/usecases/distributors/moat/moat.go +7 −7 Original line number Diff line number Diff line Loading @@ -61,7 +61,9 @@ type MoatDistributor struct { wg sync.WaitGroup shutdown chan bool FetchBridges func(url string) (bridgeLines []string, err error) // FetchBridges gets the list of builtin bridgelines from a remote url // the bridgeLines map is indexed by bridge type FetchBridges func(url string) (bridgeLines map[string][]string, err error) } func (d *MoatDistributor) LoadCircumventionMap(r io.Reader) error { Loading Loading @@ -218,13 +220,11 @@ func (d *MoatDistributor) housekeeping(rStream chan *core.ResourceDiff) { } func (d *MoatDistributor) fetchBuiltinBridges() { for _, bType := range d.cfg.BuiltInBridgesTypes { builtinBridges, err := d.FetchBridges(d.cfg.BuiltInBridgesURL + "bridges_list." + bType + ".txt") builtinBridges, err := d.FetchBridges(d.cfg.BuiltInBridgesURL) if err != nil { log.Println("Failed to fetch builtin bridges of type", bType, ":", err) continue } d.builtinBridges[bType] = builtinBridges log.Println("Failed to fetch builtin bridges:", err) } else { d.builtinBridges = builtinBridges } } Loading pkg/usecases/distributors/moat/moat_test.go +2 −3 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ var ( Distributors: internal.Distributors{ Moat: internal.MoatDistConfig{ Resources: []string{"dummy", "obsf4"}, BuiltInBridgesTypes: []string{"snowflake"}, NumBridgesPerRequest: 1, }, }, Loading Loading @@ -54,8 +53,8 @@ const ( dummyBridges = `obfs4 209.148.46.65:443 74FAD13168806246602538555B5521A0383A1875 cert=ssH+9rP8dG2NLDN2XuFw63hIO/9MNNinLmxQDpVa+7kTOa9/m+tGWT1SmSYpQ9uTBGa6Hw iat-mode=0` ) func fetchBridges(url string) ([]string, error) { bridgeLines := []string{"snowflake 192.0.2.3:1 2B280B23E1107BB62ABFC40DDCC8824814F80A72"} func fetchBridges(url string) (map[string][]string, error) { bridgeLines := map[string][]string{"snowflake": {"snowflake 192.0.2.3:1 2B280B23E1107BB62ABFC40DDCC8824814F80A72"}} return bridgeLines, nil } Loading Loading
conf/config.json +1 −6 Original line number Diff line number Diff line Loading @@ -112,12 +112,7 @@ "num_bridges_per_request": 3, "rotation_period_hours": 24, "num_periods": 30, "builtin_bridges_url": "https://gitweb.torproject.org/builders/tor-browser-build.git/plain/projects/common/", "builtin_bridges_types": [ "meek-azure", "obfs4", "snowflake" ], "builtin_bridges_url": "https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/raw/main/projects/tor-expert-bundle/pt_config.json", "shim_tokens": { "shim": "" }, Loading
internal/config.go +0 −1 Original line number Diff line number Diff line Loading @@ -94,7 +94,6 @@ type MoatDistConfig struct { RotationPeriodHours int `json:"rotation_period_hours"` NumPeriods int `json:"num_periods"` BuiltInBridgesURL string `json:"builtin_bridges_url"` BuiltInBridgesTypes []string `json:"builtin_bridges_types"` ShimTokens map[string]string `json:"shim_tokens"` DummyBridgesFile string `json:"dummy_bridges_file"` WebApi WebApiConfig `json:"web_api"` Loading
pkg/presentation/distributors/moat/web.go +9 −8 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ package moat import ( "bytes" "encoding/json" "errors" "fmt" Loading Loading @@ -303,7 +302,11 @@ func builtinHandler(w http.ResponseWriter, r *http.Request) { } } func fetchBridges(url string) ([]string, error) { type builtinBridgesJSON struct { Bridges map[string][]string `json:"bridges"` } func fetchBridges(url string) (map[string][]string, error) { resp, err := http.Get(url) if err != nil { return nil, err Loading @@ -313,10 +316,8 @@ func fetchBridges(url string) ([]string, error) { return nil, fmt.Errorf("Status code: %d", resp.StatusCode) } body, err := io.ReadAll(resp.Body) if err != nil { return nil, err } body = bytes.TrimSpace(body) return strings.Split(string(body), "\n"), nil var builtinBridges builtinBridgesJSON dec := json.NewDecoder(resp.Body) err = dec.Decode(&builtinBridges) return builtinBridges.Bridges, err }
pkg/usecases/distributors/moat/moat.go +7 −7 Original line number Diff line number Diff line Loading @@ -61,7 +61,9 @@ type MoatDistributor struct { wg sync.WaitGroup shutdown chan bool FetchBridges func(url string) (bridgeLines []string, err error) // FetchBridges gets the list of builtin bridgelines from a remote url // the bridgeLines map is indexed by bridge type FetchBridges func(url string) (bridgeLines map[string][]string, err error) } func (d *MoatDistributor) LoadCircumventionMap(r io.Reader) error { Loading Loading @@ -218,13 +220,11 @@ func (d *MoatDistributor) housekeeping(rStream chan *core.ResourceDiff) { } func (d *MoatDistributor) fetchBuiltinBridges() { for _, bType := range d.cfg.BuiltInBridgesTypes { builtinBridges, err := d.FetchBridges(d.cfg.BuiltInBridgesURL + "bridges_list." + bType + ".txt") builtinBridges, err := d.FetchBridges(d.cfg.BuiltInBridgesURL) if err != nil { log.Println("Failed to fetch builtin bridges of type", bType, ":", err) continue } d.builtinBridges[bType] = builtinBridges log.Println("Failed to fetch builtin bridges:", err) } else { d.builtinBridges = builtinBridges } } Loading
pkg/usecases/distributors/moat/moat_test.go +2 −3 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ var ( Distributors: internal.Distributors{ Moat: internal.MoatDistConfig{ Resources: []string{"dummy", "obsf4"}, BuiltInBridgesTypes: []string{"snowflake"}, NumBridgesPerRequest: 1, }, }, Loading Loading @@ -54,8 +53,8 @@ const ( dummyBridges = `obfs4 209.148.46.65:443 74FAD13168806246602538555B5521A0383A1875 cert=ssH+9rP8dG2NLDN2XuFw63hIO/9MNNinLmxQDpVa+7kTOa9/m+tGWT1SmSYpQ9uTBGa6Hw iat-mode=0` ) func fetchBridges(url string) ([]string, error) { bridgeLines := []string{"snowflake 192.0.2.3:1 2B280B23E1107BB62ABFC40DDCC8824814F80A72"} func fetchBridges(url string) (map[string][]string, error) { bridgeLines := map[string][]string{"snowflake": {"snowflake 192.0.2.3:1 2B280B23E1107BB62ABFC40DDCC8824814F80A72"}} return bridgeLines, nil } Loading