mirror of
https://github.com/ap-pauloafonso/ratio-spoof.git
synced 2026-05-07 02:29:54 +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
|
||||
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()
|
||||
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('-t', required=True, metavar=('(TORRENT_PATH)'), help='path .torrent file' , type=argparse.FileType('rb'))
|
||||
parser.add_argument('-d', required=True,help='parms for download', nargs=2 ,metavar=('(%_B_KB_MB_GB_TB_COMPLETE)', '(KBPS_SPEED)'))
|
||||
parser.add_argument('-u',required=True,help='parms for upload', nargs=2 ,metavar=('(%_B_KB_MB_GB_TB_COMPLETE)', '(KBPS_SPEED)'))
|
||||
tip = """
|
||||
<INITIAL_DOWNLOADED> and <INITIAL_UPLOADED> must be in %, b, kb, mb, gb, tb
|
||||
<DOWNLOAD_SPEED> and <UPLOAD_SPEED> must be in kbps
|
||||
"""
|
||||
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()
|
||||
|
||||
read_file(args.t, args.d, args.u)
|
||||
|
|
|
|||
Loading…
Reference in a new issue