PDA

View Full Version : [Ratio Tool] Joal-Server (Windows / Linux / Mac)



anthony-joal
22.10.17, 01:55
What is Joal-Server
This version is intended for people who have server and networking knowledge,
if you want a simple version with a desktop app take a look at Joal-Desktop (https://www.sb-innovation.de/f46/joal-desktop-windows-linux-mac-33493/)
Joal-Server is somehow a ratio master, an optional WebUi is embeded (can be activated on demands).
I initially developped JOAL because i was bored of the .NET framework requirement and i wanted to have a ratio-faker that could work on every OS.



How JOAL compares with other tools



JOAL
RatioMaster Plus
mRatio


OS
Windows / Linux / Mac
Windows
Windows


Multi-torrent
Yes
Yes
Yes


Configuration
Simple as hell
Hard
Simple


Memory reader
No
Yes
Yes


App updates
Download needed
Download needed
Download needed


Clients file updates
Download needed
Download needed
Download needed


Proxy compliant
No
Yes
Yes


Multiple language
No
Yes
Yes


Headless server app
Yes
No
No



Don't get me wrong, i'm not saying JOAL is better than other tools around here. It does not cover the same needs. JOAL is focused in providing a simple user experience with multi-os support. The server version will provide a multi-os experience with a safe WebUi to administrate your config from wherever you are.


Where to download
You can download the latests release from Github (https://github.com/anthonyraymond/joal/releases/latest).
If you use Docker you will find two Dockerfile in the repository (https://github.com/anthonyraymond/joal).

How to use it
Take a look at the documentation (https://github.com/anthonyraymond/joal#getting-started).


Preview
18374

If you like the project consider adding a star to the repository : https://github.com/anthonyraymond/joal (on the top-right).

kokoro
22.10.17, 20:31
Thanks for making this! I can move all my tracker-related stuff onto one Linux box.
I requested in the old thread if you could add ghost-seeding (seeding without adding upload) to your program. After looking through the source, I have a suggestion for how it could be implented:

Method 1:

Add another if statement into BandwidthDispatcher, such that if the min and max upload rates both equal 0, the upload rate is set to 0.
In AppConfiguration modify the validate() method so that max upload only has to be strictly greater than min upload if both are not 0.
Change the error message for (maxUploadRate < 0L) to "maxUploadRate must be at least 0." (as it doesn't have to be greater than 0 now).


Method 2 (cleaner config file, but more work to implement):

Add another optional boolean configuration flag like ghostSeed, check if it is true in BandwidthDispatcher, and if so set the upload rate to 0.
In AppConfiguration's validate() method make minUploadRate and maxUploadRate optional if ghostSeed = true, and if ghostSeed = false or does not exist make minUploadRate and maxUploadRate required.
Change the error condition maxUploadRate < 0L to maxUploadRate < 1L, as now it should be greater than 0.


Despite what the documentation says, keepTorrentWithZeroLeechers is a required flag - omitting it crashes the program.
If you do make it optional, I think it would be beneficial to document what its default value is if not set (in this case false).
Also, I see that you're using your own RandomGenerator class for generating a long within a range. Since Java 7 the API has had a class that can do that for you (so you won't need to complicate your code with a redundant class and unit tests), ThreadLocalRandom (https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadLocalRandom.html), specifically the nextLong method.

I would make issues/submit a pull request for all this but I don't have enough knowledge in Java to do so and I don't want to risk tracker owners seeing me contribute to a software of this nature.

anthony-joal
22.10.17, 21:33
Hi kokoro :)


Thanks for making this! I can move all my tracker-related stuff onto one Linux box.
I requested in the old thread if you could add ghost-seeding (seeding without adding upload) to your program.

Well, that was a highly asked feature, i just implemented it. release has been published.


Despite what the documentation says, keepTorrentWithZeroLeechers is a required flag - omitting it crashes the program.
Fixed, thanks ;)



Also, I see that you're using your own RandomGenerator class for generating a long within a range.

Also fixed :) thanks again.



Version 2.0.5 has been released
[Changes]

minUploadRate and maxUploadRate can now both be equal to 0. (ghost-seeding mode)

anthony-joal
02.11.17, 00:50
Version 2.0.6 has been released

[Changes]

Reduce memory footprint (TrackerClients are now instanciated on demand). Will be noticeable if you seed a lot of torrent at a time.


[Bugfixes]

Fix Firefox support for WebUI.

fhgmaghjhjk
01.12.17, 14:24
Can't get it to work for any torrents, maybe utf8 is not supported?:


[WARN ] 2017-12-01 12:21:50.305 o.a.j.c.t.c.a.Announcer: Error while announcing stop for torrent [tvN] 그 녀석들의 이중생활.E02.171130.HDTV.H264.1080p-NEXT.mp4.
com.turn.ttorrent.client.announce.AnnounceExceptio n: regular expression err for: , please ask sysop to fix this
at org.araymond.joal.core.ttorent.client.announce.tra cker.TrackerClient.handleTrackerAnnounceResponse(T rackerClient.java:134)
at org.araymond.joal.core.ttorent.client.announce.tra cker.TrackerClient.announce(TrackerClient.java:94)
at org.araymond.joal.core.ttorent.client.announce.Ann ouncer.run(Announcer.java:227)
at java.lang.Thread.run(Thread.java:745)

anthony-joal
01.12.17, 20:46
Can't get it to work for any torrents, maybe utf8 is not supported?:


[WARN ] 2017-12-01 12:21:50.305 o.a.j.c.t.c.a.Announcer: Error while announcing stop for torrent [tvN] 그 녀석들의 이중생활.E02.171130.HDTV.H264.1080p-NEXT.mp4.
com.turn.ttorrent.client.announce.AnnounceExceptio n: regular expression err for: , please ask sysop to fix this
at org.araymond.joal.core.ttorent.client.announce.tra cker.TrackerClient.handleTrackerAnnounceResponse(T rackerClient.java:134)
at org.araymond.joal.core.ttorent.client.announce.tra cker.TrackerClient.announce(TrackerClient.java:94)
at org.araymond.joal.core.ttorent.client.announce.Ann ouncer.run(Announcer.java:227)
at java.lang.Thread.run(Thread.java:745)


Hi @fhgmaghjhjk,
Sorry to head that you encoutered a bug, i'll need some more information to get it fixed.

Can you tell me with client you are using.

Can you send me (by Private message) the complete log that JOAL gives you for this use case:
1) Remove all torrents from "joal-conf/torrents".
2) Start joal
3) Add one (and only one) torrent to "joal-conf/torrents" (adding to much will make the log less readable for me).
4) Wait for it to crash
5) Get the whole log from the console

It'll help me find out what's going on under the hood.
Plus, if you can send me one of those torrent files it could be helpfull as well.

