Bora M. Alper
3960915812
fixes #62 "TypeError: argument of type 'int' is not iterable"
2017-06-06 14:33:11 +03:00
Bora M. Alper
a0ee71a81d
fixes infinite-recursion error in bencode.py
2017-06-06 12:58:01 +03:00
Bora M. Alper
58364dfb3f
replaced better_bencode with bencoder.pyx
...
fixes #72
2017-06-05 22:26:08 +03:00
Bora M. Alper
6e0461a4c7
small stylistic change
2017-06-05 12:42:54 +03:00
Richard Kiss
4e49b11f1d
Big speed-up in magneticow when clicking through to file list.
2017-06-04 20:39:47 -07:00
Bora M. Alper
ae3de526ec
another wave of bugfixes after merge
2017-06-02 17:00:49 +03:00
Bora M. Alper
fcecdba5b9
various bugfixes after merge
2017-06-02 16:49:39 +03:00
Bora M. Alper
5da4b6c67d
Merge branch 'asyncio' of https://github.com/richardkiss/magnetico into richardkiss-asyncio
...
# Conflicts:
# magneticod/magneticod/__main__.py
# magneticod/magneticod/dht.py
2017-06-02 16:09:28 +03:00
Bora M. Alper
6a459d5e58
huge commit, code review done on asyncio port
2017-06-02 15:34:22 +03:00
Bora M. Alper
04e6d583f3
Merge branch 'asyncio' of https://github.com/richardkiss/magnetico into richardkiss-asyncio
2017-05-30 12:45:17 +03:00
Bora M. Alper
6bceb9c784
v0.4.0 is released!
...
Changes are below.
magneticod:
* Performance improvements
* Unregistering WRITE event when possible
* Using files instead of memory for temporary SQLite
objects
* Stability improvements
* Limit metadata size to prevent crashes due to
malicious or malformed answers.
* Flushing metadata buffer while exiting gracefully
magneticow:
* Stability improvements
* Homepage crash due to count functionality when the
database is empty, is fixed.
* Statistics page added, although very slow!
2017-05-30 12:28:34 +03:00
Bora M. Alper
e4c33ceb36
magneticod: store temp files in files and not in memory
...
(reduces the memory consumption)
2017-05-29 22:00:37 +03:00
Richard Kiss
0e389aa619
Query DB when checking if an infohash is new or not.
2017-05-27 16:11:29 -07:00
Richard Kiss
d7ead951a4
Refactor create_tasks out of main.
2017-05-27 16:05:22 -07:00
Richard Kiss
5d37737d0d
Add some resource debug logging.
2017-05-27 12:20:24 -07:00
Richard Kiss
4dc11b047f
Tidy up clean-up. Simplify fetch_metadata.
2017-05-24 14:50:26 -07:00
Richard Kiss
8df4015e06
Be a little smarter with task clean-up.
2017-05-24 12:51:25 -07:00
Richard Kiss
9b1bbfcaa1
Properly clean up fetch_metadata tasks.
2017-05-17 16:31:40 -07:00
Richard Kiss
29b99a338e
ModuleNotFoundError (new in 3.6) => ImportError.
2017-05-17 12:10:40 -07:00
Richard Kiss
3e4eba740c
Do explicit look-up of bootstrap nodes, and query all responses.
2017-05-15 15:58:13 -07:00
Richard Kiss
e6098ffb4a
Use uvloop if available.
2017-05-15 15:44:36 -07:00
Richard Kiss
35c6176548
Move neighbour task work to tick task.
2017-05-15 00:06:02 -07:00
Richard Kiss
71f55f0c91
Reduce noise.
2017-05-14 14:13:34 -07:00
Richard Kiss
f38a796181
Add connection_lost. Properly handle shutdown of watch_q.
2017-05-14 14:04:46 -07:00
Richard Kiss
4b4c312fbe
SybilNode now support pause_writing.
2017-05-14 14:00:50 -07:00
Richard Kiss
73d97d8188
Better cancel all outstanding tasks.
2017-05-14 13:55:19 -07:00
Richard Kiss
d04634b57b
Improve dht shutdown. Notice writing pauses.
2017-05-14 13:43:15 -07:00
Richard Kiss
4515fa8b0a
More cleanup. Only hit bootstrap if it seems necessary.
2017-05-14 13:37:22 -07:00
Richard Kiss
635fbe8cb1
More clean-up and simplification.
2017-05-14 13:03:01 -07:00
Richard Kiss
f3ae493308
More clean-up in error cases.
2017-05-14 12:03:50 -07:00
Richard Kiss
4aea5df886
Reduce leakage in bittorrent.py.
2017-05-14 11:41:11 -07:00
Richard Kiss
2f68ac3c7a
Improve naming.
2017-05-13 22:55:49 -07:00
Richard Kiss
eb8a2c72e6
Fix conditional.
2017-05-13 22:52:43 -07:00
Richard Kiss
8da8d20b53
First crack at porting to asyncio.
2017-05-13 22:49:14 -07:00
Bora M. Alper
818667b363
Merge pull request #58 from ad-m/patch-1
...
Limit metadata size, move constants to a new file, allow custom database paths
2017-05-01 09:24:09 +04:00
Adam Dobrawy
18f6617214
Add humanfriendly.format_path in --database-file help
2017-05-01 06:47:21 +02:00
Adam Dobrawy
17bd563909
Fix import error in persistence
2017-05-01 06:37:51 +02:00
Adam Dobrawy
0bb1a98415
Introduce requested changes, log when malicious / empty metadata received
2017-05-01 06:34:42 +02:00
Adam Dobrawy
fd654f25b8
Flush metadata buffer when exiting gracefully
2017-05-01 03:14:50 +02:00
Adam Dobrawy
9b12c25966
Add missing comment to PENDING_INFO_HASHES
2017-05-01 00:41:32 +02:00
Adam Dobrawy
cde5728019
Fix typo in SybilNode & __max_metadata_size
2017-05-01 00:28:34 +02:00
Adam Dobrawy
fa2a135e06
Add --debug argument
2017-04-30 23:47:08 +02:00
Adam Dobrawy
ed081e9399
Clean up parse_ip_port
2017-04-30 23:38:28 +02:00
Adam Dobrawy
e826494453
Extract constants ( fixes #37 ), allows you to specify a size limit and database path as an argument
2017-04-30 23:10:09 +02:00
Adam Dobrawy
14979c96ce
Limit metadata size
...
Malicious or malfunctioning peer can try send a huge metadata size what causes huge memory usage and to overflow them.
2017-04-30 21:00:33 +02:00
s723138643
ed13036588
if there is no data to send, we should unregister WRITE event
2017-04-29 10:22:38 +08:00
Bora M. ALPER
3b39c99206
v0.3.0 released, with very significant improvements!
...
magneticod:
* Stalled DisposablePeers are shut down after 120 seconds (fixes #47 and #38 )
* Improved performance, thanks to @ngosang, @ad-m, and all other contributors (fixes #48 )
* Default logging level is now set to INFO (since many users would freak out after seeing "peer failed" messages...)
magneticow:
* Search speed improved A LOT, like "A L O T"! (fixes #8 )
(for the curious, the problem was that magneticow initialised database *every* *single* *time* a request is made because
"the global application context" (`flask.g`) didn't work for some reason I don't know. Now it's blazing fast!
* A bit of logging added to assist the user. This is especially important as magneticow now takes a bit of time to initialize itself
(as reasonably expected) and will not be able to handle any requests until it's complete.
* A faster but possibly less accurate (and not-guaranteed behaviour dependent) calculation of the number of torrents.
* Thousands separator for the torrent count in the homepage.
2017-04-26 01:47:13 +04:00
Bora M. Alper
9dc1684e75
Merge pull request #33 from ngosang/feature/exceptions
...
Handle ConnectionReset and ConnectionRefused errors in dht.py
2017-04-25 21:52:05 +04:00
Diego
fb4c897ec6
improve __random_bytes function performance
2017-04-20 22:53:32 +02:00
Diego
bc1ceac530
optimize find_nodes bencoding
2017-04-20 22:43:51 +02:00