+ Reply to Thread
Page 3 of 4 FirstFirst 1234 LastLast
Results 31 to 45 of 50

Thread: Ratio-spoof (Windows / Linux / Mac)

    1. Ratio-spoof (Windows / Linux / Mac) Details »»

      Ratio-spoof (Windows / Linux / Mac)

      Version: 1.9, by pauloafonso is offline

      Developer Last Online: Nov 2021 Show Printable Version Email this Page
      Category: [Ratio Tool] Rating:  Downloads: 0
      Released: 29.04.20 Last Update: 16.03.21 Installs: 4
      • Supported
      • Free for all
      • Beta Stage

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


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

      Attachment 20363

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

      Suggestions, bug reports are welcomed. Thank you everyone

      Show Your Support

        -->
      • For saying thanks to the author, please click here.
      • This modification may not be copied, reproduced or published elsewhere without author's permission.

    Who Said Thanks:

    babona (06.07.22) , kerulberul (03.08.21) , xtorrent (06.03.21) , sigduwksnsksis9283 (02.12.20) , H265 (01.12.20) , Blocker (01.12.20) , JohnareyouOK (30.11.20) , epa.caguei (18.08.20) , Lucius (13.08.20) , AxiomaticDirection (29.04.20) , Rebound (29.04.20) , anon (29.04.20)


  1. #32
    Quote Originally Posted by anon View Post
    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.
    Reply With QuoteReply With Quote
    Thanks

  2. #33
    Moderator anon's Avatar
    Join Date
    01.02.08
    Posts
    38,546
    Activity Longevity
    10/20 19/20
    Today Posts
    1/5 ssss38546
    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.
    "I just remembered something that happened a long time ago."
    Reply With QuoteReply With Quote
    Thanks

  3. #34
    pauloafonso's Avatar
    Join Date
    29.04.20
    Location
    brazil
    P2P Client
    qbittorrent
    Posts
    20
    Activity Longevity
    0/20 4/20
    Today Posts
    0/5 sssssss20
    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)
    Reply With QuoteReply With Quote
    Thanks

  4. #35
    Moderator anon's Avatar
    Join Date
    01.02.08
    Posts
    38,546
    Activity Longevity
    10/20 19/20
    Today Posts
    1/5 ssss38546
    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...

    https://www.sb-innovation.de/showthread.php?t=33450
    "I just remembered something that happened a long time ago."
    Reply With QuoteReply With Quote
    Thanks

  5. #36
    Member JohnareyouOK's Avatar
    Join Date
    31.01.19
    Location
    Earth
    P2P Client
    BiglyBT
    Posts
    248
    Activity Longevity
    1/20 5/20
    Today Posts
    0/5 ssssss248
    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.
    Reply With QuoteReply With Quote
    Thanks

  6. #37
    pauloafonso's Avatar
    Join Date
    29.04.20
    Location
    brazil
    P2P Client
    qbittorrent
    Posts
    20
    Activity Longevity
    0/20 4/20
    Today Posts
    0/5 sssssss20
    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
    Last edited by pauloafonso; 20.01.21 at 00:10.
    Reply With QuoteReply With Quote
    Thanks

  7. Who Said Thanks:

    H265 (20.01.21) , cirulilu (19.01.21)

  8. #38
    Member JohnareyouOK's Avatar
    Join Date
    31.01.19
    Location
    Earth
    P2P Client
    BiglyBT
    Posts
    248
    Activity Longevity
    1/20 5/20
    Today Posts
    0/5 ssssss248
    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)
    Reply With QuoteReply With Quote
    Thanks

  9. #39
    pauloafonso's Avatar
    Join Date
    29.04.20
    Location
    brazil
    P2P Client
    qbittorrent
    Posts
    20
    Activity Longevity
    0/20 4/20
    Today Posts
    0/5 sssssss20
    Quote Originally Posted by JohnareyouOK View Post
    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
    Reply With QuoteReply With Quote
    Thanks

  10. #40
    Moderator anon's Avatar
    Join Date
    01.02.08
    Posts
    38,546
    Activity Longevity
    10/20 19/20
    Today Posts
    1/5 ssss38546
    Quote Originally Posted by JohnareyouOK View Post
    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.

    Quote Originally Posted by JohnareyouOK View Post
    is it the tracker side's reason that announce interval for torrent 4~7 are all constant 30s? (also 4 trackers)
    Quote Originally Posted by pauloafonso View Post
    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?).
    "I just remembered something that happened a long time ago."
    Reply With QuoteReply With Quote
    Thanks

  11. #41
    Member JohnareyouOK's Avatar
    Join Date
    31.01.19
    Location
    Earth
    P2P Client
    BiglyBT
    Posts
    248
    Activity Longevity
    1/20 5/20
    Today Posts
    0/5 ssssss248
    Quote Originally Posted by pauloafonso View Post
    It's the tracker that recommends the interval rate
    Announce 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 ----------

    JA3UAhw.png
    Last edited by JohnareyouOK; 20.01.21 at 10:05.
    Reply With QuoteReply With Quote
    Thanks

  12. Who Said Thanks:

    anon (20.01.21)

  13. #42
    Moderator anon's Avatar
    Join Date
    01.02.08
    Posts
    38,546
    Activity Longevity
    10/20 19/20
    Today Posts
    1/5 ssss38546
    Quote Originally Posted by JohnareyouOK View Post
    is it possible code using min interval rather than interval parameter?
    Had a look at the source and it looks like you're right.

    Code:
    func (R *ratioSpoofState) updateInterval(resp trackerResponse) {
    	if resp.minInterval > 0 {
    		R.announceInterval = resp.minInterval
    	} else {
    		R.announceInterval = resp.interval
    	}
    "I just remembered something that happened a long time ago."
    Reply With QuoteReply With Quote
    Thanks

  14. #43
    pauloafonso's Avatar
    Join Date
    29.04.20
    Location
    brazil
    P2P Client
    qbittorrent
    Posts
    20
    Activity Longevity
    0/20 4/20
    Today Posts
    0/5 sssssss20
    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 ?
    Reply With QuoteReply With Quote
    Thanks

  15. #44
    Moderator anon's Avatar
    Join Date
    01.02.08
    Posts
    38,546
    Activity Longevity
    10/20 19/20
    Today Posts
    1/5 ssss38546
    Quote Originally Posted by pauloafonso View Post
    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
    "I just remembered something that happened a long time ago."
    Reply With QuoteReply With Quote
    Thanks

  16. #45
    pauloafonso's Avatar
    Join Date
    29.04.20
    Location
    brazil
    P2P Client
    qbittorrent
    Posts
    20
    Activity Longevity
    0/20 4/20
    Today Posts
    0/5 sssssss20
    v1.8 is out
    Now we always use "interval" and if not present 1800s
    Reply With QuoteReply With Quote
    Thanks

  17. Who Said Thanks:

    H265 (22.01.21) , anon (20.01.21)

  18. #46
    pauloafonso's Avatar
    Join Date
    29.04.20
    Location
    brazil
    P2P Client
    qbittorrent
    Posts
    20
    Activity Longevity
    0/20 4/20
    Today Posts
    0/5 sssssss20
    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?
    Last edited by pauloafonso; 13.03.21 at 04:59.
    Reply With QuoteReply With Quote
    Thanks

+ Reply to Thread
Page 3 of 4 FirstFirst 1234 LastLast

Tags for this Thread

Posting Permissions

  • You may post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts
  •