# Apub-ctpanel **ActivityPub-based software Control Panel** for: 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