Commit graph

210 commits

Author SHA1 Message Date
Chocobo1
6d167e9a28
Remove const from class variables
It prohibits copy construction, copy assignment and move semantics.
2020-04-29 21:32:34 +08:00
thalieht
1bdffe1729 Rename "Create subfolder" to "Keep top-level folder"
Closes #12673
2020-04-29 03:09:38 +03:00
Chocobo1
4e961845cf
Clean up variable initialization order 2020-04-26 10:21:23 +08:00
Vladimir Golovnev
c10318b576
Merge pull request #12549 from SeproDE/rss-api
Expand RSS related WebAPI
2020-04-24 07:46:37 +03:00
Chocobo1
2729c0cb6d
Suppress misleading warning message
QString::split() was giving a non-empty QStringList, and
that caused Session::setBannedIPs() to emit misleading warning message.
2020-04-23 21:01:33 +08:00
Chocobo1
bb80b378c1
Add ability to send custom HTTP headers 2020-04-23 12:13:01 +08:00
NotTsunami
cc1ebbf379 Add HTTPS tracker certificate validation option
This commit adds a new libtorrent setting to validate HTTPS tracker
certificates. When enabled, libtorrent will validate the certificate
of HTTPS trackers against the system's certificate store. This option
is only enabled on libtorrent versions >= 1.2.6 and on non-Windows
systems, as OpenSSL does not use the system's certificate store on
Windows.
2020-04-22 15:50:17 -04:00
Sepro
98bb63b390 WebAPI: Change delimiter from string to char in preferences API 2020-04-22 19:14:06 +02:00
Sepro
a3b58e59da WebAPI: Expand RSS related API
Added markAsRead API method with optional parameter for specifying single article.
Added the rss_smart_episode_filters and rss_download_repack_proper_episodes keys to preference api.
Added matchingArticles API method for retrieving articles that match specified rule.
2020-04-22 19:13:17 +02:00
Vladimir Golovnev (Glassez)
1132b84548
Split TorrentHandle interface and implementation 2020-04-16 20:22:26 +03:00
an0n666
026aad2c04 Remove deprecated strict super seeding mode from advanced settings 2020-04-07 09:54:32 +06:00
Mike Tzou
8a8607bf93
Merge pull request #12175 from NotTsunami/upnp
Add UPnP lease duration advanced option
2020-03-29 12:29:10 +08:00
NotTsunami
6b4925d222 Add UPnP lease duration advanced option
This is a new setting added that is pending addition to
libtorrent 1.2.6. This setting is important because some routers do
not support expiration times on port-maps and do not return an error
either, silently failing. The previous default of permanent leases is
retained.
2020-03-28 00:32:32 -04:00
Chocobo1
2c23840947
Allow to translate error messages 2020-03-25 12:00:11 +08:00
FranciscoPombal
e496e664db WebAPI: Always allow whitespace in category names 2020-03-22 12:16:06 +00:00
FranciscoPombal
a81789f4af Fix total connected peers count calculation
Also fix small typo in function name.
2020-03-17 18:01:57 +00:00
sledgehammer999
322ae3e0bc
Merge pull request #11825 from FranciscoPombal/stalled_filter
Add stalled filters to GUI and Web API/UI
2020-02-16 18:32:37 +02:00
Chocobo1
6eb190c373
Expose WebUI ban duration to users 2020-02-14 16:23:30 +08:00
Chocobo1
4f7b799732
Use QDeadlineTimer for tracking WebUI banned duration
It simplifies our code and the new timer is monotonic.
2020-02-14 16:22:52 +08:00
Chocobo1
f88d6b2e55
Expose WebUI ban counter to users 2020-02-14 12:31:12 +08:00
Mike Tzou
146e8213a5
Merge pull request #11781 from FranciscoPombal/piece_extent_affinity
Add piece_extent_affinity to AdvancedSettings
2020-01-14 12:53:39 +08:00
FranciscoPombal
f4742a98c5 Add stalled filters to GUI and Web API/UI
`/api/v2/torrents/info` can now take the following new values for the`filter` parameter: `stalled`, `stalled_uploading` and `stalled_downloading`.