fhgmaghjhjk
01.12.17, 21:58
Oh just switched from transmission 2.92 to another client and the crash is gone. Maybe try out transmission 2.92 on your side and if it has no problem I can switch back and give you logs. The problem is just that start up on a arm device takes very long, so I rather not restart to often.

anthony-joal
01.12.17, 23:05
Well, that's kinda weird, i tested both transmission version and they do work on my side (in undertand your pain with ARM, i'm running on raspberry as well ^^).
I'm refactoring the core right now to introduce new features and reduce CPU and thread overhead. My next task will be to speed it up.

Are you sure that you spelled the client file name properly?

Warlock
02.12.17, 12:31
Joal, what port do I use in --server.port?

anthony-joal
02.12.17, 14:45
@Warlock

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.
--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/

choose the one you want, and use it in the webui-path and config.

anthony-joal
19.12.17, 22:55
Version 2.0.8 has been released

[Clients]

qBittorrent 4.0.0
qBittorrent 4.0.1
qBittorrent 4.0.2
qBittorrent 4.0.3

Registrierungs
21.12.17, 09:14
it is very slow to access the web ui,and it says
FAILED TO CONNECT TO JOAL, RETRY IN 8 SECONDS.
over and over again

anthony-joal
21.12.17, 22:00
Hi,

I'll need a bit more informations to figure it out, and eventually solve the issue.

What do you mean by slow?
What happen before the webui shows up (blank page, 404, ...) ?
On which platform is JOAL running (Desktop computer, raspberry, ...) and is the computer recent or is it old and slow ?

The "FAILED TO CONNECT TO JOAL, RETRY IN 8 SECONDS" indicate that you didn't (or badly) set your connection informations. There is a red button a the top-left side of the web-ui, click on it and fill it according to the informations you have started JOAL with.

anthony-joal
25.12.17, 01:35
Version 2.0.9 has been released

[Clients]

uTorrent 3.5.0 (build 44294)
uTorrent 3.5.1 (build 44332)

cloud99
10.02.18, 12:13
Hi there,

I tried setting "Joal-Server" up on my personal computer. However, I'm facing problems. :confused:


OS TYPE:- Linux
Flavor/Distributor ID:- Ubuntu
Description: Ubuntu 15.10
Release: 15.10
Codename: wily
OS Architecture: 32 bit

Commands used:
1) sudo mkdir "/home/xXXx/joal-conf"
2) wget https://github.com/anthonyraymond/joal/releases/download/v2.0.9/joal.tar.gz
3) tar -xvzf joal.tar.gz -C /home/xXXx/joal-conf
4) chmod +x /home/xXXx/joal-conf/jack-of-all-trades-2.0.9.jar (also manually checked it by Nautilus File Manager)
5) cd joal-conf
6) ./jack-of-all-trades-2.0.9.jar

View: https://ghostbin.com/paste/of49g
Download: https://ghostbin.com/paste/of49g/download

7) ./jack-of-all-trades-2.0.9.jar --debug

View: https://ghostbin.com/paste/9urvs
Download: https://ghostbin.com/paste/9urvs


Can you point out what is causing the problem here and possibly provide a fix? I also tried it on DSL (Damn Small Linux) which mounted to the same thing besides after multiple java conflicts (i.e., "The selected directory is not a valid home for JDK"). This is due to numerous versions of java being actively installed. However, this is not relevant since I want to run it on Ubuntu.

Looking forward to your reply.
~cloud99

anthony-joal
11.02.18, 23:31
Hi cloud :)

it has to do with the launching argument that are missing :

You have to launch it with this at least this argument : --joal-conf="/home/xXXx/joal-conf"
In your case it will be :
java -jar /home/xXXx/joal-conf/jack-of-all-trades-2.0.9.jar --joal-conf="/home/xXXx/joal-conf/"

Note that this will only launch the command line interface, if you want to enable the webui take a look at the full list of arguments here: https://github.com/anthonyraymond/joal#how-to-run


Let me know if you still have problem with JOAL.
Have fun :)

cloud99
12.02.18, 11:31
Hi,


Hi cloud :)

it has to do with the launching argument that are missing :

You have to launch it with this at least this argument : --joal-conf="/home/xXXx/joal-conf"


Thank you pointing out the missing launching argument. I tried it without the web ui and it seems to work.

Debugged info here:- https://ghostbin.com/paste/j8n8d

Starting it with the web ui is causing a problem.


java -jar /home/xXXx/joal-conf/jack-of-all-trades-2.0.9.jar --joal-conf="/home/xXXx/joal-conf" --spring.main.web-environment=true

Error report here:- https://ghostbin.com/paste/mn5q7

I tried debugging it with this command.


java -jar /home/star/joal-conf/jack-of-all-trades-2.0.9.jar --joal-conf="/home/star/joal-conf" --spring.main.web-environment=true --debug

Debugged info here:- https://ghostbin.com/paste/zqjag

Can I trouble you with making a launcher? Or perhaps a bash script to start up joal-server. Also how to change the "web ui" ip address and port. I currently have utorrent server, vuze and rtorrent+rutorrent set up on the different local host addresses and ports. Do you perhaps have a detailed documentation on how this all can be achieved? i.e., "web ui" access, changing default ip and port, etc.

~cloud99

anthony-joal
12.02.18, 23:49
You're almost done ^^. Sadly, the only documentation available is here (https://github.com/anthonyraymond/joal#how-to-run) so far. I'm in the middle of a huge refactor, i'll improve the doc when i'll be done with it :)

If you want to use the WebUI, all the argument listed here (https://github.com/anthonyraymond/joal#how-to-run) are mandatory.

--joal-conf=PATH_TO_CONF: to instruct where is the configuration folder
--spring.main.web-environment=true: to enable the web context.
--server.port=YOUR_PORT: Replace YOUR_PORT by the port you want to use with the webui.
--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.
--joal.ui.secret-token="SECRET_TOKEN": use your own secret token here (this is some kind of a password, choose a complicated one).

Afterward, when JOAL will be launched, open a web browser and navigate to :
http://localhost:port/SECRET_OBFUSCATION_PATH/ui/
Replace port by the port you choosed at the step above.
Replace SECRET_OBFUSCATION_PATH by the value you choosed at the step above.

also, if you are not accessing the WebUI from the same computer that runs JOAL you'll need to replace "localhost" by your computer local ip. (192.168.1.xxx)
When the WebUi will show up, you'll have to press the big red button a the top left to fill the connection form (server ip, port, secret obfuscation path and secret token)


I'm not sure what you mean by changing the IP address of the server? What do you mean exactly?


PS: here is an example to start your webui:
java -jar /home/xXXx/joal-conf/jack-of-all-trades-2.0.9.jar --joal-conf="/home/xXXx/joal-conf/" --spring.main.web-environment=true --server.port=4265 --joal.ui.path.prefix="my-super-awesone-secret-path" --joal.ui.secret-token="mySuperPassword"
If you do so, you'll reach the webui at : http://localhost:4265/my-super-awesone-secret-path/ui/

cloud99
14.02.18, 08:18
If you want to use the WebUI, all the argument listed here are mandatory.

PS: here is an example to start your webui:
java -jar /home/xXXx/joal-conf/jack-of-all-trades-2.0.9.jar --joal-conf="/home/xXXx/joal-conf/" --spring.main.web-environment=true --server.port=4265 --joal.ui.path.prefix="my-super-awesone-secret-path" --joal.ui.secret-token="mySuperPassword"
If you do so, you'll reach the webui at : http://localhost:4265/my-super-awesone-secret-path/ui/

Thank you this has worked for me.



I'm not sure what you mean by changing the IP address of the server? What do you mean exactly?

I wanted a different path rather than the localhost and port which can be done with "--joal.ui.path.prefix". Thank you once again.

~cloud99

anthony-joal
14.02.18, 23:21
Thank you this has worked for me.
I wanted a different path rather than the localhost and port which can be done with "--joal.ui.path.prefix". Thank you once again.
~cloud99
Nice :)
Have fun

