tAdd a commandline flag for allowing custom remote directory lists. - tordam - A library for peer discovery inside the Tor network HTML git clone https://git.parazyd.org/tordam DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit 57d5e502e50701fb1352feb2dd2453f5ab74ca7e DIR parent ece23839a13bb1e2ec29027902076e691f25525b HTML Author: parazyd <parazyd@dyne.org> Date: Mon, 3 Sep 2018 13:53:51 +0200 Add a commandline flag for allowing custom remote directory lists. The flag reads a comma-separated string and splits it into a slice of strings to be used with fetchDirlist(). Diffstat: M cmd/dam-client/main.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) --- DIR diff --git a/cmd/dam-client/main.go b/cmd/dam-client/main.go t@@ -35,6 +35,7 @@ import ( "os" "os/exec" "strconv" + "strings" "sync" "time" t@@ -45,12 +46,6 @@ type msgStruct struct { Secret string } -// Network entry points. These files hold the lists of directories we can -// announce to. Format is "DIR:22mobp7vrb7a4gt2.onion", other lines are ignored. -var dirHosts = []string{ - "https://dam.decodeproject.eu/dirs.txt", -} - func announce(dir string, vals map[string]string, privkey *rsa.PrivateKey) (bool, error) { msg, err := json.Marshal(vals) if err != nil { t@@ -207,15 +202,23 @@ func fetchDirlist(locations []string) ([]string, error) { func main() { var d bool var ai int + var dh string + var dirHosts []string flag.BoolVar(&d, "d", false, "Don't fetch remote entry points") flag.IntVar(&ai, "ai", 10, "Announce interval in minutes") + flag.StringVar(&dh, "dh", "https://dam.decodeproject.eu/dirs.txt", + "A remote list of entry points/directories (comma-separated)") flag.Parse() if d { lib.Noremote = true } + // Network entry points. These files hold the lists of directories we can + // announce to. Format is "DIR:22mobp7vrb7a4gt2.onion", other lines are ignored. + dirHosts = strings.Split(dh, ",") + if _, err := os.Stat(lib.Cwd); os.IsNotExist(err) { err := os.Mkdir(lib.Cwd, 0700) lib.CheckError(err)