PDA

View Full Version : qBittorrent



anthony-joal
10.08.17, 19:01
Please before reading this thread, read Client file format (https://www.sb-innovation.de/f275/announce-parameters-url-headers-33455/).

Since BitTorrent clients are updated regularly, i'll post the default file template for qbittorrent. And will list any changes for a particular version against this default template.

Default template


{
"keyGenerator": {
"length": 8,
"type": "hash_no_leading_zero",
"refreshOn": "TORRENT_PERSISTENT",
"case": "upper"
},
"peerIdGenerator": {
"pattern": "xxxxxxxxxxxxxxxx",
"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": "Host", "value": "xxxxx"},
{ "name": "User-Agent", "value": "xxxxxxxxxxxxxxxx" },
{ "name": "Accept-Encoding", "value": "gzip" },
{ "name": "Connection", "value": "close" }
]
}


4.1.4
peerIdGenerator.pattern: -qB4160-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/4.1.6

4.1.5
peerIdGenerator.pattern: -qB4150-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/4.1.5

4.1.4
peerIdGenerator.pattern: -qB4140-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/4.1.4

4.1.3
peerIdGenerator.pattern: -qB4130-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/4.1.3

4.1.2
peerIdGenerator.pattern: -qB4120-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/4.1.2

4.1.1
peerIdGenerator.pattern: -qB4110-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/4.1.1

4.1.0
peerIdGenerator.pattern: -qB4100-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/4.1.0

4.0.4
peerIdGenerator.pattern: -qB4040-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/4.0.4

4.0.3
peerIdGenerator.pattern: -qB4030-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/4.0.3

4.0.2
peerIdGenerator.pattern: -qB4020-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/4.0.2

4.0.1
peerIdGenerator.pattern: -qB4010-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/4.0.1

4.0.0
peerIdGenerator.pattern: -qB4000-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/4.0.0

3.3.16
peerIdGenerator.pattern: -qB33G0-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/3.3.16

3.3.15
peerIdGenerator.pattern: -qB33F0-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/3.3.15

3.3.14
peerIdGenerator.pattern: -qB33E0-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/3.3.14

3.3.13
peerIdGenerator.pattern: -qB33D0-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent/3.3.13

3.3.7
peerIdGenerator.pattern: -qB3310-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent v3.3.7

3.3.1
peerIdGenerator.pattern: -qB3310-[A-Za-z0-9_~\(\)\!\.\*-]{12}
requestHeaders.User-Agent: qBittorrent v3.3.1


If you want to get the "user-agent", "peer_id prefix" and "key algorithm" for the latest qBittorrent release you can also download and use my bash script that parse the qBittorrent source code from Github, download here (https://github.com/anthonyraymond/joal/tree/master/scripts/bittorrent-client-update-detector)

Download both qBittorrent.sh and libtorrent_funcs.sh and then run qBittorrent.sh with bash.

20149

anthony-joal
13.08.17, 16:05
Updated file format to a more readable one.

anthony-joal
08.09.17, 13:05
Added 3.3.16 changes

anthony-joal
21.11.17, 23:49
Added 4.0.0

anthony-joal
22.11.17, 20:15
Added 4.0.1

anthony-joal
16.02.18, 22:51
Added 4.0.4

anthony-joal
23.05.18, 23:33
Added 4.1.0

anthony-joal
02.07.19, 23:57
Added up to 4.1.6 and also added a bash script that returns the latest "user-agent", "peer_id prefix" and "key algorithm" for the latest qBittorrent tag at https://github.com/qbittorrent/qBittorrent

anon
14.07.19, 10:55
Added up to 4.1.6 and also added a bash script that returns the latest "user-agent", "peer_id prefix" and "key algorithm" for the latest qBittorrent tag at https://github.com/qbittorrent/qBittorrent

Just wanted to say this script and its Transmission equivalent work very well under busybox for Windows (see http://frippery.org/busybox/index.html) as long as some small changes are made.


--- qBittorrent.sh
+++ qBittorrent_win.sh
@@ -10,7 +10,7 @@

if [ -z ${1+x} ]; then
# Download latest release
- tarballUrl=$(curl -s https://api.github.com/repos/qbittorrent/qBittorrent/tags \
+ tarballUrl=$(wget -q -O - https://api.github.com/repos/qbittorrent/qBittorrent/tags \
| grep "tarball_url" \
| head -1 \
| cut -d : -f 2,3 \
@@ -20,10 +20,10 @@
# download the release from the "tarball_url" given in parameter (see https://api.github.com/repos/qbittorrent/qBittorrent/tags)
tarballUrl=$1
fi
-curl -L $tarballUrl --output $qBittorrentTempFolder/qBittorrent.tar.gz
+wget $tarballUrl -O $qBittorrentTempFolder/qBittorrent.tar.gz

# uncompress the archive
-tar -xzf $qBittorrentTempFolder/qBittorrent.tar.gz -C $qBittorrentTempFolder/ --strip 1
+tar -xzf $qBittorrentTempFolder/qBittorrent.tar.gz -C $qBittorrentTempFolder/ --strip 1 2>nul

# seach for qBittorent versions
VER_MAJOR=$(grep "VER_MAJOR =" $qBittorrentTempFolder/version.pri | cut -d '=' -f 2 | tr -d '[:space:]')



--- transmission.sh
+++ transmission_win.sh
@@ -7,7 +7,7 @@

if [ -z ${1+x} ]; then
# Download latest release
- tarballUrl=$(curl -s https://api.github.com/repos/transmission/transmission/releases/latest \
+ tarballUrl=$(wget -q -O - https://api.github.com/repos/transmission/transmission/releases/latest \
| grep "tarball_url" \
| head -1 \
| cut -d : -f 2,3 \
@@ -17,10 +17,10 @@
# download the release from the "tarball_url" given in parameter (see https://api.github.com/repos/transmission/transmission/releases)
tarballUrl=$1
fi
-curl -L $tarballUrl --output $transmissionTempFolder/transmission.tar.gz
+wget $tarballUrl -O $transmissionTempFolder/transmission.tar.gz

# uncompress the archive
-tar -xzf $transmissionTempFolder/transmission.tar.gz -C $transmissionTempFolder/ --strip 1
+tar -xzf $transmissionTempFolder/transmission.tar.gz -C $transmissionTempFolder/ --strip 1 2>nul


if [ $(grep -c '(e, CURLOPT_USERAGENT, TR_NAME "/" SHORT_VERSION_STRING);' $transmissionTempFolder/libtransmission/web.c) -lt 1 ]; then

anthony-joal
14.07.19, 12:02
On windows i use "git for windows" wich is a fullfeatured mingwn