Add torreas

This commit is contained in:
Yorhel 2023-11-03 20:11:58 +01:00
parent 6781bbe938
commit 4c6e5346e7
10 changed files with 100 additions and 2 deletions

8
.gitignore vendored
View file

@ -22,6 +22,10 @@ dat/nginx-confgen/changes.log
dat/nginx-confgen/changes.md
dat/nginx-confgen/man.md
dat/nginx-confgen/man.pod
dat/torreas/changes.log
dat/torreas/changes.md
dat/torreas/man.md
dat/torreas/man.pod
dat/tuwf/changes.log
dat/tuwf/changes.md
dat/tuwf/man.md
@ -89,6 +93,10 @@ pub/nginx-confgen.html
pub/nginx-confgen/changes.html
pub/nginx-confgen/feed.atom
pub/nginx-confgen/man.html
pub/torreas.html
pub/torreas/changes.html
pub/torreas/feed.atom
pub/torreas/man.html
pub/tuwf.html
pub/tuwf/changes.html
pub/tuwf/feed.atom

View file

@ -67,7 +67,10 @@ PAGES=\
"tuwf/man/xml.pod https://g.blicky.net/tuwf.git/plain/lib/TUWF/XML.pod TUWF::XML Documentation"\
"ylib.pod https://g.blicky.net/ylib.git/plain/README.pod Ylib"\
"yxml.md"\
"yxml/man.md https://g.blicky.net/yxml.git/plain/yxml.md"
"yxml/man.md https://g.blicky.net/yxml.git/plain/yxml.md"\
"torreas.md"\
"torreas/changes.log https://g.blicky.net/torreas.git/plain/ChangeLog Torreas Release History"\
"torreas/man.pod https://g.blicky.net/torreas.git/plain/torreas.pod Torreas Manual"
# Files generated by mkfeed.pl
@ -78,7 +81,8 @@ FEEDS=\
pub/ncdu/feed.atom\
pub/nginx-confgen/feed.atom\
pub/tuwf/feed.atom\
pub/yxml/feed.atom
pub/yxml/feed.atom\
pub/torreas/feed.atom
# Files we need to download
@ -149,6 +153,7 @@ ${HTML_OUT}: pub/%.html: dat/%.md template.html
nginx-confgen*) echo "nginx-confgen";;\
tuwf*) echo "tuwf";;\
yxml*) echo "yxml";;\
torreas*) echo "torreas";;\
*) echo "main";;\
esac)\
-o "$@"

View file

@ -17,6 +17,9 @@ respective issue tracker or send a mail to
# Entries
`2023-10-27` - kspes
: I love this tool so much! I use it on all my unix and mac machines quite often :)
`2023-09-11` - NeedM
: Nice client program but only 32bit version?

View file

@ -19,6 +19,10 @@ the incidental article on this site. Enjoy your stay!
<!-- These announcements are parsed by mkfeed.pl, see that file for formatting -->
## Announcements <a href="/feed.atom"><img src="/img/feed_icon.png" alt="Atom feed"></a>
`2023-11-03` - New tool: torreas <!-- link: /torreas -->
: I wrote a little tool to reassemble torrent files, more information
available on its [homepage](/torreas).
`2023-09-11` - ncdu 1.19 released <!-- tags: ncdu, link: /ncdu -->
: Fixes a typo in the `--exclude-from` option and backports the CLI option to
disable natural sorting and the little indicator in the footer whether

48
dat/torreas.md Normal file
View file

