<commit_before># XD

Standalone I2P BitTorrent Client written in GO

![XD](contrib/logos/xd_logo_256x256.png)

## Features

Current:

* i2p only, no chances of cross network contamination, aka no way to leak IP.
* no java required, works with [i2pd](https://github.com/purplei2p/i2pd)

Soon:

* DHT/Magnet Support

Eventually:

* Maggot Support (?)
* rtorrent compatible RPC (?)

## Dependencies

* GNU Make
* GO 1.9
* node.js 8.x
* yarn 0.24.x


## Building

right now the only support 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

### 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

To use the RPC Tool symlink `XD` to `XD-CLI`

    $ ln -s XD XD-CLI

to list torrents run:

    $ ./XD-CLI


to add a torrent from http server:

    $ ./XD-CLI add http://somehwere.i2p/some_torrent_that_is_not_fake.torrent<commit_msg>more docs<commit_after># XD

Standalone I2P BitTorrent Client written in GO

![XD](contrib/logos/xd_logo_256x256.png)

## Features

Current:

* i2p only, no chances of cross network contamination, aka no way to leak IP.
* no java required, works with [i2pd](https://github.com/purplei2p/i2pd)

Soon:

* DHT/Magnet Support

Eventually:

* Maggot Support (?)
* rtorrent compatible RPC (?)

## Dependencies

* GNU Make
* GO 1.9
* node.js 8.x
* yarn 0.24.x


## Building

right now the only support 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

### 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:1488/

To use the RPC Tool symlink `XD` to `XD-CLI`

    $ ln -s XD XD-CLI

to list torrents run:

    $ ./XD-CLI


to add a torrent from http server:

    $ ./XD-CLI add http://somehwere.i2p/some_torrent_that_is_not_fake.torrent
{'fraction_non_alphanumeric': 0.09789674952198853, 'fraction_numerical': 0.017590822179732315, 'mean_word_length': 3.239870340356564, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '36508', 'n_tokens_mistral': 995, 'n_tokens_neox': 921, 'n_words': 330}