PDA

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



pauloafonso
29.04.20, 03:44
Ratio-spoof is a cross-platform, free and open source tool to spoof the download/upload amount on private bittorrent trackers.

How does it works?
Bittorrent protocol works in such a way that there is no way that a tracker knows how much certain peer have downloaded or uploaded, so the tracker depends on the peer itself telling the amounts.

Ratio-spoof acts like a normal bittorrent client but without downloading or uploading anything, in fact it just tricks the tracker pretending that.

How to use


usage:
./ratio-spoof -t <TORRENT_PATH> -d <INITIAL_DOWNLOADED> -ds <DOWNLOAD_SPEED> -u <INITIAL_UPLOADED> -us <UPLOAD_SPEED>

optional arguments:
-h show this help message and exit
-p [PORT] change the port number, default: 8999
-c [CLIENT_CODE] change the client emulation, default: qbit-4.0.3

required arguments:
-t <TORRENT_PATH>
-d <INITIAL_DOWNLOADED>
-ds <DOWNLOAD_SPEED>
-u <INITIAL_UPLOADED>
-us <UPLOAD_SPEED>

<INITIAL_DOWNLOADED> and <INITIAL_UPLOADED> must be in %, b, kb, mb, gb, tb
<DOWNLOAD_SPEED> and <UPLOAD_SPEED> must be in kbps, mbps
[CLIENT_CODE] options: qbit-4.0.3, qbit-4.3.3


Examples

./ratio-spoof -d 90% -ds 100kbps -u 0% -us 1024kbps -t (torrentfile_path)


Will start "downloading" with the initial value of 90% of the torrent total size at 100 kbps speed until it reaches 100% mark.
Will start "uploading" with the initial value of 0% of the torrent total size at 1024kbps (aka 1mb/s) indefinitely.



./ratio-spoof -d 2gb -ds 500kbps -u 1gb -us 1024kbps -t (torrentfile_path)


Will start "downloading" with the initial value of 2gb downloaded if possible at 500kbps speed until it reaches 100% mark.
Will start "uploading" with the initial value of 1gb uplodead at 1024kbps (aka 1mb/s) indefinitely.


Will i get caught using it ?
Depends wether you use it carefuly, Its a hard task to catch cheaters, but if you start uploading crazy amounts out of nowhere or seeding something with no active leecher on the swarm you may be in risk.

Bittorrent client supported
The default client emulation is qbittorrent v4.0.3, however you can change it by using the -c argument

Screenshot

20363

Source code and additional information on my github page:
github.com/ap-pauloafonso/ratio-spoof (https://github.com/ap-pauloafonso/ratio-spoof)
Download (https://github.com/ap-pauloafonso/ratio-spoof/releases)

Suggestions, bug reports are welcomed. Thank you everyone ;)

anon
02.05.20, 23:33
Sorry, I haven't had time for a close look so far, but here are a few hints.


The port is hardcoded to 8999; this is the default for qBittorrent 4.0.4, but it would be nice to be able to set a custom one
See 33448 and 353932 for more hints on how to perform an accurate client emulation

pauloafonso
03.05.20, 21:31
The port is hardcoded to 8999; this is the default for qBittorrent 4.0.4, but it would be nice to be able to set a custom one
Thanks for the feedback, i just released a new version that you can change the default port


See http://www.sb-innovation.de/showthread.php?t=33448 and http://www.sb-innovation.de/showthread.php?p=353932 for more hints on how to perform an accurate client emulation
I have spent a lot time using tcpdump/ reading the documentations to get the v4.03 qbittorrent right, definitely will check this out thank you.

flightcrank
13.08.20, 15:56
most trackers if not all don't really care about the user agent. they just check the first handful of bytes in the peerID instead to get the client version.

Lucius
13.08.20, 18:42
I had a quick look at the source code and nicely written code actually, Good work.

You're using UUID to generate random bytes for the PeerId but I think this will limit the generated charset to "a-z" and "-" right ?
while qBT generates the peerId in using this char range A-Za-z0-9_~()!.*-

Good work I will have another look and feedback you :top:

anon
14.08.20, 01:25
most trackers if not all don't really care about the user agent.

But the ones that do will ban you =] During betatesting of the Extreme Mod back on 2009, we learned the hard way that many trackers do check subtle things like parameter order, request headers, peer_id algorithms and URL-encoding exceptions.

