You've already forked qBittorrent
mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-10-23 22:32:16 +02:00
Compare commits
801 Commits
release-4.
...
release-4.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40f2718265 | ||
|
|
ddd106655d | ||
|
|
cc61ad01b6 | ||
|
|
8a44c1f6d5 | ||
|
|
e370cbb06b | ||
|
|
cb0c2e3b9c | ||
|
|
80360cc79a | ||
|
|
559a979536 | ||
|
|
5e88537809 | ||
|
|
8b60baea99 | ||
|
|
ac61c33d1c | ||
|
|
3088f04e6f | ||
|
|
864dca1b67 | ||
|
|
15320018f0 | ||
|
|
6226dd5b80 | ||
|
|
aafc1064d9 | ||
|
|
fb2fbc875d | ||
|
|
8085db6ba9 | ||
|
|
4f20769a6c | ||
|
|
090199f9de | ||
|
|
cd3635985e | ||
|
|
8a7179195f | ||
|
|
e45e29b431 | ||
|
|
ca28fc27dc | ||
|
|
08b2cde8e8 | ||
|
|
489d88e02a | ||
|
|
dff39ffd20 | ||
|
|
3c948ef063 | ||
|
|
7087565d92 | ||
|
|
3467358663 | ||
|
|
45a1c25a29 | ||
|
|
70a11a12b3 | ||
|
|
5d5b0d572e | ||
|
|
7c8eadfddf | ||
|
|
89ca0c537d | ||
|
|
a92a6404cb | ||
|
|
78459fcb31 | ||
|
|
41fc0fd084 | ||
|
|
5c9655abc3 | ||
|
|
3301797491 | ||
|
|
eb5e1d34df | ||
|
|
9e92e5995f | ||
|
|
e96f2d7be0 | ||
|
|
03cb51844b | ||
|
|
6b06cc9216 | ||
|
|
6b49323f05 | ||
|
|
4a11fab2b1 | ||
|
|
c382191e75 | ||
|
|
4d480b8761 | ||
|
|
cd25562fd2 | ||
|
|
9a3d560d9e | ||
|
|
4924fb95f8 | ||
|
|
6de67fe81f | ||
|
|
bc71827c01 | ||
|
|
a8ade3a04b | ||
|
|
eca04e2e92 | ||
|
|
763b9fc1da | ||
|
|
add75fbc77 | ||
|
|
86b1ac5d7c | ||
|
|
b51197936b | ||
|
|
64609ce5cf | ||
|
|
b81cbf9062 | ||
|
|
e7e881e5d7 | ||
|
|
e236a76d5a | ||
|
|
ad8a827c1f | ||
|
|
08ac33bc5c | ||
|
|
5cf39a2970 | ||
|
|
1c9321d5a1 | ||
|
|
97a8d865dc | ||
|
|
982133d9b6 | ||
|
|
d23935a269 | ||
|
|
1c343a444b | ||
|
|
1c9696b68e | ||
|
|
ecd23d0abd | ||
|
|
010d1b5ff8 | ||
|
|
46394a7c0f | ||
|
|
fc86034fab | ||
|
|
03012cc175 | ||
|
|
8518333406 | ||
|
|
b2e0e25f1c | ||
|
|
9673be17cb | ||
|
|
fa8786e230 | ||
|
|
21f72baae2 | ||
|
|
4b78af268f | ||
|
|
a734199383 | ||
|
|
046b741700 | ||
|
|
ce0b6f0d56 | ||
|
|
6de0622c1a | ||
|
|
6229b81730 | ||
|
|
c701379a2e | ||
|
|
0783968121 | ||
|
|
307f5e6e56 | ||
|
|
cb29685a24 | ||
|
|
dabba89682 | ||
|
|
2efd4f2a77 | ||
|
|
90296b3ef0 | ||
|
|
8f02fe0cc6 | ||
|
|
7a6edcdddb | ||
|
|
81139c0098 | ||
|
|
6a6268c068 | ||
|
|
68133ec8e3 | ||
|
|
314f92f2d8 | ||
|
|
8b5db328ec | ||
|
|
615b76f78c | ||
|
|
f2912c14ea | ||
|
|
08f33d7e9e | ||
|
|
c034cb5985 | ||
|
|
e3cd15dced | ||
|
|
8439d4e827 | ||
|
|
2b501904cf | ||
|
|
ea986a1f1b | ||
|
|
b924357ea9 | ||
|
|
b823d74ac3 | ||
|
|
d1e2019cd7 | ||
|
|
70573eba2c | ||
|
|
cf46653333 | ||
|
|
8d3fcbd897 | ||
|
|
1900538315 | ||
|
|
a9feae6110 | ||
|
|
8d822f2cb4 | ||
|
|
c12e486f59 | ||
|
|
d0d0bed333 | ||
|
|
8799321312 | ||
|
|
00d2997971 | ||
|
|
69f7f233fd | ||
|
|
793e8643bf | ||
|
|
521ef8e28f | ||
|
|
7433d85418 | ||
|
|
ba1cf12817 | ||
|
|
7dc7b95bfd | ||
|
|
59352e4ca7 | ||
|
|
011d026d76 | ||
|
|
89a8184ad2 | ||
|
|
a23e10dff5 | ||
|
|
535603fac4 | ||
|
|
fb6282da57 | ||
|
|
23766cd01d | ||
|
|
44b2afb218 | ||
|
|
9e82e59fc8 | ||
|
|
e006538514 | ||
|
|
fad5dfa4f4 | ||
|
|
b737ee0240 | ||
|
|
9d9f774dad | ||
|
|
526ee9c9db | ||
|
|
671eff324d | ||
|
|
a93cf04aca | ||
|
|
e93a67e644 | ||
|
|
b29a52dfa8 | ||
|
|
4ed99ba851 | ||
|
|
3e92e716b2 | ||
|
|
c6c8f6563d | ||
|
|
138c911ef4 | ||
|
|
e5fe6401a0 | ||
|
|
bed643e627 | ||
|
|
4ac25a50ed | ||
|
|
d9cf189ef6 | ||
|
|
6e19878973 | ||
|
|
9f9c4d6ed0 | ||
|
|
567848e94f | ||
|
|
221cbcc1ac | ||
|
|
dc2086dab4 | ||
|
|
7be2a03c86 | ||
|
|
e87f8f5b93 | ||
|
|
11a063ea66 | ||
|
|
1d26f4c5f7 | ||
|
|
8a09558ed8 | ||
|
|
60b1e692b9 | ||
|
|
0a1865d0dd | ||
|
|
3d94c70c48 | ||
|
|
7d7f967d5e | ||
|
|
ce554e6c77 | ||
|
|
5d151cca9d | ||
|
|
e47d90b5a6 | ||
|
|
e4730191db | ||
|
|
49aab492e0 | ||
|
|
2d4d246268 | ||
|
|
09e558ae0b | ||
|
|
a3fd6633c4 | ||
|
|
1eb246c98b | ||
|
|
96e0c0df20 | ||
|
|
aa8f420681 | ||
|
|
7974b5a95c | ||
|
|
ed4570cb4d | ||
|
|
01d851440b | ||
|
|
e5943b64c1 | ||
|
|
933e56494c | ||
|
|
140e73be4e | ||
|
|
960b9b855f | ||
|
|
1e1d55b26d | ||
|
|
925bf7715c | ||
|
|
399d3ad85a | ||
|
|
d923c03d52 | ||
|
|
699b91ab8d | ||
|
|
abd6eb2ff3 | ||
|
|
32f29e72c6 | ||
|
|
e76bac4131 | ||
|
|
8b94642ab1 | ||
|
|
d3497148c5 | ||
|
|
27baa55443 | ||
|
|
fd3d4d479a | ||
|
|
4b0a2d050a | ||
|
|
d85c14864b | ||
|
|
ee696e6f36 | ||
|
|
6ccbd8472c | ||
|
|
8ec26e9ea9 | ||
|
|
45e31a153c | ||
|
|
7c23d800e6 | ||
|
|
4dbf6af733 | ||
|
|
bdc03b1c75 | ||
|
|
9bfc74a1bc | ||
|
|
5d03917877 | ||
|
|
d2f975a0f3 | ||
|
|
eedd47860a | ||
|
|
6e59248ea6 | ||
|
|
365554d064 | ||
|
|
70d1cb86fd | ||
|
|
ccb7c0d579 | ||
|
|
fd9941e2d8 | ||
|
|
2f89563fca | ||
|
|
261f601bd5 | ||
|
|
5157e4965a | ||
|
|
3ffd25f9e1 | ||
|
|
665ab34f25 | ||
|
|
37f227ae74 | ||
|
|
f6eb29d800 | ||
|
|
f5315d9ba7 | ||
|
|
124cc9621d | ||
|
|
3faa7226e7 | ||
|
|
6070b41c9b | ||
|
|
50ddfea617 | ||
|
|
e74ad86f14 | ||
|
|
2bd2490539 | ||
|
|
5c0378a684 | ||
|
|
2bd5aca3a4 | ||
|
|
ccb59fbad3 | ||
|
|
6c66d02aff | ||
|
|
9f03598259 | ||
|
|
8191246c19 | ||
|
|
437769ac0b | ||
|
|
f97a1103b1 | ||
|
|
9b0c9be7dd | ||
|
|
97c7f3bc67 | ||
|
|
2503271a45 | ||
|
|
d335f263f3 | ||
|
|
1c34635016 | ||
|
|
b6a35e9477 | ||
|
|
6aa8251b98 | ||
|
|
3b4bf90a13 | ||
|
|
0c71756009 | ||
|
|
2f6abb8aa1 | ||
|
|
42582e21f7 | ||
|
|
af49a4dd5a | ||
|
|
b2081faf87 | ||
|
|
f960934eb9 | ||
|
|
5522725f5d | ||
|
|
9f3d36bab0 | ||
|
|
87e7085c22 | ||
|
|
d8eac56f5e | ||
|
|
c20557f690 | ||
|
|
65bdc4cf43 | ||
|
|
ee79c196df | ||
|
|
41682bfcbb | ||
|
|
34be8c9213 | ||
|
|
aebb9f89d1 | ||
|
|
40f6201509 | ||
|
|
2e8e2b04a1 | ||
|
|
015780fc72 | ||
|
|
c64e433a69 | ||
|
|
e21f46d824 | ||
|
|
ef79546508 | ||
|
|
2993fdb169 | ||
|
|
365b1c6299 | ||
|
|
9565b695ef | ||
|
|
89cedd411e | ||
|
|
a51742b47c | ||
|
|
ea3b897d5d | ||
|
|
e432d67b3b | ||
|
|
bd7dc8b5e7 | ||
|
|
a7ac700fe1 | ||
|
|
ff87958188 | ||
|
|
f308cd392b | ||
|
|
e4bea17fb8 | ||
|
|
2c47cfbe25 | ||
|
|
b0685541d9 | ||
|
|
f097c15c61 | ||
|
|
511fa37c84 | ||
|
|
a82ca6adb2 | ||
|
|
05e3e46f5a | ||
|
|
6d399f0303 | ||
|
|
ecebfc34fa | ||
|
|
59b53f3db4 | ||
|
|
e86916a7f9 | ||
|
|
11ae073c12 | ||
|
|
aec53b2849 | ||
|
|
0f42ab230e | ||
|
|
211c92c387 | ||
|
|
2f1ec09aef | ||
|
|
4561d844e4 | ||
|
|
3caa57358f | ||
|
|
94195d5339 | ||
|
|
c9a552c89c | ||
|
|
6b123921a4 | ||
|
|
383eaf44ac | ||
|
|
223d15802e | ||
|
|
bdf2f6c3e1 | ||
|
|
fdc186c92f | ||
|
|
ab6141edb7 | ||
|
|
d0dcf53575 | ||
|
|
ab906f17de | ||
|
|
28ef33b0a0 | ||
|
|
376dedebb1 | ||
|
|
137c6458f7 | ||
|
|
75e0990eb3 | ||
|
|
62a6c725d6 | ||
|
|
d4554c2e5c | ||
|
|
d6a398cf2c | ||
|
|
68e3bcbcda | ||
|
|
6864e13e6f | ||
|
|
942fad1d6f | ||
|
|
29e6b229ac | ||
|
|
a4ce5d1687 | ||
|
|
cb8d6a0939 | ||
|
|
e38128119c | ||
|
|
c7c7924d37 | ||
|
|
b5a24fd877 | ||
|
|
e1ed5b73d0 | ||
|
|
3e47d26e44 | ||
|
|
e0d17e496a | ||
|
|
6cf99cd0f2 | ||
|
|
31d84100cd | ||
|
|
0eb39aa9e3 | ||
|
|
f457069881 | ||
|
|
47eef78365 | ||
|
|
eaaadf40c9 | ||
|
|
c9e2da5f53 | ||
|
|
53b7956968 | ||
|
|
d13be829c3 | ||
|
|
e18b2ab437 | ||
|
|
6777a615d4 | ||
|
|
41f2375053 | ||
|
|
f385bd2236 | ||
|
|
35032d7eed | ||
|
|
bfd48f187a | ||
|
|
7662da52e6 | ||
|
|
7722916fad | ||
|
|
d82a1d7198 | ||
|
|
45925efe32 | ||
|
|
a64bb1a990 | ||
|
|
650bf15db8 | ||
|
|
2b8e50b296 | ||
|
|
2731eb1c05 | ||
|
|
f97aa05bdb | ||
|
|
4a68df084e | ||
|
|
83530b7adb | ||
|
|
a2ef09466f | ||
|
|
7c9488105e | ||
|
|
3f32b040dc | ||
|
|
21b3c61162 | ||
|
|
5045fa6dcd | ||
|
|
c4a3d70500 | ||
|
|
435bb34435 | ||
|
|
bb9ca7f418 | ||
|
|
2e30ed17bd | ||
|
|
0b3d088782 | ||
|
|
6514eaf565 | ||
|
|
f8e7602d96 | ||
|
|
565aef9637 | ||
|
|
82efb83c43 | ||
|
|
f29ff67585 | ||
|
|
825bf8d61e | ||
|
|
1344b31535 | ||
|
|
9b8bddf7b2 | ||
|
|
8a087a876e | ||
|
|
f8067aa592 | ||
|
|
2b837381f3 | ||
|
|
cd6959b712 | ||
|
|
3e5f8c64d4 | ||
|
|
2d1c34d8e0 | ||
|
|
48d532777a | ||
|
|
f6336a6056 | ||
|
|
cd7bdc8998 | ||
|
|
2b7b3c65cc | ||
|
|
98e02a8fed | ||
|
|
a93391e247 | ||
|
|
102cc684dd | ||
|
|
a230228441 | ||
|
|
135cad576c | ||
|
|
561fbf2cca | ||
|
|
a8127d6102 | ||
|
|
2f28d3c7b6 | ||
|
|
e59c735331 | ||
|
|
221014a2e3 | ||
|
|
e2dbfa9ace | ||
|
|
121ff2b7be | ||
|
|
45465e994e | ||
|
|
af85a8a340 | ||
|
|
5fe0e9395f | ||
|
|
1f1cabd144 | ||
|
|
c3bab70434 | ||
|
|
1d6af22813 | ||
|
|
a50798c78f | ||
|
|
379d41b6fb | ||
|
|
09da6828b8 | ||
|
|
9f386afe9c | ||
|
|
35dedd3d83 | ||
|
|
45c0d5a823 | ||
|
|
7bc5bfa140 | ||
|
|
fda6def384 | ||
|
|
4bf4d45389 | ||
|
|
4e8eb2c996 | ||
|
|
e43a9de2f3 | ||
|
|
1a9e97ee3b | ||
|
|
901fca2d12 | ||
|
|
c23f8542b2 | ||
|
|
0189606445 | ||
|
|
9b31496b22 | ||
|
|
b9676ac3eb | ||
|
|
764aabc459 | ||
|
|
61d2ff359b | ||
|
|
87ad8a1495 | ||
|
|
5d889e4a8f | ||
|
|
b65a714d17 | ||
|
|
ea1c4a8fc8 | ||
|
|
5beb1b2cd0 | ||
|
|
f55e0b6775 | ||
|
|
d124041726 | ||
|
|
7a26a92edd | ||
|
|
43c8ac0aa1 | ||
|
|
46e6ed480a | ||
|
|
9f30aba2b3 | ||
|
|
560ecbc6c3 | ||
|
|
8d9b6cca63 | ||
|
|
3972597163 | ||
|
|
b0d17221f2 | ||
|
|
be2cdca1e9 | ||
|
|
f6ab1d63e8 | ||
|
|
cf5e833898 | ||
|
|
6ed2e2694f | ||
|
|
04827188f2 | ||
|
|
560239c918 | ||
|
|
a78929dadf | ||
|
|
349cc54c69 | ||
|
|
a8ae97ba91 | ||
|
|
aad6b69f00 | ||
|
|
d74df935f4 | ||
|
|
5c8806b307 | ||
|
|
a078633a32 | ||
|
|
f022458383 | ||
|
|
6139d0d65a | ||
|
|
86a283b4ae | ||
|
|
bb39a41e9e | ||
|
|
1568e98d43 | ||
|
|
0c9ecd1d76 | ||
|
|
799e67bbca | ||
|
|
561b597031 | ||
|
|
6d6908e625 | ||
|
|
4da4fb0676 | ||
|
|
7a8c05dc7c | ||
|
|
d7bacdcbff | ||
|
|
73e927ff19 | ||
|
|
e2c785b2d5 | ||
|
|
20e9952d98 | ||
|
|
0bf36ad031 | ||
|
|
f3435c5e35 | ||
|
|
166ec74ff9 | ||
|
|
6b3c6c12ff | ||
|
|
5161758193 | ||
|
|
bea32cfe38 | ||
|
|
8cfd803222 | ||
|
|
9a567721a8 | ||
|
|
3a49c8f2da | ||
|
|
12938799a6 | ||
|
|
89807fb55f | ||
|
|
891a24c6ba | ||
|
|
752b45083c | ||
|
|
f00f552369 | ||
|
|
5c2b81d78f | ||
|
|
a2b0531d5f | ||
|
|
752eb58ec0 | ||
|
|
7373b60522 | ||
|
|
59f0961594 | ||
|
|
b776f98df8 | ||
|
|
7400284cff | ||
|
|
da87eb7b4c | ||
|
|
e1f9083c81 | ||
|
|
614376ed64 | ||
|
|
529dd6e3a8 | ||
|
|
acb1bc0c0e | ||
|
|
8233f60569 | ||
|
|
4ae2160372 | ||
|
|
1df2dd9593 | ||
|
|
d53a1d1412 | ||
|
|
de9b43984a | ||
|
|
4a0b36a50b | ||
|
|
fffe5e7003 | ||
|
|
0bac639a04 | ||
|
|
0d0d0a7c23 | ||
|
|
c8e8a44747 | ||
|
|
173f8b093f | ||
|
|
e46c88580a | ||
|
|
e6033c952e | ||
|
|
3dfd0ff3b3 | ||
|
|
dd65f35e5a | ||
|
|
0d550c9bce | ||
|
|
2aeb8b9390 | ||
|
|
afa2fc0ba9 | ||
|
|
6a45919b25 | ||
|
|
e4f7d607e1 | ||
|
|
0690ef31d1 | ||
|
|
c3f02d833c | ||
|
|
e273ac3a0d | ||
|
|
459d02abc8 | ||
|
|
f5e8b26a55 | ||
|
|
2d27083509 | ||
|
|
ce482c20cb | ||
|
|
c2f149cca3 | ||
|
|
ab0e1ec6e8 | ||
|
|
5e4f548321 | ||
|
|
e53634ecef | ||
|
|
03e7019182 | ||
|
|
82b0bc63a3 | ||
|
|
04275e7d5d | ||
|
|
7a471ea6b2 | ||
|
|
45874fa333 | ||
|
|
74a5c6e745 | ||
|
|
cfafe90fe0 | ||
|
|
12d396ffc5 | ||
|
|
dc39b9e643 | ||
|
|
e6a8c02745 | ||
|
|
88d695f7af | ||
|
|
b673e0c219 | ||
|
|
5c819f7242 | ||
|
|
40bd2039d4 | ||
|
|
53f29613c2 | ||
|
|
3371709472 | ||
|
|
50c009265e | ||
|
|
e169c0ce5e | ||
|
|
f04d4b10e4 | ||
|
|
f3e4338efc | ||
|
|
c8979a6a49 | ||
|
|
5b495e2f51 | ||
|
|
42637a642b | ||
|
|
2375e7c100 | ||
|
|
ae1b852821 | ||
|
|
44e4dd3700 | ||
|
|
24d7d599f1 | ||
|
|
d85a41ad75 | ||
|
|
478ddfe102 | ||
|
|
198f832c3d | ||
|
|
f0b78ffc04 | ||
|
|
a445311705 | ||
|
|
1fe1fa9eac | ||
|
|
6258652c7b | ||
|
|
28d31b9d5b | ||
|
|
75426cc498 | ||
|
|
ae29e8bbab | ||
|
|
2b9c7e04a4 | ||
|
|
d1aba56096 | ||
|
|
3985d58d3c | ||
|
|
1479b61214 | ||
|
|
15a249eb54 | ||
|
|
08b3d6bbb0 | ||
|
|
710c5e2c31 | ||
|
|
17fa615bd3 | ||
|
|
6bfed97710 | ||
|
|
f9e286123f | ||
|
|
613fd1bcf0 | ||
|
|
52ce52d466 | ||
|
|
cede5ac9d2 | ||
|
|
89559eae2b | ||
|
|
d7fb2e6403 | ||
|
|
e3119b457c | ||
|
|
ae27a5b7b7 | ||
|
|
302cb27e98 | ||
|
|
2d3481b9a9 | ||
|
|
9b67e988db | ||
|
|
15f1fdddd9 | ||
|
|
24fa9e32b0 | ||
|
|
0b4fef19f6 | ||
|
|
35731b96dc | ||
|
|
b79a1b5755 | ||
|
|
1561f6f09f | ||
|
|
36d7fce909 | ||
|
|
b8d6058b28 | ||
|
|
8771e1a339 | ||
|
|
7b657c942d | ||
|
|
531ae501ad | ||
|
|
d0cac421bb | ||
|
|
4429a16ca8 | ||
|
|
c669401767 | ||
|
|
4d349f5f81 | ||
|
|
08e0349ca3 | ||
|
|
ee5fe424e8 | ||
|
|
552ff0489d | ||
|
|
04a9ce6e81 | ||
|
|
586bdc0567 | ||
|
|
4bb3d13921 | ||
|
|
7c02630186 | ||
|
|
ff63ad8b97 | ||
|
|
bdf1fb6db8 | ||
|
|
d21fdb7546 | ||
|
|
be5af2796d | ||
|
|
b1020c599f | ||
|
|
b2199202ab | ||
|
|
06105072f9 | ||
|
|
b676ca7d96 | ||
|
|
90f355cfaf | ||
|
|
757ab3dc92 | ||
|
|
e022c371ff | ||
|
|
50a2cc9917 | ||
|
|
5209b0172b | ||
|
|
cfb55d9d77 | ||
|
|
df2bbe129d | ||
|
|
f7cae610a4 | ||
|
|
bb698d682c | ||
|
|
5bd6ff2285 | ||
|
|
e6cf186c23 | ||
|
|
e8b5508463 | ||
|
|
d70b893852 | ||
|
|
a579b4a519 | ||
|
|
fffa2f097e | ||
|
|
cabb2198b0 | ||
|
|
3af2168b02 | ||
|
|
f1337524f6 | ||
|
|
348109a1f9 | ||
|
|
0b0597be0c | ||
|
|
690dbc4725 | ||
|
|
cc9b1ea8a1 | ||
|
|
ffebe82586 | ||
|
|
4453e7fcdd | ||
|
|
60d65d8137 | ||
|
|
c8eefe749f | ||
|
|
162421a59a | ||
|
|
79048812e9 | ||
|
|
70b242f190 | ||
|
|
8db4bde15d | ||
|
|
fbb8f0cbf5 | ||
|
|
aafa12eb6e | ||
|
|
76f285f19c | ||
|
|
e1073de36f | ||
|
|
ae48e49cba | ||
|
|
4180db601d | ||
|
|
423983e023 | ||
|
|
90a1ea4281 | ||
|
|
0ebd864db9 | ||
|
|
02e85913da | ||
|
|
1d5dc283fe | ||
|
|
769f0a78d4 | ||
|
|
4029f86c60 | ||
|
|
f6d1fea9b7 | ||
|
|
fa6524d377 | ||
|
|
c56cb8adb6 | ||
|
|
78638a15be | ||
|
|
d4a51979bb | ||
|
|
77555cd5c2 | ||
|
|
7c48ba2f19 | ||
|
|
4dbe0a0d0e | ||
|
|
ca92a74a39 | ||
|
|
c01d28a471 | ||
|
|
98ff09931d | ||
|
|
20ae89c2a1 | ||
|
|
0baa23f553 | ||
|
|
10fbb6a2a8 | ||
|
|
6152b83405 | ||
|
|
aed25ff87c | ||
|
|
5f94238d23 | ||
|
|
4d1d5d6b20 | ||
|
|
5ba6a5fca1 | ||
|
|
cba8d83b21 | ||
|
|
aaeffe3846 | ||
|
|
6881e8fbe3 | ||
|
|
137e455f03 | ||
|
|
ff3d0346eb | ||
|
|
498da509db | ||
|
|
d484c0e7ce | ||
|
|
5c1c561d7d | ||
|
|
9f0429ca6f | ||
|
|
3485ad39d9 | ||
|
|
d899923876 | ||
|
|
4e04cd27c9 | ||
|
|
7e4b428a3e | ||
|
|
9f65a318da | ||
|
|
2f6ed86c78 | ||
|
|
6590915b15 | ||
|
|
0c3fe54b0b | ||
|
|
a93b675cb8 | ||
|
|
0f2df23800 | ||
|
|
e4e0a24416 | ||
|
|
6aa5abf298 | ||
|
|
bd672c4c4e | ||
|
|
8d768bda31 | ||
|
|
5110994f81 | ||
|
|
83d17b5c0e | ||
|
|
e6c174c33b | ||
|
|
9497300a4a | ||
|
|
acab62e345 | ||
|
|
0e8feed2f2 | ||
|
|
82716d8014 | ||
|
|
af262e9a14 | ||
|
|
d0d5af8c66 | ||
|
|
86f9b1f6db | ||
|
|
c4485d0af7 | ||
|
|
7c5d0a0e00 | ||
|
|
5f014a2056 | ||
|
|
eaaacd71a8 | ||
|
|
75cead9266 | ||
|
|
d79c5824b8 | ||
|
|
4381739b6d | ||
|
|
8f2cdcef0e | ||
|
|
990cc41e80 | ||
|
|
9721acbf63 | ||
|
|
be5cb1683b | ||
|
|
a4e7e546ff | ||
|
|
4259b4571c | ||
|
|
2414a79578 | ||
|
|
84623ac1f6 | ||
|
|
d46343fb9c | ||
|
|
5c788a6130 | ||
|
|
281cf584ec | ||
|
|
13c4581c86 | ||
|
|
9c938b91b7 | ||
|
|
f71f7a0b63 | ||
|
|
b8c03a1905 | ||
|
|
9515b40ca5 | ||
|
|
df3d3db776 | ||
|
|
e15df81351 | ||
|
|
77ec423510 | ||
|
|
c41df9ffbd | ||
|
|
acad35c5bc | ||
|
|
6b3fe68a17 | ||
|
|
6ec07d744e | ||
|
|
989fdb5895 | ||
|
|
e60b91b5e2 | ||
|
|
0be2567d97 | ||
|
|
61770ad69e | ||
|
|
85bd0feee0 | ||
|
|
b249216db6 | ||
|
|
2a2a80b0bf | ||
|
|
7ddd5e9bc3 | ||
|
|
6b4a4517ec | ||
|
|
7c1c91ac43 | ||
|
|
6b56768e9c | ||
|
|
b2b7d02c01 | ||
|
|
8bb097fd10 | ||
|
|
a5f8f1f0f5 | ||
|
|
424e2c76fa | ||
|
|
41ae2bfb84 | ||
|
|
4bdf9eda41 | ||
|
|
ef1c7eec74 | ||
|
|
87527fccc6 | ||
|
|
f23234d0df | ||
|
|
fdbc3a692f | ||
|
|
571aaea3e0 | ||
|
|
d0986297ca | ||
|
|
188e679ea3 | ||
|
|
4209a5699a | ||
|
|
80ca7796ca | ||
|
|
02f19bfbee | ||
|
|
49d5591f48 | ||
|
|
816bc45707 | ||
|
|
73e9dce143 | ||
|
|
9f0edde12b | ||
|
|
cf55b67cee | ||
|
|
9ca415c665 | ||
|
|
af029e6c3f | ||
|
|
6d514c97f8 | ||
|
|
e812ac2c0b | ||
|
|
480832318c | ||
|
|
7a3e397949 | ||
|
|
c95e450b8d | ||
|
|
b63a34110e | ||
|
|
0a2a71e83b | ||
|
|
831bf71ce6 | ||
|
|
172eda5471 | ||
|
|
aa899f0693 | ||
|
|
82602b51bf | ||
|
|
3971a12f0e | ||
|
|
70c4eb44fd | ||
|
|
9ce54162c2 | ||
|
|
92c6fc04a8 | ||
|
|
46ebf9b7e5 | ||
|
|
799ad0feff | ||
|
|
1a56385cf9 | ||
|
|
71827fe4e6 | ||
|
|
8568f7a0fb | ||
|
|
39c61327b5 | ||
|
|
81d2130b06 | ||
|
|
536f5ff091 | ||
|
|
7e258bfe38 | ||
|
|
66f0e6a8f2 | ||
|
|
04306a544f | ||
|
|
e4fe3bfe35 | ||
|
|
b636bf4b2a | ||
|
|
05c7796909 | ||
|
|
e2b3463c05 | ||
|
|
6c016cf443 | ||
|
|
fc48168153 | ||
|
|
096e6f2f80 | ||
|
|
4a00bfcc55 | ||
|
|
6ebc19fccb | ||
|
|
0fa40c9ac3 |
@@ -13,8 +13,8 @@ environment:
|
||||
REPO_DIR: &REPO_DIR c:\qbittorrent
|
||||
CACHE_DIR: &CACHE_DIR c:\qbt_cache
|
||||
|
||||
QBT_VER_URL: https://builds.shiki.hu/appveyor/version
|
||||
QBT_LIB_URL: https://builds.shiki.hu/appveyor/qbt_libraries.7z
|
||||
QBT_VER_URL: https://builds.shiki.hu/appveyor/version_64
|
||||
QBT_LIB_URL: https://builds.shiki.hu/appveyor/qbt_libraries_64.7z
|
||||
|
||||
# project directory
|
||||
clone_folder: *REPO_DIR
|
||||
@@ -38,12 +38,12 @@ install:
|
||||
appveyor DownloadFile "%QBT_LIB_URL%" -FileName "c:\qbt_lib.7z" && 7z x "c:\qbt_lib.7z" -o"%CACHE_DIR%" > nul &&
|
||||
COPY "c:\version_new" "%CACHE_DIR%\version")
|
||||
# Qt stay compressed in cache
|
||||
- 7z x "%CACHE_DIR%\qt5_32.7z" -o"c:\qbt" > nul
|
||||
- 7z x "%CACHE_DIR%\qt5_64.7z" -o"c:\qbt" > nul
|
||||
|
||||
before_build:
|
||||
# setup env
|
||||
- CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat"
|
||||
- SET PATH=%PATH%;c:\qbt\qt5_32\bin;%CACHE_DIR%\jom;
|
||||
- CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
|
||||
- SET PATH=%PATH%;C:\Qt\5.15.2\msvc2019_64\bin;%CACHE_DIR%\jom
|
||||
# setup project
|
||||
- COPY /Y "%CACHE_DIR%\conf.pri" "%REPO_DIR%"
|
||||
# workarounds
|
||||
|
||||
19
.github/ISSUE_TEMPLATE.md
vendored
19
.github/ISSUE_TEMPLATE.md
vendored
@@ -1,19 +0,0 @@
|
||||
**Please provide the following information**
|
||||
|
||||
### qBittorrent version and Operating System
|
||||
(type here)
|
||||
|
||||
### If on linux, libtorrent-rasterbar and Qt version
|
||||
(type here)
|
||||
|
||||
### What is the problem
|
||||
(type here)
|
||||
|
||||
### What is the expected behavior
|
||||
(type here)
|
||||
|
||||
### Steps to reproduce
|
||||
(type here)
|
||||
|
||||
### Extra info(if any)
|
||||
(type here)
|
||||
76
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
76
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
name: Bug Report
|
||||
description: File a bug report to help improve qBittorrent user experience.
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
#### ADVISORY
|
||||
"We do not support any versions older than the current release series"
|
||||
|
||||
"We do not support any 3rd party/forked versions e.g. `portableapps`/`Enhanced Edition`etc."
|
||||
|
||||
"Please post all details in **English**."
|
||||
|
||||
#### Prerequisites before submitting an issue!
|
||||
- Read the issue reporting section in the **[contributing guidelines](https://github.com/qbittorrent/qBittorrent/blob/master/CONTRIBUTING.md)**, to know how to submit a good bug report with the required information.
|
||||
- Verify that the issue is not fixed and is reproducible in the **[latest official qBittorrent version](https://www.qbittorrent.org/download.php).**
|
||||
- (Optional, but recommended) Verify that the issue is not fixed and is reproducible in the latest CI (**[macOS](https://github.com/qbittorrent/qBittorrent/actions/workflows/ci_macos.yaml?query=branch%3Amaster+event%3Apush)** / **[Ubuntu](https://github.com/qbittorrent/qBittorrent/actions/workflows/ci_ubuntu.yaml?query=branch%3Amaster+event%3Apush)** / **[Windows](https://github.com/qbittorrent/qBittorrent/actions/workflows/ci_windows.yaml?query=branch%3Amaster+event%3Apush)**) builds.
|
||||
- Check the **[frequent/common issues list](https://github.com/qbittorrent/qBittorrent/projects/2)** and perform a **[search of the issue tracker (including closed ones)](https://github.com/qbittorrent/qBittorrent/issues)** to avoid posting a duplicate.
|
||||
- Make sure this is not a support request or question, both of which are better suited for either the **[discussions section](https://github.com/qbittorrent/qBittorrent/discussions)**, **[forum](https://qbforums.shiki.hu/)**, or **[subreddit](https://www.reddit.com/r/qBittorrent/)**.
|
||||
- Verify that the **[wiki](https://github.com/qbittorrent/qBittorrent/wiki)** did not contain a suitable solution either.
|
||||
- If relevant to issue/when asked, the qBittorrent preferences file, qBittorrent.log & watched_folders.json (if using "Watched Folders" feature) must be provided.
|
||||
See **[Where does qBittorrent save its settings?](https://github.com/qbittorrent/qBittorrent/wiki/Frequently-Asked-Questions#Where_does_qBittorrent_save_its_settings)**
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: qBittorrent & operating system versions
|
||||
description: |
|
||||
Qt and libtorrent-rasterbar versions are required when: 1. You are using linux. 2. You are not using an official build downloaded from our website.
|
||||
|
||||
Example of preferred formatting:
|
||||
qBittorrent: 4.3.7 x64
|
||||
Operating system: Windows 10 Pro 21H1/2009 x64
|
||||
Qt: 5.15.2
|
||||
libtorrent-rasterbar: 1.2.14
|
||||
placeholder: |
|
||||
qBittorrent:
|
||||
Operating system:
|
||||
Qt:
|
||||
libtorrent-rasterbar:
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is the problem?
|
||||
description: Please add the "crash report" (if encountered) or give a clear and concise description of problem.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
description: Please provide reliable steps to reproduce the problem.
|
||||
placeholder: |
|
||||
1. First step
|
||||
2. Second step
|
||||
3. and so on...
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Add screenshots etc. (Anything that will provide more context about the problem)
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Log(s) & preferences file(s)
|
||||
description: |
|
||||
Add these files: qBittorrent preferences file, qBittorrent.log & watched_folders.json (if using "Watched Folders" feature).
|
||||
See **[Where does qBittorrent save its settings?](https://github.com/qbittorrent/qBittorrent/wiki/Frequently-Asked-Questions#Where_does_qBittorrent_save_its_settings)**
|
||||
#### Note: It's the user's responsibility to redact any sensitive information
|
||||
validations:
|
||||
required: false
|
||||
17
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
17
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Wiki
|
||||
url: "https://github.com/qbittorrent/qBittorrent/wiki/"
|
||||
about: "Consult the wiki first (especially the FAQ), it might already contain the information you are looking for"
|
||||
|
||||
- name: Question
|
||||
url: "https://github.com/qbittorrent/qBittorrent/discussions"
|
||||
about: "Please ask questions related to usage/setup/support/non-issue development discussion in the Discussions section"
|
||||
|
||||
- name: Question
|
||||
url: "http://forum.qbittorrent.org/"
|
||||
about: "Alternatively, ask on the official forum"
|
||||
|
||||
- name: Question
|
||||
url: "https://www.reddit.com/r/qBittorrent/"
|
||||
about: "Alternatively, use the subreddit"
|
||||
37
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
37
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
name: Feature Request
|
||||
description: Suggest a new feature or enhancement for qBittorrent.
|
||||
labels: ["Feature request"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
#### ADVISORY
|
||||
|
||||
"Please post all details in **English**."
|
||||
|
||||
#### Prerequisites before submitting a feature request!
|
||||
- Read the feature request section in the **[contributing guidelines](https://github.com/qbittorrent/qBittorrent/blob/master/CONTRIBUTING.md)**, to know how to submit a good feature request with the required information.
|
||||
- Verify that the feature being requested is not available in the **[latest official qBittorrent version](https://www.qbittorrent.org/download.php).**
|
||||
- (Optional but recommended) Verify that the feature being requested is not available in the latest CI (**[macOS](https://github.com/qbittorrent/qBittorrent/actions/workflows/ci_macos.yaml?query=branch%3Amaster+event%3Apush)** / **[Ubuntu](https://github.com/qbittorrent/qBittorrent/actions/workflows/ci_ubuntu.yaml?query=branch%3Amaster+event%3Apush)** / **[Windows](https://github.com/qbittorrent/qBittorrent/actions/workflows/ci_windows.yaml?query=branch%3Amaster+event%3Apush)**) builds.
|
||||
- Search the issue tracker with the **[feature request filter](https://github.com/qbittorrent/qBittorrent/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature+request%22)** for similar feature requests (including closed ones) to avoid posting a duplicate.
|
||||
- Make sure this is not a support request or question, both of which are better suited for either the **[discussions section](https://github.com/qbittorrent/qBittorrent/discussions)**, **[forum](https://qbforums.shiki.hu/)**, or **[subreddit](https://www.reddit.com/r/qBittorrent/)**.
|
||||
- Verify that the **[wiki](https://github.com/qbittorrent/qBittorrent/wiki)** did not contain a suitable solution either.
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Suggestion
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Use case
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Extra info/examples/attachments
|
||||
description: Add screenshots etc. (Anything that will give us more context about what is being requested!)
|
||||
validations:
|
||||
required: false
|
||||
5
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
5
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<!--
|
||||
MANDATORY Before submitting your work, make sure you have:
|
||||
1. Read https://github.com/qbittorrent/qBittorrent/blob/master/CONTRIBUTING.md#opening-a-pull-request
|
||||
2. Delete this comment block
|
||||
-->
|
||||
18
.github/SUPPORT.md
vendored
Normal file
18
.github/SUPPORT.md
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
# Support Resources
|
||||
|
||||
The issue tracker is only for bug reports/feature requests related to the project itself.
|
||||
|
||||
Please do not use the issue tracker for questions about general program usage,
|
||||
how BitTorrent (the protocol) works in general, etc.
|
||||
|
||||
For such questions, use one of the following community support resources:
|
||||
|
||||
* The [discussions section][discussions-url]
|
||||
|
||||
* The official forum [official forum][forum-url]
|
||||
|
||||
* The [qBittorrent subreddit][subreddit-url]
|
||||
|
||||
[discussions-url]: https://github.com/qbittorrent/qBittorrent/discussions
|
||||
[forum-url]: http://forum.qbittorrent.org/
|
||||
[subreddit-url]: https://www.reddit.com/r/qBittorrent/
|
||||
68
.github/workflows/check_translation_tag.py
vendored
Executable file
68
.github/workflows/check_translation_tag.py
vendored
Executable file
@@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# A pre-commit hook for detecting problematic <translation> tags
|
||||
# Copyright (C) 2021 Mike Tzou (Chocobo1)
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# In addition, as a special exception, the copyright holders give permission to
|
||||
# link this program with the OpenSSL project's "OpenSSL" library (or with
|
||||
# modified versions of it that use the same license as the "OpenSSL" library),
|
||||
# and distribute the linked executables. You must obey the GNU General Public
|
||||
# License in all respects for all of the code used other than "OpenSSL". If you
|
||||
# modify file(s), you may extend this exception to your version of the file(s),
|
||||
# but you are not obligated to do so. If you do not wish to do so, delete this
|
||||
# exception statement from your version.
|
||||
|
||||
from typing import Optional, Sequence
|
||||
import argparse
|
||||
import re
|
||||
|
||||
def main(argv: Optional[Sequence[str]] = None) -> int:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('filenames', nargs='*', help='Filenames to check')
|
||||
args = parser.parse_args(argv)
|
||||
|
||||
error_msg = ""
|
||||
regex = re.compile(r"\s*</translation>")
|
||||
|
||||
for filename in args.filenames:
|
||||
line_counter = 1
|
||||
error_buffer = ""
|
||||
|
||||
with open(filename) as file:
|
||||
try:
|
||||
for line in file:
|
||||
if (match := regex.match(line)) is not None:
|
||||
error_buffer += str(f"Defect file: \"{filename}\"\n"
|
||||
f"Line: {line_counter}\n"
|
||||
f"Column span: {match.span()}\n"
|
||||
f"Part: \"{match.group()}\"\n\n")
|
||||
line_counter += 1
|
||||
|
||||
except UnicodeDecodeError as error:
|
||||
# not a text file, skip
|
||||
continue
|
||||
|
||||
error_msg += error_buffer
|
||||
|
||||
if len(error_msg) > 0:
|
||||
print(error_msg)
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__':
|
||||
exit(main())
|
||||
7
.github/workflows/ci_file_health.yaml
vendored
7
.github/workflows/ci_file_health.yaml
vendored
@@ -11,10 +11,7 @@ jobs:
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install tools
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install zsh
|
||||
uses: actions/setup-python@v2
|
||||
|
||||
- name: Check files
|
||||
run: |
|
||||
./.github/workflows/file_health.sh
|
||||
uses: pre-commit/action@v2.0.3
|
||||
|
||||
62
.github/workflows/ci_macos.yaml
vendored
62
.github/workflows/ci_macos.yaml
vendored
@@ -4,13 +4,17 @@ on: [pull_request, push]
|
||||
jobs:
|
||||
ci:
|
||||
name: Build
|
||||
runs-on: macos-10.15
|
||||
runs-on: macos-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
libt_version: ["v1.2.12"]
|
||||
qbt_gui: ["GUI=ON", "GUI=OFF"]
|
||||
fail-fast: false
|
||||
matrix:
|
||||
libt_version: ["2.0.4", "1.2.14"]
|
||||
qbt_gui: ["GUI=ON", "GUI=OFF"]
|
||||
qt_version: ["5.15.2", "6.2.0"]
|
||||
exclude:
|
||||
- libt_version: "1.2.14"
|
||||
qt_version: "6.2.0"
|
||||
|
||||
env:
|
||||
openssl_root: /usr/local/opt/openssl@1.1
|
||||
@@ -19,29 +23,28 @@ jobs:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup ccache
|
||||
uses: hendrikmuhs/ccache-action@v1
|
||||
with:
|
||||
key: ${{ runner.os }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
brew update > /dev/null
|
||||
brew install \
|
||||
cmake ninja \
|
||||
boost openssl@1.1 qt@5 zlib
|
||||
brew link --force \
|
||||
qt@5
|
||||
# workaround for cmake + Qt
|
||||
sudo ln -s /usr/local/opt/qt@5/mkspecs /usr/local/mkspecs
|
||||
sudo ln -s /usr/local/opt/qt@5/plugins /usr/local/plugins
|
||||
boost openssl@1.1 zlib
|
||||
|
||||
- name: Setup ccache
|
||||
uses: Chocobo1/setup-ccache-action@v1
|
||||
with:
|
||||
update_packager_index: false
|
||||
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
version: ${{ matrix.qt_version }}
|
||||
|
||||
- name: Install libtorrent
|
||||
run: |
|
||||
git clone --branch ${{ matrix.libt_version }} --depth 1 https://github.com/arvidn/libtorrent.git
|
||||
git clone --branch v${{ matrix.libt_version }} --depth 1 https://github.com/arvidn/libtorrent.git
|
||||
cd libtorrent
|
||||
git submodule update --init --recursive
|
||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
@@ -52,22 +55,37 @@ jobs:
|
||||
cmake --build build
|
||||
sudo cmake --install build
|
||||
|
||||
- name: Build qBittorrent
|
||||
- name: Build qBittorrent (Qt5)
|
||||
if: ${{ startsWith(matrix.qt_version, 5) }}
|
||||
run: |
|
||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-D${{ matrix.qbt_gui }} \
|
||||
-DOPENSSL_ROOT_DIR="${{ env.openssl_root }}" \
|
||||
-DQt5_DIR="$Qt5_DIR" \
|
||||
-DVERBOSE_CONFIGURE=ON \
|
||||
-DOPENSSL_ROOT_DIR="${{ env.openssl_root }}"
|
||||
-D${{ matrix.qbt_gui }}
|
||||
cmake --build build
|
||||
|
||||
- name: Build qBittorrent (Qt6)
|
||||
if: ${{ startsWith(matrix.qt_version, 6) }}
|
||||
run: |
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DOPENSSL_ROOT_DIR="${{ env.openssl_root }}" \
|
||||
-DQT6=ON \
|
||||
-DQt6_DIR="$Qt6_DIR" \
|
||||
-DVERBOSE_CONFIGURE=ON \
|
||||
-D${{ matrix.qbt_gui }}
|
||||
cmake --build build
|
||||
|
||||
- name: Upload build artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: qBittorrent-CI_macOS_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}
|
||||
name: qBittorrent-CI_macOS_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}_Qt-${{ matrix.qt_version }}
|
||||
path: |
|
||||
build/qbittorrent.app
|
||||
build/qbittorrent-nox.app
|
||||
|
||||
65
.github/workflows/ci_ubuntu.yaml
vendored
65
.github/workflows/ci_ubuntu.yaml
vendored
@@ -7,43 +7,43 @@ jobs:
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
libt_version: ["v1.2.12"]
|
||||
qbt_gui: ["GUI=ON", "GUI=OFF"]
|
||||
fail-fast: false
|
||||
matrix:
|
||||
libt_version: ["2.0.4", "1.2.14"]
|
||||
qbt_gui: ["GUI=ON", "GUI=OFF"]
|
||||
qt_version: ["5.15.2", "6.2.0"]
|
||||
exclude:
|
||||
- libt_version: "1.2.14"
|
||||
qt_version: "6.2.0"
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup ccache
|
||||
uses: hendrikmuhs/ccache-action@v1
|
||||
with:
|
||||
key: ${{ runner.os }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install \
|
||||
build-essential cmake git ninja-build pkg-config \
|
||||
libssl-dev libgeoip-dev zlib1g-dev \
|
||||
libboost-dev libboost-chrono-dev libboost-random-dev libboost-system-dev
|
||||
# sudo apt install libqt5svg5-dev qtbase5-dev qttools5-dev # the Qt version in the standard repositories is too old...
|
||||
build-essential cmake ninja-build pkg-config \
|
||||
libboost-dev libssl-dev zlib1g-dev
|
||||
|
||||
- name: Setup ccache
|
||||
uses: Chocobo1/setup-ccache-action@v1
|
||||
with:
|
||||
update_packager_index: false
|
||||
ccache_options: |
|
||||
max_size=2G
|
||||
|
||||
# this will be installed under /opt/qt515. CMake will still find it automatically without additional hints
|
||||
# to speed up the process, only the required components are installed rather than the full qt515-meta-full metapackage
|
||||
- name: Install Qt
|
||||
run: |
|
||||
sudo add-apt-repository ppa:beineri/opt-qt-5.15.2-focal
|
||||
sudo apt install \
|
||||
qt515base qt515svg qt515tools
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
version: ${{ matrix.qt_version }}
|
||||
|
||||
- name: Install libtorrent
|
||||
run: |
|
||||
git clone --branch ${{ matrix.libt_version }} --depth 1 https://github.com/arvidn/libtorrent.git
|
||||
git clone --branch v${{ matrix.libt_version }} --depth 1 https://github.com/arvidn/libtorrent.git
|
||||
cd libtorrent
|
||||
git submodule update --init --recursive
|
||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
@@ -54,26 +54,41 @@ jobs:
|
||||
cmake --build build
|
||||
sudo cmake --install build
|
||||
|
||||
- name: Build qBittorrent
|
||||
- name: Build qBittorrent (Qt5)
|
||||
if: ${{ startsWith(matrix.qt_version, 5) }}
|
||||
run: |
|
||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||
-DQt5_DIR="$Qt5_DIR" \
|
||||
-D${{ matrix.qbt_gui }} \
|
||||
-DVERBOSE_CONFIGURE=ON \
|
||||
--graphviz=build/target_graph.dot
|
||||
cmake --build build
|
||||
sudo cmake --install build
|
||||
|
||||
- name: Install qBittorrent
|
||||
run: sudo cmake --install build
|
||||
- name: Build qBittorrent (Qt6)
|
||||
if: ${{ startsWith(matrix.qt_version, 6) }}
|
||||
run: |
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||
-DQt6_DIR="$Qt6_DIR" \
|
||||
-DQT6=ON \
|
||||
-D${{ matrix.qbt_gui }} \
|
||||
-DVERBOSE_CONFIGURE=ON \
|
||||
--graphviz=build/target_graph.dot
|
||||
cmake --build build
|
||||
sudo cmake --install build
|
||||
|
||||
- name: Upload build artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: qBittorrent-CI_ubuntu-20.04-x64_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}
|
||||
name: qBittorrent-CI_ubuntu-20.04-x64_${{ matrix.qbt_gui }}_libtorrent-${{ matrix.libt_version }}_Qt-${{ matrix.qt_version }}
|
||||
path: |
|
||||
build/compile_commands.json
|
||||
build/install_manifest.txt
|
||||
|
||||
71
.github/workflows/ci_windows.yaml
vendored
71
.github/workflows/ci_windows.yaml
vendored
@@ -4,12 +4,24 @@ on: [pull_request, push]
|
||||
jobs:
|
||||
ci:
|
||||
name: Build
|
||||
runs-on: windows-2019
|
||||
runs-on: windows-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
libt_version: ["v2.0.4", "v1.2.14"]
|
||||
fail-fast: false
|
||||
|
||||
env:
|
||||
boost_path: "${{ github.workspace }}/boost"
|
||||
libtorrent_path: "${{ github.workspace }}/libtorrent"
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup devcmd
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
|
||||
- name: Install build tools
|
||||
run: |
|
||||
choco install ninja
|
||||
@@ -41,12 +53,12 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
$packages = `
|
||||
"boost-circular-buffer:x64-windows-static-release",
|
||||
"libtorrent:x64-windows-static-release",
|
||||
"openssl:x64-windows-static-release",
|
||||
"qt5-base:x64-windows-static-release",
|
||||
"qt5-svg:x64-windows-static-release",
|
||||
"qt5-tools:x64-windows-static-release",
|
||||
"qt5-winextras:x64-windows-static-release"
|
||||
"qt5-winextras:x64-windows-static-release",
|
||||
"zlib:x64-windows-static-release"
|
||||
${{ env.RUNVCPKG_VCPKG_ROOT }}/vcpkg.exe upgrade `
|
||||
--overlay-triplets="${{ github.workspace }}/triplets_overlay" `
|
||||
--no-dry-run
|
||||
@@ -55,9 +67,33 @@ jobs:
|
||||
--clean-after-build `
|
||||
$packages
|
||||
|
||||
# this is necessary to correctly find and use cl.exe with the Ninja generator for now
|
||||
- name: Setup devcmd
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
- name: Install boost
|
||||
run: |
|
||||
aria2c `
|
||||
"https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.7z" `
|
||||
-d "${{ runner.temp }}" `
|
||||
-o "boost.7z"
|
||||
7z x "${{ runner.temp }}/boost.7z" -o"${{ github.workspace }}/.."
|
||||
move "${{ github.workspace }}/../boost_*" "${{ env.boost_path }}"
|
||||
|
||||
- name: Install libtorrent
|
||||
run: |
|
||||
git clone --branch ${{ matrix.libt_version }} --depth 1 https://github.com/arvidn/libtorrent.git
|
||||
cd libtorrent
|
||||
git submodule update --init --recursive
|
||||
cmake `
|
||||
-B build `
|
||||
-G "Ninja" `
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo `
|
||||
-DCMAKE_INSTALL_PREFIX="${{ env.libtorrent_path }}" `
|
||||
-DCMAKE_TOOLCHAIN_FILE="${{ env.RUNVCPKG_VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake" `
|
||||
-DBOOST_ROOT="${{ env.boost_path }}" `
|
||||
-DBUILD_SHARED_LIBS=OFF `
|
||||
-Ddeprecated-functions=OFF `
|
||||
-Dstatic_runtime=ON `
|
||||
-DVCPKG_TARGET_TRIPLET=x64-windows-static-release
|
||||
cmake --build build
|
||||
cmake --install build
|
||||
|
||||
- name: Build qBittorrent
|
||||
run: |
|
||||
@@ -67,19 +103,26 @@ jobs:
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo `
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON `
|
||||
-DCMAKE_TOOLCHAIN_FILE="${{ env.RUNVCPKG_VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake" `
|
||||
-DBOOST_ROOT="${{ env.boost_path }}" `
|
||||
-DLibtorrentRasterbar_DIR="${{ env.libtorrent_path }}/lib/cmake/LibtorrentRasterbar" `
|
||||
-DMSVC_RUNTIME_DYNAMIC=OFF `
|
||||
-DVCPKG_TARGET_TRIPLET=x64-windows-static-release `
|
||||
-DVERBOSE_CONFIGURE=ON `
|
||||
--graphviz=build/target_graph.dot
|
||||
cmake --build build
|
||||
|
||||
- name: Prepare build artifacts
|
||||
run: |
|
||||
mkdir upload
|
||||
copy build/qbittorrent.exe upload
|
||||
copy build/qbittorrent.pdb upload
|
||||
copy dist/windows/qt.conf upload
|
||||
mkdir upload/cmake
|
||||
copy build/compile_commands.json upload/cmake
|
||||
copy build/target_graph.dot upload/cmake
|
||||
|
||||
- name: Upload build artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: qBittorrent-CI_Windows-x64
|
||||
path: |
|
||||
build/compile_commands.json
|
||||
build/qbittorrent.exe
|
||||
build/qbittorrent.pdb
|
||||
build/target_graph.dot
|
||||
dist/windows/qt.conf
|
||||
name: qBittorrent-CI_Windows-x64_libtorrent-${{ matrix.libt_version }}
|
||||
path: upload
|
||||
|
||||
67
.github/workflows/coverity-scan.yml
vendored
Normal file
67
.github/workflows/coverity-scan.yml
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
name: Coverity Scan
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 1 * *' # Monthly (1st day of month at midnight)
|
||||
workflow_dispatch: # Mainly for testing. Don't forget the Coverity usage limits.
|
||||
|
||||
jobs:
|
||||
coverity_scan:
|
||||
name: Scan
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo add-apt-repository ppa:beineri/opt-qt-5.15.2-focal
|
||||
sudo apt update
|
||||
sudo apt install \
|
||||
build-essential cmake ninja-build pkg-config \
|
||||
libboost-dev libssl-dev qt515base qt515svg qt515tools zlib1g-dev
|
||||
|
||||
- name: Install libtorrent
|
||||
run: |
|
||||
git clone --branch v2.0.4 --depth 1 https://github.com/arvidn/libtorrent.git
|
||||
cd libtorrent
|
||||
git submodule update --init --recursive
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-Ddeprecated-functions=OFF
|
||||
cmake --build build
|
||||
sudo cmake --install build
|
||||
|
||||
- name: Download Coverity Build Tool
|
||||
run: |
|
||||
wget \
|
||||
-q \
|
||||
https://scan.coverity.com/download/linux64 \
|
||||
--post-data "token=${{ secrets.COVERITY_SCAN_TOKEN }}&project=qbittorrent%2FqBittorrent" \
|
||||
-O coverity_tool.tgz
|
||||
mkdir coverity_tool
|
||||
tar xzf coverity_tool.tgz --strip 1 -C coverity_tool
|
||||
|
||||
- name: Build qBittorrent
|
||||
run: |
|
||||
cmake \
|
||||
-B build \
|
||||
-G "Ninja" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DGUI=ON \
|
||||
-DVERBOSE_CONFIGURE=ON
|
||||
export PATH="$(pwd)/coverity_tool/bin:$PATH"
|
||||
cov-build --dir cov-int cmake --build build
|
||||
|
||||
- name: Submit the result to Coverity Scan
|
||||
run: |
|
||||
tar caf qbittorrent.xz cov-int
|
||||
curl \
|
||||
--form token="${{ secrets.COVERITY_SCAN_TOKEN }}" \
|
||||
--form email=sledgehammer999@qbittorrent.org \
|
||||
--form file=@qbittorrent.xz \
|
||||
--form version="$(git rev-parse --short HEAD)" \
|
||||
--form description="master" \
|
||||
https://scan.coverity.com/builds?project=qbittorrent%2FqBittorrent
|
||||
85
.github/workflows/file_health.sh
vendored
85
.github/workflows/file_health.sh
vendored
@@ -1,85 +0,0 @@
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
set -o nounset
|
||||
|
||||
# Assumption: file names don't contain `:` (for the `cut` invocation).
|
||||
# Safe to assume, as such a character in a filename would cause trouble on Windows, a platform we support
|
||||
|
||||
# any regression turn this non-zero
|
||||
regressions=0
|
||||
|
||||
# exclusions (these are just grep extended regular expressions to match against paths relative to the root of the repository)
|
||||
exclusions_nonutf8='(.*(7z|gif|ic(ns|o)|png|qm|zip))'
|
||||
exclusions_bom='src/base/unicodestrings.h'
|
||||
exclusions_tw='(*.ts)|src/webui/www/private/scripts/lib/*'
|
||||
exclusions_trailing_newline='configure'
|
||||
exclusions_no_lf='(*.ts)|(.*svg)|compile_commands.json|src/webui/www/private/scripts/lib/*'
|
||||
|
||||
echo -e "\n*** Detect files not encoded in UTF-8 ***\n"
|
||||
|
||||
find . -path ./build -prune -false -o -path ./.git -prune -false -o -type f -exec file --mime {} \; | sort \
|
||||
| grep -v -e "charset=us-ascii" -e "charset=utf-8" | cut -d ":" -f 1 \
|
||||
| grep -E -v -e "${exclusions_nonutf8}" \
|
||||
| tee >(echo -e "--> Files not encoded in UTF-8: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
|
||||
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
|
||||
regressions=$((regressions+$?))
|
||||
|
||||
echo -e "\n*** Detect files encoded in UTF-8 with BOM ***\n"
|
||||
|
||||
grep --exclude-dir={.git,build} -rIl $'\xEF\xBB\xBF' | sort \
|
||||
| grep -E -v -e "${exclusions_bom}" \
|
||||
| tee >(echo -e "--> Files encoded in UTF-8 with BOM: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
|
||||
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
|
||||
regressions=$((regressions+$?))
|
||||
|
||||
echo -e "\n*** Detect usage of CR byte ***\n"
|
||||
|
||||
grep --exclude-dir={.git,build} -rIlU $'\x0D' | sort \
|
||||
| tee >(echo -e "--> Usage of CR byte: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
|
||||
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
|
||||
regressions=$((regressions+$?))
|
||||
|
||||
echo -e "\n*** Detect trailing whitespace in lines ***\n"
|
||||
|
||||
grep --exclude-dir={.git,build} -rIl "[[:blank:]]$" | sort \
|
||||
| grep -E -v -e "${exclusions_tw}" \
|
||||
| tee >(echo -e "--> Trailing whitespace in lines: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
|
||||
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0';
|
||||
regressions=$((regressions+$?))
|
||||
|
||||
echo -e "\n*** Detect too many trailing newlines ***\n"
|
||||
|
||||
find . -path ./build -prune -false -o -path ./.git -prune -false -o -type f -exec file --mime {} \; | sort \
|
||||
| grep -e "charset=us-ascii" -e "charset=utf-8" | cut -d ":" -f 1 \
|
||||
| grep -E -v -e "${exclusions_trailing_newline}" \
|
||||
| xargs -L1 -I my_input bash -c 'test "$(tail -q -c2 "my_input" | hexdump -C | grep "0a 0a")" && echo "my_input"' \
|
||||
| tee >(echo -e "--> Too many trailing newlines: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
|
||||
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
|
||||
regressions=$((regressions+$?))
|
||||
|
||||
echo -e "\n*** Detect no trailing newline ***\n"
|
||||
|
||||
find . -path ./build -prune -false -o -path ./.git -prune -false -o -type f -exec file --mime {} \; | sort \
|
||||
| grep -e "charset=us-ascii" -e "charset=utf-8" | cut -d ":" -f 1 \
|
||||
| grep -E -v -e "${exclusions_no_lf}" \
|
||||
| xargs -L1 -I my_input bash -c 'test "$(tail -q -c1 "my_input" | hexdump -C | grep "0a")" || echo "my_input"' \
|
||||
| tee >(echo -e "--> No trailing newline: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
|
||||
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
|
||||
regressions=$((regressions+$?))
|
||||
|
||||
echo -e "\n*** Detect translation closing tag in new line ***\n"
|
||||
|
||||
grep --exclude-dir={.git,build} -nri "^</translation>" | sort \
|
||||
| cut -d ":" -f 1,2 \
|
||||
| tee >(echo -e "--> Translation closing tag in new line: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
|
||||
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
|
||||
regressions=$((regressions+$?))
|
||||
|
||||
if [ "$regressions" -ne 0 ]; then
|
||||
regressions=1
|
||||
echo "\nFile health regressions found. Please fix them (or add them as exclusions)."
|
||||
else
|
||||
echo "All OK, no file health regressions found."
|
||||
fi
|
||||
|
||||
exit $regressions;
|
||||
22
.github/workflows/stale_bot.yaml
vendored
Normal file
22
.github/workflows/stale_bot.yaml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
name: Stale bot
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Mark and close stale PRs
|
||||
uses: actions/stale@v4
|
||||
with:
|
||||
stale-pr-message: "This PR is stale because it has been 60 days with no activity. This PR will be automatically closed within 7 days if there is no further activity."
|
||||
close-pr-message: "This PR was closed because it has been stalled for some time with no activity."
|
||||
days-before-stale: -1 # avoid marking issues
|
||||
days-before-pr-stale: 60
|
||||
days-before-close: -1 # avoid closing issues
|
||||
days-before-pr-close: 7
|
||||
exempt-all-pr-assignees: true # avoid stale for all PR with assignees
|
||||
exempt-all-pr-milestones: true # avoid stale for all PR with milestones
|
||||
operations-per-run: 200
|
||||
55
.pre-commit-config.yaml
Normal file
55
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,55 @@
|
||||
repos:
|
||||
- repo: local
|
||||
hooks:
|
||||
- id: check-translation-tag
|
||||
name: Check newline characters in <translation> tag
|
||||
entry: .github/workflows/check_translation_tag.py
|
||||
language: script
|
||||
types_or:
|
||||
- ts
|
||||
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks.git
|
||||
rev: v4.0.1
|
||||
hooks:
|
||||
- id: check-json
|
||||
name: Check JSON files
|
||||
|
||||
- id: check-yaml
|
||||
name: Check YAML files
|
||||
|
||||
- id: fix-byte-order-marker
|
||||
name: Check file encoding (UTF-8 without BOM)
|
||||
exclude: |
|
||||
(?x)^(
|
||||
src/base/unicodestrings.h
|
||||
)$
|
||||
|
||||
- id: mixed-line-ending
|
||||
name: Check line ending character (LF)
|
||||
args: ["--fix=lf"]
|
||||
exclude: |
|
||||
(?x)^(
|
||||
compile_commands.json |
|
||||
src/webui/www/private/scripts/lib/.*
|
||||
)$
|
||||
|
||||
- id: end-of-file-fixer
|
||||
name: Check trailing newlines
|
||||
exclude: |
|
||||
(?x)^(
|
||||
compile_commands.json |
|
||||
configure |
|
||||
src/webui/www/private/scripts/lib/.*
|
||||
)$
|
||||
exclude_types:
|
||||
- svg
|
||||
- ts
|
||||
|
||||
- id: trailing-whitespace
|
||||
name: Check trailing whitespaces
|
||||
exclude: |
|
||||
(?x)^(
|
||||
src/webui/www/private/scripts/lib/.*
|
||||
)$
|
||||
exclude_types:
|
||||
- ts
|
||||
@@ -12,15 +12,18 @@ project(qBittorrent
|
||||
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
|
||||
# version requirements - older versions may work, but you are on your own
|
||||
set(minBoostVersion 1.65)
|
||||
set(minQtVersion 5.11)
|
||||
set(minQt5Version 5.15.2)
|
||||
set(minQt6Version 6.2)
|
||||
set(minOpenSSLVersion 1.1.1)
|
||||
set(minLibtorrentVersion 1.2.12)
|
||||
set(minLibtorrent1Version 1.2.14)
|
||||
set(minLibtorrentVersion 2.0.4)
|
||||
set(minZlibVersion 1.2.11)
|
||||
|
||||
# features (some are platform-specific)
|
||||
include(CheckCXXSourceCompiles) # TODO: migrate to CheckSourceCompiles in CMake >= 3.19
|
||||
include(FeatureSummary)
|
||||
include(FeatureOptionsSetup)
|
||||
feature_option(QT6 "Use Qt6" OFF)
|
||||
feature_option(STACKTRACE "Enable stacktraces" ON)
|
||||
feature_option(GUI "Build GUI application" ON)
|
||||
feature_option(WEBUI "Enables built-in HTTP server for headless use" ON)
|
||||
|
||||
@@ -6,22 +6,14 @@ Read the respective section to find out more.
|
||||
### Table Of Contents
|
||||
|
||||
* **[Bug reporting etiquette](#bug-reporting-etiquette)**
|
||||
|
||||
|
||||
* **[Submitting an issue/bug report](#submitting-an-issuebug-report)**
|
||||
* [What is an actual bug report?](#what-is-an-actual-bug-report)
|
||||
* [Before submitting a bug report](#before-submitting-a-bug-report)
|
||||
* [Steps to ensure a good bug report](#steps-to-ensure-a-good-bug-report)
|
||||
|
||||
|
||||
* **[Suggesting enhancements/feature requests](#suggesting-enhancementsfeature-requests)**
|
||||
* [Before submitting an enhancement/feature request](#before-submitting-an-enhancementfeature-request)
|
||||
* [Steps to ensure a good enhancement/feature suggestion](#steps-to-ensure-a-good-enhancementfeature-suggestion)
|
||||
|
||||
|
||||
* **[Opening a pull request](#opening-a-pull-request)**
|
||||
* [Must read](#must-read)
|
||||
* [Good to know](#good-to-know)
|
||||
|
||||
# Bug reporting etiquette
|
||||
|
||||
@@ -194,28 +186,26 @@ Following these guidelines helps maintainers and the community understand your s
|
||||
|
||||
# Opening a pull request
|
||||
|
||||
### Must read
|
||||
* Read our [**coding guidelines**][coding-guidelines-url]. There are some scripts to help you: [uncrustify script][uncrustify-script-url], [astyle script][astyle-script-url], [(related thread)][coding-guidelines-thread-url].
|
||||
* Keep the title **short** and provide a **clear** description about what your pull request does.
|
||||
* Provide **screenshots** for UI related changes.
|
||||
* Keep your git commit history **clean** and **precise.** Refer to the section about "Git commit messages" in the [**coding guidelines**][coding-guidelines-url].
|
||||
* If your commit fixes a reported issue (for example #4134), add the following message to the commit `Closes #4134.`. Example [here][commit-message-fix-issue-example-url].
|
||||
* Consult [coding guidelines][coding-guidelines-url] first. If you are working on translation/i18n, read ["How to translate qBittorrent"][how-to-translate-url].
|
||||
* Keep your git commit history clean.
|
||||
* Refer to the section about ["Git commit messages"][coding-guidelines-git-commit-message-url] in the coding guidelines.
|
||||
* When merge conflicts arise, do `git rebase <target_branch_name>` and fix the conflicts, don't do `git pull`. Here is a good explanation: [merging-vs-rebasing][merging-vs-rebasing-url].
|
||||
* Keep pull request title concise and provide motivation and "what it does" in the pull request description area. Make it easy to read and understand.
|
||||
* Provide screenshots for UI related changes.
|
||||
* If your commit addresses a reported issue (for example issue #8454), append the following text to the commit body `Closes #8454.`. Example [commit][commit-message-fix-issue-example-url].
|
||||
* Search [pull request list][pull-request-list-url] first. Others might have already implemented your idea (or got rejected already).
|
||||
|
||||
### Good to know
|
||||
* **Search** pull request history! Others might have already implemented your idea and it is waiting to be merged (or got rejected already). Save your precious time by doing a search first.
|
||||
* When resolving merge conflicts, do `git rebase <target_branch_name>`, don't do `git pull`. Then you can start fixing the conflicts. Here is a good explanation: [link][merging-vs-rebasing-url].
|
||||
|
||||
[astyle-script-url]: https://gist.github.com/Chocobo1/539cee860d1eef0acfa6
|
||||
[attachments-howto-url]: https://help.github.com/articles/file-attachments-on-issues-and-pull-requests
|
||||
[builds-url]: https://sourceforge.net/projects/qbittorrent/files/
|
||||
[coding-guidelines-url]: https://github.com/qbittorrent/qBittorrent/blob/master/CODING_GUIDELINES.md
|
||||
[coding-guidelines-thread-url]: https://github.com/qbittorrent/qBittorrent/issues/2192
|
||||
[coding-guidelines-git-commit-message-url]: https://github.com/qbittorrent/qBittorrent/blob/master/CODING_GUIDELINES.md#10-git-commit-message
|
||||
[commit-message-fix-issue-example-url]: https://github.com/qbittorrent/qBittorrent/commit/c07cd440cd46345297debb47cb260f8688975f50
|
||||
[forum-url]: http://forum.qbittorrent.org/
|
||||
[howto-report-bugs-url]: https://www.chiark.greenend.org.uk/~sgtatham/bugs.html
|
||||
[how-to-translate-url]: https://github.com/qbittorrent/qBittorrent/wiki/How-to-translate-qBittorrent
|
||||
[merging-vs-rebasing-url]: https://www.atlassian.com/git/tutorials/merging-vs-rebasing
|
||||
[pull-request-list-url]: https://github.com/qbittorrent/qBittorrent/pulls
|
||||
[python-url]: https://www.python.org/
|
||||
[releases-url]: https://github.com/qbittorrent/qBittorrent/releases
|
||||
[search-plugins-url]: https://github.com/qbittorrent/search-plugins
|
||||
[uncrustify-script-url]: https://raw.githubusercontent.com/qbittorrent/qBittorrent/master/uncrustify.cfg
|
||||
[wiki-url]: https://github.com/qbittorrent/qBittorrent/wiki
|
||||
[builds-url]: https://sourceforge.net/projects/qbittorrent/files/
|
||||
|
||||
168
Changelog
168
Changelog
@@ -1,168 +1,6 @@
|
||||
Sun Oct 31 2021 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.3.9
|
||||
- BUGFIX: Fix "no action" option on torrent double click (Jose M. Abuin)
|
||||
- BUGFIX: Fix broken behavior of "priority by shown file order" (Chocobo1)
|
||||
- WEBUI: Fix WebUI crash when tracker URL is invalid (Chocobo1)
|
||||
- WEBUI: Revert "WebUI: group trackers by hostname" (Chocobo1)
|
||||
- WINDOWS: Remove Windows Vista support from manifest (xavier2k6)
|
||||
- WINDOWS: NSIS: Update Korean, Indonesian and Traditional Chinese translation (JungHee Lee, Faisal Al-Munawar Fathur Rahman, SiderealArt)
|
||||
|
||||
Sun Aug 29 2021 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.3.8
|
||||
- BUGFIX: Delay processing of watched folders (#15282) (glassez)
|
||||
- BUGFIX: Use the same icon for selecting folders/files (Chocobo1)
|
||||
- BUGFIX: Use default upper limits for ddns entries (Chocobo1)
|
||||
- WEBUI: Expose SSRF mitigation (#15247) (Sylvain Finot)
|
||||
- WEBUI: Update webui libraries (Chocobo1)
|
||||
- WEBUI: Group trackers by hostname (#15264) (Mengyang Li)
|
||||
- WEBUI: Improve "last activity" calculation in WebAPI (#15339) (Chocobo1)
|
||||
- WINDOWS: NSIS: Add Polish translation (#15262) (Matthaiks)
|
||||
|
||||
Tue Aug 03 2021 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.3.7
|
||||
- BUGFIX: Don't forget to start Watched folders timer (glassez)
|
||||
- BUGFIX: Don't close tags menu when toggling items (tgregerson)
|
||||
- BUGFIX: Don't overwrite tracker message (glassez)
|
||||
- BUGFIX: Bump file pool size (#14966) (An0n)
|
||||
- BUGFIX: Properly create "clean path" for watched folder (glassez)
|
||||
- WEBUI: Disconnect comment links (Daniel Aleksandersen)
|
||||
- WINDOWS: NSIS: Update Danish translation (scootergrisen)
|
||||
|
||||
Sat Jun 26 2021 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.3.6
|
||||
- FEATURE: New languages: Mongolian, Persian, Thai
|
||||
- BUGFIX: Provide correct error description in "upload mode" (glassez)
|
||||
- BUGFIX: Allow adding torrents with relative save path (glassez)
|
||||
- BUGFIX: Fix main window turns blank after restoring from tray (#15031) (Chocobo1)
|
||||
- BUGFIX: Remove the lockfile on exit (#14997) (brvphoenix)
|
||||
- BUGFIX: Improve "Watched folders" feature (glassez)
|
||||
- BUGFIX: Keep sub-sorting order (#15074) (Dmitry Khlestkov)
|
||||
- BUGFIX: Properly add torrent with new tags (glassez)
|
||||
- WINDOWS: NSIS: Update Japanese, Turkish, Hungarian, Swedish translation (maboroshin, Burak Yavuz, xkrstudio, nonew-star)
|
||||
|
||||
Sun May 02 2021 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.3.5
|
||||
- BUGFIX: Move cursor to the end when autofilling URL/hash in "Download from URLs" dialog (Chocobo1)
|
||||
- BUGFIX: Sort invalid QDateTime values after valid values (Chocobo1)
|
||||
- BUGFIX: Fix tabChangesFocus attribute in "Edit trackers" dialog (Christoph Rackwitz)
|
||||
- BUGFIX: Update DynDNS register url (zhuangzi926)
|
||||
- BUGFIX: Handle "not enough disk space" error more graciously (glassez)
|
||||
- BUGFIX: Correctly draw progress background with stylesheet (jagannatharjun)
|
||||
- WEBUI: Fix magnet url from the search facility (Chocobo1)
|
||||
- WEBUI: Revise folder monitoring functions (Chocobo1)
|
||||
- WEBUI: Fix magnet url from the browser (brvphoenix)
|
||||
- WEBUI: Allow to specify file indexes in torrents/files API (glassez)
|
||||
- WINDOWS: NSIS: Allow more strings to translated (bovirus, Chocobo1)
|
||||
- WINDOWS: NSIS: Update Italian, German, Estonian, Russian, PortugueseBR translations (bovirus, Henry Water, PriitUring, Долматов Алексей, Felipe)
|
||||
- LINUX: Fix D-Bus Notification `desktop-entry` field (Chocobo1)
|
||||
- MACOS: Don't use executable name as CFBundleName value (Nick Korotysh)
|
||||
- OTHER: Lower Qt requirement to 5.11 (sledgehammer999)
|
||||
- OTHER: Clarify that the license is GPLv2+ (sledgehammer999)
|
||||
|
||||
Wed Mar 24 2021 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.3.4.1
|
||||
- BUGFIX: Correctly draw progress bar (glassez)
|
||||
- WEBUI: Fix javascript code which broke the UI (Chocobo1)
|
||||
|
||||
Tue Mar 23 2021 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.3.4
|
||||
- FEATURE: Add ability to prioritize selected items by shown file order (Chocobo1)
|
||||
- FEATURE: Allow tab to escape the text box in "Edit trackers" dialog (Christoph Rackwitz)
|
||||
- FEATURE: Support sub-sorting in Transferlist (jagannatharjun)
|
||||
- FEATURE: Expose ToS setting from libtorrent (Chocobo1)
|
||||
- FEATURE: Improve tracker entries handling (glassez)
|
||||
- BUGFIX: Drop extension from generated content folder name (glassez)
|
||||
- BUGFIX: Change qBittorrent Updater window title (xavier2k6)
|
||||
- BUGFIX: Validate HTTPS Tracker Certificate by default (an0n666)
|
||||
- BUGFIX: Don't let "program update" dialog steal focus (Chocobo1)
|
||||
- BUGFIX: Disable expand on double click in TorrentContentTreeView (jagannatharjun)
|
||||
- BUGFIX: Add hyperlink to Transifex on translator list (Si Yong Kim)
|
||||
- BUGFIX: Enlarge "speed limit" icon slightly (Chocobo1)
|
||||
- BUGFIX: Don't prevent system sleep due to errored torrents (dyumin)
|
||||
- BUGFIX: Use stable sorting in transfer list (Chocobo1)
|
||||
- BUGFIX: Allow "missing files" torrents to save more resume data (glassez)
|
||||
- BUGFIX: Restart "missing files" torrents after changing location (glassez)
|
||||
- BUGFIX: Show proper string when torrent availability is not available (Chocobo1)
|
||||
- BUGFIX: Apply "Hide zero/infinity values" to "Time Active", "Down/Up Limit" and ETA columns (Chocobo1)
|
||||
- BUGFIX: Fix potential out-of-bounds access (Chocobo1)
|
||||
- BUGFIX: Make SpeedPlotView averager time aware (jagannatharjun)
|
||||
- BUGFIX: Add a 3-Hour graph (jagannatharjun)
|
||||
- BUGFIX: Add an option to disable icons in menus (always disabled on MacOS) (Michał Kopeć)
|
||||
- BUGFIX: Improve detection of filename extension of audio/video files (Chocobo1)
|
||||
- BUGFIX: Various drawing improvements of progress bar (Chocobo1)
|
||||
- BUGFIX: Properly stop torrent creation if aborted (Chocobo1)
|
||||
- BUGFIX: Replace external program parameters in one step (Chocobo1)
|
||||
- BUGFIX: Improve "save resume data" handling (glassez)
|
||||
- BUGFIX: Fix bad IPv6 address format for outgoingInterfaces (treysis)
|
||||
- WEBUI: Properly decode strings (brvphoenix)
|
||||
- WEBUI: Accept "share limits" when adding torrent using WebAPI (glassez)
|
||||
- WEBUI: Add seeding time to the active time column (thalieht)
|
||||
- WEBUI: Fix incorrect seeding time string in General tab (thalieht)
|
||||
- WEBUI: Allow >100 days in WebUI function "friendlyDuration" (thalieht)
|
||||
- WEBUI: Avoid decoding strings repeatedly (brvphoenix)
|
||||
- RSS: Add category button on AutomatedRSSDownloader on GUI (Si Yong Kim)
|
||||
- WINDOWS: NSIS: Update Czech translation (slrslr)
|
||||
- WINDOWS: NSIS: Update Portuguese BR translation (Alex)
|
||||
- WINDOWS: NSIS: Add Estonian translation (PriitUring)
|
||||
- WINDOWS: Allow change-case-only file renaming (glassez)
|
||||
- LINUX: Systemd: wait for mounting of local filesystems (Juraj Oršulić)
|
||||
- OTHER: Raise minimum libtorrent version to 1.2.12 (glassez)
|
||||
- OTHER: Raise minimum Qt version to 5.12 (glassez)
|
||||
|
||||
Tue Jan 19 2021 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.3.3
|
||||
- FEATURE: New languages: Azerbaijani, Estonian
|
||||
- BUGFIX: Unify global speed dialogs for normal/alternative speeds (thalieht)
|
||||
- BUGFIX: Increase maximum global speed limits ~2 GiB/s (thalieht)
|
||||
- BUGFIX: Save fastresume when setting torrent speed limits (thalieht)
|
||||
- BUGFIX: Group several torrent options into one dialog (thalieht)
|
||||
- BUGFIX: Capitalize locale names (Chocobo1)
|
||||
- BUGFIX: Improve content file/folder names handling (glassez)
|
||||
- BUGFIX: Drop notification about move storage finished or failed (glassez)
|
||||
- BUGFIX: Reload "missing files" torrent instead of re-checking (glassez)
|
||||
- BUGFIX: Remember dialog sizes (Chocobo1)
|
||||
- BUGFIX: Improve detection of file extension string (Chocobo1)
|
||||
- WEBUI: Don't call non-existent elements (glassez)
|
||||
- WEBUI: Update "Keep top-level folder" in WebUI options (thalieht)
|
||||
- MACOS: QMake: Raise minimal macOS target version to 10.14 (glassez)
|
||||
- LINUX: Use legacy 'data' directory only as a fallback (lbilli)
|
||||
- OTHER: Bump project requirement to C++17 (Chocobo1)
|
||||
|
||||
Sun Dec 27 2020 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.3.2
|
||||
- FEATURE: Allow to add root folder to torrent content (glassez)
|
||||
- FEATURE: "HTTPS tracker validation" option is available on all platforms with latest libtorrent (Chocobo1)
|
||||
- FEATURE: Option for supporting internationalized domain names (IDNs) (Chocobo1)
|
||||
- BUGFIX: Fix broken sorting on some columns (Chocobo1)
|
||||
- BUGFIX: Fix availability per file value (Chocobo1)
|
||||
- BUGFIX: Fix status of torrents without metadata (sledgehammer999)
|
||||
- BUGFIX: Don't try to remove folders for a torrent without metadata (sledgehammer999)
|
||||
- BUGFIX: Lift upper limit of "Max concurrent HTTP announces" option (Chocobo1)
|
||||
- BUGFIX: Add links to libtorrent documentation (Chocobo1)
|
||||
- BUGFIX: Move "embedded tracker" options to qbt section (Chocobo1)
|
||||
- BUGFIX: Properly handle "Append extension" option changing (glassez)
|
||||
- BUGFIX: Correctly save paused torrent state (glassez)
|
||||
- BUGFIX: Fix bug of "move storage job" can be performed multiple times (glassez)
|
||||
- WEBUI: Add ability to use 'shift+delete' to delete torrents (Chocobo1)
|
||||
- WEBUI: Allow to attach tags while adding torrents (Jesse Chan)
|
||||
- WEBUI: Bump version to 2.6.2 (Jesse Chan)
|
||||
- WEBUI: Remove unnecessary restriction on input length (Chocobo1)
|
||||
- WINDOWS: NSIS: Update Russian translation (Andrei Stepanov)
|
||||
- WINDOWS: NSIS: Update Italian translation (Alessandro Simonelli)
|
||||
- OTHER: Drop support for building with libtorrent < 1.2.11 (Vladimir Golovnev)
|
||||
|
||||
Wed Nov 25 2020 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.3.1
|
||||
- FEATURE: Allow progress bar styling from custom themes (jagannatharjun)
|
||||
- FEATURE: Allow adding torrents using "Paste" key sequence (Chocobo1)
|
||||
- FEATURE: Add Latgalian translation (sledgehammer999)
|
||||
- BUGFIX: Prevent resume data to be saved for removed torrent (glassez)
|
||||
- BUGFIX: Clarify connection protocol choice label (FranciscoPombal)
|
||||
- BUGFIX: Fix crash when clicked outside the table of torrent content view (jagannatharjun)
|
||||
- BUGFIX: Don't resume "paused" torrents when put into "checking" state by libtorrent (glassez)
|
||||
- BUGFIX: Fix torrent state calculation (glassez)
|
||||
- BUGFIX: Align integer data to right in torrent content view (jagannatharjun)
|
||||
- WEBUI: Place WebUI RSS description in sandboxed iframe (Sepro)
|
||||
- WEBUI: Avoid settings being reset via WebAPI (Chocobo1)
|
||||
- WEBUI: Fix toggling advanced option in WebUI (thalieht)
|
||||
- WEBUI: Expose contentPath in WebAPI torrents/info (FranciscoPombal)
|
||||
- WEBUI: Fix the issue that IPv6 address can't be banned (brvphoenix)
|
||||
- RSS: Fix confusion in date format description (Thomas De Rocker)
|
||||
- WINDOWS: Update dutch.nsi (Thomas De Rocker)
|
||||
- LINUX: Update .desktop file translations (sledgehammer999)
|
||||
|
||||
Thu Oct 22 2020 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.3.0.1
|
||||
- WINDOWS: NSIS: Update Italian translation (bovirus)
|
||||
Unreleased - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.4.0
|
||||
- FEATURE: Add support for creating v2 torrents(requires libtorrent 2.0.x) (Chocobo1)
|
||||
- FEATURE: Expose libtorrent hashing_threads settings (Anton Bershanskiy)
|
||||
|
||||
Sun Oct 18 2020 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.3.0
|
||||
- FEATURE: Many UI elements colors are themeable now (jagannatharjun)
|
||||
|
||||
14
INSTALL
14
INSTALL
@@ -5,20 +5,22 @@ qBittorrent - A BitTorrent client in C++ / Qt
|
||||
|
||||
- Boost >= 1.65
|
||||
|
||||
- libtorrent-rasterbar >= 1.2.12 (by Arvid Norberg)
|
||||
* https://www.libtorrent.org/
|
||||
- libtorrent-rasterbar 1.2.14 - 1.2.x || 2.0.4 - 2.0.x
|
||||
* By Arvid Norberg, https://www.libtorrent.org/
|
||||
* Be careful: another library (the one used by rTorrent) uses a similar name
|
||||
|
||||
- OpenSSL >= 1.1.1
|
||||
|
||||
- Qt >= 5.12
|
||||
- Qt 5.15.2 - 5.x
|
||||
|
||||
- zlib >= 1.2.11
|
||||
|
||||
- pkg-config (compile-time only on *nix systems)
|
||||
- pkg-config *
|
||||
* Compile-time only on *nix systems
|
||||
|
||||
- Python >= 3.5.0 (optional, runtime only)
|
||||
* Required by the internal search engine
|
||||
- Python >= 3.5.0
|
||||
* Optional, run-time only
|
||||
* Used by the bundled search engine
|
||||
|
||||
Dependency version numbers are bumped every once in a while to keep the range of properly tested configurations manageable, even if not strictly required to build.
|
||||
You may be able to build with older versions of (some of) the dependencies other than the minimum versions specified in the build scripts, but support for such builds is not provided - you are on your own.
|
||||
|
||||
@@ -17,7 +17,7 @@ macro(qbt_common_config)
|
||||
)
|
||||
|
||||
target_compile_definitions(qbt_common_cfg INTERFACE
|
||||
QT_DEPRECATED_WARNINGS
|
||||
QT_DISABLE_DEPRECATED_BEFORE=0x050f02
|
||||
QT_NO_CAST_TO_ASCII
|
||||
QT_NO_CAST_FROM_BYTEARRAY
|
||||
QT_USE_QSTRINGBUILDER
|
||||
@@ -37,7 +37,7 @@ macro(qbt_common_config)
|
||||
)
|
||||
endif()
|
||||
|
||||
if ((CXX_COMPILER_ID STREQUAL "GNU") OR (CXX_COMPILER_ID STREQUAL "Clang") OR (CXX_COMPILER_ID STREQUAL "AppleClang"))
|
||||
if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang"))
|
||||
target_compile_options(qbt_common_cfg INTERFACE
|
||||
-Wall
|
||||
-Wextra
|
||||
@@ -59,7 +59,7 @@ macro(qbt_common_config)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if ((CXX_COMPILER_ID STREQUAL "Clang") OR (CXX_COMPILER_ID STREQUAL "AppleClang"))
|
||||
if ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang"))
|
||||
target_compile_options(qbt_common_cfg INTERFACE
|
||||
-Wno-range-loop-analysis
|
||||
)
|
||||
@@ -79,6 +79,8 @@ macro(qbt_common_config)
|
||||
target_compile_options(qbt_common_cfg INTERFACE
|
||||
/guard:cf
|
||||
/utf-8
|
||||
# https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/
|
||||
/Zc:__cplusplus
|
||||
)
|
||||
target_link_options(qbt_common_cfg INTERFACE
|
||||
/guard:cf
|
||||
@@ -88,4 +90,7 @@ macro(qbt_common_config)
|
||||
)
|
||||
endif()
|
||||
|
||||
if (LibtorrentRasterbar_VERSION VERSION_GREATER_EQUAL ${minLibtorrentVersion})
|
||||
target_compile_definitions(qbt_common_cfg INTERFACE QBT_USES_LIBTORRENT2)
|
||||
endif()
|
||||
endmacro(qbt_common_config)
|
||||
|
||||
@@ -45,6 +45,9 @@ DEFINES += BOOST_SYSTEM_STATIC_LINK
|
||||
# Enable if linking dynamically against libtorrent
|
||||
#DEFINES += TORRENT_LINKING_SHARED
|
||||
|
||||
# Enable this if compiling with libtorrent 2.x
|
||||
#DEFINES += QBT_USES_LIBTORRENT2
|
||||
|
||||
# Enable stack trace support
|
||||
CONFIG += stacktrace
|
||||
|
||||
|
||||
54
configure.ac
54
configure.ac
@@ -1,4 +1,5 @@
|
||||
AC_INIT([qbittorrent], [v4.3.9], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
|
||||
|
||||
AC_INIT([qbittorrent], [v4.4.0alpha], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
: ${CFLAGS=""}
|
||||
@@ -53,17 +54,32 @@ AC_ARG_ENABLE(qt-dbus,
|
||||
[enable_qt_dbus=yes])
|
||||
|
||||
# Detect OS
|
||||
AC_MSG_CHECKING([whether OS is FreeBSD])
|
||||
AS_IF([expr "$host_os" : ".*freebsd.*" > /dev/null],
|
||||
[AC_MSG_RESULT([yes])
|
||||
LIBS="-lexecinfo $LIBS"],
|
||||
[AC_MSG_RESULT([no])])
|
||||
AC_MSG_CHECKING([whether to enable specific tweaks for current host "$host_os"])
|
||||
case "$host_os" in
|
||||
*darwin*)
|
||||
AC_MSG_RESULT([yes])
|
||||
enable_qt_dbus=no
|
||||
;;
|
||||
|
||||
AC_MSG_CHECKING([whether OS is macOS])
|
||||
AS_IF([expr "$host_os" : ".*darwin.*" > /dev/null],
|
||||
[AC_MSG_RESULT([yes])
|
||||
enable_qt_dbus=no],
|
||||
[AC_MSG_RESULT([no])])
|
||||
*freebsd*)
|
||||
AC_MSG_RESULT([yes])
|
||||
LIBS="-lexecinfo $LIBS"
|
||||
;;
|
||||
|
||||
*haiku*)
|
||||
AC_MSG_RESULT([yes])
|
||||
LIBS="-lnetwork $LIBS"
|
||||
;;
|
||||
|
||||
*openbsd*)
|
||||
AC_MSG_RESULT([yes])
|
||||
LIBS="-lexecinfo $LIBS"
|
||||
;;
|
||||
|
||||
*)
|
||||
AC_MSG_RESULT([no])
|
||||
;;
|
||||
esac
|
||||
|
||||
# Require 0.23 pkg-config
|
||||
PKG_PROG_PKG_CONFIG([0.23])
|
||||
@@ -141,7 +157,7 @@ AS_IF([test "x$QT_QMAKE" = "x"],
|
||||
[AC_MSG_ERROR([Could not find qmake])
|
||||
])
|
||||
AS_IF([test "x$enable_gui" = "xyes"],
|
||||
[PKG_CHECK_MODULES(Qt5Svg, [Qt5Svg >= 5.11])
|
||||
[PKG_CHECK_MODULES(Qt5Svg, [Qt5Svg >= 5.15.2])
|
||||
])
|
||||
AC_MSG_CHECKING([whether QtDBus should be enabled])
|
||||
AS_CASE(["x$enable_qt_dbus"],
|
||||
@@ -175,14 +191,12 @@ m4_define([DETECT_BOOST_VERSION_PROGRAM],
|
||||
AC_COMPILE_IFELSE([DETECT_BOOST_VERSION_PROGRAM(106000)], [],
|
||||
[QBT_ADD_DEFINES="$QBT_ADD_DEFINES BOOST_NO_CXX11_RVALUE_REFERENCES"])
|
||||
|
||||
AX_BOOST_SYSTEM()
|
||||
AC_MSG_NOTICE([Boost.System LIB: "$BOOST_SYSTEM_LIB"])
|
||||
LIBS="$BOOST_SYSTEM_LIB $LIBS"
|
||||
|
||||
PKG_CHECK_MODULES(libtorrent,
|
||||
[libtorrent-rasterbar >= 1.2.12],
|
||||
[CXXFLAGS="$libtorrent_CFLAGS $CXXFLAGS"
|
||||
LIBS="$libtorrent_LIBS $LIBS"])
|
||||
[libtorrent-rasterbar >= 2.0.4],
|
||||
[CXXFLAGS="$libtorrent_CFLAGS $CXXFLAGS" LIBS="$libtorrent_LIBS $LIBS" QBT_ADD_DEFINES="$QBT_ADD_DEFINES QBT_USES_LIBTORRENT2"],
|
||||
[PKG_CHECK_MODULES(libtorrent,
|
||||
[libtorrent-rasterbar >= 1.2.14 libtorrent-rasterbar < 2],
|
||||
[CXXFLAGS="$libtorrent_CFLAGS $CXXFLAGS" LIBS="$libtorrent_LIBS $LIBS"])])
|
||||
|
||||
PKG_CHECK_MODULES(openssl,
|
||||
[openssl >= 1.1.1],
|
||||
@@ -216,7 +230,7 @@ AS_IF([test "x$QBT_CXX17_FOUND" = "xno"],
|
||||
CXXFLAGS="-std=c++17 $TMP_CXXFLAGS"
|
||||
AC_COMPILE_IFELSE([DETECT_CPP17_PROGRAM()],
|
||||
[AC_MSG_RESULT([no])
|
||||
QBT_ADD_CONFIG="$QBT_ADD_CONFIG c++1z"
|
||||
QBT_ADD_CONFIG="$QBT_ADD_CONFIG c++17"
|
||||
AC_MSG_WARN([C++17 mode is now force enabled. The C++ mode should match the mode that other libraries were built with, otherwise you'll likely get linking errors.])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
AC_MSG_ERROR([The compiler supports C++17 but the user or a dependency has explicitly enabled a lower mode.])])],
|
||||
|
||||
2
dist/mac/Info.plist
vendored
2
dist/mac/Info.plist
vendored
@@ -55,7 +55,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.3.9</string>
|
||||
<string>4.4.0</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
|
||||
BIN
dist/mac/qBitTorrentDocument.icns
vendored
BIN
dist/mac/qBitTorrentDocument.icns
vendored
Binary file not shown.
BIN
dist/mac/qbittorrent_mac.icns
vendored
BIN
dist/mac/qbittorrent_mac.icns
vendored
Binary file not shown.
11
dist/unix/CMakeLists.txt
vendored
11
dist/unix/CMakeLists.txt
vendored
@@ -30,12 +30,6 @@ install(FILES ${MAN_FILES}
|
||||
)
|
||||
|
||||
if (GUI)
|
||||
install(DIRECTORY menuicons/
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor
|
||||
COMPONENT data
|
||||
FILES_MATCHING PATTERN "*.png"
|
||||
)
|
||||
|
||||
install(FILES org.qbittorrent.qBittorrent.desktop
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications/
|
||||
COMPONENT data
|
||||
@@ -46,6 +40,11 @@ if (GUI)
|
||||
COMPONENT data
|
||||
)
|
||||
|
||||
install(DIRECTORY menuicons/
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor
|
||||
COMPONENT data
|
||||
)
|
||||
|
||||
install(FILES
|
||||
${PROJECT_SOURCE_DIR}/src/icons/qbittorrent-tray.svg
|
||||
${PROJECT_SOURCE_DIR}/src/icons/qbittorrent-tray-dark.svg
|
||||
|
||||
16
dist/unix/menuicons/scalable/apps/qbittorrent.svg
vendored
Normal file
16
dist/unix/menuicons/scalable/apps/qbittorrent.svg
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
|
||||
<title>
|
||||
qbittorrent-new-light
|
||||
</title>
|
||||
<defs>
|
||||
<linearGradient x1="34.012%" y1="0%" x2="76.373%" y2="76.805%" id="a">
|
||||
<stop stop-color="#72B4F5" offset="0%"/>
|
||||
<stop stop-color="#356EBF" offset="100%"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g fill="none" fill-rule="evenodd">
|
||||
<circle stroke="#DAEFFF" stroke-width="32" fill="url(#a)" cx="512" cy="512" r="496"/>
|
||||
<path d="M712.898 332.399q66.657 0 103.38 45.671 37.03 45.364 37.03 128.684t-37.34 129.61q-37.03 45.98-103.07 45.98-33.02 0-60.484-12.035-27.156-12.344-45.672-37.649h-3.703l-10.8 43.512h-36.724V196h51.227v116.65q0 39.191-2.469 70.359h2.47q35.796-50.61 106.155-50.61zm-7.406 42.894q-52.46 0-75.605 30.242-23.145 29.934-23.145 101.219t23.762 102.145q23.761 30.55 76.222 30.55 47.215 0 70.36-34.254 23.144-34.562 23.144-99.058 0-66.04-23.144-98.442-23.145-32.402-71.594-32.402z" fill="#fff"/>
|
||||
<path d="M317.273 639.45q51.227 0 74.68-27.466 23.453-27.464 24.996-92.578v-11.418q0-70.976-24.07-102.144-24.07-31.168-76.223-31.168-45.055 0-69.125 35.18-23.762 34.87-23.762 98.75 0 63.879 23.454 97.515 23.761 33.328 70.05 33.328zm-7.715 42.894q-65.421 0-102.144-45.98-36.723-45.981-36.723-128.376 0-83.011 37.032-129.609 37.03-46.598 103.07-46.598 69.433 0 106.773 52.461h2.778l7.406-46.289h40.426V828h-51.227V683.27q0-30.86 3.395-52.461h-4.012q-35.488 51.535-106.774 51.535z" fill="#c8e8ff"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -74,6 +74,6 @@
|
||||
<url type="translate">https://github.com/qbittorrent/qBittorrent/wiki/How-to-translate-qBittorrent</url>
|
||||
<content_rating type="oars-1.1"/>
|
||||
<releases>
|
||||
<release version="4.3.9" date="2021-10-31"/>
|
||||
<release version="4.4.0" date="2020-10-18"/>
|
||||
</releases>
|
||||
</component>
|
||||
|
||||
@@ -9,6 +9,7 @@ Type=simple
|
||||
PrivateTmp=false
|
||||
User=%i
|
||||
ExecStart=@EXPAND_BINDIR@/qbittorrent-nox
|
||||
TimeoutStopSec=1800
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
2
dist/windows/options.nsi
vendored
2
dist/windows/options.nsi
vendored
@@ -28,7 +28,7 @@ XPStyle on
|
||||
!define CSIDL_LOCALAPPDATA '0x1C' ;Local Application Data path
|
||||
|
||||
; Program specific
|
||||
!define PROG_VERSION "4.3.9"
|
||||
!define PROG_VERSION "4.4.0"
|
||||
|
||||
!define MUI_FINISHPAGE_RUN
|
||||
!define MUI_FINISHPAGE_RUN_FUNCTION PageFinishRun
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user