@ -0,0 +1,48 @@
% Torreas - Torrent file reassembler
Torreas is a little command-line utility to reassemble torrents. It can scan
multiple directories in order to find files that are mentioned in the torrent.
It does this by only comparing file sizes and checksums, not location or file
name, so it can be used to reconstruct a torrent that you have downloaded and
archived somewhere, at some point.
## Download
Latest version <a href="/torreas/feed.atom"><img src="/img/feed_icon.png" alt="Atom feed"></a>
: 0.1 ([torreas-0.1.tar.gz](/download/torreas-0.1.tar.gz) - [changes](/torreas/changes))
Build requirements
: Zig 0.11
License
: MIT
Development version
: Available [on git](https://code.blicky.net/yorhel/torreas).
## Bugs & limitations
**Partial reassembly** is not yet supported. If a file is missing from your
local archive, torreas will give up and throw an error. Will likely get fixed
in future versions.
Torreas currently does an **exhaustive search** and is therefore able to find
*all* matching (duplicate) files. This is usually overkill, as you'll only need
one match for each file to reassemble a torrent. This totally hasn't been a
problem in my tests so far, but if there's many candidate files it may be
faster to stop searching after the first match. I may or may not fix this in
the future.
**Padding files** in torrents are not yet supported. Should be easy to fix, I
simply haven't encountered such a torrent yet.
Torreas could be a lot faster if it could use multiple cores to verify
checksums, but the current version is **single-threaded**. I don't expect this
to change anytime soon, I don't particularly enjoy writing threaded code and
Zig, in its current form, doesn't yet have the tools to help out much in this
area either.
Because torrent checksums can span multiple files, there are edge cases where
torreas will run out of memory or simply never complete while it is trying to
brute-force all possible file combinations. I may add more heuristics or manual
user feedback in the future to better handle such cases.

View file

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAmVFRJwACgkQYjlMaYwn
OfrIzQ//V9avsMqT2smmsANEeG4ex6YjPCp6ELH7aBUbbMF0y+IOLFAzZ5MNROQT
84MLWC4kJkP7oTw5/wpAq8bUSIjEgMR5LhlNZ0nDFl1WnfVQaUoejYMmztezc4ft
w57NzQZAFj2XOf7xE271MzZqajYMRrWo99T4LKQrFJhZQ9ceJtWGftsMYNcVe06f
mJ89ZHwRX/hYEb1ZXS0sSCgjguqDHKIMueQu90HXHej+fbnVm35z/yw5ul3qbiK5
qo2tiJymHYekv0FGe73jfxkCD0D+nHulRMOLXtjDtUQdyDiDPx4rjFE7aWFGBJy7
H0RIm0u1z3zvabRriRzrIMaJ9bVAZhr2DsJm7Rxt2syvzRa4axvU8xK3wnPPGRhZ
zLjJdLc1AXplBmr20vLI6pAAe/jsUHpdI3GJZTepQj0KNZDWNzHrxeVgtVv7nCN8
sOnOLIfqu9za+DwQ/FZuccJw4KCOvCiThEylk9H92doPp6rlBEzh5u7bl/nIBlI2
8CSvg4em/i8zrnu3RpPlhtLimuJz1kKg3XQtRwrF1xFETcrBcXfsZC6zFjq9Prps
gszBGOFR9TFd9ZXlmuVXa3a1vOS0Iu4U+tTYeAcDBY6v9t2xOuV/sL274bDBc7yw
XA09Fn75WYxKBIeWdMcC/x+kMqSShAWEBQ3ctQMBZh35AbyPUZc=
=3c7G
-----END PGP SIGNATURE-----

View file

@ -0,0 +1 @@
c2b761761cf5566b6f4a306329c4b5e3 torreas-0.1.tar.gz

View file

@ -0,0 +1 @@
53342fd5e54e2852484d7c0b5d6f043429873a3f torreas-0.1.tar.gz

View file

@ -0,0 +1 @@
56f6276b42832e7a3e0477331a9f2a7b2b668bfb5a10e156e7cb389ff4a4d9d1 torreas-0.1.tar.gz

View file

@ -24,6 +24,7 @@
<li><a href="/tuwf" class="special">Tuwf </a></li>
<li><a href="/yxml" class="special">Yxml </a></li>
<li><a href="/nginx-confgen" class="special">Nginx-cfg </a></li>
<li><a href="/torreas" class="special">Torreas </a></li>
<li><a href="/ylib" class="item1-ylib">Ylib</a></li>
<li><a href="/doc" class="item1-doc">Writing</a></li>
<li><a href="/dump" class="item1-dump">Code dump</a></li>
@ -114,6 +115,16 @@
<li><a href="/" class="small special">Projects home </a></li>
</ul>
$endif$
$if(menu-torreas)$
<h1>~ Torreas ~</h1>
<ul>
<li><a href="/torreas" class="item2-torreas">Info</a></li>
<li><a href="/torreas/man" class="item2-torreas-man">Manual</a></li>
<li><a href="/torreas/changes" class="item2-torreas-changes">Changelog</a></li>
<li><a href="https://code.blicky.net/yorhel/torreas/issues" class="special">Issues </a></li>
<li><a href="/" class="small special">Projects home </a></li>
</ul>
$endif$
<ul>
<li><a href="/contributing" class="small item1-contributing">Contributing</a></li>
<li><a href="/guestbook" class="small item1-guestbook">Guestbook</a></li>