Skip to main content


I wrote a nano tool that tries to extract the #Fediverse accounts of your #Twitter followings: fedifinder.glitch.me/

It searches for the patterns @user@host.tld, user@host.tld and host.tld/@user in the screen name, description, location and URL field. It displays them to you in the correct format for easy copying as well as a CSV download that can be imported to #Mastodon.

New version: fedifinder-backup.glitch.me/

This entry was edited (2 years ago)
in reply to Luca Hammer EN

@Luca Hammer This tool found a few accounts I didn't know about yet, thank you! Unfortunately it doesn't recognise my own profile link on my Twitter ("@GidiKroon"), because it's a Friendica profile ("friendica.gidikroon.eu/profile/gidi") and I have no more room to add the webfinger version... (and I want the link to be clickable for those that don't know about how webfinger handles work)
in reply to Gidi Kroon

Thanks for the feedback.

#fedifinder is now looking for URLs that contain "/profile/" as well. Your account gets already detected.

in reply to Luca Hammer EN

You can now check if the handles in your own Twitter profile are found. They are not added to the export. If there are issues with your profile, let me know.

Thanks for the idea @nelson. #twittermigration #neuhier #nieuwhier

in reply to Luca Hammer EN

Updates to #fedifinder
- Accounts are now sorted by fediverse instance
- Strings that look like mail addresses are included again eg. name@domain.tld
- domains are checked for /.well-known/host-meta (if it exists, the domain is more likely to be part of the fediverse; someday I may look at the content as well; currently just HEAD requests) Thanks @yetzt for the idea.
- domain checks are cached to make them faster and don't put unnecessary load on servers
- offline domains excluded
in reply to Luca Hammer EN

I was able to reduce the wait time by around 40% by moving the domain checks to after the page got rendered. I fear some rate limiting issues came from people reloading before receiving a response.

False positives are kept in the visible list, but striked through. They are still removed from the exported CSV to reduce server load on imports.

Next up: Lists. They are the most requested feature. #fedifinder

in reply to Luca Hammer EN

Support for lists arrived in #fedifinder.

It shows you your own lists as well as the lists you are subscribed to. You can scan each of them and the found handles are added to the visible list as well as the download. (False positives of the previous scan are removed from the visible list with each additional scan.)

in reply to Luca Hammer EN

I made the scan of the followings optional in #fedifinder to improve speed, reduce the amount of rate limiting errors (eg. users reloading the page) and make it easier for people who only want to scan lists or maybe something else that gets added in the future.

Rate limiting errors aren't displayed as json anymore, but tell you how to fix them (wait, wait and wait).

in reply to Luca Hammer EN

More improvements for #fedfinder.

The results now display basic stats for each instance and if the registration is open. Thanks for the hint @pfefferle.

Better check if something is part of the #fediverse.

Data handling is still a mess, but less messy now, which results in fewer requests to the server and less jumping text.

in reply to Luca Hammer EN

Tiny changes on the frontend, massive ones in the backend. #fedifinder

- Option to scan the profiles of your followers
- Twiter handle where the fediverse account was found
- Handles of failed servers can be displayed

- Switched to API v2
- Pinned Tweets are included
- You can now scan up to 15k followings and 15k followers
- Better handling of rate limits
- Caching of reason of unreachability of servers (and limited amount of retries for servers that timed out)
- better regex

in reply to Luca Hammer EN

I am currently looking through the #fediverse software options to find more URL patterns of profiles. Here is what I have at the moment. Most of them are easy to detect. But for pleroma I saw some servers with and some without the @ in the username. Makes it harder.

domain.tld/@name
mastodon, misskey, pleroma, funkwhale

domain.tld/profile/name
friendica, hubzilla

domain.tld/u/name
diaspora

domain.tld/c/name/videos
peertube

domain.tld/name
pleroma, gnusocial

in reply to Luca Hammer EN

Today wasn't fun. While I was outside, I got many messages that #FediFinder didn't work. I checked it and saw that it was overloaded and crashed every few minutes. I then tried to fix it from my mobile, but with each line of code it seemed like I added multiple new bugs. Not good. So I added a message that its broken and to check back later.

I spent the whole afternoon and evening trying to fix the mistakes of past me and clean up the code to make it at least slightly easier in the future.

in reply to Luca Hammer EN

The important thing: #FediFinder is back!

While fedifinder.glitch.me seems to work fine again, I added two backups that you can use as well:
fedifinder-backup.glitch.me and fedifinder-backup2.glitch.me

New feature: You can now click on the usernames for the fediverse (may not always work because of different formats of software) and Twitter.

in reply to Luca Hammer EN

Instead of building a better export, I made the sessions persistent, so that not everyone re-logins when I change something and the server restarts.

You can now watch as #FediFinder checks the domains. And even retry if it gets stuck (should add a 10 second timeout there as well).

And I added links to the backup servers and info about donations to the homepage.

in reply to Luca Hammer EN

I added an API (kinda) to #FediFinder. The only endpoint is /api/known_instances.json. It returns all instances it knows at the moment.

Currently, It is used to share data with @debirdify.

I don't know if it will stay public/available and/or if the structure will change in the future.

in reply to Luca Hammer EN

#FediFinder Day 9(?). I moved the handle identification from the backend to the frontend to improve performance. The server is only responsible for getting the data from Twitter and checking domains. No changes for the users.

With the functions, I moved some tests to the frontend. Only visible on the staging server or the code.

If handles are detected on the user profile, I show links to their import. Thanks @nart for the idea.

JSON export (including accounts without handles).

Fixed bugs.

in reply to Luca Hammer EN

There are people who had problems using #fedifinder. Not everyone knows what a CSV is or where to find the import. But I have a solution: Follow buttons!

If one or more #fediverse handles are identified on the profile of the person using fedifinder, they can now toggle on follow buttons to get directly to the follow request on their own instances. This should make it much easier.

(At the moment they only work for mastodon instances. I am open to pull requests for other software.)

in reply to Luca Hammer EN

But Luca, not everyone is in the fediverse. The export is useless for the other accounts. And in my Twitter archive are only the IDs of the people I followed. Not their names or websites. What about them?

If you scroll to the bottom of #Fedifinder, you can now view a table of the accounts that you have scanned. Even if they have no handle in their profile. Or one that wasn't correctly detected.

in reply to Luca Hammer EN

For half an hour full of stress I thought, I exposed the sessions database. I noticed a data folder in the git repository that should not have been there (wrong path). First I deleted the folder (to make it less visible), then I revoked the Twitter app tokens, filtered the data from the git history (to actually remove it) and put a notice on the #fedifinder homepage. Finally, I felt like I did, what I could. I relaxed and realized that user data was never at risk. The was the staging database.
in reply to Luca Hammer EN

I updated the ReadMe to help people run their own #Fedifinder (no coding skills needed) and how to contribute.

github.com/lucahammer/fedifind…

And fedifinder got a new API endpoint. api/check. You can use it with a domain and/or handle as query parameters and get back the cached information fedifinder has for that: fedifinder.glitch.me/api/check…

in reply to Luca Hammer EN

Full speed! Thanks to the latest update, #Fedifinder scans my 2k followings within 10 seconds. From login to exported file.

The solution to a slow databases wasn't a fast database, but no database at all. Finally, I can tell you to share fedifinder with all of your contacts without fearing that the
service will go down because of it.

Go and find your people! fedifinder.glitch.me/

in reply to Luca Hammer EN

Only a small update for #FediFinder today: Splitting up functionality to multiple servers.

The main server is only responsible for getting data from Twitter from now on. A second server does the handle and domain lookups. Because the lookups locked the server up from time to time, this should make the service more stable and faster. If no lookup server is added to the .env, fedifinder is fully functional as a single server.

in reply to Luca Hammer EN

The sleepless #fediFinder update.

Authorize your Mastodon account to see which Fediverse accounts of your Twitter followings, you already follow.

Because the feature isn't finished yet and still confusing (you have to authorize, then click hide followings, then scan followings; no export yet) it's currently only available on the backup server: fedifinder-backup.glitch.me/

I am looking forward to your feedback (cc @illionas @ColinSch @botolo86) And to my bed. Good night.

in reply to Luca Hammer EN

First version of the new #Fedifinder. I redesigned the frontend to make it easier to use for people who are joining the #fediverse.

You can try it here: fedifinder-backup2.glitch.me/

Let me know, what you think.

in reply to Luca Hammer EN

hey @Luca your still breaking the follow button for users who have their webfinger name set different then the install directory like me and @mike
in reply to wakest ⁂

100% - the web interface URL is in no way guaranteed to match the instance address. You need to check it.

Unfortunately Mastodon provides no API info for this, but once discovered you can cache it for each domain quite a while. It's unlikely to change often.

in reply to wakest ⁂

if you find one, @Tusky could use a heads-up too.

github.com/tuskyapp/Tusky/issu…

⇧