27 Commits

Author SHA1 Message Date
Marcin Czenko
0f62624613
adds torrent parser to support native torrent files when downloading 2025-06-03 03:01:02 +02:00
Marcin Czenko
03ff25bbb1
Updates magnet link tests 2025-06-03 03:01:02 +02:00
Marcin Czenko
8ac8f941c4
convenience feature - download content using magnet links 2025-06-03 03:01:02 +02:00
Marcin Czenko
85e0e58777
gets rid of future casting in torrent downloader 2025-06-03 03:01:01 +02:00
Marcin Czenko
e3fd2fada8
fix failing test in torrentdownloader 2025-06-03 03:01:00 +02:00
Marcin Czenko
6000ae5e07
uses SafeAsyncIter to stream the blocks in api 2025-06-03 03:01:00 +02:00
Marcin Czenko
b0be205765
better exception handling 2025-06-03 03:00:59 +02:00
Marcin Czenko
414906a070
updates copyright 2025-06-03 03:00:59 +02:00
Marcin Czenko
534cb7193e
updates and integrates torrentdownloader into api and node 2025-06-03 03:00:59 +02:00
Marcin Czenko
2aa91e5f93
adds more tests and ability to retrieve the downloaded blocks 2025-06-03 03:00:59 +02:00
Marcin Czenko
c859250c4a
adds some good weather tests for torrentdownloader 2025-06-03 03:00:59 +02:00
Marcin Czenko
ee2f403e52
do not randomize piece fetching sequence for now 2025-06-03 03:00:58 +02:00
Marcin Czenko
50ca6dae5f
adds torrent downloader abstraction 2025-06-03 03:00:58 +02:00
Marcin Czenko
86166196de
adds push raises to a couple of new files 2025-06-03 03:00:58 +02:00
Marcin Czenko
42b74cc11f
uses MultiHash as a type for piece hashes (instead alias) 2025-06-03 03:00:57 +02:00
Marcin Czenko
9903473809
updates pieceValidator with better internal state management 2025-06-03 03:00:56 +02:00
Marcin Czenko
45ab5eee92
adds torrent piece validator abstraction to keep streaming in sync with piece validation 2025-06-03 03:00:56 +02:00
Marcin Czenko
0748a348e7
makes torrent decode func from openArray data public 2025-06-03 03:00:56 +02:00
Marcin Czenko
96d28e8563
adds "==" operator to torrent manifest 2025-06-03 03:00:56 +02:00
Marcin Czenko
fe1cc15fbd
adds JSON serialization to BitTorrent manifest 2025-06-03 03:00:54 +02:00
Marcin Czenko
ddc8e58861
fixes some basic decoding and padding mistakes 2025-06-03 03:00:53 +02:00
Marcin Czenko
2ab59f616d
makes torrent API ready for torrents v2, closes torrent streaming loop 2025-06-03 03:00:53 +02:00
Marcin Czenko
6c5816581a
simplifies torrent streaming API 2025-06-03 03:00:52 +02:00
Marcin Czenko
d5928988d0
adds API for streaming torrents 2025-06-03 03:00:52 +02:00
Marcin Czenko
8a8bab3672
adds info hash validation 2025-06-03 03:00:52 +02:00
Marcin Czenko
bcf622ecd8
formatting 2025-06-03 03:00:52 +02:00
Marcin Czenko
cd8d2b130a
moves BitTorrent stuff around a bit to de-clutter node.nim 2025-06-03 03:00:52 +02:00