Is bittorrent a reasonable protocol to use over reticulum
Started by welo ·
phantom for torrenting over reticulum does exist, but it's both pretty clearly vibe coded and abandoned and I've never seen a .ghost file in the wild not to mention some design issues. I usually would have no issue forking and making a project better however I can't find a compelling reason why it uses its own .ghost format and torrenting protocol instead of borrowing the existing .magnet and bittorrent protocol, off the top of my head
- Should work perfectly fine over a link
- has existed for decades and is well understood with existing libraries that could ported semi-easily
- bittorrent allows for extensions so custom functionality such as sending reticulum identities to ensure a peer knows every other peer should be possible.
- All .magnet files that currently exist would be backwards compatible and instantly seedable (assuming that any potential system does not rely on trackers at all and instead uses announcements or LXMF as its peer discovery mechanism)
- Allows for the future possibility of existing torrenting clients adding support for reticulum in the same way qBittorrent added support for i2p.
The only other potential design possibility is to leverage group destinations to allow seeding multiple peers at once, but that could always be initialised using the fore-mentioned extensions system and could be built on-top of the bittorrent protocol if needs be.
Is this logical enough as justification from making my own torrenting application or should I just fork phantom and attempt to polish that instead.
Is bittorrent a reasonable protocol to use over reticulum
No.
There are much better architectural approaches to creating something like this, actually designed for Reticulum, and not inheriting all the problems of bittorrent.
Is this logical enough as justification from making my own torrenting application
No.
Start with something much more simple.
should I just fork phantom and attempt to polish that instead
No.
It's badly designed, badly implemented, and unmaintainable. It's abandoned for the same reason all these other LLM-generated projects are abandoned. Let it die.
TL;DR: Don't try to make something like this unless you really know what you're doing, and are prepared to spend the required effort and time to actually design it. No, the big magical "AI" button is not gonna help you.
alright fair enough I'll go find some other low hanging fruit then cause I'm itching to make something reticulum related.
and not inheriting all the problems of bittorrent.
For future reference for anyone who does actually want to take this on, what are issues with bittorrent here?
On the topic of decentralized file sharing, I recently found out about IPFS. I wonder if something similar could work well if designed specifically for Reticulum.
from what i know reticulum is direct peer-to-peer no?
the problem would be hosting the file somewhere and having a protocol that send it packet by packet with checks.
from all my experiences testings tons of different programs i have trouble right now sending just a 2kb file. i cannot imagine working with gibabytes.
file transfert progress and stop buttons arent even implemented widely in any application i tested...
Jambonet wrote:
from what i know reticulum is direct peer-to-peer no?
the problem would be hosting the file somewhere and having a protocol that send it packet by packet with checks.
from all my experiences testings tons of different programs i have trouble right now sending just a 2kb file. i cannot imagine working with gibabytes.file transfert progress and stop buttons arent even implemented widely in any application i tested...
Reticulum has an inbuilt command-line file transfer utility https://reticulum.network/manual/using.html#the-rncp-utility which normally works for me
If that doesn't work I would try updating RNS versions and making sure the connection is stable