Requires Web API version bump.

Closes #11787
2020-01-13 11:41:37 +00:00
FranciscoPombal
ed96a07a75 Add piece_extent_affinity to AdvancedSettings
Expose option in WebUI settings and WebAPI.

Requires WebAPI version bump.

Closes #11436.
2020-01-13 00:11:29 +00:00
An0n
bf32e90c40 Change placement of stop tracker timeout 2020-01-09 19:01:05 +00:00
an0n666
3f223c3a45 Expose stop_tracker_timeout in advanced settings 2020-01-08 08:21:55 +00:00
Mike Tzou
5c3c1e07df
Merge pull request #11739 from Chocobo1/qt5_14
Migrate away from deprecated API in Qt 5.14
2019-12-26 12:43:04 +08:00
Chocobo1
2422d81de1
Migrate away from deprecated API in Qt 5.14 2019-12-25 19:23:37 +08:00
FranciscoPombal
691d5e5d89 WebUI: Implement "Secure" flag for session cookie
Closes #11724.

Option is enabled by default for users using qBittorrent's built-in HTTPS capabilities. This flag will never be set if qBittorrent is using plain HTTP.

Users using HTTPS reverse proxies, like "qbt <-> (http) <-> proxy <-> (https) <-> user" should override the flag in the proxy in order to set it, if they wish to do so.
2019-12-23 17:58:08 +00:00
sledgehammer999
d09c5e529c
Merge pull request #11592 from sledgehammer999/refactor_listeningAddr
Rework the listening IP/interface selection code
2019-12-12 20:24:45 +02:00
sledgehammer999
8200ef6bd5
Rework the listening IP/interface selection code
Closes #11561
2019-12-11 09:56:45 +02:00
Thomas Piccirello
2bce9f6179 Add ability to rename torrent files from the WebUI
Renaming folders is not yet supported. Closes #8892.
2019-12-09 02:57:32 -08:00
Chocobo1
9b5df92078
Give better name to parameter checking function
This function will throw exceptions if the required parameters do not
exsit hence a stronger word is more appropriate here.

