Interface web do uTorrent ou Transmission hospedada no servidor web

0

É possível hospedar minha interface web Transmission ou uTorrent no meu servidor web? Eles têm uma interface web de rede local, e eu não quero portar para frente ... Posso de alguma forma configurá-lo para que ele faça login no meu servidor e hospede a interface lá?

    
por tekknolagi 09.08.2011 / 05:29

2 respostas

0

O encaminhamento de porta teria servido como uma resposta apropriada ... Ele funciona perfeitamente.

    
por 15.08.2011 / 23:15
2

Ok, já que todos vocês pediram um kludge, aqui está.

Você pode configurá-lo para acessar a interface da web até sua conta de hospedagem na web, com as seguintes restrições:

  • A interface real ainda será hospedada pelo seu cliente de torrent, mas você poderá acessá-la pelo seu site.
  • Seu host deve permitir encaminhamentos remotos de porta ( ssh -R ). A maioria dos hosts VPS permitirá isso; hospedagem compartilhada provavelmente não.
  • Seu host deve permitir que você configure o Apache com a diretiva ProxyPass , o que significa que você deve ter acesso de gravação a alguma parte da configuração do Apache (não .htaccess files) e seu host deve carregar (ou permitir que você load) mod_proxy no Apache.
  • Seu host deve permitir a instalação de uma chave pública SSH para que você possa sobreviver a uma desconexão ssh sem precisar digitar uma senha para se reconectar.

Aqui está a ideia básica. Vamos chamar a porta em que sua interface web é servida na porta local L. Escolha uma porta aleatória no intervalo 49152-65535 e chame-a de S; esta é a porta que o servidor estará escutando.

Crie uma chave SSH para essa configuração e não criptografe a chave privada com uma senha (pressione Enter quando solicitado). Use ssh-keygen para isso. ( ssh-keygen -f $KEY_OUTPUT_PATH - escolha algum arquivo como $HOME/torrentproxy.key para o caminho de saída). Em seguida, instale a chave pública no servidor: ssh-copy-id -i $KEY_OUTPUT_PATH.pub user@yourwebhost .

Crie um script de shell torrent-ssh-proxy.sh com estes conteúdos:

#!/bin/sh

while true; do
    # Replace S and L with the ports chosen above.
    # Replace $KEY_OUTPUT_PATH with the path to your SSH private key.
    ssh -i $KEY_OUTPUT_PATH -R S:localhost:L user@yourwebhost

    echo 'Disconnected from server.'
    sleep 5
done

Quando você executa isso, você deve obter um prompt de shell do servidor sem a necessidade de entrada de senha; isso é bom. Deixe este script em execução.

(Neste ponto, você pode verificar se o host remoto está de fato escutando na porta S executando netstat -tnlp | grep :S no shell do servidor.)

Agora precisamos configurar o Apache. Você só precisa adicionar isso à sua configuração do Apache (não funcionará em .htaccess files):

ProxyPass /torrentweb http://localhost:S/

Novamente, substitua S pela porta de escuta escolhida. Reinicie o Apache.

Se tudo isso funcionar, quando você for para http://yourwebsite.example.com/torrentweb , deverá ver a interface da Web do seu cliente de torrent.

Observe que você pode executar o cliente ssh em uma caixa diferente do host da Web; basta ajustar "localhost" na linha ssh no script para corresponder ao endereço IP ou ao nome do host da máquina que está executando a interface da Web do torrent.

Em relação ao carregamento de mod_proxy , é assim que o módulo é carregado no Debian:

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so

O caminho para mod_proxy.so provavelmente será diferente dependendo da forma de distribuição do conteúdo do pacote no sistema de arquivos.

    
por 09.08.2011 / 22:25