Files
i2p.plugins.tor-updater/main.go

49 lines
1.2 KiB
Go
Raw Normal View History

package main
2022-01-16 14:45:43 -05:00
import (
"flag"
"log"
2022-01-16 15:33:47 -05:00
"github.com/cloudfoundry/jibber_jabber"
2022-01-16 14:45:43 -05:00
tbget "i2pgit.org/idk/i2p.plugins.tor-manager/get"
2022-01-16 21:22:04 -05:00
tbsupervise "i2pgit.org/idk/i2p.plugins.tor-manager/supervise"
2022-01-16 14:45:43 -05:00
)
2022-01-16 21:22:04 -05:00
var runtimePair = tbget.GetRuntimePair()
2022-01-16 14:45:43 -05:00
var (
2022-01-16 21:22:04 -05:00
lang = flag.String("lang", "", "Language to download")
os = flag.String("os", tbget.OS, "OS/arch to download")
arch = flag.String("arch", tbget.ARCH, "OS/arch to download")
/*mirror = flag.String("mirror", "", "Mirror to use")*/
bemirror = flag.Bool("bemirror", false, "Act as an in-I2P mirror when you're done downloading")
2022-01-16 14:45:43 -05:00
)
func main() {
2022-01-16 14:45:43 -05:00
flag.Parse()
2022-01-16 21:22:04 -05:00
tbget.OS = *os
tbget.ARCH = *arch
2022-01-16 15:33:47 -05:00
if *lang == "" {
var err error
*lang, err = jibber_jabber.DetectIETF()
if err != nil {
log.Fatal("Please specify a language", err)
}
log.Println("Using auto-detected language", *lang)
}
2022-01-16 14:45:43 -05:00
bin, sig, err := tbget.DownloadUpdaterForLang(*lang)
if err != nil {
panic(err)
}
2022-01-16 14:37:05 -05:00
if err := tbget.CheckSignature(bin, sig); err != nil {
2022-01-16 14:45:43 -05:00
log.Fatal(err)
} else {
2022-01-16 14:45:43 -05:00
log.Printf("Signature check passed")
}
log.Println("Running Tor Browser", *lang, runtimePair, bin)
supervisor := tbsupervise.NewSupervisor(bin, *lang)
if err := supervisor.RunTBWithLang(); err != nil {
2022-01-16 21:22:04 -05:00
log.Fatal(err)
}
}