this post was submitted on 12 Jun 2023
19 points (100.0% liked)
Selfhosted
573 readers
1 users here now
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Resources:
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
> Any issues on the community? Report it using the report flag.
> Questions? DM the mods!
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I'm still learning the API, but if you wanted to build your own community crawler, you could do something like this:
/api/v3/site
against your own and look at thefederated_instances.linked
key and query each of those. If your federation list is small, you could call that API endpoint for another instance, such aslemmy.ml
orbeehaw.org
to get theirs.{domain}/api/v3/community/list?type_=Local
to get a JSON list of its local communitiesYou probably don't want to crawl and subscribe to every community on every instance. That would cause a lot of unnecessary traffic for both you and the instances you're subscribed to.
To quickly make a remote community "known" to your server, you can massage the Lemmy-UI's search endpoint to make it work a little better.
https://{your-instance-url}/search/q/[!community@domain.tld](/c/community@domain.tld)/type/All/sort/TopAll/listing_type/undefined/community_id/0/creator_id/0/page/1
Replacing
[!community@domain.tld](/c/community@domain.tld)
with the remote community address you want. Can be in either[!community@domain.tld](/c/community@domain.tld)
orhttps://domain.tld/c/community
formats - both will work. Calling the search page that way will wait until there is a result before rendering rather than showing "no results" and making you click search two or three times until it appears. Same process on the backend, just cleaner in the front.You can do that through the backend API similarly, but you'd have to put your JWT in an
auth
URL param which I wouldn't suggest against the instance's public URL.Dove into the API last night to see how difficult it would be to use the REST API to create something resembling RES for old.reddit.com. That's about as far as I got before life got in the way, so hopefully that's useful for someone.
Wow, just wow. Thanks for the ideas... Guess I need to familiarize/play around a little bit...