All Projects β†’ anthonyraymond β†’ Joal

anthonyraymond / Joal

Licence: apache-2.0
An open source command line RatioMaster with an optional WebUI.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Joal

faker
Generate massive amounts of fake data in the browser and node.js
Stars: ✭ 6,940 (+3158.22%)
Mutual labels:  fake, faker
faker-buzzword-job-titles
πŸ‘” A job title generator for faker based on Buzzwords.
Stars: ✭ 14 (-93.43%)
Mutual labels:  fake, faker
random
Random data generator AKA faker
Stars: ✭ 14 (-93.43%)
Mutual labels:  fake, faker
Mockaco
🐡 HTTP mock server, useful to stub services and simulate dynamic API responses, leveraging ASP.NET Core features, built-in fake data generation and pure C# scripting
Stars: ✭ 213 (+0%)
Mutual labels:  fake, faker
Faker.js
generate massive amounts of realistic fake data in Node.js and the browser
Stars: ✭ 34,329 (+16016.9%)
Mutual labels:  fake, faker
mkjson
A commandline tool to generate static or random JSON records
Stars: ✭ 16 (-92.49%)
Mutual labels:  fake, faker
Faker.NET.Portable
C# port of the Ruby Faker gem (http://faker.rubyforge.org/)
Stars: ✭ 22 (-89.67%)
Mutual labels:  fake, faker
FakerDotNet
A .NET port of the Ruby faker gem
Stars: ✭ 15 (-92.96%)
Mutual labels:  fake, faker
Bogus
πŸ“‡ A simple and sane fake data generator for C#, F#, and VB.NET. Based on and ported from the famed faker.js.
Stars: ✭ 5,083 (+2286.38%)
Mutual labels:  fake, faker
Mimesis
Mimesis is a high-performance fake data generator for Python, which provides data for a variety of purposes in a variety of languages.
Stars: ✭ 3,439 (+1514.55%)
Mutual labels:  fake, faker
minifaker
A lightweight alternative to faker.js
Stars: ✭ 64 (-69.95%)
Mutual labels:  fake, faker
Faker
A library for Dart that generates fake data.
Stars: ✭ 103 (-51.64%)
Mutual labels:  fake, faker
Fakerator
Random fake data generator with localization for Javascript in Node.js and browser
Stars: ✭ 91 (-57.28%)
Mutual labels:  fake, faker
Fake Apache Log Generator
Generate a boatload of Fake Apache Log files very quickly
Stars: ✭ 207 (-2.82%)
Mutual labels:  fake, faker
Gpymusic
Google Py Music: A simple TUI client for Google Play Music
Stars: ✭ 204 (-4.23%)
Mutual labels:  command-line
Aws Sso Util
Smooth out the rough edges of AWS SSO (temporarily, until AWS makes it better).
Stars: ✭ 208 (-2.35%)
Mutual labels:  command-line
Saldl
A lightweight well-featured CLI downloader optimized for speed and early preview.
Stars: ✭ 203 (-4.69%)
Mutual labels:  command-line
Ascii
πŸ‘Ύ ASCII Roulette :: ascii art video chat on the cli
Stars: ✭ 202 (-5.16%)
Mutual labels:  command-line
Charlatan
Create fake data in R
Stars: ✭ 209 (-1.88%)
Mutual labels:  faker
Stonky
A command line dashboard for monitoring stocks
Stars: ✭ 208 (-2.35%)
Mutual labels:  command-line

Build Status Coverage Status

Disclamer

JOAL is not designed to help or encourage you downloading illegal materials ! You must respect the law applicable in your country. I couldn't be held responsible for illegal activities performed by your usage of JOAL.

JOAL

This is the server application (with an optional webui), if you are interested in the desktop app look at here.

Which client can JOAL emulate?

Client Support Comment Client Support Comment
BitComet Numwant mess Will never be ! Transmission Yes
BitTorrent Yes Β΅Torrent Yes
Deluge Yes Vuze Azureus Yes
qBittorrent Yes Vuze Leap Yes
rTorrent Yes

If your favorite client is not yet supported feel free to ask (except for BitComet).
Ask for it in GitHub issues or mail [email protected].

Preview

preview

HOW TO USE

1. Setting up configuration

