7 Commits

4 changed files with 34 additions and 1 deletions

View File

@ -2,7 +2,7 @@
GO111MODULE=on
VERSION=0.0.06
VERSION=0.0.11
USER_GH=eyedeekay
version:

View File

@ -6,6 +6,7 @@ import (
"io/ioutil"
"log"
"os"
"os/exec"
"os/user"
"runtime"
"strings"
@ -198,3 +199,30 @@ func FindI2PIsInstalledDefaultLocation() (string, error) {
}
return "", fmt.Errorf("i2p router not found.")
}
func ConditionallyLaunchI2P() (bool, error) {
ok, err := CheckI2PIsInstalledDefaultLocation()
if err != nil {
return false, err
}
if ok {
if ok, err := CheckI2PIsRunning(); err == nil {
if !ok {
path, err := FindI2PIsInstalledDefaultLocation()
if err != nil {
return false, err
}
cmd := exec.Command(path, "start")
if err := cmd.Start(); err != nil {
return false, fmt.Errorf("I2P router startup failure", err)
}
return true, nil
}
return true, nil
}else{
return false, err
}
} else {
return false, fmt.Errorf("I2P is not a default location, please set $I2P environment variable")
}
}

Binary file not shown.

View File

@ -28,6 +28,11 @@ func main() {
}
if ok {
log.Println("I2P is installed, successfully confirmed")
path, err := checki2p.FindI2PIsInstalledDefaultLocation()
if err != nil {
log.Fatal(err)
}
log.Println("I2P is installed at:", path)
os.Exit(0)
} else {
log.Println("I2P is not a default location, user feedback is needed")