pauloafonso
30.11.20, 05:49
I recently decided to re-write it in golang, now python3 is no longer required to run it. Also let me know what feature would be nice for this simple cli tool to have.

Thank you guys, it's nice to know that there are people out there using ratio-spoof ; )

anon
30.11.20, 09:21
I recently decided to re-write it in golang, now python3 is no longer required to run it.

That's nice, but will it run on Android now? :geek:

359282

H265
30.11.20, 16:45
I recently decided to re-write it in golang, now python3 is no longer required to run it. Also let me know what feature would be nice for this simple cli tool to have.

Thank you guys, it's nice to know that there are people out there using ratio-spoof ; )

Thanks. What key do i use to stop torrent after i have cheated enough? Also how do i cheat on multiple torrents at the same time? is it possible with ratio-spoof?

pauloafonso
30.11.20, 20:10
That's nice, but will it run on Android now? :geek:

359282

Whaat, people are using it on android? that is crazy haha. Will see how to make this work then ;)


Thanks. What key do i use to stop torrent after i have cheated enough? Also how do i cheat on multiple torrents at the same time? is it possible with ratio-spoof?
The key to stop terminal commands usually is ctrl + c. The currently implementation only supports 1 torrent file, i could try to add some parameter to pass a json file with many torrents files configured, what do you guys think about that? i think its fine the way it is now (simple single command)

H265
30.11.20, 21:27
The key to stop terminal commands usually is ctrl + c.

If i do that will ratio-ghost stop the torrent properly before exiting? I sent you the error messages i got on a private tracker in pm.

pauloafonso
30.11.20, 21:42
If i do that will ratio-ghost stop the torrent properly before exiting? I sent you the error messages i got on a private tracker in pm.

I saw the error and replied, did you get my reply? i think i have PM limits here in this forum, Anyway good call currently it does not send the stopped event when exited, i will work on that for the next version

H265
30.11.20, 22:01
I saw the error and replied, did you get my reply? i think i have PM limits here in this forum

No i didn't receive any messages. I have cleared my inbox now.


Anyway good call currently it does not send the stopped event when exited, i will work on that for the next version

Thanks.

pauloafonso
01.12.20, 01:06
v1.4 is out:
-Fix empty status
-Gracefully exit event

@H265 let me know if this fixes your problem

sigduwksnsksis9283
01.12.20, 01:53
That's nice, but will it run on Android now? :geek:

359282

still should be possible lol!

just doing go run the go file might be able to do it

I have a feature request, Ghost leech!

if this can ghost leech then i can probably implement this with the use of aria2c and make a proper pseudo cli tracker cheating thingy.

anon
01.12.20, 08:42
The currently implementation only supports 1 torrent file, i could try to add some parameter to pass a json file with many torrents files configured, what do you guys think about that? i think its fine the way it is now (simple single command)

I think the one-per-instance approach suits the program well in its current status. If you add multi-torrent support, you'll have to rework all timers, variables, error handling and output to keep track of all entries, not to mention dealing with global vs. individual peer_ids and keys. Also, people would quickly ask for the ability to stop or edit torrents on an individual basis.

Better start small, and the day you do add support for multiple torrents, it could begin with a simple feature that is very popular: no report mode that "seeds" everything at 100% done with 0 KB/s upload.


I have a feature request, Ghost leech!

if this can ghost leech then i can probably implement this with the use of aria2c and make a proper pseudo cli tracker cheating thingy.

A parameter to export the peers received from the tracker in IP:port list format would be nice, and only require dealing with the world of dreams that is bencoding and compact allocation. The original RatioMaster added this to version 1.8.8 by request and for the same reason.

By the way, Paulo, I've just given you PM privileges so that you can deal with those bug reports :top:

H265
01.12.20, 08:53
v1.4 is out:
-Fix empty status
-Gracefully exit event

@H265 let me know if this fixes your problem

