** Eu hospedei um rastreador xbtit em um servidor VPS. Carreguei um arquivo e meu amigo que está em maio a LAN o baixou. Mas durante o download, ele não obteve a velocidade da LAN que deveria obter. Em vez de seu IP da rede local, seu IP público foi detectado e, portanto, ele foi baixado em velocidade lenta.
Como o cabeçalho TCP pode anunciar o IP da LAN sobre o IP público no sistema de rastreamento? Existe algum código php pequeno?
Quando eu costumava hospedar o servidor na LAN, não havia esses problemas. E todos os meus usuários que usarão esse rastreador são meus usuários de LAN do ISP.
Alguém por favor me ajude
bittorrent
skmdrony
fonte
fonte
Respostas:
Infelizmente, o que você está querendo não é realmente prático (e eu posso entender por que alguém deu a -1, embora não fosse eu).
Vou tentar desvendar um pouco para você -
Quando os computadores (domésticos) estão em uma LAN, eles geralmente compartilham um intervalo "inválido" de endereços, que o roteador reescreve como um endereço IP válido - um processo chamado NAT -, esse parece ser o caso da sua LAN.
Um servidor web usa TCP (normalmente na porta 80). A maioria dos servidores da Web poderá fornecer informações sobre o computador que está se conectando a ele com base em dois fatores - os dados que ele recebe - que parecem vir do roteador, não do computador - e dos cabeçalhos fornecidos pelo cliente da Web. Nenhum desses fatores inclui o endereço de rede local do cliente em que o endereço de rede local foi NAT - na verdade, fazer isso seria uma falha de segurança sem (na maior parte) nenhum valor. Este é o problema fundamental que você está tendo.
Portanto, a resposta para a próxima parte da sua pergunta é "Não, você não pode escrever um pedaço de PHP para anunciar o IP local, pois ele nunca recebe o IP local". Além disso, fazer isso seria contrário ao espírito do Bittorrent - desculpe, mas o compartilhamento de um arquivo usando o BT EXTERNALLY para uso local está fora dos parâmetros de design - esse tipo de problema pode ser resolvido usando o compartilhamento de arquivos.
Se você deseja solucionar o problema, é necessário mover o Tracker para a LAN ou conectar o VPS externo à LAN através de uma VPN para "derrotar" o NAT entre os locais. Dito isto, se você estiver fazendo essas perguntas, provavelmente precisará aprender muito antes de iniciar a configuração de uma VLAN que funcionará para você.
fonte
É verdade que não há solução prática para o seu problema.
No entanto, só consigo pensar em uma maneira alternativa para o seu problema.
Você pode configurar um rastreador bittorrent na sua rede local e pedir ao rastreador principal (que está no www) para adicionar um URL de anúncio do seu rastreador torrent local automaticamente enquanto faz o download do torrent.
Isso é possível com o php . O script que
xbtit
você está usando usa um método de codificação e decodificação de torrent chamadoBEncode
eBDecode
. Você pode adicionar ou remover URLs do rastreador durante o processo BEncoding.Você pode desenvolver algum código php para verificar o URL de solicitação do download, se estiver dentro do seu intervalo de IP. Se for uma correspondência, você pode adicionar o URL de anúncio do rastreador local dentro da matriz de
"announce-list"
. Configure seu rastreador de torrent local para rastrear qualquer torrent para qualquer usuário. Consulte a documentação XBTT .Agora, os usuários da sua rede local na sua LAN podem baixar o torrent e serem anunciados na sua rede local, conectar-se e baixar.
fonte
Na configuração do seu rastreador
Marque Permitir Torrents Externos
Desmarque Desativar DHT
desmarque Private Scrape
Desmarcar anúncio privado
fonte