R0b1n
16.02.18, 11:28
Hi Anthony.

Thank you very much for your hard work. It works like a charm :klatsch_3:

anthony-joal
16.02.18, 22:47
Hi r0b1n :)
Thanks for your support.

A new version is on the way (probably in a few month), it should not provide any visual improvement, but it will reduce boot time, and memory/cpu consumption :)

sharktachi
11.03.18, 20:53
Thank you for all the effort in this great pice of software.

I would like to ask if it would be possible in a near future to run it from an OpenWRT/LEDE firmware-based router. More precisely in an arm cortex v7 one, as I see it needs Java to run.

It would be nice to have it running on a 24/7 low-power consumption device like a router (with no docker capabilities).

Thanks again.

anon
11.03.18, 21:10
Yes, that would be pretty nice. Before JOAL was around, I once tried to get Vuze Extreme Mod to run headless on OpenWrt, but couldn't even get Java to work :wtinfoil:

anthony-joal
11.03.18, 21:27
I do run mine 24/7 on a raspberry (ARM). I don't really know about OpenWrt it seems that there is no full support for Java.

You can run JOAL anywhere as long as you can install Java (8 or higher).

sharktachi
11.03.18, 22:48
I do run mine 24/7 on a raspberry (ARM). I don't really know about OpenWrt it seems that there is no full support for Java.

You can run JOAL anywhere as long as you can install Java (8 or higher).

Thank you.

Yeah, it cannot run Java builds. I tried to run a GPS tracker once and I could not due to the lack of support to run the Java app.

anthony-joal
11.03.18, 23:21
Damned :/

Sorry about that. Maybe you could buy a raspberry, it has a low consumption as well.

amazning
26.03.18, 21:20
Hi,

Great program that you have.

It is possible to define a maximum MB to seed?
I think that is essencial.

anthony-joal
26.03.18, 22:49
Hi amazning,

thanks for your comment :)

No it's not possible, and honnestly, i don't think that i'll implement that in the future. Joal is designed to be usable by everyone, to be as simple as possible, i don't wan't to overwhelm users under tons of configurations and other stuff that most of them don't understand. And also useable as fully automated service that you can host on a server.

The drawback of this way of thinking is that most advanced user may feel frustraded from these missing features. But honestly, if you want a finer control over your setup mRatio is a really good software.

mRatio, Ratiomaster+ and JOAL does not cover the same needs. But with all of these softs out there, everyone should find his own :)

amazning
27.03.18, 15:36
Hi amazning,

thanks for your comment :)

No it's not possible, and honnestly, i don't think that i'll implement that in the future. Joal is designed to be usable by everyone, to be as simple as possible, i don't wan't to overwhelm users under tons of configurations and other stuff that most of them don't understand. And also useable as fully automated service that you can host on a server.

The drawback of this way of thinking is that most advanced user may feel frustraded from these missing features. But honestly, if you want a finer control over your setup mRatio is a really good software.

mRatio, Ratiomaster+ and JOAL does not cover the same needs. But with all of these softs out there, everyone should find his own :)


Given that it's a server version i don't know if you have users with low knowledge. Anda maybe you can a have a option for advanced users.
Joal is the only that has a server version right?

anthony-joal
27.03.18, 15:46
Joal server is actually "joal-core" wich is the code base for both the server and desktop app version. They both are the same.
Most users are using the desktop app. But i initialy developed joal to operate in a server environment. So i kept this functionnality accros the updates.

As far as i known, yes it's the only one to be :

multi-os
server-compliant
runnable in command line

amazning
29.03.18, 13:36
Joal server is actually "joal-core" wich is the code base for both the server and desktop app version. They both are the same.
Most users are using the desktop app. But i initialy developed joal to operate in a server environment. So i kept this functionnality accros the updates.

As far as i known, yes it's the only one to be :

multi-os
server-compliant
runnable in command line


Thank you.

I want to use Transmission 2.84 (14307) or Deluge 1.3.1. Do i need a equal client for joal or there's compatible ones?

anthony-joal
30.03.18, 02:10
Well, it's better to use the same client as you "real" client. But these one are quite old. Can't you update your client version?

There was various huge security leak that were revealed on various BitTorrent client including at least : uTorrent, BitTorrent, Transmission, qBittorrent. I don't know if Deluge was affected or not. But if i were you i wouldn't use such old versions.

anthony-joal
19.05.18, 00:42
Version 2.1.0 has been released

[Changes]

Greatly improved how speed is spread among torrents, to look like more legit
Decreased CPU/RAM consumption
Reduced useless logs and made logging messages more concise


[Changes]

Fixed a bug with public tracker files
Fix some non criticals bugs
Fix a visual Glitch in WebUi (tooltip that shows contdown before announce)


Joal-desktop will soon be updated after some beta testings :)

anthony-joal
23.05.18, 23:24
Version 2.1.2 has been released
download it here (https://github.com/anthonyraymond/joal/releases/latest).

[Changes]

Client file list is now ordered semantically in WebUI (ordered by version).

[Fix]

WebUi is now displaying announce progress bar properly even if the server is not on the same timezone as the client.

[Client]

uTorrent utorrent 3.5.3_44428
bittorrent 7.10.3_44429

Godzilla
30.03.19, 00:56
Hi,

I used "Vuze Plus Extreme Mod" for several years and want to change to something that can run as a docker container, so this looks promising. :)

But I think I don't really understand the concept behind it.
Maybe I just don't know how Ratio Tools work. :)

If I am using the docker version and use the "deluge-1.3.15.client" file,
does the container run a real version of the deluge daemon?
Can I connect to this via the Deluge GUI? What port?
Can I install plugins for it?

Sorry, if I am completely wrong about this.

anthony-joal
30.03.19, 13:49
Hi,

I used "Vuze Plus Extreme Mod" for several years and want to change to something that can run as a docker container, so this looks promising. :)

