Skip to content

majestrate/XD

Folders and files

NameName
Last commit message
Last commit date
Jan 10, 2018
Apr 21, 2018
Dec 19, 2021
Mar 23, 2021
Jan 27, 2021
Jan 24, 2023
May 2, 2024
Mar 27, 2017
Oct 18, 2020
Nov 13, 2017
Jan 1, 2018
Nov 13, 2023
Mar 15, 2022
Mar 27, 2017
Dec 11, 2024
Dec 11, 2024
Dec 19, 2021
Feb 18, 2023

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