Is it possible to automatically subscribe to all (federated) communities with the same name?

Example in the screenshot: I want to follow !astronomy, and I don’t really care whether the content is coming from from Lemmy.World, kbin.social and mander.xyz - I just want to see it all.

Obviously I could manually subscribe to them all, but is it possible to do so automatically? Ideally if a new similar community pops up on another instance, I wouldn’t miss it.

I read here that community grouping is a thing, so that instances with identical communities can work together. Is that a feature that could work towards this end?

You are viewing a single thread.
View all comments
108 points
*

I’m making an App for Lemmy and I’m planning on adding that feature. I also want to make it so you only have to register once and the App can register you to all the instances you choose automatically.

Edit: The Webapp is Nemmy, also the Communiy !nemmy@lemmy.world

Edit2: Please note that Nemmy is early Alpha, so not really useable as a daily driver yet.

permalink
report
reply
46 points

Registering to all instances with the same username/password is just asking for trouble. They’re not all equal and some of them will get hacked somehow.

permalink
report
parent
reply
11 points
*

Very good point! I think @TheButtonJustSpins@infosec.pub has a good idea on how to circumvent that.

I could make my own database with hashed passwords using postgreqsl and RLS, which is pretty secure. The User then decrypts the hashed passwords once on login and is simultaneously logged into multiple instances of Lemmy to get the JWT of each instance, which is then stored in SessionStorage or even in a Cookie if the User wants to which would make this a one-time process.

On signup the User could just register to one instance and then I just generate random 32 Character passwords and hash them with the Users’ password, then get the JWTs and if cookies are enabled the that would only have to be done every year or so (or when the User deletes the Cookies).

This whole process is seems pretty easy, especially if you’ve done something like this before and I’m betting some other App Dev is already taking notes lmao.

Edit: Let’s also do a thought experiment on what data will be leaked if I did this 1:1 and the database gets somehow hacked:

For each User:

  1. Username (=> Gives away that you use Nemmy)
  2. Hashed Passwords (=> Hashed passwords cannot be read if you don’t have the original Users’ password until we have access to quantum computers which can literally crack the encryption algorithm)
permalink
report
parent
reply
3 points

How are you hashing a password with a random 32 character string? I feel like you are mixing terms here or so you combine the password and the random element first or do you mean you decrypt the hash with a symmetric algo and get the 32 char string?

permalink
report
parent
reply
5 points

Hopefully the app will make site-specific passwords?

permalink
report
parent
reply
15 points

For when you tell us the name, @remindme@mstdn.social in 3 hours

permalink
report
parent
reply
4 points

Beep boop bop, for some reason I got a reminder and you didn’t, so here is your human-generated reminder:

3 hours have passed. The name of the app has since been posted: Nemmy

permalink
report
parent
reply
1 point

Thanks! Also, the bot did answer me but it took a little longer than the reddit remindme bot. Reminder was on time tho.

You got the reminder because you also summoned it. Dunno how/if we can summon it for other people.

permalink
report
parent
reply
3 points

To make sure you got your reminder, @remindme@mstdn.social in 3 hours

permalink
report
parent
reply
5 points

@fluxion Ok, I will remind you on Thursday Jul 6, 2023 at 1:28 PM PDT.

permalink
report
parent
reply
3 points

Did you type something different than the other guy?

permalink
report
parent
reply
2 points

@fluxion Here is your reminder!

permalink
report
parent
reply
1 point

Yeah, you can visit the Alpha Webapp, actually: nemmy.app and install it on your phone. Also, here’s the Community for it: c/Nemmy.

permalink
report
parent
reply
9 points

This would be amazing! Do you have a name for your app yet?

permalink
report
parent
reply
4 points
*

Yeah, you can visit the Alpha Webapp nemmy.app and install it on your phone. Also, here’s the Community for it: c/Nemmy.

permalink
report
parent
reply
4 points

Please link in a format that works for people on different instances: !nemmy@lemmy.world.

permalink
report
parent
reply
4 points

Thanks for letting me know, I’m still new to Lemmy :).

permalink
report
parent
reply
2 points
  • We need a central registry of communities, aka subreddits, and users.

  • Figuring out if two posts are identical is going to be a challenge.

  • Some people are going to cross post but post slightly differently on each instance because they don’t know if their post will be federated

  • Maybe group by hashtag instead of community name?

  • We should steal the ideas that were good with Reddit and Twitter

permalink
report
parent
reply
2 points

What if users could just configure their own named groups for communities from the various instances, and when you view the group you’d see a feed from all of them?

permalink
report
parent
reply
1 point

Yes, very good idea! When users create a group, they can select keywords to search for and then the App could make a best guess and then show a list to the user where they can select the ones they want or don’t want in the group.

permalink
report
parent
reply
1 point
*

Figuring out if two posts are identical is going to be a challenge

I think I could deal with duplicates pretty easily by checking if different properties of the post are identical, the more are the less likely it is that the post will be shown.

I think a bigger problem is the comments. What if a user reposts a post from r/astronomy on lemmy.world to c/astronomy on lemmy.ml? Which one do we show, and what do we do with the comments of the other? Merge them together, or just leave them? Maybe show a button on the post when there’s a duplicate und the user can switch instances?

Lots of figuring out to do, but it sounds fun!

Edit: The Group-by-Hashtag thing is also a good idea! That would of course make the whole thing less of a headache, but to make that work a lot of users need to do that.

permalink
report
parent
reply

It’s a web app? Lemmy’s CORS settings are messed up, I assume you have to route all requests through a proxy?

That was a nightmare for my app

permalink
report
parent
reply
1 point

Yeah, it’s a web app. I route all requests through my own backend, so it’s server-server communication between Nemmy and any Lemmy instance, circumventing CORS by design.

Are you sure the CORS settings are messed up? I tried reaching the API a couple of times from my frontend for debugging and got errors due to authentication security. Are you referring to that or something else?

permalink
report
parent
reply

You’ll get a “Forbidden” error and if you check the request, it’ll say “Forbidden: Cross origin requests are not allowed”

permalink
report
parent
reply
1 point

What would be the point of registering across all servers? Is this just to secure your username?

permalink
report
parent
reply
1 point

Yes, from what I’ve seen there are a some people who are concerned about others impersonating them on other instances.

permalink
report
parent
reply

No Stupid Questions

!nostupidquestions@lemmy.world

Create post

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others’ questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That’s it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it’s in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.

Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here.

Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

Community stats

  • 9.7K

    Monthly active users

  • 2.7K

    Posts

  • 107K

    Comments