this post was submitted on 03 Sep 2025
21 points (100.0% liked)

Ask Lemmy

34368 readers
1524 users here now

A Fediverse community for open-ended, thought provoking questions


Rules: (interactive)


1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them


2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?


3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.


4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either !asklemmyafterdark@lemmy.world or !asklemmynsfw@lemmynsfw.com. NSFW comments should be restricted to posts tagged [NSFW].


5) This is not a support community.
It is not a place for 'how do I?', type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.


6) No US Politics.
Please don't post about current US Politics. If you need to do this, try !politicaldiscussion@lemmy.world or !askusa@discuss.online


Reminder: The terms of service apply here too.

Partnered Communities:

Tech Support

No Stupid Questions

You Should Know

Reddit

Jokes

Ask Ouija


Logo design credit goes to: tubbadu


founded 2 years ago
MODERATORS
 

Hello!

I have finally patched a security vulnerability (thank you Lime!) so here I go again.

I have made a decentralised file system, or a FOSS web page if you want (or anything else you can make with an online presence).

I feel it's time to test it more thoroughly, and publish it. To get feedback and well let users use it!

So my question is, how do you do that? I have a sub on my Lemmy server but I'm not using it enough to get good federation so should I make a new one on a big server? Should I make posts on tech subs? I'm terrible when it comes to promoting things!

Any information greatly appreciated!

Cheers

Valmond

PS. If you want to check it out, the whole story is here including quick setup and so on. PPS. For the daring: Codeberg repo

top 7 comments
sorted by: hot top controversial new old
[–] fermuch@lemmy.ml 3 points 6 days ago (1 children)

Using a strong incentive to share.

What would that incentive be?

Possible to modify your shared data or your computer address (IP:PORT) without the need to re-distribute the link.

How would you handle spam if the content can be updated?

Accessible to anyone who can spare some disk space and some bandwith

What about mobile users, who have a data plan limit, low space and battery to worry about (so no daemon 24/7)?

[–] Valmond@lemmy.world 6 points 6 days ago (1 children)

Thanks for the feedback!

What would that incentive be?

The incentive is that your data is being shared. As you share data from others, they share yours. Reciprocal sharing.

How would you handle spam if the content can be updated?

It's not like an email service, think of it like a web page. If you go to your favourite-webpage.com and suddenly there is something you don't like on it, you can just opt out by not going there any more.

What about mobile users, who have a data plan limit, low space and battery to worry about (so no daemon 24/7)?

This is not made for very low bandwith systems, or bandwith expensive systems. This said, I have a 8€ monthly mobile plan with IIRC 210GB monthly data (then it gets throttled), so if you do not yet have access to low costs like this, eventually you will.

If you want to share a 1MB website (which is quite big IMO) and share it 10 fold, you'd need roughly a whopping 11MB of storage. Again, everyone does not have lots of free storage, but the trend seems to point towards that and most phones today have that storage capacity.

This is a first version, but nothing prevents a low power usage version to be made, quite easily too.

On mobile, my concerns would be more of the possibility to have a port forward, and an IP address that doesn't change too often (like many many times a day).

[–] fermuch@lemmy.ml 1 points 6 days ago (1 children)

Thanks for the quick answer!

If you want to share a 1MB website (which is quite big IMO) and share it 10 fold, you'd need roughly a whopping 11MB of storage.

Is it possible to be a "hoarder", and keep storage for others without adding new files?

How do files expire? Is there a last-activity expire, random keys expiring or something like that?

Are there "scores" for peers? If I contribute 1TB of storage but am online only 2 hours a week, am I penalized in some way (like lower trust)? If so, how do you verify that?

And what about data locality? Is there any kind of incentive to have data located closer to where it is most used? (Like a cdn)

Finally: if there is a peer scoring system, is bandwidth part of the calculation too? For example: a peer with just a few gigabytes, but 1gbps network to share. Would they receive a better score because of their network? Or worse because of their low storage?

