XD

command module
v0.4.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2024 License: MIT Imports: 5 Imported by: 0

README

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
rpc
xd
lib
bittorrent
Package bittorrent provides bittorrent related structures
Package bittorrent provides bittorrent related structures
bittorrent/swarm
swarm package provides compelete bittorrent client that tracks 1 swarm
swarm package provides compelete bittorrent client that tracks 1 swarm
common
Package common provides common data structures
Package common provides common data structures
config
*
*
configparser
Package configparser provides a simple parser for reading/writing configuration (INI) files.
Package configparser provides a simple parser for reading/writing configuration (INI) files.
dht
fs
log
Package log provides xd's minimal logger framework
Package log provides xd's minimal logger framework
metainfo
* package for parsing bitorrent meta info objects
* package for parsing bitorrent meta info objects
network
network abstraction
network abstraction
network/i2p
* i2p connector
* i2p connector
rpc
storage
bittorrent data storage backend
bittorrent data storage backend
tracker
* bittorrent announce via tracker
* bittorrent announce via tracker
util
various utilities
various utilities
version
version info
version info

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL