Commit Graph

210 Commits

Author SHA1 Message Date
Vladimir Golovnev (Glassez)
6f31ebd899 Allow to specify file indexes in torrents/files API 2021-04-17 11:46:41 +08:00
Chocobo1
5c05bdaa27 Clean up code 2021-04-03 14:52:14 +08:00
thalieht
1e2bf50e66 Add seeding time to the active time column in WebUI
Closes #14526
2021-03-23 22:26:46 +02:00
Vladimir Golovnev (Glassez)
4037143f4e Raise minimum supported Qt version to 5.12 2021-03-23 22:26:26 +02:00
Vladimir Golovnev (Glassez)
437b51b3a5 Improve "info hash" handling
Define "torrent ID" concept, which is either a SHA1 hash for torrents of version 1,
or a SHA256 hash (truncated to SHA1 hash length) for torrents of version 2.
Add support for native libtorrent2 info hashes.
2021-03-23 22:26:18 +02:00
Vladimir Golovnev (Glassez)
b2c7d8211f Improve tracker entries handling 2021-03-23 22:26:14 +02:00
Vladimir Golovnev (Glassez)
ae2bb4efeb Accept "share limits" when adding torrent using WebAPI 2021-03-23 22:26:12 +02:00
Chocobo1
d0ec1c4a86 Expose ToS setting from libtorrent
Closes #14420.
2021-03-23 22:26:08 +02:00
Vladimir Golovnev (Glassez)
f16c585a77 Drop implicit conversions between InfoHash and QString 2021-03-23 21:05:40 +02:00
Chocobo1
58345e5bbf Revise getter function for torrrent queue position
This addresses https://github.com/qbittorrent/qBittorrent/pull/14335#issuecomment-774667836

The WebAPI is not affected as a workaround is added.
2021-03-23 21:05:21 +02:00
Vladimir Golovnev (Glassez)
1880082017 Remove redundant suffix from TorrentHandle class
Originally, it was just a wrapper for libtorrent::torrent_handle class, so it mimicked its name.
It was then transformed into a more complex aggregate, but the name was retained (just by inertia).
Unlike libtorrent::torrent_handle class in whose name "handle" means the pattern used,
it does not matter for qBittorrent classes and just eats up space in the source code.
2021-01-17 22:47:00 +02:00
Chocobo1
77f4e6c2cf Generate version header when configuring project
The basic idea is we create a version header template at
"src/base/version.h.in" and the build systems are expected to replace
strings that are enclosed with @ symbols and generate
"src/base/version.h" for other source files to consume/include.
2021-01-06 21:36:39 +02:00
Vladimir Golovnev (Glassez)
74bf3af41c Use std::optional<bool> instead of custom TriStateBool 2021-01-06 21:36:33 +02:00
Vladimir Golovnev (Glassez)
9317071122 Change parseBool() to return optional bool value 2021-01-06 21:36:31 +02:00
Vladimir Golovnev (Glassez)
dab32f2090 Use std::optional instead of boost::optional 2021-01-06 21:36:29 +02:00
Chocobo1
230fedf069 Move parsing of TriStateBool to a static class function 2021-01-06 21:36:14 +02:00
Vladimir Golovnev (Glassez)
b418f65c2f Improve content file/folder names handling
Move files/folders renaming functions to core classes.
Query file/folder for renaming by its current path.
Add ability to rename content folders from WebAPI/WebUI.
2021-01-06 21:31:41 +02:00
Vladimir Golovnev (Glassez)
c08ec1ac5e Allow to add root folder to torrent content 2020-12-26 20:27:34 +02:00
Chocobo1
ef92c17192 Don't use removed stat metric in libtorrent 2.0
For now, the metric is not entirely removed due to WebAPI still needs to
access it.
2020-12-26 20:27:28 +02:00
Chocobo1
a56e6294c1 Fix wrong JSON type returned
Fix up 78638a15be.
Closes #14041.
2020-12-26 20:27:26 +02:00
Chocobo1
73c8b77464 Migrate away from deprecated QVariant comparison operators
Fortunately, serializing to JSON limits the data types to a very small
subset and thus we are able to implement the comparison without much
hassle.

Fix up cba8d83b21.
2020-12-26 20:27:14 +02:00
Chocobo1
0b42425db5 Add support for allow_idna option
Upstream PR: https://github.com/arvidn/libtorrent/pull/5316
2020-12-26 20:27:08 +02:00
Chocobo1
487eb554c9 Fix coding style 2020-12-26 20:26:59 +02:00
Chocobo1
5a96e1fc7a Use Qt provided forward declaration header 2020-12-26 20:26:58 +02:00
Chocobo1
177ac32a5e Use the correct type when referring to info hash 2020-12-26 20:26:55 +02:00
Jesse Chan
7c10dba10c WebAPI: allow to attach tags while adding torrents 2020-12-26 20:26:35 +02:00
Vladimir Golovnev (Glassez)
1728c16580 Improve coding style 2020-11-24 16:14:14 +02:00
Chocobo1
b6ab2abf3f Don't use deprecated torrent state "allocating"
Closes #13737.
2020-11-24 16:14:05 +02:00
Vladimir Golovnev (Glassez)
3edaaa30c9 Handle torrent "paused" state at application level 2020-11-24 16:14:04 +02:00
FranciscoPombal
1e7f792dbb Fix trailing whitespace in multiple files
Also fix formatting of CODING_GUIDELINES.md
2020-11-24 16:13:59 +02:00
brvphoenix
102d628c0a Fix the issue that IPv6 address can't be banned
The ban action doesn't depend on ipfilter.
2020-11-24 16:13:31 +02:00
FranciscoPombal
6ea3acdaea Expose contentPath in WebAPI torrents/info
Bump WebAPI version to 2.6.1
2020-11-24 16:13:30 +02:00
Chocobo1
59afc7c520 Avoid settings being reset via WebAPI
Closes #13585.
2020-11-24 16:13:23 +02:00
Anton Bershanskiy
b4bfdd6f7a Add option for hashing_threads, use 10 asyc IO threads
Add option for setting lt::settings_pack::hashing_threads
introduced by libtorrent 2.0. It has no effect for earlier
libtorrent versions.
Use 10 async IO threads, as per #11461.
Closes #11461.
2020-10-13 00:58:13 +03:00
FranciscoPombal
2c10b3936b Change some types (uint -> int) in RSS subsystem 2020-10-07 23:26:13 +01:00
FranciscoPombal
deffdbe881 Change some types (uint -> int) in Session class 2020-10-07 23:26:13 +01:00
NotTsunami
2eb3ff7f06 Allow users to configure no_connect_privileged_ports
Don't hardcode lt::settings_pack::no_connect_privileged_ports. We
support the peer alert for it already, so connections blocked by this
setting should be logged.
2020-09-20 22:46:28 -04:00
Mike Tzou
c967bf31ff Merge pull request #13336 from Chocobo1/webui
Minor WebUI improvements
2020-09-09 11:48:55 +08:00
Chocobo1
2f1016494b Specify UTF-8 charset when forming data from plain text
This suppresses a browser warning about unspecified character encoding
of an HTTP response.
2020-09-08 14:30:55 +08:00
an0n666
73b39a8dec Expose libtorrent max_concurrent_http_announces in advanced settings 2020-09-08 06:05:45 +06:00
Sophist
4c37c229d9 Expose LibTorrent peer_turnover settings
This PR exposes the LibTorrent Peer Turnover Settings in qBT Advanced Settings in order to allow users to adjust how frequently slow and uninteresting connections are closed to allow potentially better / faster connections to be made.

The default settings are to turnover peers when the number of connections is at least 90% of allowed global or per torrent connections, and to disconnect the least attractive 4% of these connections every 5 minutes.

See https://www.libtorrent.org/reference-Settings.html#peer_turnover
2020-08-19 20:11:58 +01:00
FranciscoPombal
8f8f7ebd15 Remove DISABLE_COUNTRIES_RESOLUTION define 2020-07-08 01:07:50 +01:00
Vladimir Golovnev (Glassez)
f4efa530dc Create header for common BitTorrent declarations 2020-05-25 20:32:35 +03:00
Mike Tzou
1839e3d96a Merge pull request #12748 from Piccirello/webui_sidebar_trackers
Add Trackers section to Web UI sidebar
2020-05-12 10:13:06 +08:00
Thomas Piccirello
ad4d8d28ec Add Trackers section to Web UI sidebar
Closes #7601.
2020-05-07 19:10:55 -07:00
Thomas Piccirello
84a40c1665 Include trackers in /sync/maindata API endpoint 2020-05-04 00:11:45 -07:00
Thomas Piccirello
8e8cd59d90 Fix Web UI search categories only working in English
Closes #10239.
2020-05-03 02:23:22 -07:00
Mike Tzou
2aa80fe9ba Merge pull request #12689 from thalieht/subfolder
Rename "Create subfolder" option to "Keep subfolder"
2020-05-01 14:09:17 +08:00
Mike Tzou
4f820163ff Merge pull request #12691 from Chocobo1/iterator
Support range-based iteration in IndexRange class
2020-04-30 13:10:13 +08:00
Mike Tzou
7061242681 Merge pull request #12176 from NotTsunami/ssl
Add HTTPS tracker certificate validation option
2020-04-30 13:09:31 +08:00