Bad Daemons

Usar ZeroNet desde un ordenador remoto

Como pasa a menudo, no hay una sola solución a un problema. Raito encontró la siguiente, que implica usar una contraseña para acceder al ZeroNet remoto, nginx y algo más. Para mi tiene un problema y es que la mayoría de enlaces de ZeroNet que te puedan pasar estarán apuntando a la IP local, es decir, 127.0.0.1.

Por ello yo uso otra solución, que es simplemente usar socat desde el cliente. Para quien no lo sepa, socat lo que hace es redirigir puertos. Por lo tanto, en el servidor se encenderá ZeroNet de la siguiente forma en el ordenador remoto:

python zeronet.py --ui_ip $ip --tor always

Siendo $ip la IP de la máquina remota. En el ordenador cliente, se ejecutará socat de la siguiente manera:

socat TCP-LISTEN:43110,fork TCP:$ip:43110

Para mayor comodidad, he hecho un script que he colocado en /usr/local/bin/zeronet:

#!/bin/bash

if [[ -z $1 ]]
then
    echo "start para enchufar, stop para parar"
    exit
fi

if [[ $1 = "start" ]]
then
    socat TCP-LISTEN:43110,fork TCP:192.168.1.92:43110 &
elif [[ $1 = "stop"  ]]
then
    killall socat
fi

El script acepta dos argumentos, start y stop. Lo primero que hace es comprobar si se le ha pasado alguno y salir si no es así. Después, si se pasa start, se ejecuta socat. Si se pasa stop, se ejecuta un killall. Habría que cambiar el stop si se suele ejecutar socat para otras cosas que no sean este caso, ya que no se cargará sólo la conexión de ZeroNet, sino todas.

Y a volar.