[–] fermuch@lemmy.ml 2 points 6 days ago (1 children)

After re-reading my comments, I thought they might come as aggressive. That's totally not what I mean!

Congrats on launching the project! My comments here are to address what might be common problems in a p2p network, to see your POV on these problems, and maybe give you ideas on points you might want to research in the future.

As far as I know, this is the first "distributed" and "easy-to-use" tool we have. I've never seen something as easy as 10f -i file.jpg and share it! But there are some prior attempts for mostly-related ideas, which could be:

  • Online file sharing (MEGA, MediaFire, Imgur, even Dropbox...)
  • P2P networks focusing on file sharing like i2p or freenet

For online file sharing, some recurrent problems are: DMCA. How do you (an operator of the network) handle a DMCA request?

And for P2P networks, the focus always is: how can I ensure I do not host illegal files? Even if they are encrypted, some legislation still can consider it as keeping illegal files (AFAIU).

[–] Valmond@lemmy.world 3 points 6 days ago

Hello!

Is it possible to be a “hoarder”, and keep storage for others without adding new files?

Inbuilt in the setup (you can turn this off, or change its characteristics) you share 16MB for free, but only for 64kb files or less. This is to bootstrap sharing, and promote small website-like stuff.

How do files expire

There are checks to see if a node still has your data (requests for a small part at a random location), but at the moment that's it.

If a node stops sharing, then you just stop sharing theirs, and the system will try to find another node willing to share your data (which should not be a problem as you overshare, so one of the other nodes has your back during that time).

Score

There are score for onlineness for nodes, a very crude system that can be greatly expanded, but you can't share a lot like in a torrent situation, because you only share what you want and thus share reciprocally. If that seems illogical please do tell!

Locality

No, it's randomly distributed to make it difficult (or astronomically hard) to take down data, and also to have a statistic good chance of the data being available (imagine most nodes in a country turns them off for the night for example, having it spread out would mitigate that).

Is bandwidth part of the calculation

Not yet, I'm thinking of different contracts like more of a storage contract that'd expire after say downloaded 5 times, and a "high bandwidth" contract that could accept to share a larger slump of data vs a smaller but more often downloaded, but for today it does not exist. You can alleviate this by adding overshares, so your 1MB site is shared by 1000 nodes "costing you" 1.000MB in reciprocal sharing but will have better access (parallel downloading is in the works but comes with a couple of specific security snags so quite WIP).

I just saw you added a post :-D no problemo, it's normal to question new tech, and I do truly appreciate it! Thank you for your kind words too!

Just some notes ; it's a trust less system, so node integrity is a non issue here (if they don't serve your data, you'd just change for another one. Same if they serve bad data etc).

As far as I know, this is the first “distributed” and “easy-to-use” tool we have.

10f -i file.jpg

You just gotta name it too 😬 ☺️

10f -i myimage file.jpg

But thanks again!

DMCA

Yes this is the whole "don't do crimes" problem, if users are not sharing the latest Madonna single, there should not be a problem, but what if someone does?

The node sharing cannot know what it's sharing, it's AES256 CTR encrypted, and without the key you just cannot know what it is. This does not solve it of course, and I wonder what the legal implications are, in Europe hosters are not yet responsible for what they (unknowingly AFAIK) host, so I think that's kind of clear there, in the USA, well if they find you sharing xyz.aes and they have the key to prove it's illegal content, they'll send you a takedown request I suppose. What does cloud services risk? Lots of questions here of course.

I think it's in the same legal basket as P2P networks.

Hope this helps!

[–] Morti@sh.itjust.works 3 points 6 days ago (1 children)

I suggest posting the "PS" link to a tech community. Sounds interesting! Keep up the good work!

[–] Valmond@lemmy.world 3 points 6 days ago

Thanks!

Will try to check out the tech subs for a potential post there. Anywhere else you think I can post this?