Commit graph

12871 commits

Author SHA1 Message Date
Chocobo1
2fe91a6c8f
GHA CI: only store cache for master branch
Also set a lower cache limit for macOS to prevent cache thrashing. Previously the default was 5G.

PR #20640.
2024-04-01 19:36:45 +08:00
Chocobo1
90383567b2
Revise Tracker related classes
And also rename them.

PR #20489.
2024-04-01 19:17:35 +08:00
Thomas Piccirello
4967f977c5
WebUI: Improve accuracy of trackers list
This PR fixes various accounting issues with the trackers list. Removing a torrent would not update the trackers list, nor would removing a tracker from a torrent. And removing a tracker with a shared host but unique url (e.g. example.com/1 and example.com/2) would erroneously remove the tracker's host from the list.

Closes #20053.
Closes #20054.
PR  #20601.
2024-03-29 15:43:49 +08:00
Thomas Piccirello
eb9e98a4b3
WebUI: Add support for running concurrent searches
This PR adds support for running multiple concurrent searches in the Web UI. This is already supported in the GUI as well as by the Web API. Behavior mimics the GUI as closely as possible.

All filters and sorting are preserved per-tab, allowing you to apply unique filters and sorts to each of your searches. Row selection is also preserved across tab navigation.

Closes #12840.
PR #20593.
2024-03-29 15:05:43 +08:00
Vladimir Golovnev
f5cac13979
Prevent app from being closed when disabling system tray icon
PR #20627.
Closes #20604.
2024-03-29 09:38:54 +03:00
Chocobo1
f20467889d
Improve AppStream metadata
PR #20606.
2024-03-26 22:06:57 +08:00
Vladimir Golovnev
5e8b9df859
Revamp system tray icon menu handling
Update system tray icon menu without re-create it.

PR #20597.
Closes #20516.
2024-03-26 15:24:43 +03:00
Thomas Piccirello
489bacd766
WebUI: Conditionally show filters sidebar
This fixes a bug where the filters sidebar would always be displayed when switching back to the Transfers tab.

Closes #19257.
PR #20600.
2024-03-26 12:41:47 +08:00
thalieht
5d1c249606
Use Start/Stop instead of Resume/Pause
PR #20532.

---------

