An open source command line RatioMaster with an optional WebUI.
Go to file
2017-05-23 23:49:07 +02:00
.mvn/wrapper Introduce spring & create new package structure 2017-05-04 20:36:48 +02:00
resources Increase default seeding time and decread default pause time in config.json 2017-04-22 23:43:11 +02:00
src Removed outdated and no more revelant TODO 2017-05-23 23:49:07 +02:00
.gitignore Prepare version 1.0.1 2017-03-14 02:07:26 +01:00
Dockerfile Add Dockerfile for non-arm platform 2017-05-04 20:35:07 +02:00
Dockerfile.arm Improved Dockerfile. Now automatically download last release on build. 2017-03-14 12:39:03 +01:00
LICENSE Add Apache 2.0 licence 2017-04-23 15:19:01 +02:00
pom.xml Refactored TorrentProvider: splitted watcher and provider 2017-05-04 20:36:48 +02:00
README.md Add Dockerfile for non-arm platform 2017-05-04 20:35:07 +02:00

Un guide en francais est disponible ici

Prepare configuration folder

You first need to get the cofiguration folder. Replace <MY_CONFIG_FOLDER_PATH> by whatever path you want.

git clone git@github.com:anthonyraymond/joal.git
cd joal
cp -R resources <MY_CONFIG_FOLDER_PATH>

Now add some of your private tracker's .torrent file to <MY_CONFIG_FOLDER_PATH>/torrents/. But be aware that only torrent with at least 1 leecher will actually be used by joal, to keep your account from being banned.

Install and run

With Docker

For ARM distribution only (raspberry)

docker build -f Dockerfile.arm -t araymond/joal .
docker run -d -v <PATH_TO_CONFIG_DIR>:/data -p 49152-65534:49152 --name="joal" araymond/joal

For any other distribution

docker build -t araymond/joal .
docker run -d -v <PATH_TO_CONFIG_DIR>:/data -p 49152-65534:49152 --name="joal" araymond/joal

Without Docker

You need to have Java 8 installed.

We first need to download the latest version of the .jar. Once again replace <MY_CONFIG_FOLDER_PATH> by your choosen path and execute this script

cd <MY_CONFIG_FOLDER_PATH> \
&& GITHUB_REPO="https://github.com/anthonyraymond/joal" \
&& LATEST=$(curl -sSI $GITHUB_REPO"/releases/latest" | perl -n -e '/^Location: .*?tag\/(.*?)\r*$/ && print "$1\n"') \
&& curl -f -L $GITHUB_REPO"/releases/download/"$LATEST"/"$LATEST".jar" > ./jack-of-all-trades.jar

Then you can run the application with the following command (replace X.X.X with your own version)

java -jar jack-of-all-trades-X.X.X.jar <MY_CONFIG_FOLDER_PATH>

Understanding configuration (optional)

Torrent files

  • All torrent file in <MY_CONFIG_FOLDER_PATH>/torrents/ will be available for sharing.
  • One random torrent file from <MY_CONFIG_FOLDER_PATH>/torrents/ is choosed randmfly for each seed session.
  • All torrent file added/removed/modified in <MY_CONFIG_FOLDER_PATH>/torrents/ while the client is running will be automatically hot loaded, there is no need to restart.
  • If the torrent currently seeding reach 0 peers, the file will be moved to <MY_CONFIG_FOLDER_PATH>/torrents/archived folder.

Application configuration

The application configuration belongs in <MY_CONFIG_FOLDER_PATH>/config.json.

{
  "minUploadRate": 180,
  "maxUploadRate": 190,
  "seedFor": 840,
  "waitBetweenSeed": 600,
  "client": "azureus-5.7.4.0.client"
}
  • minUploadRate : The minimum uploadRate you want to fake (in kB/s) (required)
  • maxUploadRate : The maximum uploadRate you want to fake (in kB/s) (required)
  • seedFor : How long the client should seed for in a row (seeding session in minutes) (required)
  • waitBetweenSeed : How long the client should wait before two seeding session (in minutes) (required)
  • client : The name of the .client file to use in <MY_CONFIG_FOLDER_PATH>/clients/ (required)

Create your own torrent clients

To learn more about .client, head to the project's wiki.

ROADMAP to v2

Thanks:

This project use a modified version of the awesome mpetazzoni/ttorrent library. Thanks to mpetazzoni for this.

Analytics