Yes its announcing correctly now. I sent you another msg in pm. What happens when ratio-spoof cannot announce due to internet issues? Does it wait for internet connection to become normal again? or will it crash? Can you also add variable speed settings where we can enter the upper limit and lower limits? Right now if i use x speed each announce shows the same amount of fake uploaded and this will be risky when cheating on many torrents.

pauloafonso
02.12.20, 01:07
I think the one-per-instance approach suits the program well in its current status. If you add multi-torrent support, you'll have to rework all timers, variables, error handling and output to keep track of all entries, not to mention dealing with global vs. individual peer_ids and keys. Also, people would quickly ask for the ability to stop or edit torrents on an individual basis.

Better start small, and the day you do add support for multiple torrents, it could begin with a simple feature that is very popular: no report mode that "seeds" everything at 100% done with 0 KB/s upload.



A parameter to export the peers received from the tracker in IP:port list format would be nice, and only require dealing with the world of dreams that is bencoding and compact allocation. The original RatioMaster added this to version 1.8.8 by request and for the same reason.

By the way, Paulo, I've just given you PM privileges so that you can deal with those bug reports :top:

Thank you!!
I could implement the peer list, but the only problem i see is that for this to happen it would need a start announce without follow up announces, which from a tracker perspective it will be obvious that you are cheating right?



Yes its announcing correctly now. I sent you another msg in pm. What happens when ratio-spoof cannot announce due to internet issues? Does it wait for internet connection to become normal again? or will it crash? Can you also add variable speed settings where we can enter the upper limit and lower limits? Right now if i use x speed each announce shows the same amount of fake uploaded and this will be risky when cheating on many torrents.
Right now it crashes if it tries to announce without a connection.

I just released v1.5:
* random next amount : The estimated amount (based on fixed input parameter) + random number of torrent pieces (between 1 - 10)
* fix gracefully exit with empty tracker response

anon
02.12.20, 15:39
the only problem i see is that for this to happen it would need a start announce without follow up announces, which from a tracker perspective it will be obvious that you are cheating right?

I was thinking of a switch to export the peer list in addition to normal program operation. If you want to make this a standalone feature (which would be pretty good), you are correct and should send a stopped announce with zero traffic and progress X seconds after the start. I would make the value of X be 10 by default but configurable, since there's an anti-hammer mod for the TB tracker source to reject clients that announce too fast (300 seconds or less) unless event=completed.


Right now it crashes if it tries to announce without a connection.

Well, that sounds like something that needs fixing =] Every client deals with timeouts differently, but the usual method is to announce again after a short amount of time, and if there is no success, keep doubling that amount until a maximum of ~1 hour is reached.


* random next amount : The estimated amount (based on fixed input parameter) + random number of torrent pieces (between 1 - 10)

Good call on the piece thing, but reporting of upload, download and left can be rounded in different ways each. I don't remember how qBittorrent does it, but I'll look it up and get back to you.

anon
03.12.20, 18:58
Good call on the piece thing, but reporting of upload, download and left can be rounded in different ways each. I don't remember how qBittorrent does it, but I'll look it up and get back to you.

qBittorrent right here.

http://www.sb-innovation.de/attachment.php?attachmentid=20833

In the past, we assumed everything was always "byte per byte" and that led to some mystery bans.

pauloafonso
04.12.20, 04:30
@Anon thank you very much for all this amazing feedback, i will open git issues later to work on all these things on weekend !!

anon
04.12.20, 21:21
You're welcome. There aren't many command-line ratio cheating programs, so I see big potential here!

JohnareyouOK
05.12.20, 09:55
1. Got this message:

D:\Ratio-Spoof>ratio-spoof -t "D:\test.torrent" -d 0% -ds 73728kbps -u 0% -us 100kbps
Trying to connect to the tracker...
panic: Invalid info_hash (0 - )

