diff --git a/Makefile b/Makefile index 4a04ce4..c5533d4 100644 --- a/Makefile +++ b/Makefile @@ -348,9 +348,51 @@ docker: xhost -v /tmp/.X11-unix:/tmp/.X11-unix \ --rm eyedeekay/i2p.plugins.tor-manager +LANG?=en-US +TORRENT?=false + +all-torrents: + LANG=ro make torrents + LANG=ru make torrents + LANG=tr make torrents + LANG=en-US make torrents + LANG=ga-IE make torrents + LANG=pt-BR make torrents + LANG=es-ES make torrents + LANG=fa make torrents + LANG=it make torrents + LANG=ja make torrents + LANG=ka make torrents + LANG=ar make torrents + LANG=ca make torrents + LANG=da make torrents + LANG=my make torrents + LANG=th make torrents + LANG=de make torrents + LANG=hu make torrents + LANG=lt make torrents + LANG=he make torrents + LANG=ms make torrents + LANG=pl make torrents + LANG=zh-TW make torrents + LANG=id make torrents + LANG=ko make torrents + LANG=nl make torrents + LANG=zh-CN make torrents + LANG=el make torrents + LANG=fr make torrents + LANG=sv-SE make torrents + LANG=cs make torrents + LANG=es-AR make torrents + LANG=nb-NO make torrents + LANG=is make torrents + LANG=mk make torrents + LANG=vi make torrents + TORRENT=true LANG=vi make torrents + torrents: - ./i2p.plugins.tor-manager -nounpack -notor -os win - ./i2p.plugins.tor-manager -nounpack -notor -os osx - ./i2p.plugins.tor-manager -nounpack -notor -os linux - ./i2p.plugins.tor-manager -nounpack -notor -os win -arch 32 - ./i2p.plugins.tor-manager -nounpack -notor -os linux -arch 32 \ No newline at end of file + TOR_MANAGER_CLEARNET_MIRROR=true TOR_MANAGER_REQUIRE_PASSWORD=false ./i2p.plugins.tor-manager -nounpack -notor -os win -lang "$(LANG)" #-torrent $(TORRENT) + TOR_MANAGER_CLEARNET_MIRROR=true TOR_MANAGER_REQUIRE_PASSWORD=false ./i2p.plugins.tor-manager -nounpack -notor -os osx -lang "$(LANG)" #-torrent $(TORRENT) + TOR_MANAGER_CLEARNET_MIRROR=true TOR_MANAGER_REQUIRE_PASSWORD=false ./i2p.plugins.tor-manager -nounpack -notor -os linux -lang "$(LANG)" #-torrent $(TORRENT) + TOR_MANAGER_CLEARNET_MIRROR=true TOR_MANAGER_REQUIRE_PASSWORD=false ./i2p.plugins.tor-manager -nounpack -notor -os win -arch 32 -lang "$(LANG)" #-torrent $(TORRENT) + TOR_MANAGER_CLEARNET_MIRROR=true TOR_MANAGER_REQUIRE_PASSWORD=false ./i2p.plugins.tor-manager -nounpack -notor -os linux -arch 32 -lang "$(LANG)" #-torrent $(TORRENT) \ No newline at end of file diff --git a/get/get.go b/get/get.go index e0fb077..1e92c16 100644 --- a/get/get.go +++ b/get/get.go @@ -67,6 +67,28 @@ func DOWNLOAD_PATH() string { // TOR_UPDATES_URL is the URL of the Tor Browser update list. const TOR_UPDATES_URL string = "https://aus1.torproject.org/torbrowser/update_3/release/downloads.json" +func Languages() []string { + jsonText, err := http.Get(TOR_UPDATES_URL) + if err != nil { + return []string{} + } + defer jsonText.Body.Close() + jsonBytes, err := ioutil.ReadAll(jsonText.Body) + if err != nil { + return []string{} + } + var updates map[string]interface{} + if err := json.Unmarshal(jsonBytes, &updates); err != nil { + return []string{} + } + var languages []string + //updates[] + for i := range updates["downloads"].(map[string]interface{})["win64"].(map[string]interface{}) { + languages = append(languages, i) + } + return languages +} + var ( // DefaultIETFLang is the default language for the TBDownloader. DefaultIETFLang, _ = jibber_jabber.DetectIETF() diff --git a/get/torrent.go b/get/torrent.go index 2bfbf0c..28a7d6b 100644 --- a/get/torrent.go +++ b/get/torrent.go @@ -38,20 +38,22 @@ func (t *TBDownloader) GenerateMissingTorrents() error { fp := filepath.Join(t.DownloadPath, f+".torrent") af := filepath.Join(t.DownloadPath, f) if !strings.HasSuffix(af, ".torrent") { - os.Remove(fp) - log.Println("Generating torrent for", fp) - meta, err := t.GenerateTorrent(af, nil) - if err != nil { - //return err - log.Println("GenerateMissingTorrents:", err) - continue + //os.Remove(fp) + if !FileExists(fp) { + log.Println("Generating torrent for", fp) + meta, err := t.GenerateTorrent(af, nil) + if err != nil { + //return err + log.Println("GenerateMissingTorrents:", err) + continue + } + file, err := os.Create(fp) + if err != nil { + return err + } + meta.Write(file) + file.Close() } - file, err := os.Create(fp) - if err != nil { - return err - } - meta.Write(file) - file.Close() } snark, err := FindSnarkDirectory() if err != nil { @@ -59,16 +61,22 @@ func (t *TBDownloader) GenerateMissingTorrents() error { } sf := filepath.Join(snark, f) sfp := filepath.Join(snark, f+".torrent") - log.Println("Copying", af, "to", sf) - cp.Copy(af, sf) - log.Println("Copying", fp, "to", sfp) - cp.Copy(fp, sfp) + if !FileExists(sf) { + log.Println("Copying", af, "to", sf) + cp.Copy(af, sf) + } + if !FileExists(sfp) { + log.Println("Copying", fp, "to", sfp) + cp.Copy(fp, sfp) + } } return nil } func (t *TBDownloader) GenerateTorrent(file string, announces []string) (*metainfo.MetaInfo, error) { - info, err := metainfo.NewInfoFromFilePath(file, 5120) + + //info, err := metainfo.NewInfoFromFilePath(file, 5120) + info, err := metainfo.NewInfoFromFilePath(file, 10240) if err != nil { return nil, fmt.Errorf("GenerateTorrent: %s", err) } diff --git a/main.go b/main.go index de12fff..3ec123a 100644 --- a/main.go +++ b/main.go @@ -184,6 +184,10 @@ func main() { fmt.Printf("Options:\n") fmt.Printf("\n") usage() + log.Printf("Available Languages:\n") + for _, l := range tbget.Languages() { + fmt.Printf(" - %s\n", l) + } } flag.Parse() if *ptop {