ooni-probe-cli/internal/tunnel/tordesktop.go

30 lines
740 B
Go
Raw Permalink Normal View History

//go:build !android && !ios
package tunnel
// This file implements our strategy for running tor on desktop.
import (
"strings"
"github.com/cretz/bine/tor"
)
// getTorStartConf in this configuration uses torExePath to get a
// suitable tor binary and then executes it.
func getTorStartConf(config *Config, dataDir string, extraArgs []string) (*tor.StartConf, error) {
exePath, err := config.torBinary()
if err != nil {
config.logger().Warnf("cannot find tor binary: %s", err.Error())
return nil, err
}
config.logger().Infof("tunnel: tor: exec: %s %s %s", exePath,
dataDir, strings.Join(extraArgs, " "))
return &tor.StartConf{
ExePath: exePath,
DataDir: dataDir,
ExtraArgs: extraArgs,
NoHush: true,
}, nil
}