goroutine 1 [running]:
github.com/ap-pauloafonso/ratio-spoof/ratiospoof.extractTrackerResponse(...)
/home/pa/projects/ratio-spoof/ratiospoof/ratio-spoof.go:531
github.com/ap-pauloafonso/ratio-spoof/ratiospoof.(*ratioSPoofState).tryMakeRequest(0xc00 0138000, 0xc00013e000, 0xf0, 0xc00013e000)
/home/pa/projects/ratio-spoof/ratiospoof/ratio-spoof.go:449 +0xa2b
github.com/ap-pauloafonso/ratio-spoof/ratiospoof.(*ratioSPoofState).fireAnnounce(0xc0001 38000)
/home/pa/projects/ratio-spoof/ratiospoof/ratio-spoof.go:290 +0x6e5
github.com/ap-pauloafonso/ratio-spoof/ratiospoof.(*ratioSPoofState).firstAnnounce(0xc000 138000)
/home/pa/projects/ratio-spoof/ratiospoof/ratio-spoof.go:258 +0xfe
github.com/ap-pauloafonso/ratio-spoof/ratiospoof.(*ratioSPoofState).Run(0xc000138000)
/home/pa/projects/ratio-spoof/ratiospoof/ratio-spoof.go:242 +0x13c
main.main()
/home/pa/projects/ratio-spoof/cmd/main.go:77 +0x4ae

D:\Ratio-Spoof>Sample torrents have PMed to you just now.

2. Any chance make <DOWNLOAD_SPEED> and <UPLOAD_SPEED> support MBps for easier input?

Awesome Work obviously!

anon
05.12.20, 14:52
2. Any chance make <DOWNLOAD_SPEED> and <UPLOAD_SPEED> support MBps for easier input?

Using Bash math operators, obviously :shifty: Although dd-like suffixes are already supported for INITIAL_DOWNLOADED and INITIAL_UPLOADED, so indeed, why not allow them for speeds too?

Also, Windows requires that the percentage sign (which is also accepted by the aforementioned parameters) be escaped on batch files, so `-d 100%' becomes `-d 100%%'. This may be worth documenting somewhere.

JohnareyouOK
05.12.20, 18:25
1. Even if Ratio-spoof doesn't provide multi-torrent support, multiple calls are still common (eg being auto called repeatedly for every new torrents received by RSS feeds). Besides, qB 4.0.3 does use global peer_id, so it would be great if Fixed peer_id and key can be supported sooner. Perhaps with optional arguments eg --peer-id and -key? Though risky considering typo but at least issue easily resolved.

2. TBH personally really wanna request these features (priority from highest to lowest):

Waffles Method
Stop torrent once seeders = 0
Change upload speed to <value> once leechers less than <value>
Change upload speed to <value> once snatched

......But once started, there perhaps will be no end to requests about all kinds of automation by members. Does it fit your plans to make this tool that complicated or feature bloat (powerful and too much works)?


Also, Windows requires that the percentage sign (which is also accepted by the aforementioned parameters) be escaped on batch files, so `-d 100%' becomes `-d 100%%'. This may be worth documenting somewhere.I wanna use it combined with RSS feeds, so might prefer to AutoHotkey or Python considering ready-made libs. :lol:

anon
05.12.20, 18:58
1. Even if Ratio-spoof doesn't provide multi-torrent support, multiple calls are still common (eg being auto called repeatedly for every new torrents received by RSS feeds). Besides, qB 4.0.3 does use global peer_id, so it would be great if Fixed peer_id and key can be supported sooner. Perhaps with optional arguments eg --peer-id and -key? Though risky considering typo but at least issue easily resolved.

Sanitizing that data isn't difficult, you just need to compare it against a regular expression. However, it would be much better to just update the emulation, its peer_id/key behavior and default port to qBittorrent 4.3.1, or whatever is current at the time. Using an old and not particularly interesting version of a client makes you stand out; using an old and not particularly interesting version that is known to be emulated by a cheating tool doubly so.


2. TBH personally really wanna request these features (priority from highest to lowest):

Waffles Method
Stop torrent once seeders = 0
Change upload speed to <value> once leechers less than <value>
Change upload speed to <value> once snatched


Requests no. 1 and 4 should be easy to implement, as the logic involved is very simple. No. 2 and 3 rely on being able to obtain the necessary information from the tracker. This requires either scraping (while correctly emulating the expected behavior!), if the tracker supports it, or decoding the numbers from regular announce responses, if present at all. As you can see, those are some big ifs... also, I'm personally biased against this sort of feature because it cannot react in real time to changing swarm conditions.

