Actually start it?

This commit is contained in:
idk
2022-01-16 22:04:35 -05:00
parent 18448b37d1
commit ffe7c33ef0
3 changed files with 26 additions and 11 deletions

View File

@ -131,14 +131,14 @@ func SingleFileDownload(url, name string) (string, error) {
return path, nil
}
func fileExists(path string) bool {
func FileExists(path string) bool {
_, err := os.Stat(path)
return !os.IsNotExist(err)
}
func BotherToDownload(url, name string) bool {
path := filepath.Join(DOWNLOAD_PATH, name)
if !fileExists(path) {
if !FileExists(path) {
return true
}
defer ioutil.WriteFile(filepath.Join(DOWNLOAD_PATH, name+".last-url"), []byte(url), 0644)
@ -217,7 +217,7 @@ func UnpackUpdater(binpath string) error {
return fmt.Errorf("UnpackUpdater: osx open/mount fail %s", err)
}
}
if fileExists(UNPACK_URL) {
if FileExists(UNPACK_URL) {
return nil
}
os.MkdirAll(UNPACK_URL, 0755)
@ -255,6 +255,9 @@ func UnpackUpdater(binpath string) error {
}
defer file.Close()
io.Copy(file, tarReader)
mode := header.FileInfo().Mode()
//remember to chmod the file afterwards
file.Chmod(mode)
}
return nil

View File

@ -40,6 +40,7 @@ func main() {
} else {
log.Printf("Signature check passed")
}
log.Println("Running Tor Browser")
if err := tbsupervise.RunTBWithLang(*lang); err != nil {
log.Fatal(err)
}

View File

@ -1,6 +1,8 @@
package tbsupervise
import (
"fmt"
"log"
"os"
"os/exec"
"path/filepath"
@ -12,7 +14,8 @@ var wd, _ = os.Getwd()
var UNPACK_URL = filepath.Join(wd, "unpack")
var DEFAULT_TB_LANG = tbget.DefaultIETFLang
var DEFAULT_TB_PATH = filepath.Join(UNPACK_URL, "tor-browser"+"_"+DEFAULT_TB_LANG)
var DEFAULT_TB_DIRECTORY = filepath.Join(UNPACK_URL, "tor-browser"+"_"+DEFAULT_TB_LANG)
var DEFAULT_TB_PATH = filepath.Join(DEFAULT_TB_DIRECTORY, "Browser", "start-tor-browser")
var (
OS = tbget.OS
@ -24,18 +27,26 @@ func RunTBWithLang(lang string) error {
if lang == "" {
lang = DEFAULT_TB_LANG
}
log.Println("running tor browser with lang", lang, DEFAULT_TB_PATH)
switch OS {
case "linux":
cmd := exec.Command("/usr/bin/env", "sh", "-c", "./tor-browser_"+lang+"/Browser/start-tor-browser")
cmd.Dir = DEFAULT_TB_PATH
return cmd.Run()
if tbget.FileExists(DEFAULT_TB_PATH) {
log.Println("running tor browser with lang", lang, DEFAULT_TB_PATH)
cmd := exec.Command(DEFAULT_TB_PATH)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return cmd.Run()
} else {
log.Println("tor browser not found at", DEFAULT_TB_PATH)
return fmt.Errorf("tor browser not found at %s", DEFAULT_TB_PATH)
}
case "darwin":
cmd := exec.Command("/usr/bin/env", "open", "-a", "Tor Browser.app")
cmd.Dir = DEFAULT_TB_PATH
cmd := exec.Command("/usr/bin/env", "open", "-a", "\"Tor Browser.app\"")
cmd.Dir = DEFAULT_TB_DIRECTORY
return cmd.Run()
case "windows":
cmd := exec.Command("cmd", "/c", "start", "Tor Browser.exe")
cmd.Dir = DEFAULT_TB_PATH
cmd := exec.Command("cmd", "/c", "start", "\""+DEFAULT_TB_PATH+"\"", "\"Tor Browser.exe\"")
cmd.Dir = DEFAULT_TB_DIRECTORY
return cmd.Run()
default:
}