But I think I don't really understand the concept behind it.
Maybe I just don't know how Ratio Tools work. :)

Hi :)

First a little background on ratio tools.

I believe that there are two kind of tools:
1) The one what are designed as plugin in real BitTorrent clients, such as vuze extreme mod. These are dependent on the real BitTorrent client but they usually provide more "realistic" stats (even if nowaday i'm pretty confident in joal).

2) The ones that works in a standalone way. As ratiomaster, mRation, joal... These are completly independent from real clients, and they don't NEED to be started along with it, even if some can suck data out of a running client. They attempt to copycat a variety of BitTorrent clients to trick the trackers.


How does they works?
I won't get into the first category as i don't known much about these. But for the standalone apps, they are actually quite simple and rely on the fact that BitTorrent protocol is not meant to be used by private trackers.

When you want to download a file, the BitTorrent protocol state that the tracker has to provide you a list of peers (called seeders) who are uploading (seeding) a part or all of the file you want.
You might wonder how the hell the tracker known who is seeding this very file at this very moment. It's also a BitTorrent protocol rules that says that every X minutes (30m most of the time), the clients (you and all the leechers/seeders) has to report their progress on the file (how much downloaded, how much uploaded and how much needs to be downloaded before completion).

That's it, the protocol is as simple as that. Ratio tools just fake these values and send them to the trackers, anything could be a ratio tools, you could even send fake data from your web browser if you wanted to.
But not all the tools are equals, for example the well known RatioMaster is now quite outdated and must not be used anymore, it's does not emulate well enough to trick trackers anymore. It all depend on how much times developper or community spend on reverse engineering the real clients to understand how they works.


These one i would trust are :
- mRatio
- RatioMaster+
- Joal

Speaking for joal, qBittorent and Transmission emulation are 100% safe.





If I am using the docker version and use the "deluge-1.3.15.client" file, does the container run a real version of the deluge daemon?
No all standalone tools copycat them.



Can I connect to this via the Deluge GUI? What port?
Nop, joal provides a WebUi, but it's all about joal, it won't connect to a deluge or whatever.



Can I install plugins for it?
Nop, as said above. You'll have to use the webui to configure / add or remove torrents.

Godzilla
30.03.19, 17:23
So these Ratio Tools are kind of standalone torrent clients with specific features for faking ratio.
They only spoof the defined client.

Thanks, but I think I will look for another mod then. :)

yuvalhadar134
27.04.19, 01:29
hey, Thank you for your great program!

I used to use it for small amount of torrents and it worked quite great. was light and fast, and as said here, I could even use it with my linux box without any tricks (like wine, .net programs and so on).

The problem is whenever I try to add more than 100 torrents (my tracker gives like a poiint per torrent, so i just ghost seeding small torrents), joal-desktop just won't accept it and ignore it.

Is there something I can do about it? I tried to manually add torrents to the torrent folder (at ~/.config/joal/joalcore/torrents), and even to the archived folder, with no luck - it still wont register over 118 torrents.

I did notice that a single core was hard capped at 100% (like joal actually tried to add more torrents), but when it reached ~118 torrents or so, it just ignores the rest and ghost seeding only the current torrents.


Thank you for your help!

SumBaj
08.10.19, 08:15
@anthony-joal Is there a way to run this using a .sh script at bootup on centos/ubuntu startup? I am a linux noob but still can manage by googling my way around. However, the normal script execution methods don't seem to work for joal server. Help will be appreciated.

anon
09.10.19, 21:45
You likely want to run it as a service under systemd.

SumBaj
10.10.19, 19:59
You likely want to run it as a service under systemd.

Does not work but I'll try again.

anthony-joal
20.01.20, 12:07
Hello @SumBaj,

I do'nt know how this can be achieve with plain linux.
But joal is compatible with docker if you want to setup docker and run it in containers (which allow process to autorun on boot. Docker is not a simple think to understand if you don't know linux really well though.

---------- Post Merged at 11:07 ---------- Previous Post was at 11:01 ----------

@yuvalhadar134

Sorry for this late answer... i haven't seen your message.
I'm aware of performance issues on small configs. I'm currently rewriting JOAL in another language, it will be much more efficient and less resource consuming. I expect the beta to start in the next few months.

anon
23.01.20, 05:12
Docker is not a simple think to understand if you don't know linux really well though.

It can be complicated even if you do know Linux well :wdabs:


I'm currently rewriting JOAL in another language, it will be much more efficient and less resource consuming. I expect the beta to start in the next few months.

Sounds good, but what about multi-platform support? Right now, one upside JOAL has against RatioMaster and mRatio (in fact, the upside for some) is that it also runs on Linux, Mac and potentially any other system for which an updated Java VM is available.

anthony-joal
26.01.20, 03:21
It can be complicated even if you do know Linux well :wdabs:
It requires quite a dedication indeed. But it worth the time.



Sounds good, but what about multi-platform support? Right now, one upside JOAL has against RatioMaster and mRatio (in fact, the upside for some) is that it also runs on Linux, Mac and potentially any other system for which an updated Java VM is available.

By no way i would compromise that, i'm using Golang and it can be compiled natively for every OS and architectures i know. Plus so far from what i've seen the performance are not comparable in any way, it's like 10 times faster, easy.

Some widely asked features will also be implemented :)

anon
27.01.20, 19:41
It requires quite a dedication indeed. But it worth the time.

Yeah, I need to find a large chunk of time to sit down and learn it by doing doing doing. Nowadays almost everything is (or can be made) available as a Docker instance and companies also use it a lot; for stuff that works on it it's much better than "normal" virtualization.


By no way i would compromise that, i'm using Golang and it can be compiled natively for every OS and architectures i know. Plus so far from what i've seen the performance are not comparable in any way, it's like 10 times faster, easy.

Some widely asked features will also be implemented :)

Great news!

anthony-joal
24.02.20, 21:36
Yeah, I need to find a large chunk of time to sit down and learn it by doing doing doing. Nowadays almost everything is (or can be made) available as a Docker instance and companies also use it a lot; for stuff that works on it it's much better than "normal" virtualization.


Docker on it's own does not required a lot of time if you know linux already. Most of the time people are affraid of starting using linux in terminal mode, but if you are already used to it docker is not long to understand and use.

What's a bit more complex is the ecosystem around (kubernetes and all the complexity that comes with it) but you won't ever use that outside of a company that: has a lot of money to pay for kubernetes clouds or have their own infrastructure capable of running a lot of VM in a highly available environment.

You should definely take a look at docker, the documentation is clear and simple to get into it.

webuiIssue
02.04.20, 10:32
You're almost done ^^. Sadly, the only documentation available is here (https://github.com/anthonyraymond/joal#how-to-run) so far. I'm in the middle of a huge refactor, i'll improve the doc when i'll be done with it :)

