app | ||
dataset | ||
fediquery.py | ||
fediverse.py | ||
fetchpeers.py | ||
LICENSE | ||
README.md | ||
requirements.txt | ||
upload.py |
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:
-
Run
pip install -r requirements.txt
to install needed libraries. -
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. -
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. -
Use your favourite scheduling method to set
python fetchpeers.py
to run at least once a day andpython fediverse.py
to run at desired pace to publish the results. Also setpython fediquery.py
to run every minute to accept queries from any fediverse' users about anyserver
orsoft
. -
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.