In the folder of your choice (ie: /home/anthony/joal-conf), download the latest tar.gz release and extract config.json clients and torrents, this folder will be our joal-conf.

It must look similar to this:
joal-conf

2. Run with Java

java -jar ./jack-of-all-trades-X.X.X.jar --joal-conf="PATH_TO_CONF"
  • --joal-conf=PATH_TO_CONF is a required argument: path to the joal-conf folder (ie: /home/anthony/joal-conf).

By default the web-ui is disabled, you can enable it with some more arguments:
  • --spring.main.web-environment=true: to enable the web context.
  • --server.port=YOUR_PORT: the port to be used for both HTTP and WebSocket connection.
  • --joal.ui.path.prefix="SECRET_OBFUSCATION_PATH": use your own complicated path here (this will be your first layer of security to keep joal secret). This is security though obscurity, but it is required in our case. This must contains only alphanumeric characters (no slash, backslash, or any other non-alphanum char)
  • --joal.ui.secret-token="SECRET_TOKEN": use your own secret token here (this is some kind of a password, choose a complicated one).

Once joal is started head to: http://localhost:port/SECRET_OBFUSCATION_PATH/ui/ (obviously, replace SECRET_OBFUSCATION_PATH) by the value you had chosen The joal.ui.path.prefix might seems useless but it's actually crucial to set it as complex as possible to prevent peoples to know that joal is running on your server.

If you want to use iframe you may also pass the joal.iframe.enabled=true argument. If you don't known what that is just ignore it.

2. Run with Docker

In next command you have to replace PATH_TO_CONF, PORT, SECRET_OBFUSCATION_PATH and SECRET_TOKEN with your desired values.

docker run -d \
    -p PORT:PORT \
    -v PATH_TO_CONF:/data \
    --name="joal" \
    anthonyraymond/joal \
    --joal-conf="/data" \
    --spring.main.web-environment=true \
    --server.port="PORT" \
    --joal.ui.path.prefix="SECRET_OBFUSCATION_PATH" \
    --joal.ui.secret-token="SECRET_TOKEN"

Or the equivalent docker-compose service.

version: "2"
services:
  joal:
    image: anthonyraymond/joal
    container_name: joal
    restart: unless-stopped
    volumes:
      - PATH_TO_CONF:/data
    ports:
      - PORT:PORT
    command: ["--joal-conf=/data", "--spring.main.web-environment=true", "--server.port=PORT", "--joal.ui.path.prefix=SECRET_OBFUSCATION_PATH", "--joal.ui.secret-token=SECRET_TOKEN"]

Multiple architectures are available at https://hub.docker.com/r/anthonyraymond/joal. If you want to run on arm (raspberry) replace anthonyraymond/joal with anthonyraymond/joal:X.X.X-arm where X.X.X are the desired version of joal.

3. Start seeding

Just add some .torrent files to the joal-conf/torrents folder. There is no need to restart JOAL to add more torrents, add it to the folder and JOAL will be aware of after few seconds.

If WebUi is enabled you can also drag and drop torrents in the joal ui.

Configuration file

Application configuration

The application configuration belongs in joal-conf/config.json.

{
  "minUploadRate" : 30,
  "maxUploadRate" : 160,
  "simultaneousSeed" : 20,
  "client" : "qbittorrent-3.3.16.client",
  "keepTorrentWithZeroLeechers" : true
}
  • 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 joal-conf/clients/ (required)
  • keepTorrentWithZeroLeechers: should JOAL keep torrent with no leechers or seeders. If yes, torrent with no peers will be seed at 0kB/s. If false torrents will be deleted on 0 peers reached. (required)

Supported browser (for web-ui)

Client Support Comment
Google Chrome yes
Mozilla Firefox yes
Opera yes
Opera mini no Lack of referrer-policy & No support for WebSocket
Safari no Lack of referrer-policy
Edge no Lack of referrer-policy
Internet explorer no Not enough space to explain...

Some non-supported browser might works, but they may be unsafe due to the lack of support for referrer-policy.

Thanks:

This project use a modified version of the awesome mpetazzoni/ttorrent library. Thanks to mpetazzoni for this. Also this project has benefited from the help of several peoples, see Thanks.md

Official Docker Hub page:

https://hub.docker.com/r/anthonyraymond/joal

Supporters

Thanks for providing Jetbrain license

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].