An open source command line RatioMaster with an optional WebUI.
Find a file
2017-07-05 23:44:54 +02:00
.mvn/wrapper Introduce spring & create new package structure 2017-05-04 20:36:48 +02:00
resources Small refactor to HttpTrackerClient and add some tests. 2017-06-05 23:51:03 +02:00
src Implement a list of required event to be replayed on the client to represent current joal state 2017-07-05 23:44:54 +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
Dockerfile.arm.beta2 Add dockerfile for beta test purpose 2017-06-07 22:53:00 +02:00
LICENSE Add Apache 2.0 licence 2017-04-23 15:19:01 +02:00
pom.xml Fix LocalDateTime serialization 2017-07-04 22:37:33 +02:00
README.md Fix bytes units. File size => iec format; transfert rate => base 10 2017-06-27 00:40:37 +02:00
THANKS.md Thanks.md file 2017-07-04 21:10:44 +02:00

Un guide en français est disponible ici

Prepare configuration folder

You first need to get the configuration 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 chosen 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 chosen randomly 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,
  "simultaneousSeed": 2,
  "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)
  • simultaneousSeed : How many torrents should be seeding at the same time (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