mirror of
https://github.com/ap-pauloafonso/ratio-spoof.git
synced 2026-05-19 16:21:44 +00:00
argparse name changes and initial documentation
This commit is contained in:
parent
b01c1358d4
commit
b263d18938
2 changed files with 63 additions and 5 deletions
55
README.md
55
README.md
|
|
@ -1,2 +1,55 @@
|
||||||
# ratio-spoof
|
# ratio-spoof
|
||||||
A bittorrent ratio spoof tool
|
|
||||||
|
ratio-spof is a cross-platform, free and open source tool to spoof private bittorrent trackers the amount downloaded or uploaded by the peer.
|
||||||
|
|
||||||
|
|
||||||
|
## How does it works?
|
||||||
|
The way that bittorrent protocol works is that there is no way that a tracker knows how much certain peer downloaded or uploaded, so it depends on the peer itself telling them how much they downloaded or uploaded.
|
||||||
|
|
||||||
|
With this protocol deisgn, ratio-spoof acts like a normal bittorrent client but without downloading or uploading anything, in fact it just tricks the tracker pretending that.
|
||||||
|
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
With a recent python3 version installed, you will be able to run it on linux/macos/windows.
|
||||||
|
```
|
||||||
|
usage: ratio-spoof.py [-h] -t <TORRENT_PATH> -d <INITIAL_DOWNLOADED> <DOWNLOAD_SPEED> -u <INITIAL_UPLOADED> <UPLOAD_SPEED>
|
||||||
|
|
||||||
|
ratio-spoof is a open source tool to trick private trackers
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
required arguments:
|
||||||
|
-t <TORRENT_PATH> path .torrent file
|
||||||
|
-d <INITIAL_DOWNLOADED> <DOWNLOAD_SPEED>
|
||||||
|
required download arg values
|
||||||
|
-u <INITIAL_UPLOADED> <UPLOAD_SPEED>
|
||||||
|
required upload arg values
|
||||||
|
|
||||||
|
<INITIAL_DOWNLOADED> and <INITIAL_UPLOADED> must be in %, b, kb, mb, gb, tb
|
||||||
|
<DOWNLOAD_SPEED> and <UPLOAD_SPEED> must be in kbps
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
./ratio-spoof -d 90% 100kbps -u 0% 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 500kbps -u 1gb 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 cought using it ?
|
||||||
|
Depends wether you use it carefuly, Its a hard task to catch cheaters, but if you start to uploading crazy amounts out of nowhere or seeding something with no active leecher you may be in risk.
|
||||||
|
|
||||||
|
A good strategy is to chose torrents with a lot of people on the swarn downloading and uploading.
|
||||||
|
|
||||||
|
## Bittorrent client supported
|
||||||
|
The currently emulation is hard coded to be a popular and accepted client qbittorrent v4.0.3.
|
||||||
|
|
||||||
|
## Motivation
|
||||||
|
Here in brazil, not everybody has a great upload speed, and most of the private trackers requires a ratio to be equal or higher than 1 (e.g. if you downloaded 1gb you must upload 1gb as well) in order to survive. Plus, i always been facinated by the bittorrent protocol, [i even made a bittorrent webclient to learn a bit about it.](https://github.com/ap-pauloafonso/rwTorrent) and with the current global covid-19 lockdown i got some free time and decide to code my own simple cli tool to spoof bittorrent trackers.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -304,10 +304,15 @@ def read_file(f, args_download, args_upload):
|
||||||
state.start_announcing()
|
state.start_announcing()
|
||||||
|
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
tip = """
|
||||||
parser.add_argument('-t', required=True, metavar=('(TORRENT_PATH)'), help='path .torrent file' , type=argparse.FileType('rb'))
|
<INITIAL_DOWNLOADED> and <INITIAL_UPLOADED> must be in %, b, kb, mb, gb, tb
|
||||||
parser.add_argument('-d', required=True,help='parms for download', nargs=2 ,metavar=('(%_B_KB_MB_GB_TB_COMPLETE)', '(KBPS_SPEED)'))
|
<DOWNLOAD_SPEED> and <UPLOAD_SPEED> must be in kbps
|
||||||
parser.add_argument('-u',required=True,help='parms for upload', nargs=2 ,metavar=('(%_B_KB_MB_GB_TB_COMPLETE)', '(KBPS_SPEED)'))
|
"""
|
||||||
|
parser = argparse.ArgumentParser(epilog=tip, description='ratio-spoof is a open source tool to trick private trackers',formatter_class=argparse.RawDescriptionHelpFormatter)
|
||||||
|
group = parser.add_argument_group('required arguments')
|
||||||
|
group.add_argument('-t', required=True, metavar=('<TORRENT_PATH>'), help='path .torrent file' , type=argparse.FileType('rb'))
|
||||||
|
group.add_argument('-d', required=True,help='required download arg values', nargs=2 ,metavar=('<INITIAL_DOWNLOADED>', '<DOWNLOAD_SPEED>'))
|
||||||
|
group.add_argument('-u',required=True,help='required upload arg values ', nargs=2 ,metavar=('<INITIAL_UPLOADED>', '<UPLOAD_SPEED>'))
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
read_file(args.t, args.d, args.u)
|
read_file(args.t, args.d, args.u)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue