Get and publish all fediverse's servers stats: total alive servers, total registered users and total Monthly Active Users (MAU)
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
spla 463f8c418a 20230607 fediverse's dataset 8 hours ago
app Added top table to save top five softwares and upload.py to upload alive fediverse's dataset to Forgejo repo 1 week ago
dataset 20230607 fediverse's dataset 8 hours ago
LICENSE First release 2 months ago
README.md Updated 1 week ago
fediquery.py Accepting queries from fediverse's users about soft or server 2 months ago
fediverse.py Changed dataset dir structure to year/month 18 hours ago
fetchpeers.py First release 2 months ago
requirements.txt Added top table to save top five softwares and upload.py to upload alive fediverse's dataset to Forgejo repo 1 week ago
upload.py Changed dataset dir structure to year/month 18 hours ago

README.md

Fediverse Stats

This code gets all peers from Mastodon server host and then all peers from host server's peers. Goal is to collect maximum number of alive fediverse's servers and then query the nodeinfo endpoint of all of them to obtain their registered users and MAU (if their nodeinfo is providing such information). At the end it post the results to host server bot account.

Dependencies

  • Python 3
  • Postgresql server
  • Mastodon running server.

Usage:

Within Python Virtual Environment:

  1. Run pip install -r requirements.txt to install needed libraries.

  2. Run python fetchpeers.py. First run will setup everything up and after that it will get maximum peers possible from Mastodon host peers list and beyond.

  3. Run python fediverse.py to check an get all information from all peers nodeinfo endpoints. At the end it will publish the results to the configured Mastodon account.

  4. Use your favourite scheduling method to set python fetchpeers.py to run at least once a day and python fediverse.py to run at desired pace to publish the results. Also set python fediquery.py to run every minute to accept queries from any fediverse' users about any server or soft.

  5. Use your favourite scheduling method to run python upload.py if you want to upload alive fediverse's datasets to your configured Forgejo repository.

15.4.2023 - Added fediquery.py. It allows queries from any fediverse' user about soft and server (keywords). It replies to the asking user with its data, if any.
28.5.2023 - Added top table to save top five softwares data.
28.5.2023 - Added upload.py to upload alive fediverse's dataset to configured Forgejo repository.