Soselo is a web tool for next level moderation of all your ActivityPub-based servers. https://www.nobigtech.es
Go to file
Bofh 197a4273e8 Remove 8080 port requirement + Improved support for Apache setups 2022-12-17 21:54:05 +01:00
api/v1 Add last_n_active to limit db query by the latest N active users 2022-12-17 20:05:27 +01:00
classes Remove data when suspending Mastodon account, only if remote 2022-12-12 20:59:10 +01:00
config Refactor application name to "Soselo" 2022-12-15 14:56:43 +01:00
css Little css fix in .fields 2022-12-17 19:46:17 +01:00
docker Add custom config for docker 2022-12-12 03:47:15 +01:00
fonts/forkawesome Add forkawesome fonts 2022-11-22 00:35:18 +01:00
img Add Soselo favicon and icons in UI 2022-12-17 01:58:47 +01:00
js Remove 8080 port requirement + Improved support for Apache setups 2022-12-17 21:54:05 +01:00
views Create client-side javascript cache-busting system for API 2022-12-17 19:22:57 +01:00
.gitignore Make config/*.php configurable with .example files 2022-12-10 15:25:16 +01:00
Dockerfile Remove 8080 port requirement + Improved support for Apache setups 2022-12-17 21:54:05 +01:00
LICENSE Initial commit 2022-11-21 22:47:11 +00:00
README.md Actualizar 'README.md' 2022-12-17 00:45:20 +00:00
base.php Implement native HTTP application level caching (using currently implemented caching systems) 2022-12-17 18:07:13 +01:00
cli.php Refactor application name to "Soselo" 2022-12-15 14:56:43 +01:00
cron.php Created cli.php for managing configuration from cli 2022-12-10 16:45:39 +01:00
favicon.ico Add Soselo favicon and icons in UI 2022-12-17 01:58:47 +01:00
index.php Create client-side javascript cache-busting system for API 2022-12-17 19:22:57 +01:00
login.php Add Soselo favicon and icons in UI 2022-12-17 01:58:47 +01:00

README.md


Soselo

Soselo is a web tool for moderating all your ActivityPub-based servers: controlling bad actors, watching new users activity (until you build up trust, then whitelist it), filter posts (federated, unlisted, followers-only and DM (for example, for spamming via DM)), filter on user, automations on configured filters (auto suspend/silence/report users, auto delete posts, manual reporting and management of positives)...

In short: manage your ActivityPub implementation software (ex: Mastodon) in a next level way.


Installation

The project is a web application, therefore it uses only these 4 languages: PHP, HTML, CSS, JS.

First steps

First of all, read this basic guideline of requirements:

  • You need any standalone web server with any PHP version you can/want (also see the "Package requirements" below).
  • Make sure the web server has access to your Mastodon/Pixelfed (or whatever): web (via HTTP), database (via IP:PORT), redis (via IP:PORT)... (the needed services to be accessed, depends on the instance managed and configured in the web interface).
  • No need for any database for saving this web application's data: instance configuration, manager users, jobs... It is saved in common files.
  • Copy config/*.php.example to config/*.php and modify it to your needs.
  • For background jobs, you only need to run the cron.php script with php cron.php or php /your/deployed/path/cron.php in any way you want. Also the interval to run this job can be anyone you want (1 minute, 5 minutes or even more...). (The recommended setting is to run every minute).

Package requirements

This requirements are specified with their common names, adapt the package names to your needs (version, operating system...):

  • php-pqsql (Postgres)
  • php-curl (Curl)

Custom guides

Mastodon:

  • When configuring the instance after you've added it (on #instance_config view), there is a field called "API authkey", which is the API key created on your Mastodon instance, with your admin account, and must have all admin:* privileges set. See how to create API keys in your instance URL /settings/applications/new

About Versioning

All tags are created from a moment of the "main" branch. There can be alpha- or beta- prefixes to a version, but all prefixes have there own numeration.

Version numeration is representad as this examples: v1.2.0, alpha-v1.0.0, beta-v3.0.2. In this example v1.2.0 is higher than any alpha- or beta- numeration, as this prefixes are only used as a state of development of this web application.

Updates

Just do a git pull and git checkout THEVERSION


Contributing

You can send patches, code in any format you want, or suggestions to the email bofh@nogafam.es