soselo/README.md

61 lines
3.7 KiB
Markdown

<img src="https://blog.nobigtech.es/istatic/soselo-icon.png" width="100">
<br>
# 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 &quot;No configurados&quot; (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