Torrent cast without tracker server
-
Hi,
I have seen that BitTorrent is not working currently. I might have an easy way to make it work.
BitTorrent has a not very well known feature : local peer discovery. With local peer discovery and webseeding, you don’t even need a tracker server.
Here is how I use it to distribute large files on my network.
I have a web server which host the file (big.iso here) and a metalink file like this :
<?xml version="1.0" encoding="UTF-8"?> <metalink version="3.0" xmlns="http://www.metalinker.org/"> <files> <file name="big.iso"> <resources> <url type="http">http://file-server/big.iso</url> <url type="bittorrent">http://file-server/big.iso.torrent</url> </resources> </file> </files> </metalink>
on the clients I run
aria2c.exe --bt-enable-lpd=true --enable-dht=false --bt-exclude-tracker='*' --seed-time=0 http://file-server/big.iso.metalink
I create the torrent file and metalink file with a these bash functions :
function mk_torrent { print_info "Creating torrent file for $1" transmission-create "$1" chmod a+r "$1.torrent" } function mk_metalink { file_url="$REPO/$1" torrent_url="$REPO/$1.torrent" print_info "Checking URLs" wget --spider "$file_url" "$torrent_url" || \ ( print_error "Can't access file(s) via HTTP." && exit 1 ) print_info "Creating metalink file for $1" cat > "$1.metalink" <<EOL <?xml version="1.0" encoding="UTF-8"?> <metalink version="3.0" xmlns="http://www.metalinker.org/"> <files> <file name="$1"> <resources> <url type="http">$REPO/$1</url> <url type="bittorrent">$REPO/$1.torrent</url> </resources> </file> </files> </metalink> EOL }
I’m not a FOG user (yet) and I don’t know how easy it would be to implement this. I hope it helps anyway.