Also change the function parameter type to QVector. We don't need the
duplicate entries checking as currently we only use 3 fields at max and
can be easily checked by hand. So drop back to QVector which can be
constructed more efficiently.
2019-11-14 12:14:20 +08:00
Chocobo1
6fd678195c
Replace deprecated Qt functions
QSet::toList() is replaced by QSet::values()
2019-10-31 12:40:24 +08:00
Chocobo1
e32ef7f5c5
Use implicit sharing when getting categories from Session class 2019-10-30 01:46:57 +08:00
Chocobo1
e0a23ba93d
Use InfoHash type in queueing operations
This avoids redundant type conversions.
2019-10-02 15:21:16 +08:00
thalieht
07eb261991 Add "Remove torrent and its files" option to share ratio limiting 2019-09-26 13:34:03 +03:00
Mike Tzou
5c7f9530ee
Merge pull request #11060 from Chocobo1/tracker
Improve embedded tracker
2019-08-22 12:18:56 +08:00
Chocobo1
8d0d8e4dcb
Improve embedded tracker
Now it conforms to BEPs more closely.
2019-08-21 18:05:50 +08:00
Chocobo1
fba72f5fb7
Simplify code 2019-08-21 17:46:11 +08:00
Mike Tzou
8555629128
Merge pull request #11057 from Piccirello/fix-pref-saving
Don't save preferences until all options are processed
2019-08-13 11:41:54 +08:00
Vladimir Golovnev (Glassez)
e649559650
Allow to refresh RSS item(s) via WebAPI 2019-08-12 07:39:23 +03:00
Tom Piccirello
bed143cafa
Don't save preferences until all options are processed 2019-08-11 13:44:18 -07:00
Mike Tzou
7f1bff4eb4
Merge pull request #11017 from Chocobo1/apictrl
Improvements to APIController class
2019-08-06 10:17:27 +08:00
Mike Tzou
2b617b0e71
Merge pull request #11010 from Chocobo1/qvector
Replace QList by QVector
2019-08-06 10:16:28 +08:00
Mike Tzou
7d598b18ca
Merge pull request #10158 from Piccirello/webui-peers-table
Add ability to add and ban a peer from the Web UI
2019-08-06 10:16:09 +08:00
Mike Tzou
733da5ffdb
Merge pull request #10153 from Piccirello/webui-files-table
Display files hierarchically in Web UI content tab
2019-08-06 10:15:22 +08:00
Chocobo1
e90a2c00a5
Replace QList by QVector 2019-08-05 20:56:15 +08:00
Thomas Piccirello
0fa28f233f Add ability to add and ban a peer from the Web UI 2019-08-05 01:12:59 -07:00
Chocobo1
f4e7b8c6bf
Replace QMap with QHash 2019-08-05 09:51:39 +08:00
Chocobo1
c004a84f84
Avoid redundant actions/conversions
QSet::contains(QSet &) isn't doing anything magical it still has the usual loop
inside, so lets just save all the container conversions and do the loop ourselves.
2019-08-05 09:51:38 +08:00
Chocobo1
a3ca277eaf
Avoid back and forth string conversions 2019-08-05 09:42:38 +08:00
Chocobo1
2346bc8f7c
Replace obsoleted QDateTime::toTime_t() 2019-08-01 23:19:21 +08:00
Chocobo1
cfe83275d3
Avoid redundant data copy by using JSON objects directly 2019-08-01 23:18:50 +08:00
Chocobo1
f6ee96ed83
Replace QVariantMap by QVariantHash 2019-07-31 23:48:41 +08:00
Chocobo1
7f300b757f
Use C++11 uniform initialization 2019-07-31 23:48:41 +08:00
Chocobo1
bad588a749
Move data keys into anonymous namespace and sort them 2019-07-31 23:48:41 +08:00
Chocobo1
25a94ee60a
Avoid redundant data conversions and lookups 2019-07-31 23:48:41 +08:00
Thomas Piccirello
e0037b819a Always send paths with '/' as file separator 2019-07-26 01:03:22 -07:00
Chocobo1
60faba60ea
Add availability column
Closes #1632.
2019-07-25 13:17:14 +08:00
Vasiliy Halimonchuk
b530e19a44 Implement tag management for WebUI 2019-07-23 13:30:11 +03:00
Vladimir Golovnev
cf2e7d77d6
Merge pull request #10950 from glassez/drop-deprecated
Don't use deprecated libtorrent features
2019-07-23 09:19:15 +03:00
Vladimir Golovnev (Glassez)
ad6a40d5f4
Extract PeerAddress class into separate file 2019-07-23 06:27:35 +03:00
Vladimir Golovnev (Glassez)
60ffa3030e
Don't use deprecated libtorrent features 2019-07-21 19:28:28 +03:00
Mike Tzou
e1d073bc6d
Merge pull request #10877 from jerrymakesjelly/advanced-preferences
Add advanced options in WebUI
2019-07-15 10:11:09 +08:00
thalieht
7b31868e3c Rename priority to queue in the context of torrents 2019-07-13 14:04:16 +03:00
Zhaoyu Gan
07649f713e Add advanced options in WebUI 2019-07-13 14:41:26 +08:00
Chocobo1
0b1b3c1f84
Use numeric_limits instead of constants from C
In C++, using numeric_limits is more idiomatic compared to using constants.
2019-06-23 11:16:58 +08:00
Chocobo1
4880dc812c
Use appropriate type 2019-06-19 18:52:24 +08:00
Vladimir Golovnev (Glassez)
8e65317d61
Rename "fromNativePath" to "toUniformPath"
Unlike "toNativePath" which name clearly reflects the function result
"fromNativePath" has no such clear meaning.
Since this function converts path into uniform format "toUniformPath"
is better name.
2019-06-17 15:55:49 +03:00
Chocobo1
89124bdcc8
Add WebAPI session timeout settings
Raise default timeout to 1 hour.
2019-06-15 18:57:19 +08:00
silverqx
4f4f435e76
Add zlib version to GUI & stackdump 2019-06-12 08:02:24 +02:00
Chocobo1
5b9ff4a015
Avoid double lookup 2019-06-09 18:56:52 +08:00
thalieht
70f8882f87 Group Qt forward declarations separately from the others 2019-06-04 17:48:55 +03:00
thalieht
9995967fbf Remove some unused #include 2019-06-04 17:48:55 +03:00
thalieht
4370a7eb12 Forward declare in a few places 2019-06-04 17:48:55 +03:00
Chocobo1
ed6bb0efdc
Replace QList by QVector for tracker related operations 2019-05-22 12:57:22 +08:00
Chocobo1
e92209475e
Use range-based for loops 2019-05-19 18:51:09 +08:00
Chocobo1
e288de7ec1
Forward declare as much as possible 2019-05-19 12:06:18 +08:00
Chocobo1
94aeeed95f
Work around the crash occurred in QTimer
See Qt commit:
https://code.qt.io/cgit/qt/qtbase.git/commit/src/corelib/kernel/qtimer.cpp?id=a623fe8d2a60ff333d5779f877e3b20f0e141ff1