If you want to use the WebUI, all the argument listed here (https://github.com/anthonyraymond/joal#how-to-run) are mandatory.

--joal-conf=PATH_TO_CONF: to instruct where is the configuration folder
--spring.main.web-environment=true: to enable the web context.
--server.port=YOUR_PORT: Replace YOUR_PORT by the port you want to use with the webui.
--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.
--joal.ui.secret-token="SECRET_TOKEN": use your own secret token here (this is some kind of a password, choose a complicated one).

Afterward, when JOAL will be launched, open a web browser and navigate to :
http://localhost:port/SECRET_OBFUSCATION_PATH/ui/
Replace port by the port you choosed at the step above.
Replace SECRET_OBFUSCATION_PATH by the value you choosed at the step above.

also, if you are not accessing the WebUI from the same computer that runs JOAL you'll need to replace "localhost" by your computer local ip. (192.168.1.xxx)
When the WebUi will show up, you'll have to press the big red button a the top left to fill the connection form (server ip, port, secret obfuscation path and secret token)


I'm not sure what you mean by changing the IP address of the server? What do you mean exactly?


PS: here is an example to start your webui:
java -jar /home/xXXx/joal-conf/jack-of-all-trades-2.0.9.jar --joal-conf="/home/xXXx/joal-conf/" --spring.main.web-environment=true --server.port=4265 --joal.ui.path.prefix="my-super-awesone-secret-path" --joal.ui.secret-token="mySuperPassword"
If you do so, you'll reach the webui at : http://localhost:4265/my-super-awesone-secret-path/ui/

Hey, so I used the options you mentioned here and the server actually starts up but I'm getting "Unable to connect"
from FireFox

anthony-joal
05.04.20, 22:40
Hey, so I used the options you mentioned here and the server actually starts up but I'm getting "Unable to connect"
from FireFox

Hello, can you send a screenshot of firefox (including address bar) + the joal log (full) to joal.contact@gmail.com ? i'll take a look at that asap :)

SB-Cheat
24.04.20, 22:59
@anthony-joal

First of all, congratulations for Joal, it is amazing and I hope you will update it always.

I would like to know if is possible in the future updates to have real-time upload/download speeds like in mRatio.

And can you please give me some suggestions regarding Joal like safe speeds and other tips and tricks.

Thank you in advance and keep it up!

anthony-joal
16.08.20, 19:26
@anthony-joal

First of all, congratulations for Joal, it is amazing and I hope you will update it always.

I would like to know if is possible in the future updates to have real-time upload/download speeds like in mRatio.

And can you please give me some suggestions regarding Joal like safe speeds and other tips and tricks.

Thank you in advance and keep it up!

Hi sorry i've missed that post...

I plan to include the global upload stats in joal but, that's for futures version, i'm actually working on another part of joal ATM.

For recommendation i'd say:
- Prefer running it 24/7 wiht a low speed setting (between 0 and 40 ko/s) rather than running it with high speed for a short period of time.
- Use the same client &version as your real client (if possible)
- Upload only file that you have already downloaded with your regular client.

That's it :)

motalemb
12.10.20, 04:17
Can you seed the .torrent without having to download the file? Also is it possible to fake leech (not ghost leech) then start seeding?

Also is this capable of handling hundreds (if not one to two thousand) torrents?

cloud99
15.10.20, 17:05
Hi there,


Can you seed the .torrent without having to download the file?

Yes it can according to the version I installed for testing.


Also is it possible to fake leech (not ghost leech) then start seeding?

No it can't according to the version I installed for testing.


Also is this capable of handling hundreds (if not one to two thousand) torrents?

I tested it out with 150 torrents on a dedicated server (LT DEALS 1701.3) after which my server crashed. Not exactly crashing but more like turning unresponsive. So I instead run BiglyBT Extreme Mod and it works fine. I fake seed more than 3k torrents at one instance without the server turning unresponsive.

It could have been some error in the OS which was causing the server to turn unresponsive. Anyway I don't look back on my decision. I can test it out though but will need some time as I need to move things around on the server to get some space to install Joal-Server.
~cloud99

motalemb
15.10.20, 20:42
Thanks for your reply! I had a couple other questions (unfortunately I can't PM).
Do you only use BiglyBT Extreme Mod?
Can it fake leech and can it be run from terminal/command line?
Have you heard of other programs that can fake seed and run well on servers?

anon
15.10.20, 22:08
Thanks for your reply! I had a couple other questions (unfortunately I can't PM).

What are those secret questions that apparently can't be asked in public, I wonder :wthink:


Do you only use BiglyBT Extreme Mod?
Can it fake leech and can it be run from terminal/command line?
Have you heard of other programs that can fake seed and run well on servers?

Hope you don't mind if I answer these. BiglyBT can do everything mentioned in 13781 (note the ratio tool) and is able to run from a terminal in headless and/or Web UI mode, as long as Java is available. However, cheating features are not exposed in the Web interface, and Telnet is extremely vexing to use; it's not even a TUI like rTorrent's, more like a DOS command line where you type commands to display data or set values. If you can get X11 forwarding or VNC working on your server, you may be able to use the regular graphical interface.

Other possible alternatives include...

31407
34569

As you can see, this isn't a lot, but "I have a server and I want to run ratio cheating programs on it instead of using it as a seedbox" isn't a frequent scenario.

motalemb
16.10.20, 01:03
Thanks for the response! I just didn't want to derail a thread by talking about other tools. "cheating features are not exposed in the Web interface" you mean terminal right? So for BiglyBT, I could open the GUI to configure it, then use terminal to actually run it?

Ok, let's say I relax the requirements and no longer need terminal. I'm looking for something that can fake seed/leech, run on a Linux server, and handle ~1k torrents. I think BiglyBT fits all that, but is there something better (more robust or convenient) that you would recommend?

anon
16.10.20, 13:09
"cheating features are not exposed in the Web interface" you mean terminal right?

No, those are different things.

Web interface: you can use it from a browser; see https://wiki.vuze.com/w/Azureus_HTML_WebUI, https://wiki.vuze.com/w/Setup_WebUI_without_GUI. This is the one that does not expose cheating features or even all regular BiglyBT settings, only basic functionality.
Console/terminal/Telnet interface: see https://wiki.vuze.com/w/Console_UI, https://wiki.vuze.com/w/TelnetUI. The latter is simply a way to access the former remotely. In the real world, you'll either use SSH and run a Telnet client on the server to connect to itself, or run the console UI normally and use a terminal multiplexer (tmux/screen) to keep it open. A list of configuration parameters for the mod is available at 283774.
Graphical interface: the "normal" one you will see if you run the mod as a regular desktop application.

As I said before, the console UI is very difficult to operate, especially to do an initial setup and even if you're used to command-line programs. In all likelihood you'll want to run BiglyBT locally first and configure it to your liking, then SCP the configuration files to your server.


Ok, let's say I relax the requirements and no longer need terminal. I'm looking for something that can fake seed/leech, run on a Linux server, and handle ~1k torrents. I think BiglyBT fits all that, but is there something better (more robust or convenient) that you would recommend?

For this scenario it would have to be either BiglyBT Extreme Mod or joal-server. However, a thousand torrents is pushing the limits and you will have to tweak the Java VM's memory allocation accordingly (see https://wiki.vuze.com/w/Java_VM_memory_usage, 356586). There is also the Transmission leecher mod, which should have a lower resource usage. No fake downloading on that one though, only fake seeding and "show as 0% done" modes.

Does all of this sound complicated? Well, server management usually is =]

motalemb
16.10.20, 16:16
Yep...I'll try to put it all together. I'll go with BiglyBT then since joal-server doesn't seem to allow for fake leech. Thanks for the clarifications!

iwabo
01.11.20, 00:15
After fiddling around I managed to get this running on my Pi. However, I can't seem to get torrents to seed or announce properly. Maybe it's (private) tracker related. No matter which torrent I load, it will try to announce and then archive the file. I'm using the webinterface to add torrents. I tried different client emulations, nothing worked. In terminal it shows these lines[...]

Edit: Never mind the tracker managed to be offline the very moment I tried. Everything is working fine. :klatsch_3:

repulse
28.11.20, 13:59
That's a pretty good tool, any way to auto stop after some time/mb or number of "completed"?

czullo
08.12.20, 15:54
So can anybody help me? Tryied to run this on my raspberry but it just wont work 20836

anon
08.12.20, 16:12
Try this, based on the instructions at GitHub and the values seen in your screenshot.


docker run -d \
-p 80:80 \
-v /home/pi/joal:/data \
--name="joal" \
anthonyraymond/joal:2.1.22-arm \
--joal-conf="/data" \
--spring.main.web-environment=true \
--server.port="80" \
--joal.ui.path.prefix="11111" \
--joal.ui.secret-token="11111"

czullo
08.12.20, 16:18
I think its better but still some errors:
20837

anon
08.12.20, 16:22
You may need to change the port to a higher one (I forgot ports up to 1024 are considered privileged), run Docker with sudo or both.

czullo
08.12.20, 16:45
yep, sudo + good port fix the issue. Thanks a lot buddy. You help me a lot. Cheers :)

anon
08.12.20, 17:29
Don't mention it, good to see you're still here after all these years :brost:

czullo
11.12.20, 12:19
Strage thing, today i restarted my raspberry and then when i try to run Joal in chromium i got this error:


This site can?t be reached 192.168.1.11 refused to connect.
Try:

Checking the connection
Checking the proxy and the firewall
ERR_CONNECTION_REFUSED

didnt change anything.


Ok i figured out, i must start docker container everytime i restart raspberry :)

