From c19dd31ec137c929b32c06d928ae9377a6a59051 Mon Sep 17 00:00:00 2001 From: p0pc0rninj4 <68565749+hackermexico@users.noreply.github.com> Date: Mon, 11 Aug 2025 18:18:02 -0600 Subject: [PATCH] Create tor-multi-launcher.go go version --- tor-multi-launcher.go | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 tor-multi-launcher.go diff --git a/tor-multi-launcher.go b/tor-multi-launcher.go new file mode 100644 index 0000000..3d800db --- /dev/null +++ b/tor-multi-launcher.go @@ -0,0 +1,45 @@ +package main + +import ( + "flag" + "fmt" + "os" +) + +func cargarRangoDesdeArchivo(path string) (int, int) { + f, err := os.Open(path) + if err != nil { + return 9055, 9060 + } + defer f.Close() + var inicio, fin int + fmt.Fscanf(f, "%d %d", &inicio, &fin) + if inicio == 0 || fin == 0 { + return 9055, 9060 + } + return inicio, fin +} + +func main() { + inicio := flag.Int("inicio", 9055, "Puerto inicial") + fin := flag.Int("fin", 9060, "Puerto final") + var configFile string + flag.StringVar(&configFile, "config", "", "Archivo con rango de puertos") + flag.Parse() + if configFile != "" { + *inicio, *fin = cargarRangoDesdeArchivo(configFile) + } + fmt.Printf("[+] Iniciando instancias Tor en puertos %d a %d...\n", *inicio, *fin) + total := 0 + for port := *inicio; port <= *fin; port++ { + dir := fmt.Sprintf("/var/lib/tor%d", port) + log := fmt.Sprintf("/var/log/tor%d.log", port) + conf := fmt.Sprintf("/etc/tor/torrc%d", port) + fmt.Printf(" - Crear directorio: sudo mkdir -p %s\n", dir) + fmt.Printf(" - Cambiar permisos: sudo chown debian-tor:debian-tor %s && sudo chmod 700 %s\n", dir, dir) + fmt.Printf(" - Crear config: sudo bash -c 'cat > %s <