Chocobo1
49b57904f9
Use a random number for WebUI cache busting
...
Also fetch qbt version info via WebAPI properly.
2019-04-18 12:31:23 +08:00
CzBiX
d254a98662
Always use index.html as default page
2019-04-13 18:41:29 +08:00
sledgehammer999
5c63ad3b95
Raise minimum Qt version to 5.9.0
2019-03-04 16:48:49 +02:00
thalieht
8c944bd4e1
Avoid repeating the return type
2019-02-16 18:54:18 +02:00
thalieht
947c7e1d64
Convert to range-based for loop
2019-02-16 16:53:26 +02:00
Vladimir Golovnev (Glassez)
b0446380c6
Separate URL components before percent-decoding
...
Allow special characters in query string parameters.
Closes #9116 .
2019-01-27 15:33:19 +03:00
Vladimir Golovnev (Glassez)
2ce3aa9731
Drop legacy WebAPI support
2019-01-10 20:16:06 +03:00
Chocobo1
e98d4e874f
Unify translation files loading action
...
Since it is possible alternative WebUI could be coded in languages other than English,
WebUI must be able to load user-provided webui_en.qm.
At least one translated string must exist in order to generate an usable .qm file.
2018-12-18 23:14:09 +08:00
Chocobo1
c1912e17c1
Revise CSP header
...
The majority of the CSP is tuned for built-in WebUI, it may not be
suitable for alternative UI.
Also add QLatin1String to strings. This code path is called repeatedly,
it is worth adding QLatin1String to squeeze out the last bit of
performance.
2018-12-13 15:31:32 +08:00
Chocobo1
7fd30fa90f
Enforce referrer-policy in WebUI
...
This stops leaking private data to other websites via Referrer header.
2018-12-10 22:17:04 +08:00
thalieht
1f36b8b89f
Combine qAsConst() with copyAsConst() to asConst()
2018-11-28 23:41:23 +02:00
thalieht
6b1d26d555
Convert all foreach() to range-based for()
2018-11-28 23:40:12 +02:00
Mike Tzou
45cfac6c00
Merge pull request #9891 from Chocobo1/i18n
...
Fix missing words in WebUI
2018-11-24 10:55:13 +08:00
Chocobo1
b79a231d2e
Fix missing words in WebUI
...
This is because Qt translator returns empty string when the translation
is not provided, now we fallback to the original string from source code.
Closes #9868 .
2018-11-23 23:42:20 +08:00
Mike Tzou
70707a2664
Merge pull request #9884 from Piccirello/webui-cookie-samesite
...
Add SameSite attribute to WebUI session cookie
2018-11-22 10:40:37 +08:00
Thomas Piccirello
cd47380b85
Add SameSite attribute to WebUI session cookie
...
This attribute prevents the cookie from being submitted on any cross-site request, strongly limiting CSRF.
Closes #9877 .
2018-11-20 22:12:24 -05:00
Chocobo1
344e47dcfb
Add option for WebUI Host header validation
...
Closes #9743 .
2018-11-19 11:05:04 +08:00
Vladimir Golovnev (Glassez)
f309a5279e
Fix Alternative Web UI to be available
2018-10-29 08:32:57 +03:00
Vladimir Golovnev
7e36cc746f
Merge pull request #8584 from Piccirello/new-search-api-2
...
WebUI search API. Closes #2495
2018-10-24 13:13:16 +03:00
Vladimir Golovnev (Glassez)
c1a4ef1377
Use independent translation for WebUI
2018-10-09 11:10:08 +03:00
Thomas Piccirello
0b6ae68801
Add WebUI search API controller
...
Closes #2495 .
2018-09-30 20:07:27 -04:00
Chocobo1
71dcc76a64
Replace png icons with svg
2018-08-14 17:03:14 +08:00
Chocobo1
e04aae686f
Cache more preference values
...
These values from Preference class are frequently used.
Also group related variables together.
2018-07-14 15:48:18 +08:00
thalieht
456270bbb1
Delete several unused #include
2018-07-03 08:38:32 +03:00
Chocobo1
050b78f378
Send Cache-Control header in WebUI responses
...
Tune the caching time to be shorter, in case there is a program
update.
Change the cacheability to private, as WebUI resources are not intended
to be cached at proxy.
For uncacheable responses, send out "no-store" explicitly to halt
browser caching.
2018-06-04 20:50:08 +08:00
Mike Tzou
5f8feec1c1
Merge pull request #9013 from Piccirello/strengthen-csp
...
More restrictive Content Security Policy
2018-06-03 21:43:39 +08:00
Chocobo1
09f759355f
Replace QRegExp with QRegularExpression
...
Revise `static` keyword usage, static is added to frequently used
instances.
2018-05-31 22:56:49 +08:00
Thomas Piccirello
43656aaa1e
Add form-action to CSP
...
This option restricts all form submissions to the WebUI's origin.
qBittorrent only ever submits forms to the origin, so this is intended as a security measure.
2018-05-31 00:54:57 -04:00
Thomas Piccirello
8f98f87d12
Add upgrade-insecure-requests to CSP when HTTPS is enabled
...
This option automatically upgrades all http connections to https.
It ensures http urls cannot be accessed when in https mode, and is intended as a security measure.
2018-05-31 00:54:57 -04:00
Chocobo1
e8d378e167
Improve WebUI security measures
...
CSP was erroneously disabled in bad4d94f77
when clickjacking protection is off, now it is back.
Also added CSP 'frame-ancestors' directive when clickjacking
protection is enabled.
2018-05-29 13:40:52 +08:00
Mike Tzou
4a51f14328
Merge pull request #8967 from Chocobo1/protect
...
Add options to control WebUI security measures
2018-05-28 14:21:53 +08:00
Chocobo1
9eeef0be97
Add option to control CSRF protection
...
Some users are using WebUI with simple port-forwarding from their router,
providing an option to control the protection will save them from setting up an
non-trival web proxy.
Closes #7274 .
2018-05-22 12:57:03 +08:00
Chocobo1
bad4d94f77
Add option to control WebUI clickjacking protection
...
Some users actually want embedding WebUI into their custom build iframe.
Closes #7370 .
2018-05-22 01:07:25 +08:00
Chocobo1
ceaf755ac6
Make use of QStringLiteral
...
Only changed instances that are initialized at program start.
2018-05-18 02:14:49 +08:00
Mike Tzou
3b1fa19ea8
Merge pull request #8895 from Chocobo1/locale
...
Apply locale changes immediately in WebUI
2018-05-15 00:29:45 +08:00
Chocobo1
5ae926a376
Refactor code
...
Add const to variables.
No functionality change.
2018-05-13 15:05:30 +08:00
Chocobo1
92a4e73a22
Apply locale changes immediately in WebUI
2018-05-13 15:05:29 +08:00
Vladimir Golovnev (Glassez)
88f2a66aac
Fix params handling for some legacy API methods
...
Closes #8880 .
2018-05-12 07:35:35 +03:00
Vladimir Golovnev (Glassez)
0fda49c060
Improve legacy API params handling
2018-05-12 07:35:31 +03:00
Vladimir Golovnev
3a0e5e51df
Merge pull request #8761 from thalieht/nullptr
...
Replace the zeroing of pointers with nullptr
2018-05-08 17:10:37 +03:00
Vladimir Golovnev (Glassez)
001bd38557
Fix pauseAll/resumeAll legacy API methods
...
Closes #8766 .
2018-04-20 14:30:25 +03:00
thalieht
3e4099fe5b
Replace the zeroing of pointers with nullptr
2018-04-15 13:06:31 +03:00
Chocobo1
fdf3ebbb6c
Remove usage of deprecated functions
...
Also use proper type for storing date/time data
2018-03-09 19:20:58 +08:00
Mike Tzou
5261d4375f
Merge pull request #8551 from Chocobo1/override
...
Fix warnings from linters
2018-03-09 00:36:52 +08:00
Chocobo1
0457fd260e
Avoid temporary QString allocations
...
This fixes clazy warning: Use multi-arg instead [-Wclazy-qstring-arg]
2018-03-07 20:06:00 +08:00
Vladimir Golovnev (Glassez)
1aca3b0adc
Parse URL query string at application level
2018-03-04 17:08:48 +03:00
Vladimir Golovnev (Glassez)
34456a7459
Fix Legacy Web API to be fully available
2018-02-28 18:25:48 +03:00
Vladimir Golovnev (Glassez)
27d8dbf13b
Redesign Web API
...
Normalize Web API method names.
Allow to use alternative Web UI.
Switch Web API version to standard form (i.e. "2.0").
Improve Web UI translation code.
Retranslate changed files.
Add Web API for RSS subsystem.
2018-01-28 19:16:24 +03:00
sledgehammer999
4e96a1065e
Bump API_VERSION to 16.
2017-11-22 01:14:33 +02:00
sledgehammer999
ffa6f7ea34
Bump API_VERSION to 16.
2017-11-03 01:57:32 +02:00
Mike Tzou
b6be5afb89
Merge pull request #7584 from Chocobo1/refactor
...
[WebAPI] Refactor
2017-10-23 19:36:28 +08:00
Chocobo1
ce362f0e5e
WebAPI refactor: utilize parseBool() function
...
Coding style cleanup
Rename variable
Return const reference
Add const
2017-10-18 22:27:59 +08:00
Chocobo1
f350977cb4
WebUI: add optional parameters for /command/download & /command/upload
...
Specifically:
torrent name: string
download limit, upload limit: number in bytes, default: -1 (unlimited)
sequential download, first last piece prio: boolean true/false, default: false
2017-10-11 20:25:11 +08:00
thalieht
525fdd6c2b
Coding style, use nullptr and other minor things
2017-10-08 10:20:54 +03:00
Chocobo1
c5ddbcfb5b
WebAPI: fix addPaused wrong default behavior
...
Add helper function
Sort include header
2017-09-19 17:26:01 +08:00
Chocobo1
72b0ba36ae
Refactor
...
Merge statements
Use case-insensitive contains()
Add const
Use value(), this avoids inserting empty values.
Use range based for loop
2017-09-19 14:16:39 +08:00
Chocobo1
b107c0671d
WebAPI: fix root_folder default behavior
...
Bug was introduced in
6b33db3ae3
2017-09-19 13:07:50 +08:00
thalieht
6b33db3ae3
Create root folder option when adding a torrent in WebUI
2017-09-11 16:56:33 +03:00
Thomas Piccirello
4846b0ec28
Use single quotes for char.
...
Use case insensitive compare.
Swap conditionals
2017-08-14 23:15:03 +08:00
Thomas Piccirello
771033a449
Add auto torrent management to webui context menu (addresses #6815 )
2017-08-14 23:14:46 +08:00
Mike Tzou
0522db3f19
Merge pull request #7061 from Piccirello/webui-rename-torrent
...
Rename torrent from webui context menu (addresses #6815 )
2017-08-13 23:39:35 +08:00
Vladimir Golovnev (qlassez)
cff6a64e9f
Use qUtf8Printable() for logging strings
...
qDebug(), qInfo(), qWarning(), qCritical(), qFatal() expect %s arguments
to be UTF-8 encoded, while qPrintable() converts to local 8-bit encoding.
Therefore qUtf8Printable() should be used for logging strings instead of
qPrintable().
2017-08-13 16:14:57 +03:00
Thomas Piccirello
798c230634
Add option to rename torrent from WebUI
...
Addresses #6815 .
2017-08-13 15:45:51 +03:00
Tom Piccirello
07a85a1018
Set torrent location from webui context menu (addresses #6815 ) ( #7062 )
...
* Add option to set torrent location from webui context menu (addresses #6815 )
* Update debug messages
* Use logger
* Remove redundant curly braces
* Remove message
* Use log message from transferlistwidget
* Use QDir
* Remove unused import
* Check if newLocation is an empty string
2017-08-06 17:04:39 +08:00
sledgehammer999
802cd89ec9
Bump API_VERSION and API_VERSION_MIN to 15.
2017-07-18 22:38:59 +03:00
Thomas Piccirello
cd5a55d711
Skip username/password check for active sessions ( closes #6860 )
2017-07-01 03:26:15 -04:00
Chocobo1
087856d3d8
[WebUI]: Implement CSRF defense
...
Bump API version
2017-06-01 19:37:57 +03:00
Chocobo1
3933790bda
Add new webUI API. Closes #6457 .
...
Now getting piece information for a specific torrent is possible via:
* Returns an array of states (integers) of pieces in order. Defined as:
"0=not downloaded", "1=downloading", "2=downloaded".
GET /query/getPieceStates/<torrent_hash>
* Returns an array of hashes (strings) of pieces in order:
GET /query/getPieceHashes/<torrent_hash>
2017-05-26 14:37:03 +08:00
Thomas Piccirello
7cf1d844b0
Return status indicating if at least one torrent was successfully added
2017-05-15 14:30:44 -04:00
Eugene Shalygin
c4e16aa820
cmake: set warning and error options
...
The set is far from perfect, but guards against common errors with GCC.
2017-04-29 13:30:28 +02:00
Vladimir Golovnev (Glassez)
989a70fe60
Redesign RSS subsystem
2017-04-23 09:03:46 +03:00
sledgehammer999
018574e546
Merge pull request #6475 from OpenGG/master
...
[WebUI-API] Add "skip_checking" and "paused" to "/command/download" and "/command/upload"
2017-04-17 17:12:24 +03:00
sledgehammer999
e40444d1ad
Bump API_VERSION and API_VERSION_MIN to 13.
2017-04-06 02:03:44 +03:00
opengg
b271fa9f00
[WebUI] Add skip_checking
and paused
to /command/download
and /command/upload
2017-03-31 14:05:19 +08:00
Chocobo1
cb1646be32
Prepend QBT_ for preprocessor variables
2017-03-06 13:41:58 +08:00
sledgehammer999
5c730f984d
Bump API_VERSION to 12.
2017-03-03 22:31:58 +02:00
sledgehammer999
0caf03130c
Bump API_VERSION and API_VERSION_MIN to 11.
2016-12-12 22:11:06 +02:00
Vladimir Golovnev (Glassez)
b2cb473b63
Don't use Preferences in BitTorrent::Session
2016-06-20 08:30:02 +03:00
sledgehammer999
57a4b9f8b6
Fix API_VERSION and API_VERSION_MIN numbers.
2016-06-20 02:15:11 +03:00
Gabriele
01b73bf704
WebUI: Add command to get the logs
...
Add /query/getLog and /query/getPeerLog to respectively retrieve
the main log and the peer log.
GET /query/getLog
Params:
- normal (bool): include normal messages (default true)
- info (bool): include info messages (default true)
- warning (bool): include warning messages (default true)
- critical (bool): include critical messages (default true)
- last_known_id (int): exclude messages with id <= 'last_known_id'
GET /query/getPeerLog
Params:
- last_known_id (int): exclude messages with id <= 'last_known_id'
2016-05-17 12:13:59 +02:00
sledgehammer999
4c79a1d766
Bump API_VERSION to 11.
2016-04-17 19:57:08 +03:00
sledgehammer999
2a20855c17
Merge pull request #4661 from buinsky/WebUI_labels_menu
...
WebUI: Implement labels filter context menu
2016-04-17 11:36:58 -05:00
sledgehammer999
93d8cadaaf
Bump API_VERSION and API_VERSION_MIN.
2016-03-29 23:15:11 +03:00
buinsky
24584503d9
WebUI: Implement removing unused categories
2016-03-16 13:17:07 +03:00
buinsky
50f2437ac3
WebUI: Implement removing categories
2016-03-16 13:17:07 +03:00
buinsky
a4dca52617
WebUI: Implement adding categories
2016-03-16 13:17:07 +03:00
Vladimir Golovnev (Glassez)
dd34663224
Implement Advanced Saving Management subsystem
...
Closes #4696
2016-03-04 19:59:53 +03:00
Vladimir Golovnev (Glassez)
c57aaf0216
Create MagnetUri object from BC link or HASH string
2016-01-31 21:32:41 +03:00
sledgehammer999
ab813df992
Bump WebUI API_VERSION and API_VERSION_MIN.
2016-01-19 01:31:39 +02:00
Gabriele
9e91cd70ee
WebUI: Allow to remove the label assigned to a torrent
...
Empty strings are not valid label names, but they are used to remove
torrent labels, so allow them.
2016-01-13 14:57:49 +01:00
sledgehammer999
3e0f8a1e4e
Bump WebUI API_VERSION.
2015-12-07 23:59:39 +02:00
buinsky
00c765be1b
Implement sync/torrent_peers request
2015-12-06 22:21:24 +03:00
Vladimir Golovnev (Glassez)
9db93e5d8f
Rename Core to Base ( Closes #3733 ).
2015-12-06 14:27:00 +03:00
sledgehammer999
6f2eccd62f
Merge pull request #4015 from naikel/cookies
...
[WebUI] Add save path, cookies and labels when adding torrents
2015-11-29 18:12:10 -06:00
sledgehammer999
3e6d76245c
Bump WebUI API_VERSION.
2015-11-22 22:08:16 +02:00
Naikel Aparicio
753c9556fd
Cookies support on WebUI when downloading torrent from a URL. Modified download and upload windows to allow autocompletion of browsers.
...
Fixed the spinner in the WebUI upload page. Modified height of the WebUI download page.
Fixed all the JavaScript functions for download and upload pages.
2015-11-10 10:02:20 -04:30
sledgehammer999
4cecb585bc
Merge pull request #3444 from ngosang/webui_labels
...
[Web UI] Labels implementation
2015-11-03 16:31:05 -06:00
sledgehammer999
e39f8fafb1
Bump WebUI API_VERSION.
2015-10-09 16:46:20 +03:00
ngosang
a9e9a9c835
[Web UI] Changes in labels implementation
2015-09-03 03:16:07 +02:00
Felipe Barriga Richards
4ae2f6c33b
webui (js): feature: Added complete support for labels (add/set/reset/display/filter) #648
...
Changes:
- added list of labels on the lower-left corner
- added support to add/set/reset labels on context menu
- added support to filter torrents by label
2015-09-03 03:16:07 +02:00