Garanta que o cliente de torrent use o openvpn

1

Recentemente, me inscrevi em um provedor de VPN e, para fazer login, uso o gerenciador de rede para minha conexão sem fio normal e iniciei a conexão openvpn do gerenciador de rede. No meu navegador eu posso verificar se estou usando o túnel, indo para um site localizador ip, mas como posso garantir que meu cliente torrent realmente usa essa conexão? Por exemplo, não poderia acontecer que o meu provedor de VPN me desconecte depois de algum tempo (intencionalmente ou não) e então meu cliente de torrent começa a usar a conexão wifi normal ainda disponível?

    
por john 19.01.2013 / 11:39

2 respostas

4

Como posso garantir que meu cliente de torrent realmente usa essa conexão?

Existe um site, CheckMyTorrentIP , que faz exatamente isso. Basicamente, você faz o download de um arquivo torrent gerado especificamente para você e, uma vez aberto no cliente, ele relata o endereço IP que está sendo usado. O IP deve ser exibido diretamente no seu cliente, mas você também pode revisitar o site que também irá exibi-lo. Há um FAQ no site onde você pode obter mais informações.

Não poderia acontecer que o meu provedor de VPN me desconecte depois de algum tempo (intencionalmente ou não) e então meu cliente de torrent comece a usar a conexão wifi normal ainda disponível?

Absolutamente. O FAQ em CheckMyTorrentIP bem como este artigo do TorrentFreak explica algumas opções para evitar isso, que incluem o uso específico regras de firewall , alterando rotas TCP / IP ou usando aplicativos específicos .

Se acontecer de você usar rtorrent , você pode vinculá-lo a um endereço IP específico (aquele que lhe foi fornecido pela sua VPN) e Se você perder a conexão com essa interface, o rtorrent irá parar de fazer o download / propagação (TBH, eu não estou 100% que a afirmação é verdadeira, mas é pelo menos algo interessante de se olhar). Se o seu VPN IP for 0.0.0.0, basta adicioná-lo ao seu .rtorrent.rc :

bind = 0.0.0.0
    
por 19.01.2013 / 20:13
1

Execute o comando sudo ifconfig . Ele deve retornar uma lista de conexões, uma delas será algo como tun0 , que é o seu túnel VPN. No bloco tun0 , haverá um inet addr xxx.xxx.xxx.xxx .

Pegue esse inet addr e adicione-o ou edite o arquivo .rtorrent.rc (que provavelmente está no diretório /home ) de forma que ele leia:

bind = xxx.xxx.xxx.xxx

(Obviamente você irá preencher números, não xxx.xxx.xxx.xxx ).

É tedioso fazer isso toda vez que você se conecta, mas desmascarar o seu IP real é um problema real se a sua VPN expirar e você for chutado para o seu IP real enquanto o seu rtorrent ainda estiver rodando.

Estou escrevendo um script para fazer isso de forma automagicamente toda vez que eu inicializo. Se funcionar, vou tentar voltar e postar.

como prometido aqui é um script para fazer isso por você. não é prático executá-lo na inicialização, a menos que você esteja iniciando o vpn na inicialização, portanto, você deve executá-lo manualmente como root ou com sudo no diretório onde o .rtorrent.rc está após iniciar a vpn e antes de iniciar o rtorrent.

desculpe postar algo que precise de privilégios de root, nunca execute nada de um fórum pedindo root, a menos que você o revise por segurança.

O script

analisará a saída do ifconfig procurando pelo endereço IP associado à string 'tun' e a escreverá como uma instrução de ligação na última linha do seu arquivo .rtorrent.rc.

enquanto isso, primeiro cria um diretório chamado .svrtvpn, onde armazena até dez backups do arquivo .rtorrent.rc existente, depois apaga todas as outras instruções de ligação do seu arquivo .rtorrent.rc e grava o endereço IP da VPN detectado para ligar como a última linha no seu arquivo .rtorrent.rc

im super preguiçoso, então foi mais fácil reservar um tempo para escrever o script e apenas chamar mais rápido do que levar dez segundos extras para detectar e gravar manualmente o bind toda vez que eu executo uma vpn.     #! / bin / bash

#svrtvpn.sh ver 0.3  "shadowvision rtorrent vpn" 01-05-2016 @ shadowvision.com/org
#a simple script to set your .rtorrent.rc bind to the ip address your vpn is using so that if your vpn gets disconnected, rtorrent will stop and you wont be unmasked
#WARNING WARNING WARNING WARNING under some circumstances it erases parts or even the entire .rtorrent file, but it makes a backup first so namaste :)
#this seems to happen if there arent any bind addresses to start with so the script will append a bogus one before it does anything else.

