Actually start it?
This commit is contained in:
@ -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
|
||||
|
||||
|
1
main.go
1
main.go
@ -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)
|
||||
}
|
||||
|
@ -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:
|
||||
}
|
||||
|
Reference in New Issue
Block a user