Fixes #9985.
2019-04-07 15:13:33 +08:00
Vladimir Golovnev (Glassez)
ead078a38e
Add preliminary support of libtorrent v1.2
libtorrent v1.2 should be built with deprecated features enabled.
2019-03-18 15:17:03 +03:00
Chocobo1
adbd34c795
Move helper functions to Utils::Gui namespace 2019-03-05 14:55:22 +08:00
thalieht
ce437817de Make various minor changes 2019-02-25 17:05:15 +02:00
thalieht
8a19a0d4a0 Remove const in declarations' arguments that are passed by value 2019-02-25 17:05:15 +02:00
thalieht
70f1537d9f Add const to almost all remaining vars and arguments that qualify 2019-02-25 17:05:15 +02:00
thalieht
92a290895b Convert vars into refs to avoid copy construction from const refs 2019-02-16 18:54:17 +02:00
thalieht
d8cbc9266a Use 'auto' to avoid duplicating the type name 2019-02-16 18:54:17 +02:00
Mike Tzou
78ab0e4ba9
Merge pull request #10220 from thalieht/const
Add const to many vars and arguments
2019-02-13 12:11:00 +08:00
thalieht
ca3ce87e06 Add const to many vars and arguments
Also remove const in declarations' arguments that are passed by value
2019-02-11 20:19:41 +02:00
Chocobo1
6d29a3af60
Make use of std algorithms 2019-02-05 13:35:54 +08:00
Mike Tzou
40eb8a1f4a
Merge pull request #10175 from Chocobo1/cert
Load WebUI certificate & key from file path
2019-02-01 13:37:13 +08:00
Chocobo1
5cdb3b6a2d
Load WebUI certificate & key from file path
This allow users to update certificate & key more easily, i.e. without the need to import them
into qbt.

Closes #6675, #7547, #8315, #8564.
2019-01-28 16:33:48 +08:00
Thomas Piccirello
d1dc9a39ae Match WebUI About page to GUI 2019-01-20 18:40:25 -08:00
Vladimir Golovnev (Glassez)
302c99d7d5
Drop support of libtorrent < 1.1.10 2019-01-11 15:13:17 +03:00
Thomas Piccirello
7f349732ee Send numeric status without translation 2018-12-11 01:37:33 -05:00
Thomas Piccirello
9e1f7a72b7 Simplify map initialization 2018-12-11 01:37:32 -05:00
Thomas Piccirello
33351e3d8d Add WebUI Trackers context menu 2018-12-11 01:37:32 -05:00
Thomas Piccirello
4947b0a44f Add DHT, PeX, and LSD to WebUI Tracker list 2018-12-11 01:37:32 -05:00
Thomas Piccirello
b8e4c6b0be Add additional Tracker columns to WebUI 2018-12-11 00:41:18 -05:00
Thomas Piccirello
dd790d94c9 Use const where appropriate 2018-12-11 00:41:18 -05:00
Mike Tzou
cf9d903ba9
Merge pull request #9541 from Piccirello/webui-file-priority
Set priority for multiple files in one WebAPI request
2018-12-11 13:32:53 +08:00