anon
11.12.20, 23:49
Ok i figured out, i must start docker container everytime i restart raspberry :)

Put the `docker run' command in your /etc/rc.local and you'll save yourself the hassle of doing it manually. If it doesn't work, you may have to add an & at the end or delegate startup to systemd instead.

czullo
06.01.21, 00:30
joal-server cant get peers/seeds numbers from pte.nu tracker, dont know why. Its working fine on torrentleech.org

anon
06.01.21, 03:13
joal-server cant get peers/seeds numbers from pte.nu tracker

Some trackers simply don't return this information at all (it's optional).

czullo
06.01.21, 10:02
Yea but whithout peers/seed numbers cant actualy seed :)

anthony-joal
15.05.21, 10:42
Yea but whithout peers/seed numbers cant actualy seed :)

Hello :)

The next version should be better at this since it will implement sraping, but there is still a long way to go to be fully ready. I'll keep you updated

hazz030
05.10.22, 13:24
this software wouldn`t work on an arm machine like raspberry pi without modification, right?
java isnīt architecture independent, or am i wrong?

it made me think why the rpi sized x86 mini computers arenīt more popular and talked about? software availability should be much higher on these.

anon
06.10.22, 10:18
this software wouldn`t work on an arm machine like raspberry pi without modification, right?
java isnīt architecture independent, or am i wrong?

See post #25.


it made me think why the rpi sized x86 mini computers arenīt more popular and talked about?

Because processor architecture is not really relevant in most cases. The programs people will want to use either are already in package repositories, or can be compiled by hand with little effort. You're very unlikely to run into proprietary software that is not available for your architecture (and which may not run anyway due to Linux's horrible binary compatibility) or processor-specific code with no viable substitutes. Plus, ARM generally has lower power consumption, which for hobby projects running from battery or solar power can make a large difference.

hazz030
06.10.22, 16:54
i got this to run on a rpi with 1gb ram apparently, altough it reports a lot of connection time outs when trying to announce to the tracker. but the user cp on various trackers shows that iīm seeding all of these torrents.

i canīt get the webui to work and i donīt know what iīm doing wrong.
i can open the webpage in the browser, but it displays this error message: "canīt connect to joal, retry in 8 seconds".
but it is not important to me since the webui seems to be more of a gimmick.
i just manually copy the torrent files via a samba share to the rpi.

at least i can save some energy with this method which makes my filesharing life easier and electricity bill cheaper.

why does this program rely on "l2.io" to work? this domain is on adguardīs official list of blocked dns. makes me think it could expose the system to vulnerabilities.

anon
07.10.22, 09:16
Made a small correction to my previous post (although the idea basically remains the same).


i got this to run on a rpi with 1gb ram apparently, altough it reports a lot of connection time outs when trying to announce to the tracker.

How many torrents do you have running?


i canīt get the webui to work and i donīt know what iīm doing wrong.
i can open the webpage in the browser, but it displays this error message: "canīt connect to joal, retry in 8 seconds".

I can only advice to double-check the installation steps to ensure you've done everything right, and check the logs for clues. Also see that firewall and privilege permissions on the Pi aren't getting in the way. I think being able to view and manage your torrents is a bit more than "a gimmick", but well, as long as it works =]


why does this program rely on "l2.io" to work?

Such questions are easy to answer by looking at the source code, and this is no exception! It is used to obtain your external IP address along with three other possible providers.


private static final String[] IP_PROVIDERS = new String[]{
"http://ip.tyk.nu/",
"http://l2.io/ip",
"http://ident.me/",
"http://icanhazip.com/"
};

sharktachi
22.10.22, 01:26
Great tool.

Running in a docker instance on a Raspberry Pi4 8GB with 100 torrents seeding at 0kb/s. Only 8% of RAM used so far (shared with other docker instances)

Has anyone tried to push it to the limits to see how many torrents can it run at once? Is is safe enough to just seed at 0kb/s to avoid HnR? I am planning to use it afer some testing to my main trackers, and a "leak" would be fatal (like going up in speed at a torrent with 0 leechers)

Thanks in advance.

anon
22.10.22, 20:31
Has anyone tried to push it to the limits to see how many torrents can it run at once?

Anyone who feels like doing so may benefit from the Java optimization advice that's been given for Extreme Mod.


Is is safe enough to just seed at 0kb/s to avoid HnR?

"Fake seeding is a very simple yet effective tactic, and requires nearly zero micromanagement past the initial setup. Just pick torrents where the amount of seeders is high enough to blend in with and unlikely to change, and keep in mind the total and piece size limits for the client you're emulating (at least two major trackers are checking this!)."


(like going up in speed at a torrent with 0 leechers)

JOAL will never fake upload on torrents with 0 leechers, and in this scenario there's no reason for you to make minUploadRate and maxUploadRate nonzero anyway.

sharktachi
23.10.22, 00:28
Thank you for the quick response.

What is the extreme mod by the way? And what does the "total and piece size limits" of the client mean? I am emulating Transmission on movie torrents (1 mkv file).

And another question, the port the tracker will get the announces from is the same port set in the docker part, right? It would be risky for the admins to type in your ip and port and see a webserver part on you, wouldn't it? Apart from the obfuscating part.

anon
23.10.22, 01:13
What is the extreme mod by the way? And what does the "total and piece size limits" of the client mean?

The search feature should answer these without fail.


the port the tracker will get the announces from is the same port set in the docker part, right?

The port reported to trackers shows up in the log when you start the program.


It would be risky for the admins to type in your ip and port and see a webserver part on you

This would never happen unless you go out of your way to expose the container to the world (which Docker port mappings don't do on their own).

sharktachi
23.10.22, 23:25
The search feature should answer these without fail.



The port reported to trackers shows up in the log when you start the program.



This would never happen unless you go out of your way to expose the container to the world (which Docker port mappings don't do on their own).

Thank you again.

I saw the Extreme Mod refers to BiglyBT client, not Joal.

I have checked the logs and found the announce port, I guess it cannot be changed anywhere as there is no option in the GUI or in docker environment variables.

anon
24.10.22, 02:03
the announce port, I guess it cannot be changed anywhere as there is no option in the GUI or in docker environment variables.

Due to its "set it and forget it" design, JOAL picks the first port between 49152 and 65535 that is available. If you're feeling adventurous, you can recompile to change that range, or hardcode a port number of your choice (should be a matter of making minor edits to a single file, then using javac with the full JAR in your CLASSPATH and injecting the new class).

Whichever port is used, don't forget to forward it in your router and add a Docker port mapping for it so that you show up as connectable to the tracker!

sb86
17.02.23, 19:17
Thank you for developing this amazing tool .
I'm running Joal using my router through chrooted Debian :wink2: and use an init.d script to start stop restart.
I want to run Qbittorrent and Joal simultaneously :

1- can I leech with Qbittorrent and seed with Joal at the same time? (of course Joal will seed torrent already downloaded using Qbittorrent and Qbittorrent will leech new ones ).

2- can I set listening port 49152 for Qbittorrent the same as Joal ? because Joal's default port is 49152. so tracker will see just one client with same port.

3- how to change joal's default port ? because I think it's hardcoded.

by the the way I run both Joal and Qbittorrent using my router through chrooted debian in a headless mode and access them through my browser (webui ).

Thank you very much for your support.

anon
18.02.23, 01:04
The conversation between sharktachi and myself above should answer all your questions, directly or otherwise.

sb86
18.02.23, 13:28
but sharktachi talks about port to access webui of the docker .
I'm talking about incoming port (listening port for both the real client and the faking client).
hope you understand me anon :smile:

anon
19.02.23, 15:21
Well, let's see. Questions 2 and 3 are answered by post #83: you can't make the listen port match qBittorrent's, as JOAL will immediately try the next free one, and you can't change it without recompiling. This also indirectly answers question 1 with a "no": you can run the two programs simultaneously, but due to the aforementioned difference in port numbers, they won't look like a single client instance to the tracker even if you never load the same torrents on both.

Recompiling JOAL to change the port and not check if binding was successful is a possibility.

sb86
19.02.23, 18:25
Thank you anon for your explanation. things are clear now :top:
so if Qbittorrent and Joal are running at the same time with 2 different incoming port and as you said they will look like 2 different Qbittorrent clients , can this cause ban of my account ? or at least look suspicious for the tracker ?

anon
19.02.23, 20:42
It's not a death sentence in itself, as there are legitimate reasons to use multiple clients, even from the same IP. However, if you get caught cheating, it won't help your case that the torrents with suspicious traffic reports all belong to one of two qBittorrent instances you're supposedly running. So it's best avoided in this scenario.

sb86
19.02.23, 22:14
thank you again anon.
i want to use the same incoming port for them both and at first start leeching with Qbittorrent then stop it once the leech is completed, then start seeding that leeched torrent with Joal .
I want to use the same port so tracker will always see same port and client while in leeching phase or fake seeding phase.
thank you for your patience :top:

anon
20.02.23, 10:30
That would be the most logical thing to do, but in addition to everything we have already discussed...

qBittorrent will retain its port binding even if no torrents are active at all
Stopping and starting a seeding torrent for no apparent reason and suddenly beginning to upload on it can also be suspicious behavior

Editing JOAL's client files to hardcode a port number that matches your qBittorrent's is a possible hack, one that I've never done (and therefore can't give assurances about) but should work in principle as long as changes aren't overwritten by updates (which you could block with a hosts file entry).

By the way, a router that can run Java programs under a Debian chroot is a very interesting setup, I suppose it's a mini-PC you built for that purpose?

sb86
20.02.23, 12:53
Thank you anon :top:

yes I use just my router it has 1.8 GHz quad-core processor ,256 MB Flash and 1 GB RAM. I run on it aria2 server for direct downloads (better than internet download manager windows app),Transmission 2.77+ 2.9x Leecher Mod (I've compiled the source code), nextcloud, Qbittorrent-nox (server version of Qbittorrent and using vuetorrent as webui for it), nginx ,php7, maria database server, myphpadmin, ADGUARD HOME, Joal server , finally a personal selfhosted website to learn languages as it have dictionaries and SRS (spaced repetition software to help memorize words) :klatsch_3:.

this is the cheat options available in transmission's webui :

21472

usually when using transmission I always use the mode "Always leecher ,report 0%" that's good but over time if there is no leech it can lead to account ban . I'm afraid to use the 2 modes: "Report a ratio of 2" and "Report a ratio of 4" because once the leech is finished it report x2 or x4 instantlly. that's the raison why I want to switch to Joal. and I choosed Qbitorrent-nox because of the awesome alterative webui vuetorrent : it offer dark mode and support mobile devices and is beautiful. Transmission webui has no dark mode and limited functions.

based on what I have , can you brother anon suggest me a safest way to use the modes I have ? :

1- Start Qbittorrent-nox, once download finished let it seed for one hour then stop it and start Joal to continue the seed.

2- Download with Transmission alone and choose "Report a ratio of 2" :rolling_eyes:

3- Combine Joal and Transmission Leecher Mod and get rid of Qbittorrent :confused:

4- Combine Qbittorrent and Tranmission Leecher Mod and get rid of Joal :confused:

I head about BiglyBt and it seems the ideal cheating tools , I already install it in my chrooted Debian , unfortunately I can't access GUI , and I didn't like the console UI it's not practical to use in a daily basis. its webui is ugly and hasn't the cheating options. I can't figure out how to access its GUI as I have chrooted Debian hope someone give me link to a tutorial.

for me most cheating tools should be developed to be used in server environments , for the ease of access through webui and either use your own router or raspberry pi to host them and let them run 24/7 as theses devices consume a little electricity or buy a cheap vps instead of investing in an expensive seedbox.

if developers of BigLyBt can make a webui like VueTorrent, it will be a heaven for me :smile:

anon
20.02.23, 20:35
You may want to have a look at 35443.

YopHop
16.05.23, 10:25
Hi,

Thanks to all the informations and support here, I managed to run joal server through gluetun VPN in a Synology Docker, thanks a lot ! :top:

Now I would like to configure JOAL to use my qBittorrent version (4.5.2), but it is not available in the provided /clients/ folder.

Is it ok (and safe) to duplicate qbittorrent-4.4.5.client to qbittorrent-4.5.2.client and to just modify the json like this :
peerIdGenerator.algorithm.pattern : "-qB4520-[A-Za-z0-9_~\\(\\)\\!\\.\\*-]{12}"

Thank you for your support.

anon
16.05.23, 18:34
You also need to edit the User-Agent string to qBittorrent/4.5.2. Those are the only changes between the two versions.

sharktachi
17.05.23, 19:56
Hi,

Thanks to all the informations and support here, I managed to run joal server through gluetun VPN in a Synology Docker, thanks a lot ! :top:

Now I would like to configure JOAL to use my qBittorrent version (4.5.2), but it is not available in the provided /clients/ folder.

Is it ok (and safe) to duplicate qbittorrent-4.4.5.client to qbittorrent-4.5.2.client and to just modify the json like this :
peerIdGenerator.algorithm.pattern : "-qB4520-[A-Za-z0-9_~\\(\\)\\!\\.\\*-]{12}"

Thank you for your support.

I am interested in making a qbittorrent-4.5.2.client too, but the latest version I find on joal is 4.4.3.1, is is safe to modify the strings from this version too? Where have you found 4.4.5?

I see there are some mratio and ratiomaster 4.5.2 client files, I guess they are not compatible with Joal.

anon
17.05.23, 21:13
Where have you found 4.4.5?

Check JOAL's repository on GitHub :richter:

sharktachi
17.05.23, 22:49
Check JOAL's repository on GitHub :richter:

Thank you I got it!

mratio and RM clients are incompatible, aren't they?

This is the modified 4.5.2 client from 4.5.1 one:


{
"keyGenerator": {
"algorithm": {
"type": "HASH_NO_LEADING_ZERO",
"length": 8
},
"refreshOn": "TORRENT_PERSISTENT",
"keyCase": "upper"
},
"peerIdGenerator": {
"algorithm": {
"type": "REGEX",
"pattern": "-qB4520-[A-Za-z0-9_~\\(\\)\\!\\.\\*-]{12}"
},
"refreshOn": "NEVER",
"shouldUrlEncode": false
},
"urlEncoder": {
"encodingExclusionPattern": "[A-Za-z0-9_~\\(\\)\\!\\.\\*-]",
"encodedHexCase": "lower"
},
"query": "info_hash={infohash}&peer_id={peerid}&port={port}&uploaded={uploaded}&downloaded={downloaded}&left={left}&corrupt=0&key={key}&event={event}&numwant={numwant}&compact=1&no_peer_id=1&supportcrypto=1&redundant=0",
"numwant": 200,
"numwantOnStop": 0,
"requestHeaders": [
{ "name": "User-Agent", "value": "qBittorrent/4.5.2" },
{ "name": "Accept-Encoding", "value": "gzip" },
{ "name": "Connection", "value": "close" }
]
}

anon
18.05.23, 03:53
This is the modified 4.5.2 client from 4.5.1 one:

Looks good. If you're interested on learning more, both the client file format and the ways to capture the data it needs are well-documented in this forum.

sharktachi
18.05.23, 18:55
Looks good. If you're interested on learning more, both the client file format and the ways to capture the data it needs are well-documented in this forum.

I'm all in and modded Transmission too in order to update to current 4.0.3 version:



{
"keyGenerator": {
"algorithm": {
"type": "DIGIT_RANGE_TRANSFORMED_TO_HEX_WITHOUT_LEADING_ZER OES",
"inclusiveLowerBound": 1,
"inclusiveUpperBound": 2147483647
},
"refreshOn": "NEVER",
"keyCase": "lower"
},
"peerIdGenerator": {
"algorithm": {
"type": "RANDOM_POOL_WITH_CHECKSUM",
"prefix": "-TR4030-",
"charactersPool": "0123456789abcdefghijklmnopqrstuvwxyz",
"base": 36
},
"refreshOn": "TORRENT_VOLATILE",
"shouldUrlEncode": false
},
"urlEncoder": {
"encodingExclusionPattern": "[A-Za-z0-9-]",
"encodedHexCase": "lower"
},
"query": "info_hash={infohash}&peer_id={peerid}&port={port}&uploaded={uploaded}&downloaded={downloaded}&left={left}&numwant={numwant}&key={key}&compact=1&supportcrypto=1&event={event}&ipv6={ipv6}",
"numwant": 80,
"numwantOnStop": 0,
"requestHeaders": [
{ "name": "User-Agent", "value": "Transmission/4.03" },
{ "name": "Accept", "value": "*/*" },
{ "name": "Accept-Encoding", "value": "deflate, gzip" }
]
}


I do not know if the 3.XX to 4.XX step implies further modifications apart from User-Agent and Prefix.

anon
18.05.23, 19:55
I do not know if the 3.XX to 4.XX step implies further modifications

In that case, I don't recommend using the client file until you verify this... especially considering you missed at least one big change (the refreshOn value for peerIdGenerator).

sharktachi
19.05.23, 19:21
In that case, I don't recommend using the client file until you verify this... especially considering you missed at least one big change (the refreshOn value for peerIdGenerator).

Thank you.

Is there any kind of documentation in order to create a client file structure for Joal?

JohnWick
02.08.23, 06:26
@anon

can we install joal or any faking ratio tool (without real download/upload) on free hosting sites?
i just want fake ratio on some private trackers. instead my own pc.

anon
02.08.23, 06:41
I think you've already asked that before...

JohnWick
02.08.23, 07:02
I think you've already asked that before...

i think, last time i asked i want 0 up/down/no seed, just leeching without changing ratio.

now i want a tool just fake ratio,but on free host sites. no real up/down

or like this one in google?

21570