Another nice and simple idea: TCP listener. Just bind to the specified TCP port and discard all incoming data. Enough to make you appear as connectable or "connectable with forced encryption" and therefore more legitimate (obviously it's up to the user to forward said port). Optional and disabled by default in case the program is being run alongside a real client, which after upgrading the emulation would become a feasible and rather popular scenario.

JohnareyouOK
05.12.20, 20:10
Requests no. 1 and 4 should be easy to implement, as the logic involved is very simple. No. 2 and 3 rely on being able to obtain the necessary information from the tracker. This requires either scraping (while correctly emulating the expected behavior!), if the tracker supports it, or decoding the numbers from regular announce responses, if present at all. As you can see, those are some big ifs... also, I'm personally biased against this sort of feature because it cannot react in real time to changing swarm conditions.Like a starving man can't be bothered to nitpick food delicious or not, my huge dislike to "repeatedly check everything is good per 10 mins" has made the delay and inaccuracies of these info lie at the bottom of my concern list. As long as the set <value>s leave enough room for the delay, the core purpose of automation can eventually be partly achieved and still save lots of trouble.:memegrin:l

Oh, scraping is not expected personally (not sure how different these clients behave on scraping?), decoding the numbers from response is already good enough.

anon
05.12.20, 22:33
not sure how different these clients behave on scraping?

There are differences regarding when scraping is done and how often. Also, multiscraping (more than one info_hash value in the request) is a thing, and trackers can return a minimum interval the client may or may not follow.

That and the reason I mentioned before are why I've always turned it off everywhere. Many emulations for Extreme Mod, mRatio and RM+ don't even support it, even though the programs themselves do. Besides, even under fully legitimate circumstances the information isn't life-changing.

pauloafonso
06.12.20, 05:49
v1.6 is out

qbittorrent report amounts change to:
download: byte per byte
upload: multiple of 16KB
left: multiple of TorrentPieceSize
mbps input speed support
retry policy(double the time between every attempt, up to 15 minutes) after the first announce


---------- Post Merged at 04:45 ---------- Previous Post was at 04:21 ----------


1. Got this message:

D:\Ratio-Spoof>ratio-spoof -t "D:\test.torrent" -d 0% -ds 73728kbps -u 0% -us 100kbps
Trying to connect to the tracker...
panic: Invalid info_hash (0 - )

goroutine 1 [running]:
github.com/ap-pauloafonso/ratio-spoof/ratiospoof.extractTrackerResponse(...)
/home/pa/projects/ratio-spoof/ratiospoof/ratio-spoof.go:531
github.com/ap-pauloafonso/ratio-spoof/ratiospoof.(*ratioSPoofState).tryMakeRequest(0xc00 0138000, 0xc00013e000, 0xf0, 0xc00013e000)
/home/pa/projects/ratio-spoof/ratiospoof/ratio-spoof.go:449 +0xa2b
github.com/ap-pauloafonso/ratio-spoof/ratiospoof.(*ratioSPoofState).fireAnnounce(0xc0001 38000)
/home/pa/projects/ratio-spoof/ratiospoof/ratio-spoof.go:290 +0x6e5
github.com/ap-pauloafonso/ratio-spoof/ratiospoof.(*ratioSPoofState).firstAnnounce(0xc000 138000)
/home/pa/projects/ratio-spoof/ratiospoof/ratio-spoof.go:258 +0xfe
github.com/ap-pauloafonso/ratio-spoof/ratiospoof.(*ratioSPoofState).Run(0xc000138000)
/home/pa/projects/ratio-spoof/ratiospoof/ratio-spoof.go:242 +0x13c
main.main()
/home/pa/projects/ratio-spoof/cmd/main.go:77 +0x4ae

D:\Ratio-Spoof>Sample torrents have PMed to you just now.

2. Any chance make <DOWNLOAD_SPEED> and <UPLOAD_SPEED> support MBps for easier input?

Awesome Work obviously!
Thank you for the feedback
I just created this issue on my github, to find the invalid info_hash problem (i think it wont be a easy fix, but i will take a look later)
https://github.com/ap-pauloafonso/ratio-spoof/issues/3

---------- Post Merged at 04:49 ---------- Previous Post was at 04:45 ----------




Waffles Method


What is Waffles Method?

anon
07.12.20, 06:20
I just created this issue on my github, to find the invalid info_hash problem (i think it wont be a easy fix, but i will take a look later)

I can think of two possibilities here.

Something goes wrong when calculating the info_hash due to character encoding. Everything in .torrent files uses UTF-8, except for "pieces" which is a raw binary concatenation of SHA-1 hashes. (In theory a different encoding can be specified, but I've yet to see this happen and UTF-8 is always used, implicitly or otherwise.)
You are URL-encoding characters in the query string that you shouldn't, or viceversa. Client behavior varies here; qBittorrent encodes everything besides lowercase letters, uppercase letters, numbers or any of ! - . * _ ~ ( )

Note that I haven't read the part of your code that handles the info_hash or seen the .torrent files that trigger this error, so both theories could be completely mistaken =]


What is Waffles Method?

It's a cheating strategy named after a tracker that doesn't exist anymore. Its logic is fairly simple.

start the torrent with a non-zero upload speed; usually a fairly high one is used
a minute or so before the next tracker update is due, stop the torrent
either repeat the cycle or set the upload speed to 0 and seed as long as possible

Step 2 usually prevents your upload activity from showing up on the peerlist for non-Gazelle trackers. Step 3 reduces the average upload speed for that torrent, if recorded, over time. The fact this method is more stealthy than regular continuous cheating has kept it fairly popular and relevant to this day. It can also be used to fake download, but that is very rare.

flightcrank
12.12.20, 11:58
But the ones that do will ban you =]

they dont ban you for an incorrect header most of the time, just send you some bencoded error.

anon
12.12.20, 15:47
A cheating program shouldn't have detection vectors as a matter of principle, even if it offers no warranties or is not intended to be used on high-level trackers, and especially if they're easily fixable anyway.

pauloafonso
19.01.21, 03:12
Hi everyone, which torrent client should be emulated next? i'm thinking about adding another parameter that we can pass the emulated torrent client codename. (for example -c qbit4.0.3)

anon
19.01.21, 05:42
Well, the most requested emulations here are qBittorrent and uTorrent, so I guess you could do the latter next. The query string's structure is identical, even...

33450

JohnareyouOK
19.01.21, 12:31
If possible, please consider prioritize support for a qbittorrent version with individual peer_id and key. qBittorrent/4.2.5 and qBittorrent/4.3.1 are the two that use individual peer_id and key and also the most widely used version currently (according to peerlists on multiple trackers)

Also about that info_hash bug, I've just selected 20 random torrents to test again (v1.6 + windows), involving 11 trackers I often use. Result: 16 torrents of them showed info_hash bug, 1 showed unregistered torrent error message (the following test with real client proved it was registered) , only 3 (out of 20) torrents working normally. This info_hash bug is not rare to me, it's a bug that makes this tool still unusable.

pauloafonso
19.01.21, 20:06
Ok, thanks to @anon i might have found the problem,i will release a version later today if everything checks, @JohnareyouOK could you send more error samples on pm?

@Edit
Version 1.7 is out with the info_hash fix

JohnareyouOK
20.01.21, 00:52
BIG thank you for the quick fix! besides, is it the tracker side's reason that announce interval for torrent 4~7 are all constant 30s? (also 4 trackers)

pauloafonso
20.01.21, 02:06
BIG thank you for the quick fix! besides, is it the tracker side's reason that announce interval for torrent 4~7 are all constant 30s? (also 4 trackers)
It's the tracker that recommends the interval rate

anon
20.01.21, 09:54
qBittorrent/4.2.5 and qBittorrent/4.3.1 are the two that use individual peer_id and key

Note that all versions from 4.0.4 onwards exhibit this behavior. Before then, the peer_id was global.


is it the tracker side's reason that announce interval for torrent 4~7 are all constant 30s? (also 4 trackers)


It's the tracker that recommends the interval rate

No tracker will ever suggest such an extremely low value, so I'm thinking there's a bug here. Note that returning an interval is optional, and if none is given, you should assume 1800 seconds (which is 30m rather than 30s, perhaps this is just a simple typo in the source?).

JohnareyouOK
20.01.21, 10:03
It's the tracker that recommends the interval rateAnnounce interval in real qB is not 30s for these same torrents. Packet shows min intervals trackers return are 30s, none of intervals are 30 seconds, is it possible code using min interval rather than interval parameter?

---------- Post Merged at 16:03 ---------- Previous Post was at 16:00 ----------

20883

anon
20.01.21, 10:09
is it possible code using min interval rather than interval parameter?

Had a look at the source and it looks like you're right.


func (R *ratioSpoofState) updateInterval(resp trackerResponse) {
if resp.minInterval > 0 {
R.announceInterval = resp.minInterval
} else {
R.announceInterval = resp.interval
}

pauloafonso
20.01.21, 13:57
Yes, currently i'm using the minInterval if its higher than 0, i will change to interval later, what do you guys think about this? and which value should i hard-code if interval is not present?1800 seconds ?

anon
20.01.21, 13:59
i will change to interval later, what do you guys think about this?


which value should i hard-code if interval is not present?1800 seconds ?

Yes and yes :happy:

pauloafonso
20.01.21, 16:45
v1.8 is out
Now we always use "interval" and if not present 1800s

pauloafonso
13.03.21, 03:20
i'm working on a new ratio-spoof version with multiple-client emulation support(for now qbit-4.0.3 and qbit-4.3.3), would anyone be interested in testing it?

BK-STAR
13.03.21, 16:15
i'm working on a new ratio-spoof version with multiple-client emulation support(for now qbit-4.0.3 and qbit-4.3.3), would anyone be interested in testing it?

yes of course

anon
15.03.21, 05:33
I suggest merging it with the current ratio-spoof and placing the new functionality behind a command-line parameter (disabled by default). If you make it opt-in, your pool of betatesters won't be too big.

pauloafonso
15.03.21, 22:47
v1.9 is out

multiple client emulation support
embed json files
generators



to test it use the flag
-c qbit-4.3.3

araisan113
06.08.21, 07:49
Will the program stop upload when it reaches the filesize or it just keep uploading until I stop it? How to run multiple torrent files with it?

anon
06.08.21, 23:22
Will the program stop upload when it reaches the filesize or it just keep uploading until I stop it?

Fake upload continues indefinitely until you end the program. Setting a traffic cap or stop condition is not currently possible (but has been suggested on GitHub).


How to run multiple torrent files with it?

One torrent per instance.

hiwa29
31.08.23, 15:48
is this app good for cheating ?? anyone using it still? wish there was more apps for linux :(

anon
31.08.23, 21:55
wish there was more apps for linux :(

Agreed. Other than Extreme Mod, JOAL, ProxyFake, mods for Transmission and rTorrent and the ability to run mRatio and Serenity under Wine, there's pretty much nothing :gnoes:

JohnWick
24.09.23, 15:07
there should be other clients too like deluge 1.3.15, deluge 2.0.3, rTorrent 0.9.7-0.13.7, utorrent 2.2.1

I requested this on github.


@anon

i mostly use rm, sometime mr.

my question is, when i use this tool, when announce completed it uploaded some gbs (nearly 15gbs) according to uploaded speed. but on next announce when 5 minutes were remaining, i close the cmd in windows, then it did not added a single gb on tracker.

if we compare it with rm, for example our upload speed was 20 mb/s, if we stop uploading 5 minutes before complete of announce, will it add any gbs?

i think rm will upload data, if we stop uploading/seeding before completing the announce. but not in this tool in ratio spoof. am i wrong at this point or right.
i do not know about bittorrent..

anon
25.09.23, 02:07
i do not know about bittorrent..

I would link you to the specification and BEPs, but seriously... you have been using BitTorrent for at least three and a half years and wanting to create a ratio tool for just as long, but you don't know how the protocol works?

JohnWick
25.09.23, 05:38
I would link you to the specification and BEPs, but seriously... you have been using BitTorrent for at least three and a half years and wanting to create a ratio tool for just as long, but you don't know how the protocol works?

yeah, i want to create my own tool.
but i failed to understand how actually bittorent protocol works.