No description
  • HTML 59.2%
  • Python 40.8%
Find a file
Erick Ruiz de Chavez 3dddb9dbbe Initial commit
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>
2026-06-12 13:09:22 +00:00
app Initial commit 2026-06-12 13:09:22 +00:00
.env.example Initial commit 2026-06-12 13:09:22 +00:00
.gitignore Initial commit 2026-06-12 13:09:22 +00:00
CLAUDE.md Initial commit 2026-06-12 13:09:22 +00:00
compose.yaml Initial commit 2026-06-12 13:09:22 +00:00
pyproject.toml Initial commit 2026-06-12 13:09:22 +00:00
README.md Initial commit 2026-06-12 13:09:22 +00:00
uv.lock Initial commit 2026-06-12 13:09:22 +00:00

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.