56 lines
3.6 KiB
Markdown
56 lines
3.6 KiB
Markdown
# 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.
|
|
|
|
<img title="Home screen of the web application. You can see a Mastodon instance added (nobigtech.es) and a button to add instances" src="https://blog.nobigtech.es/istatic/7b836dd70634d10cf931654e72b60d0a.png" height="300"/>
|
|
<img title="instance configuration screen. You can see a lot of fields to be configured" src="https://blog.nobigtech.es/istatic/ccd663dba0257ebec052b93767927464.png" height="450"/>
|
|
<img title="users filtering tab on the web application. You can see a filter called "No configurados" (in Spanish) and a lot of options related to the feature" src="https://blog.nobigtech.es/istatic/cb737d4bdc2cb7948efe6c8746a335b9.png" height="400"/>
|
|
<img title="users filter tab on the web application. You can see a filter where we search for Spanish fascist propagandistic accounts" src="https://blog.nobigtech.es/istatic/d28fa8db36d836e8511ad062e8aa52d2.png" height="300"/>
|
|
|
|
|
|
<br>
|
|
|
|
## 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`
|
|
|
|
<br>
|
|
|
|
## Contributing
|
|
|
|
You can send patches, code in any format you want, or suggestions to the email bofh@nogafam.es
|