Chocobo1
f487d32594
Fix initialization order
2020-09-25 12:25:09 +08:00
Mike Tzou
1a3091a980
Merge pull request #13419 from silverqx/patch-1
...
Fix fully-qualified-moc-types clazy warning
2020-09-22 22:34:52 +08:00
Silver Zachara
97df5667e7
Use fully-qualified type names
...
Fixed fully-qualified-moc-types clazy warnings
2020-09-21 18:30:02 +02:00
Mike Tzou
c3b5668a07
Merge pull request #12577 from NotTsunami/peer
...
Allow users to configure no_connect_privileged_ports
2020-09-22 00:02:20 +08: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
Vladimir Golovnev (Glassez)
39d32063c1
Implement disk IO thread wrapper
2020-09-18 15:56:29 +03:00
Vladimir Golovnev (Glassez)
ff36356be0
Improve sequentialDownload/firstLastPiecePriority handling
...
Always store firstLastPiecePriority in resume data.
Don't recalculate firstLastPiecePriority value each time it is accessed.
Always store sequentialDownload in resume data as native libtorrent field.
2020-09-18 13:33:55 +03:00
FranciscoPombal
e0c62827a8
Fix peer blocked message
2020-09-16 16:59:51 +01:00
Chocobo1
8cfac795c6
Avoid using libtorrent internal functions
...
`char const* socket_type_name(socket_type_t);` is decided to be not
exported and thus it is internal:
https://github.com/arvidn/libtorrent/pull/4859/files#r452925563
2020-09-13 12:22:31 +08:00
Mike Tzou
8d57a6527b
Merge pull request #13355 from Chocobo1/allocate
...
Enable faster disk space allocation by default
2020-09-12 23:39:49 +08:00
Mike Tzou
2d1855dc05
Merge pull request #13354 from Chocobo1/libt2
...
Disable deprecated settings in libtorrent 2.0
2020-09-12 11:02:12 +08:00
Chocobo1
01603c1f62
Enable faster disk space allocation by default
...
In libtorrent > 2.0, the setting is turned off by default, now we just
re-enable it to preserve the behavior as in earlier versions.
2020-09-10 22:12:35 +08:00
Chocobo1
2fd69a21b0
Initialize session with session_params
class
...
The old way of initialization is deprecated in libtorrent 2.0.
2020-09-09 16:16:08 +08:00
Chocobo1
554eab50bb
Disable deprecated libtorrent settings
2020-09-09 16:16:08 +08:00
Vladimir Golovnev
defdd5121c
Merge pull request #13340 from glassez/fix-magnet
...
Improve adding torrent using Magnet URI
2020-09-09 10:06:39 +03:00
Mike Tzou
6e971c47e7
Merge pull request #13319 from an0n666/tracker-queue
...
Expose libtorrent max_concurrent_http_announces in advanced settings
2020-09-09 11:48:25 +08:00
Vladimir Golovnev (Glassez)
20206ec92a
Improve adding torrent using Magnet URI
...
Closes #13249 .
2020-09-08 14:56:38 +03:00
an0n666
73b39a8dec
Expose libtorrent max_concurrent_http_announces in advanced settings
2020-09-08 06:05:45 +06:00
Chocobo1
79bb8227d0
Migrate away from deprecated address::to_string(error_code)
...
The other overload require users to handle exceptions themselves.
2020-09-07 14:48:13 +08:00
Chocobo1
25a47dadeb
Migrate away from deprecated address::from_string()
2020-09-07 14:27:18 +08:00
Chocobo1
2a2ae2a566
Add helper function to convert to string from lt::socket_type_t type
2020-09-07 13:48:57 +08: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
Vladimir Golovnev (Glassez)
b77568839d
Remove legacy/unused torrent property
2020-08-09 12:11:13 +03:00
Vladimir Golovnev (Glassez)
dc3d23c045
Improve torrent loading code
2020-08-09 12:11:07 +03:00
Vladimir Golovnev (Glassez)
eb99bfe20f
Remove deprecated and unused code
2020-08-05 08:27:14 +03:00
Mike Tzou
3a61042e40
Merge pull request #13206 from an0n666/revert-seed-mode-patch
...
Read piece for torrents added with skip hash only for older libtorrent
2020-08-03 19:56:37 +08:00
an0n666
dc211f69ac
Read piece for torrents added with skip hash only for older libtorrent
2020-08-02 16:33:55 +06:00
Mike Tzou
a2a5c28c9f
Merge pull request #13188 from jagannatharjun/fix-speed
...
Fix impossible speed in graph
2020-07-30 11:20:03 +08:00
jagannatharjun
f1edda2c81
Only enqueue session refresh request once previous request is completed
...
Fixes impossible speed in graph
2020-07-29 10:00:56 +05:30
Vladimir Golovnev (Glassez)
bac7fbc68e
Notify user when torrent moving finished
2020-07-26 14:31:58 +03:00
Vladimir Golovnev (Glassez)
c3104e0210
Update torrent status on move enqueued
2020-07-22 15:22:29 +03:00
Vladimir Golovnev (Glassez)
d77c6321d3
Always allow to save resume data in checking state
2020-07-21 14:26:31 +03:00
Vladimir Golovnev (Glassez)
cdc2b8d79b
Improve "move torrent storage" handling
2020-07-19 15:04:42 +03:00
FranciscoPombal
8f8f7ebd15
Remove DISABLE_COUNTRIES_RESOLUTION define
2020-07-08 01:07:50 +01:00
Chocobo1
8ebb6dc559
Initialize variable at better place
2020-06-26 17:17:29 +08:00
Chocobo1
40e432b127
Bump requirement to libtorrent 1.2
...
Closes #12258 .
2020-06-26 17:17:29 +08:00
Vladimir Golovnev (Glassez)
1e86c76e8a
Emit signal when redirected to Magnet
2020-06-19 12:15:15 +03:00
Vladimir Golovnev (Glassez)
b28436c871
Find complete files when moving torrent storage
2020-06-12 12:58:17 +03:00
Vladimir Golovnev (Glassez)
6a0a78f3f7
Drop ".unwanted folder" feature
2020-06-10 11:35:09 +03:00
Mike Tzou
5ebe4e4c70
Merge pull request #12956 from arvidn/storage-include
...
Correct libtorrent header include in torrentcreatorthread.cpp
2020-06-07 20:17:59 +08:00
arvidn
d2cc01f65c
Support changes to plugin API in libtorrent-2.0
...
libtorrent-2.0 introduced a type-safe alternative to void* (lt::client_data_t)
for passing user-data into plugins. qBT doesn't use any user data in its
plugins, but the signatures have changed nevertheless, and qBT need to update to
be compatible with libtorrent-2.0.
2020-06-06 10:58:07 +02:00
arvidn
af05990bc9
Fix libtorrent include to a more precise header
...
torrentcreatorthread.cpp does not need to include libtorrent/storage.hpp, but
just needs libtorrent/file_storage.hpp. The former header is for implementing a
custom storage. Change include to libtorrent/file_storage.hpp
2020-06-05 23:48:08 +02:00
Mike Tzou
788d2729db
Merge pull request #12877 from an0n666/private-torrents
...
Address some issues regarding private torrents
2020-05-30 19:29:02 +08:00
Mike Tzou
9d135441db
Merge pull request #12942 from Chocobo1/cacheCountry
...
Cache country lookup result in PeerInfo class
2020-05-30 12:36:15 +08:00
Vladimir Golovnev (Glassez)
a6ad95278c
Fix invalid assertion
...
Closes #12938 .
2020-05-29 09:35:19 +03:00
Chocobo1
472dd96716
Cache country lookup result in PeerInfo class
...
The country lookup happens quite often when "Resolve peer countries"
option is enabled.
2020-05-29 13:49:52 +08:00
an0n666
6d85ae8f62
Address some issues regarding private torrents
2020-05-26 14:18:15 +06:00
Vladimir Golovnev (Glassez)
f4efa530dc
Create header for common BitTorrent declarations
2020-05-25 20:32:35 +03:00
Vladimir Golovnev (Glassez)
4a1e3de06d
Find complete files when checking torrent
2020-05-25 20:31:59 +03:00
Vladimir Golovnev (Glassez)
53fd0e1607
Wait for storage to be moved when removing torrent
2020-05-10 14:31:33 +03:00
Vladimir Golovnev (Glassez)
378a863611
Remove unwanted files after torrent removed
2020-05-09 19:19:13 +03:00
Vladimir Golovnev (Glassez)
e49c554044
Improve "move torrent storage" queue
2020-05-09 19:19:13 +03:00
Vladimir Golovnev (Glassez)
b6bf09fc0f
Fix calculation of torrent current state
...
Some actions can be performed despite of other states
(e.g. "Errored" torrent can check its files currently)
so the states that relate to such actions should override
other (so-called "static") states.
2020-05-09 19:19:13 +03:00
Vladimir Golovnev (Glassez)
a8c333ff25
Drop "private" subfolders
...
"private" subfolders violate the structure of the project,
since the existence of all other subfolders is based on a
different principle.
In addition, there is no clear line between "private" and
"non private".
2020-05-08 14:59:18 +03: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
Chocobo1
5ca26516eb
Handle empty piece range properly
...
Related: #12677 .
2020-04-30 13:18:57 +08:00
Chocobo1
f6eb341b32
Clean up code
2020-04-30 13:18:24 +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
Chocobo1
21581141f6
Support range-based iteration in IndexRange class
2020-04-29 21:15:24 +08:00
thalieht
1bdffe1729
Rename "Create subfolder" to "Keep top-level folder"
...
Closes #12673
2020-04-29 03:09:38 +03:00
Mike Tzou
7bc572afb9
Merge pull request #12602 from Chocobo1/metatype
2020-04-24 22:13:27 +08:00
Vladimir Golovnev (Glassez)
22bda12d6c
Fix crash when torrent is deleted on limit reached
2020-04-23 16:56:53 +03:00
Chocobo1
9efd5eaed3
Register datatype properly
...
Qt 5.9.5 doesn't seem to recognize it, this patch fixes it.
Fix up: d8401c76f5
.
Related: #12601 .
2020-04-23 21:42:51 +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
sledgehammer999
f758b24486
Merge pull request #12487 from an0n666/no-localhost-on-invalid
...
Use configured net interface even when it is missing
2020-04-22 17:49:08 +03:00
an0n666
e3e5da7a71
Use configured net interface even when it is missing
2020-04-21 19:04:43 +06:00
Chocobo1
1b80890696
Reduce padding in class
...
TorrentHandleImpl size is reduced from 768 bytes to 736 bytes.
CreateTorrentParams size didn't change.
Size numbers are from x64.
2020-04-19 11:44:41 +08:00
Chocobo1
ac2d063add
Move initialization default values to header
2020-04-19 11:42:49 +08:00
Mike Tzou
b06d44b242
Merge pull request #12526 from Chocobo1/pr_12162
...
Change default upload slot choking limits
2020-04-19 10:17:04 +08:00
Mike Tzou
349a07a443
Merge pull request #12531 from Chocobo1/final
...
Add final specifier to classes
2020-04-19 10:16:44 +08:00
sledgehammer999
a17b1f2b78
Use static_cast for explicit type conversions
2020-04-18 18:22:40 +03:00
Chocobo1
d3d3f7dbb3
Add final specifier to classes
...
This allow compilers to generate more efficient code.
2020-04-17 13:18:40 +08:00
Vladimir Golovnev
2681093d27
Merge pull request #12513 from glassez/torrent-impl
...
Split TorrentHandle interface and implementation
2020-04-17 07:40:28 +03:00
Vladimir Golovnev (Glassez)
1132b84548
Split TorrentHandle interface and implementation
2020-04-16 20:22:26 +03:00
an0n666
ec6b249509
Change default upload slot choking limits
2020-04-16 23:46:48 +08:00
Mike Tzou
e030fc067b
Merge pull request #12422 from an0n666/increase-timeout
...
Change default stop_tracker_timeout settings
2020-04-15 11:44:29 +08:00
an0n666
1168387df0
Change default stop_tracker_timeout settings
2020-04-13 16:05:36 +06:00
Raif Atef
1549b782e6
Do not use 0.0.0.0 or [::] for outgoing interfaces
...
Fixes #12443
2020-04-12 08:41:18 +02:00
Mike Tzou
c25b3e623c
Merge pull request #12423 from an0n666/remove-strict-superseeding
...
Remove deprecated strict super seeding mode from advanced settings
2020-04-12 00:41:28 +08:00
Chocobo1
e7890fb727
Preallocate output buffer
2020-04-08 13:06:39 +08:00
Chocobo1
d476ae4f14
Fix header inclusion order
2020-04-08 11:58:12 +08:00
Chocobo1
d8401c76f5
Avoid holding encoded resume data in memory
...
Now it the encoded resume data will be streamed to file instead of a
temporary buffer holding the whole of it.
2020-04-07 16:02:09 +08:00
Vladimir Golovnev
fe81633403
Merge pull request #12436 from glassez/fix-savepath
...
Save "resume data" when torrent storage is moved
2020-04-07 09:54:51 +03:00
an0n666
026aad2c04
Remove deprecated strict super seeding mode from advanced settings
2020-04-07 09:54:32 +06:00
Mike Tzou
f58f425175
Merge pull request #12430 from rwasef1830/add-outgoing-interfaces
...
Fix outgoing interfaces not getting assigned in case addr is not null.
2020-04-07 10:10:32 +08:00
Raif Atef
bf1c9e34d7
Fix outgoing interface is not getting assigned
...
Assignment was missing in main branch of condition statement.
Closes https://github.com/qbittorrent/qBittorrent/issues/12421
2020-04-06 14:45:44 +02:00
Vladimir Golovnev (Glassez)
0a8c2f75af
Save "resume data" when torrent storage is moved
2020-04-06 12:16:27 +03:00
Mike Tzou
cc090c8e37
Merge pull request #12416 from NotTsunami/master
...
Set disk cache size for older libtorrent versions
2020-04-06 12:12:12 +08:00
NotTsunami
e48612a703
Set disk cache size for older libtorrent versions
...
Libtorrent versions older than 1.2.6 have a bug when setting disk
cache size to auto.
See 6c880159c9
.
2020-04-04 21:36:01 -04:00
Mike Tzou
a10cee0f2b
Merge pull request #12364 from Chocobo1/fileOutIter
...
Avoid holding entire file in memory
2020-04-04 11:07:59 +08:00
Chocobo1
9f281c2d25
Avoid holding entire file in memory
...
Previously we need a file buffer that is as large as the file size and
this could be a problem when user has less free memory available or
having very large data. Now with the help of `FileOutputIterator`,
we can have a much smaller, fixed size immediate file buffer and also
the code looks nice with `lt::bencode()`.
2020-04-03 18:27:13 +08:00
Chocobo1
17f608685d
Improve logging for errors
...
This commit also allows the strings to be translated.
2020-04-02 11:20:09 +08:00
Vladimir Golovnev
96c5af7ae9
Merge pull request #12363 from glassez/fix-unexpected-resume
...
Fix unexpected torrent resume after app restart
2020-04-01 20:20:44 +03:00
Vladimir Golovnev (Glassez)
8bd9a97f6f
Fix unexpected torrent resume after app restart
...
Closes #12322 .
2020-04-01 18:01:18 +03:00
sledgehammer999
bbe5465ba6
Merge pull request #12317 from sledgehammer999/fix_broken_save_path
...
Fix broken UNC paths in fastresumes on Windows
2020-03-31 18:34:31 +03:00
sledgehammer999
13af503003
Fix broken UNC paths in fastresumes on Windows
...
See #12245 and #12282
2020-03-30 15:21:15 +03:00
Mike Tzou
59f99bb984
Merge pull request #12282 from Tester798/fix-12245
...
Fix regression when fastresume contains network path
2020-03-30 12:53:17 +08: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