diff --git a/get/get.go b/get/get.go index 3917965..54d2b0f 100644 --- a/get/get.go +++ b/get/get.go @@ -68,6 +68,9 @@ func GetUpdaterForLangFromJson(body io.ReadCloser, ietf string) (string, string, if err != nil { return "", "", fmt.Errorf("GetUpdaterForLangFromJson: %s", err) } + if err = ioutil.WriteFile(filepath.Join(DOWNLOAD_PATH, "downloads.json"), jsonBytes, 0644); err != nil { + return "", "", fmt.Errorf("GetUpdaterForLangFromJson: %s", err) + } return GetUpdaterForLangFromJsonBytes(jsonBytes, ietf) } diff --git a/serve/serve.go b/serve/serve.go new file mode 100644 index 0000000..baa357d --- /dev/null +++ b/serve/serve.go @@ -0,0 +1,89 @@ +package tbserve + +import ( + "encoding/json" + "fmt" + "io/ioutil" + "path/filepath" + "strings" + + tbget "i2pgit.org/idk/i2p.plugins.tor-manager/get" +) + +func generateMirrorJSON(hostname string) (map[string]interface{}, error) { + if !strings.HasSuffix(hostname, "/") { + hostname += "/" + } + path := filepath.Join(tbget.DOWNLOAD_PATH, "downloads.json") + preBytes, err := ioutil.ReadFile(path) + if err != nil { + return nil, fmt.Errorf("GenerateMirrorJSON: %s", err) + } + binpath, _, err := tbget.GetUpdaterForLangFromJsonBytes(preBytes, "en-US") + if err != nil { + return nil, fmt.Errorf("GenerateMirrorJSON: %s", err) + } + urlparts := strings.Split(binpath, "/") + replaceString := GenerateReplaceString(urlparts[:len(urlparts)-1]) + fmt.Printf("Replacing: %s with %s\n", replaceString, hostname) + jsonBytes := []byte(strings.Replace(string(preBytes), replaceString, hostname, -1)) + var JSON map[string]interface{} + if err := json.Unmarshal(jsonBytes, &JSON); err != nil { + panic(err) + } + return JSON, nil +} + +func GenerateMirrorJSON(hostname, lang string) (string, error) { + JSON, err := generateMirrorJSON(hostname) + if err != nil { + return "", err + } + path := filepath.Join(tbget.DOWNLOAD_PATH, "downloads.json") + preBytes, err := ioutil.ReadFile(path) + if err != nil { + return "", fmt.Errorf("GenerateMirrorJSONBytes: %s", err) + } + binpath, _, err := tbget.GetUpdaterForLangFromJsonBytes(preBytes, "en-US") + if err != nil { + return "", fmt.Errorf("GenerateMirrorJSONBytes: %s", err) + } + urlparts := strings.Split(binpath, "/") + replaceString := GenerateReplaceString(urlparts[:len(urlparts)-1]) + + if platform, ok := JSON["downloads"]; ok { + rtp := tbget.GetRuntimePair() + for k, v := range platform.(map[string]interface{}) { + if k != rtp { + delete(platform.(map[string]interface{}), k) + } + for k2 := range v.(map[string]interface{}) { + if k2 != lang { + delete(v.(map[string]interface{}), k2) + } + + } + } + bytes, err := json.MarshalIndent(JSON, "", " ") + if err != nil { + return "", err + } + return strings.Replace(string(bytes), replaceString, hostname, -1), nil + } + return "", fmt.Errorf("GenerateMirrorJSONBytes: %s", "No downloads found") +} + +func GenerateReplaceString(urlparts []string) string { + replaceString := "" + for _, val := range urlparts { + if val == "https" { + replaceString += val + "//" + } else { + replaceString += val + "/" + } + } + if !strings.HasSuffix(replaceString, "/") { + replaceString += "/" + } + return replaceString +} diff --git a/serve/serve_test.go b/serve/serve_test.go new file mode 100644 index 0000000..ca23cfa --- /dev/null +++ b/serve/serve_test.go @@ -0,0 +1,15 @@ +package tbserve + +import ( + tbget "i2pgit.org/idk/i2p.plugins.tor-manager/get" + "testing" +) + +func TestServe(t *testing.T) { + tbget.DOWNLOAD_PATH = "../tor-browser" + bytes, err := GenerateMirrorJSON("http://localhost:8080", "en-US") + if err != nil { + t.Error(err) + } + t.Log(string(bytes)) +} diff --git a/tor-browser/downloads.json b/tor-browser/downloads.json new file mode 100644 index 0000000..93315d5 --- /dev/null +++ b/tor-browser/downloads.json @@ -0,0 +1 @@ +{"downloads":{"linux32":{"ar":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ar.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ar.tar.xz.asc"},"ca":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ca.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ca.tar.xz.asc"},"cs":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_cs.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_cs.tar.xz.asc"},"da":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_da.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_da.tar.xz.asc"},"de":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_de.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_de.tar.xz.asc"},"el":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_el.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_el.tar.xz.asc"},"en-US":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_en-US.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_en-US.tar.xz.asc"},"es-AR":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_es-AR.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_es-AR.tar.xz.asc"},"es-ES":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_es-ES.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_es-ES.tar.xz.asc"},"fa":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_fa.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_fa.tar.xz.asc"},"fr":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_fr.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_fr.tar.xz.asc"},"ga-IE":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ga-IE.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ga-IE.tar.xz.asc"},"he":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_he.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_he.tar.xz.asc"},"hu":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_hu.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_hu.tar.xz.asc"},"id":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_id.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_id.tar.xz.asc"},"is":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_is.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_is.tar.xz.asc"},"it":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_it.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_it.tar.xz.asc"},"ja":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ja.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ja.tar.xz.asc"},"ka":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ka.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ka.tar.xz.asc"},"ko":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ko.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ko.tar.xz.asc"},"lt":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_lt.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_lt.tar.xz.asc"},"mk":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_mk.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_mk.tar.xz.asc"},"ms":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ms.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ms.tar.xz.asc"},"my":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_my.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_my.tar.xz.asc"},"nb-NO":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_nb-NO.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_nb-NO.tar.xz.asc"},"nl":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_nl.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_nl.tar.xz.asc"},"pl":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_pl.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_pl.tar.xz.asc"},"pt-BR":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_pt-BR.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_pt-BR.tar.xz.asc"},"ro":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ro.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ro.tar.xz.asc"},"ru":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ru.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_ru.tar.xz.asc"},"sv-SE":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_sv-SE.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_sv-SE.tar.xz.asc"},"th":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_th.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_th.tar.xz.asc"},"tr":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_tr.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_tr.tar.xz.asc"},"vi":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_vi.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_vi.tar.xz.asc"},"zh-CN":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_zh-CN.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_zh-CN.tar.xz.asc"},"zh-TW":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_zh-TW.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux32-11.0.4_zh-TW.tar.xz.asc"}},"linux64":{"ar":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ar.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ar.tar.xz.asc"},"ca":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ca.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ca.tar.xz.asc"},"cs":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_cs.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_cs.tar.xz.asc"},"da":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_da.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_da.tar.xz.asc"},"de":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_de.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_de.tar.xz.asc"},"el":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_el.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_el.tar.xz.asc"},"en-US":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_en-US.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_en-US.tar.xz.asc"},"es-AR":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_es-AR.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_es-AR.tar.xz.asc"},"es-ES":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_es-ES.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_es-ES.tar.xz.asc"},"fa":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_fa.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_fa.tar.xz.asc"},"fr":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_fr.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_fr.tar.xz.asc"},"ga-IE":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ga-IE.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ga-IE.tar.xz.asc"},"he":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_he.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_he.tar.xz.asc"},"hu":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_hu.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_hu.tar.xz.asc"},"id":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_id.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_id.tar.xz.asc"},"is":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_is.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_is.tar.xz.asc"},"it":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_it.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_it.tar.xz.asc"},"ja":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ja.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ja.tar.xz.asc"},"ka":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ka.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ka.tar.xz.asc"},"ko":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ko.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ko.tar.xz.asc"},"lt":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_lt.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_lt.tar.xz.asc"},"mk":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_mk.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_mk.tar.xz.asc"},"ms":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ms.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ms.tar.xz.asc"},"my":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_my.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_my.tar.xz.asc"},"nb-NO":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_nb-NO.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_nb-NO.tar.xz.asc"},"nl":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_nl.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_nl.tar.xz.asc"},"pl":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_pl.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_pl.tar.xz.asc"},"pt-BR":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_pt-BR.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_pt-BR.tar.xz.asc"},"ro":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ro.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ro.tar.xz.asc"},"ru":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ru.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_ru.tar.xz.asc"},"sv-SE":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_sv-SE.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_sv-SE.tar.xz.asc"},"th":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_th.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_th.tar.xz.asc"},"tr":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_tr.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_tr.tar.xz.asc"},"vi":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_vi.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_vi.tar.xz.asc"},"zh-CN":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_zh-CN.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_zh-CN.tar.xz.asc"},"zh-TW":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_zh-TW.tar.xz","sig":"https://dist.torproject.org/torbrowser/11.0.4/tor-browser-linux64-11.0.4_zh-TW.tar.xz.asc"}},"osx64":{"ar":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ar.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ar.dmg.asc"},"ca":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ca.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ca.dmg.asc"},"cs":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_cs.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_cs.dmg.asc"},"da":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_da.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_da.dmg.asc"},"de":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_de.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_de.dmg.asc"},"el":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_el.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_el.dmg.asc"},"en-US":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_en-US.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_en-US.dmg.asc"},"es-AR":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_es-AR.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_es-AR.dmg.asc"},"es-ES":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_es-ES.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_es-ES.dmg.asc"},"fa":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_fa.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_fa.dmg.asc"},"fr":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_fr.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_fr.dmg.asc"},"ga-IE":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ga-IE.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ga-IE.dmg.asc"},"he":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_he.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_he.dmg.asc"},"hu":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_hu.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_hu.dmg.asc"},"id":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_id.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_id.dmg.asc"},"is":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_is.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_is.dmg.asc"},"it":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_it.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_it.dmg.asc"},"ja":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ja.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ja.dmg.asc"},"ka":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ka.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ka.dmg.asc"},"ko":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ko.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ko.dmg.asc"},"lt":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_lt.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_lt.dmg.asc"},"mk":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_mk.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_mk.dmg.asc"},"ms":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ms.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ms.dmg.asc"},"my":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_my.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_my.dmg.asc"},"nb-NO":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_nb-NO.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_nb-NO.dmg.asc"},"nl":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_nl.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_nl.dmg.asc"},"pl":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_pl.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_pl.dmg.asc"},"pt-BR":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_pt-BR.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_pt-BR.dmg.asc"},"ro":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ro.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ro.dmg.asc"},"ru":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ru.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_ru.dmg.asc"},"sv-SE":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_sv-SE.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_sv-SE.dmg.asc"},"th":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_th.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_th.dmg.asc"},"tr":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_tr.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_tr.dmg.asc"},"vi":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_vi.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_vi.dmg.asc"},"zh-CN":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_zh-CN.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_zh-CN.dmg.asc"},"zh-TW":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_zh-TW.dmg","sig":"https://dist.torproject.org/torbrowser/11.0.4/TorBrowser-11.0.4-osx64_zh-TW.dmg.asc"}},"win32":{"ar":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ar.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ar.exe.asc"},"ca":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ca.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ca.exe.asc"},"cs":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_cs.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_cs.exe.asc"},"da":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_da.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_da.exe.asc"},"de":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_de.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_de.exe.asc"},"el":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_el.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_el.exe.asc"},"en-US":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_en-US.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_en-US.exe.asc"},"es-AR":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_es-AR.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_es-AR.exe.asc"},"es-ES":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_es-ES.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_es-ES.exe.asc"},"fa":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_fa.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_fa.exe.asc"},"fr":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_fr.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_fr.exe.asc"},"ga-IE":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ga-IE.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ga-IE.exe.asc"},"he":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_he.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_he.exe.asc"},"hu":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_hu.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_hu.exe.asc"},"id":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_id.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_id.exe.asc"},"is":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_is.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_is.exe.asc"},"it":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_it.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_it.exe.asc"},"ja":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ja.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ja.exe.asc"},"ka":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ka.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ka.exe.asc"},"ko":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ko.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ko.exe.asc"},"lt":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_lt.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_lt.exe.asc"},"mk":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_mk.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_mk.exe.asc"},"ms":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ms.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ms.exe.asc"},"my":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_my.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_my.exe.asc"},"nb-NO":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_nb-NO.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_nb-NO.exe.asc"},"nl":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_nl.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_nl.exe.asc"},"pl":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_pl.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_pl.exe.asc"},"pt-BR":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_pt-BR.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_pt-BR.exe.asc"},"ro":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ro.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ro.exe.asc"},"ru":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ru.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_ru.exe.asc"},"sv-SE":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_sv-SE.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_sv-SE.exe.asc"},"th":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_th.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_th.exe.asc"},"tr":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_tr.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_tr.exe.asc"},"vi":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_vi.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_vi.exe.asc"},"zh-CN":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_zh-CN.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_zh-CN.exe.asc"},"zh-TW":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_zh-TW.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-11.0.4_zh-TW.exe.asc"}},"win64":{"ar":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ar.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ar.exe.asc"},"ca":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ca.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ca.exe.asc"},"cs":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_cs.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_cs.exe.asc"},"da":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_da.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_da.exe.asc"},"de":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_de.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_de.exe.asc"},"el":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_el.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_el.exe.asc"},"en-US":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_en-US.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_en-US.exe.asc"},"es-AR":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_es-AR.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_es-AR.exe.asc"},"es-ES":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_es-ES.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_es-ES.exe.asc"},"fa":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_fa.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_fa.exe.asc"},"fr":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_fr.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_fr.exe.asc"},"ga-IE":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ga-IE.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ga-IE.exe.asc"},"he":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_he.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_he.exe.asc"},"hu":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_hu.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_hu.exe.asc"},"id":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_id.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_id.exe.asc"},"is":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_is.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_is.exe.asc"},"it":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_it.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_it.exe.asc"},"ja":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ja.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ja.exe.asc"},"ka":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ka.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ka.exe.asc"},"ko":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ko.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ko.exe.asc"},"lt":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_lt.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_lt.exe.asc"},"mk":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_mk.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_mk.exe.asc"},"ms":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ms.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ms.exe.asc"},"my":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_my.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_my.exe.asc"},"nb-NO":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_nb-NO.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_nb-NO.exe.asc"},"nl":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_nl.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_nl.exe.asc"},"pl":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_pl.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_pl.exe.asc"},"pt-BR":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_pt-BR.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_pt-BR.exe.asc"},"ro":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ro.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ro.exe.asc"},"ru":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ru.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_ru.exe.asc"},"sv-SE":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_sv-SE.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_sv-SE.exe.asc"},"th":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_th.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_th.exe.asc"},"tr":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_tr.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_tr.exe.asc"},"vi":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_vi.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_vi.exe.asc"},"zh-CN":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_zh-CN.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_zh-CN.exe.asc"},"zh-TW":{"binary":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_zh-TW.exe","sig":"https://dist.torproject.org/torbrowser/11.0.4/torbrowser-install-win64-11.0.4_zh-TW.exe.asc"}}},"version":"11.0.4"} \ No newline at end of file