An open source command line RatioMaster with an optional WebUI.
Go to file
2017-07-20 22:20:52 +02:00
.mvn/wrapper Introduce spring & create new package structure 2017-05-04 20:36:48 +02:00
readme-assets Add supported clients to readme 2017-07-19 21:44:12 +02:00
resources Add uTorrent 3.5.1 (43916) client file 2017-07-20 22:20:52 +02:00
src Add new key generator 2017-07-20 22:10:14 +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 README.md 2017-07-20 01:00:13 +02:00
THANKS.md Thanks.md file 2017-07-04 21:10:44 +02:00

JOAL

Which client can JOAL emulate?

Client Support Comment
BitComet FUCK NO ! Will never be !
BitTorrent Yes
Deluge Yes
qBittorrent Yes
Transmission Yes
µTorrent Yes
Vuze Azureus Yes Will soon be
Vuze Leap Yes

If your favorite client is not yet supported feel free to ask (except for BitComet).
Ask for it in GitHub issues or mail joal.contact@gmail.com.

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