fix "version (compatible; server)" format
hide properly
taggings, reports WIP


browse log



You can also use your local clone with git send-email.

Fd - A Fediverse Network Directory

The code that powers, maybe some day too.

Development dependencies:

  • Erlang, Elixir
  • PostgreSQL
  • TimescaleDB PostgreSQL extension
  • Node.JS, NPM

You can create a timescaledb instance using the script. (this requires docker and you need to change the DATA_DIR variable in the script)

Development setup

Configure config/dev.exs if you need another db/user than fd_dev and postgres.

Checkout dependencies

mix deps.get
cd assets && npm install && cd ..

Create the database

mix ecto.create

(Not needed for the docker iamge) If your postgresql user is not a superuser, you will need to create the database manually and load the extensions:

psql -d fd_database
create extension timescaledb;

Run the database migrations

mix ecto.migrate

Run it

iex -S mix phx.server

CLI Admin

Add an instance:

instance_domain = ""
{:ok, instance} = Fd.Instances.create_instance(%{"domain" => instance_domain})

Crawl an instance:

Fd.crawl(domain | id)

Switch flags for an instance:

Fd.Instances.switch_flag(id, "dead", true)


  • dead
  • monitor
  • hidden
  • valid