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.
- Python 3
- Postgresql server
- Mastodon running server.
Within Python Virtual Environment:
pip install -r requirements.txtto install needed libraries.
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.
python fediverse.pyto check an get all information from all peers nodeinfo endpoints. At the end it will publish the results to the configured Mastodon account.
Use your favourite scheduling method to set
python fetchpeers.pyto run at least once a day and
python fediverse.pyto run at desired pace to publish the results. Also set
python fediquery.pyto run every minute to accept queries from any fediverse' users about any
Use your favourite scheduling method to run
python upload.pyif 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.