XD
BitTorrent Client written in GO (as a joke)
Features
Current:
- i2p only, no chances of cross network contamination, aka no way to leak IP.
- works with i2pd and Java I2P using the SAM api
- also works with lokinet
- Magnet URIs
- memes
Soon:
- transmission compatible RPC
Eventually:
- DHT Support
- Maggot Support
Dependencies
- GNU Make
- GO 1.16 or higher
Building
right now the best way to build is with make
$ git clone https://github.com/majestrate/XD
$ cd XD
$ make
if you do not want to build with embedded webui instead run:
$ make no-webui
you can build with go get using:
$ go get -u -v github.com/majestrate/XD
please note that using go get
disables the webui.
to compile XD to use lokinet by default use:
$ make LOKINET=1
or use go get
:
$ go get -u -v -tags lokinet github.com/majestrate/XD
cross compile for Raspberry PI
Set GOARCH
and GOOS
when building with make:
$ make GOARCH=arm GOOS=linux
Usage
To autogenerate a new config and start:
$ ./XD torrents.ini
after started put torrent files into ./storage/downloads/
to start downloading
to seed torrents put data files into ./storage/downloads/
first then add torrent files
if you compiled with web ui it will be up at http://127.0.0.1:1776/
To use the RPC Tool symlink XD
to XD-CLI
$ ln -s XD XD-CLI
to list torrents run:
$ ./XD-CLI list
to add a torrent from http server:
$ ./XD-CLI add http://somehwere.i2p/some_torrent_that_is_not_fake.torrent
Optionally on non windows systems you can install XD to /usr/local/
# make install
Or your home directory, make sure $HOME/bin
is in your $PATH
$ make install PREFIX=$HOME
Tunnel length and quanity along with all other i2cp options are set in the i2p section of the configuration:
[i2p]
inbound.length=1
outbound.length=1