diff --git a/.gitignore b/.gitignore index f4355fb..30275bb 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/Makefile b/Makefile index cdf6f57..a516173 100644 --- a/Makefile +++ b/Makefile @@ -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 "$@" diff --git a/dat/guestbook.md b/dat/guestbook.md index 3849451..4e6126c 100644 --- a/dat/guestbook.md +++ b/dat/guestbook.md @@ -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? diff --git a/dat/index.md b/dat/index.md index a9e12de..6099f83 100644 --- a/dat/index.md +++ b/dat/index.md @@ -19,6 +19,10 @@ the incidental article on this site. Enjoy your stay! ## Announcements Atom feed +`2023-11-03` - New tool: torreas +: I wrote a little tool to reassemble torrent files, more information + available on its [homepage](/torreas). + `2023-09-11` - ncdu 1.19 released : 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 diff --git a/dat/torreas.md b/dat/torreas.md new file mode 100644 index 0000000..a6453df --- /dev/null +++ b/dat/torreas.md @@ -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 Atom feed +: 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. diff --git a/pub/download/torreas-0.1.tar.gz.asc b/pub/download/torreas-0.1.tar.gz.asc new file mode 100644 index 0000000..c79df44 --- /dev/null +++ b/pub/download/torreas-0.1.tar.gz.asc @@ -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----- diff --git a/pub/download/torreas-0.1.tar.gz.md5 b/pub/download/torreas-0.1.tar.gz.md5 new file mode 100644 index 0000000..9e65945 --- /dev/null +++ b/pub/download/torreas-0.1.tar.gz.md5 @@ -0,0 +1 @@ +c2b761761cf5566b6f4a306329c4b5e3 torreas-0.1.tar.gz diff --git a/pub/download/torreas-0.1.tar.gz.sha1 b/pub/download/torreas-0.1.tar.gz.sha1 new file mode 100644 index 0000000..6d4ec35 --- /dev/null +++ b/pub/download/torreas-0.1.tar.gz.sha1 @@ -0,0 +1 @@ +53342fd5e54e2852484d7c0b5d6f043429873a3f torreas-0.1.tar.gz diff --git a/pub/download/torreas-0.1.tar.gz.sha256 b/pub/download/torreas-0.1.tar.gz.sha256 new file mode 100644 index 0000000..5481c38 --- /dev/null +++ b/pub/download/torreas-0.1.tar.gz.sha256 @@ -0,0 +1 @@ +56f6276b42832e7a3e0477331a9f2a7b2b668bfb5a10e156e7cb389ff4a4d9d1 torreas-0.1.tar.gz diff --git a/template.html b/template.html index 8d1f131..441e694 100644 --- a/template.html +++ b/template.html @@ -24,6 +24,7 @@
  • Tuwf
  • Yxml
  • Nginx-cfg
  • +
  • Torreas
  • Ylib
  • Writing
  • Code dump
  • @@ -114,6 +115,16 @@
  • Projects home
  • $endif$ + $if(menu-torreas)$ +

    ~ Torreas ~

    + + $endif$