No description
- HTML 59.2%
- Python 40.8%
Web UI for managing GoToSocial v2 filters and server-side mutes. FastAPI + HTMX + Jinja2, deployed via Docker Compose. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| app | ||
| .env.example | ||
| .gitignore | ||
| CLAUDE.md | ||
| compose.yaml | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
gts-filters
A small web UI for managing GoToSocial filters and mutes.
Most Mastodon clients don't fully support GTS filter v2 (named filter categories with keyword lists) or server-side mutes. This app gives you a dedicated mobile-friendly interface for both.
Features
- Filters — create, edit, and delete v2 filters; manage keywords per filter; set action (warn/hide), contexts, and optional expiry
- Mutes — browse all server-side mutes with infinite scroll; search accounts by handle and mute them with optional duration and notification muting; unmute with one tap
Setup
Copy .env.example to .env:
GTS_BASE_URL=https://your.gts.instance
GTS_ACCESS_TOKEN=your_bearer_token_here
You can generate a token in your GTS settings under Applications.
Running
With Docker Compose (recommended):
docker compose up -d
The service joins an external Docker network named palmiers and listens on port 8000. Put it behind a reverse proxy and restrict access there — the app has no built-in authentication.
Locally with uv:
uv run uvicorn app.main:app --reload
Tech
FastAPI · HTMX · Jinja2 · Pico CSS — no build step, no JS framework.