#syntax before starting rtorrent, run as root from the directory where your .rtorrent.rc is, follow the prompt and enter your linux user name that you will be running rtorrent as.

#provide help
if [ "$1" = "help" ]; then
echo "  use: before starting rtorrent, run as root from the directory where your .rtorrent.rc is."
echo "  script is dependent on ifconfig returning the vpn connection as 'tun'.  if that isnt what your connection is called you will have to manually change it inside the script"
echo "  svrtvpn.sh saves your existing .rtorrent.rc file in a directory called .svrtvpn with the extension of the epoch time in seconds. the last ten backups are saved."
echo "  if you use this script, the bind = address will always be the last line of your .rtorrent.rc file"
echo "  svrtvpn.sh ver 0.3  "shadowvision rtorrent vpn" 01-05-2016 @ shadowvision.com/org"
echo "  a simple script to set your .rtorrent.rc bind to the ip address your vpn is using so that if your vpn gets disconnected, rtorrent will stop and you wont be unmasked"
echo "  shadowvision makes no claims as to the usability of this script on your system, it was tested on kali linux with network manager and PIA 'private internet access'"
exit
fi

#first check to see if you have a .rtorrent.rc file.  if you dont it tells you so and exits.
RTORRENTFILE=./.rtorrent.rc
if [ ! -f "$RTORRENTFILE" ]; then
    echo "You dont have  .rtorrent.rc in this directory, script will now exit!"
    exit
fi

# set your backup directory variable
SVDIR=.svrtvpn

#tell the user its using a backup directory
if [ -d "$SVDIR" ]; then
  echo "using existing $SVDIR directory for backups.  your your last ten backups will be saved here."


#now make your .svrtvpn directory where your backups are stored if it doesnt already exist
else
mkdir -p $SVDIR
echo "created a directory called $SVDIR, your last ten .rtorrent.rc backups are stored here."
fi


#first find out what user you are running as, the script sets the ownership of .rtorrent.rc to this user at the end

SVUSER=$(ls -ld .rtorrent.rc | awk '{print $3}')
echo "your .rtorrent.rc file is owned by $SVUSER , it should remain read/write by that user and read for everyone else at the end of this script."
#copy your .rtorrent.rc to a backup file with the seconds of epoch time as the extension.
cp .rtorrent.rc ./$SVDIR/.rtorrent.rc.$(date +"%s")

#append a bogus ip bind so that the script wont erase your entire file
echo "bind = 999.999.999.999" >> .rtorrent.rc


#find out what your current vpn ip is, and if you dont have one, exit. as long as you didnt previously have a valid ip entered rtorrent wont start.
if $( ifconfig |grep -q -A1 tun); then
VPNIP=$(ifconfig |grep -A1 tun |grep inet | grep  -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | head -1)

#find any bind addresses in the file so we can delete them
DELINE=$(cat .rtorrent.rc |grep   bind | grep  '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | grep -v \# |grep -v \:)

#delete old bind addresses by tediously copying everything but found addresses to a temp file then back to the original file.
cat .rtorrent.rc |grep -v "$DELINE" > ./$SVDIR/.rtorrent.xx
cat ./$SVDIR/.rtorrent.xx > .rtorrent.rc

#add the vpn ip to the end of your file
echo "bind =" "$VPNIP" >> .rtorrent.rc

#make sure ownerships and read perms are sane
chown $SVUSER .rtorrent.rc
chmod u+rw .rtorrent.rc
chmod a+r .rtorrent.rc
chown -R $SVUSER $SVDIR
chmod -R a+r $SVDIR

#only save last ten backups, note the number is set to 13 because the three files . .. and .xx file arent backups
cd $SVDIR

ls -tra | head -n -13 | xargs --no-run-if-empty rm

cd -
else

#if you got to here it didnt work so set a bogus bind address so rtorrent wont start
VPNIP=999.999.999.999

#just like above find any old bind addresses so we can remove them
DELINE=$(cat .rtorrent.rc |grep   bind | grep  '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | grep -v \# |grep -v \:)
cat .rtorrent.rc |grep -v "$DELINE" > ./$SVDIR/.rtorrent.xx
cat ./$SVDIR/.rtorrent.xx > .rtorrent.rc

#set the bogus address
echo "bind =" "$VPNIP" >> .rtorrent.rc

#reset sane perms
chown $SVUSER .rtorrent.rc
chmod u+rw .rtorrent.rc
chmod a+r .rtorrent.rc
chown -R $SVUSER $SVDIR
chmod -R a+r $SVDIR

#tell us what happened
echo "you are not connected to a vpn, this wont work"
echo "your bind address has been set to 999.999.999.999"
fi
    
por 06.02.2016 / 03:44