[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Go Report Card](https://goreportcard.com/badge/gitlab.com/khanzf/fedilogue)](https://goreportcard.com/report/gitlab.com/khanzf/fedilogue) # Fedilogue Fedilogue is a fediverse cataloging and search platform. The intention is to create a centralized search system for use by fediverse users and APIs. ## How does Fedilogue gather data? Fedilogue employs multiple methods to gather post and account data. * Through publicly accessible timelines * Through privately accessible timelines, requiring an account on a given instance * Through publicly accessible relays * Through followed users using a mass following agent (planned) ## Supported Instances Fedilogue can receive posts from any instance that supports the ActivityPub protocol. However, it can only pull from instances that use the Mastodon API, which includes Pleroma. ## How to run ### Go version Requires at least Go 1.5 or above ### Install Go Dependencies Install the following requirements ``` go get muzzammil.xyz/jsonc go get github.com/jackc/pgx/pgxpool go get github.com/microcosm-cc/bluemonday ``` ### Build Fedilogue ``` git clone https://gitlab.com/khanzf/fedilogue cd fedilogue make ``` There should now be a `fedilogue` executable in the project directory. ### Configuration Fedilogue is configured by the `config.jsonc` file. Start by copying the `config.jsonc.sample` file to `config.jsonc` and edit the file with your use-case values. The configuration file is written in jsonc and has enclosed explanations that should be self-explanatory. ## Contact Ping me at [@fikran@islamicate.space](https://islamicate.space/fikran)