Skip to content

majestrate/XD

Repository files navigation

XD

BitTorrent Client written in GO (as a joke)

XD

Packaging status

Downloads

MIT License Logo is ebin

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