Co-authored-by: Vladimir Golovnev (Glassez) <glassez@yandex.ru>
2024-03-25 19:11:04 +03:00
Chocobo1
f2d6129db3
Merge pull request #20590 from Chocobo1/py
GHA CI: check python scripts
2024-03-25 13:42:09 +08:00
HamletDuFromage
5c67c5a77d
Add regex toggle for WebUI torrent filtering
PR #20566.
2024-03-24 13:44:57 +08:00
Vladimir Golovnev
ce013f132f
Refresh custom colors once color scheme is changed
PR #20588.
2024-03-23 11:32:07 +03:00
Chocobo1
abcf1e076e
Remove unused script 2024-03-23 13:55:58 +08:00
Chocobo1
47c38e8d91
Apply formatting 2024-03-23 13:55:58 +08:00
Chocobo1
34d19e5714
GHA CI: check python scripts 2024-03-23 13:54:57 +08:00
Vladimir Golovnev
25b7972f88
Initialize completer for file system path widget on demand
PR #20586.
2024-03-23 08:18:36 +03:00
Vladimir Golovnev
845f9a821e
Use better icons for RSS articles (#20587) 2024-03-22 18:46:25 +03:00
Vladimir Golovnev
b489262f51
Add workaround to refresh styled controls once color scheme is changed
PR #20569.
2024-03-21 11:14:41 +03:00
sledgehammer999
a5681f72bc
Bump to v5.0.0beta1 2024-03-19 02:44:55 +02:00
sledgehammer999
9e569f1a70
Update Changelog 2024-03-19 02:23:13 +02:00
foxi69
9d3c314ac0
NSIS: Update Hungarian translation
PR #20565
2024-03-19 01:56:05 +02:00
Chocobo1
931de85ab5
Merge pull request #20520 from Chocobo1/i18n
Use client side translation for public login page
2024-03-18 13:23:44 +08:00
sledgehammer999
6a82cb1af6
Update WebUI translations from old format 2024-03-16 01:20:11 +08:00
sledgehammer999
f8ae8f419d
Add helper scripts to manage WebUI translations 2024-03-16 01:20:11 +08:00
Chocobo1
ac91c1348b
Use client side translation for public login page
The translation strings are meant to be synced from Transifex.
2024-03-16 01:20:11 +08:00
MarcDrieu
d7aaf80744
Update french.nsh (#20545)
Updated a couple of strings with more accurate wording.

PR #20545
2024-03-14 22:46:51 +02:00
tehcneko
50caa231f7
Fix invisible tray icon on Plasma 6 in Linux
PR #20529.
Closes #20367.

---------

Co-authored-by: thalieht <thalieht@users.noreply.github.com>
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2024-03-13 10:24:08 +03:00
Vladimir Golovnev
d5e41bf679
Allow torrents to override default share limit action
PR #20528.
2024-03-12 14:08:59 +03:00
Chocobo1
773cb1e55d
Ensure the profile path is pointing to a directory
Closes #20513.
PR #20519.
2024-03-11 13:02:51 +08:00
Chocobo1
0967bdc715
Switch to lightweight function for filtering data
We can use this function since the columns doesn't change.

PR #20518.
2024-03-11 12:54:38 +08:00
Thomas Piccirello
c06817f4eb Add button for sending test email
This allows for easily testing whether the provided email configuration is correct.

PR #20488.
2024-03-08 21:51:44 +08:00
Vladimir Golovnev
1702b6c891
Correctly handle share limits in torrent options dialog
PR #20485.
2024-03-04 11:54:10 +03:00
Loris Laera
f65af03c67
NSIS: Add Luxembourgish translation
PR #19943
---------

Co-authored-by: sledgehammer999 <hammered999@gmail.com>
2024-03-04 09:04:48 +02:00
sledgehammer999
a567f8b600
Update gitignore for vscode (#20494)
PR #20494
2024-03-03 13:51:06 +02:00
Chocobo1
71f1e6df59
GHA CI: disable security hardening flag
OpenSSL isn't compatible with `/guard:cf` flag so we omit it for now.
Related: https://github.com/openssl/openssl/issues/22554

Closes #20479.
PR #20487.
2024-03-03 13:49:07 +08:00
dependabot[bot]
896f5fe729
GHA CI: Bump action version
PR #20486.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-03 13:33:07 +08:00
sledgehammer999
8a1bc8e5fd
Bump copyright year 2024-03-03 06:02:40 +02:00
sledgehammer999
6964132475
Sync translations from Transifex and run lupdate 2024-03-03 05:53:09 +02:00
JayRet
f265eb0166
Improve WebUI login behavior
Closes #20441.
PR #20442.
---------

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2024-03-02 14:47:02 +08:00
Vladimir Golovnev
0114610a40
Provide torrent creation feature via WebAPI
PR #20366.
Closes #5614.

Co-authored-by: Radu Carpa <radu.carpa@cern.ch>
2024-02-27 15:57:16 +03:00
Chocobo1
15697f904d
Add a small delay before processing the key input of search boxes
PR #20465.
Closes #20025.
Closes #20235.
2024-02-27 12:57:55 +08:00
Chocobo1
46e8ee50c8
Allow to set custom suffix to window title
This is to allow users to differentiate qbt instances when there are multiple running.
PR #20429.
Closes #17905.
2024-02-27 12:41:12 +08:00
Chocobo1
364bcf73ee Write format result directly to file
And not print to stdout.
2024-02-25 20:17:56 +08:00
Chocobo1
031fa6183c Add viewport meta tag
This helps displaying WebUI on mobile devices. Note that WebUI aren't
optimized for mobile yet.
2024-02-25 20:17:56 +08:00
Chocobo1
66c34ddb6e Avoid leaking user locale preference to the web 2024-02-25 20:17:56 +08:00
Chocobo1
3f2b4afc21 Add description meta tag 2024-02-25 20:17:56 +08:00
Chocobo1
e1fa7e01c6 Remove unneeded polyfill
All browsers already have native support for it.
2024-02-25 20:17:56 +08:00
Chocobo1
9192c988ed Warp script in anonymous scope (IIFE)
It was erroneously removed in 9b64d50660.
2024-02-25 20:17:56 +08:00
Chocobo1
cffd74b62a
Add support for SSL torrents
The 'SSL torrent' feature is not standardized. I.e. there are no BEP (BitTorrent Enhancement Proposals) associated with it, so we do not greatly encourage its usage as it will only work with libtorrent clients and derivatives. It will not work with other torrent clients that do not support the libtorrent specific implementation.
This PR aims to provide minimal support for those who need SSL torrents. Furthermore, it is intended that there will be no UI support (nor indication) of adding/creating SSL torrents.

* Prerequisites:
  I omit the instructions of creating those files as the intended audience (experts & advanced users) should have no problem with it. All files are as follow:
  1. Root (torrent publisher) certificate
  2. Root private key
  3. A .torrent file created with root certificate 
  5. Peer certificate (signed by the root certificate)
  6. Peer private key
  7. Diffie-Hellman parameters file
  
  All files are stored in .pem format.

* Enable SSL torrent protocol in qbt
  There are 2 hidden keys to put in qbt config file, under `[BitTorrent]` section:
  1. `Session\SSL\Enabled`: set it to `true`.
  2. `Session\SSL\Port`: set it to some unused port or omit the key entirely to let qbt pick one for you.
* Add an SSL torrent to qbt
  The only way of adding an SSL torrent is via WebAPI. The `/api/v2/torrents/add` endpoint will support 3 additional parameters. You must provide them for an SSL torrent.
  1. `ssl_certificate`: Contents of the peer certificate file (in PEM format).
  2. `ssl_private_key`: Contents of the peer private key file.
  3. `ssl_dh_params`: Contents of the Diffie-Hellman parameters file.

* Change the SSL parameters to a torrent
  In case you provided wrong SSL parameters when adding a torrent, there is a new endpoint `/api/v2/torrents/setSSLParameters` that you can update the SSL parameters. The parameters (`ssl_*`) are the same as `/api/v2/torrents/add` endpoint.

* Query the SSL parameters of a torrent
  There is a new endpoint `/api/v2/torrents/SSLParameters` that you can query the SSL parameters of a torrent.

References:
* https://www.libtorrent.org/manual-ref.html#ssl-torrents
* https://blog.libtorrent.org/2012/01/bittorrent-over-ssl/

PR #20338.
---------

Co-authored-by: Radu Carpa <radu.carpa@cern.ch>
2024-02-25 19:58:58 +08:00
xavier2k6
c6ee0ff017
GHA CI: Bump libtorrent 2 version to 2.0.10
PR #20455.
2024-02-25 19:30:20 +08:00