- Go 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .forgejo/workflows | ||
| .gitignore | ||
| db.go | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| README.md | ||
Fediverse Unfollower Notifier
Herramienta ligera en Go para detectar qué usuarios han dejado de seguirte en el Fediverso (Mastodon, GoToSocial, Akkoma, Pleroma, etc.) y enviarte una notificación por mensaje privado directo a tu propia cuenta.
Pensada para ejecutarse periódicamente mediante cron o un timer de systemd en tu propio servidor.
Características
- Zero-CGO: Usa
modernc.org/sqlitepara compilar un binario estático sin dependencias de C. - Privado y local: Tus datos y el estado de tus seguidores nunca salen de tu propio servidor.
- Notificación directa: Te envía un mensaje privado (
direct status) en tu propia instancia solo cuando detecta una baja. - Manejo de paginación: Compatible con cuentas que tengan cientos o miles de seguidores.
Requisitos
- Go 1.21+ (solo para compilar).
- Una cuenta en cualquier instancia del Fediverso compatible con la API de Mastodon.
- Un token de acceso de aplicación (
Access Token).
Instalación y Compilación
-
Clona el repositorio:
git clone [https://tu-instancia-forgejo.com/tu-usuario/fedi-unfollower.git](https://tu-instancia-forgejo.com/tu-usuario/fedi-unfollower.git) cd fedi-unfollower -
Compila el binario:
go build -o fedi-unfollower .
Configuración
Obtén un Access Token desde tu instancia
Configura las variables de entorno necesarias:
- MASTODON_SERVER, URL completa de tu instancia, https://mastodon.social o https://gts.tu-dominio.com
- MASTODON_ACCESS_TOKEN, Token de acceso de tu aplicación, abc123xyz...
- MASTODON_MY_ACCT, Tu cuenta completa con formato @usuario@dominio, mi_usuario@mastodon.social
- DB_PATH (Opcional), Ruta al archivo SQLite, followers.db
Uso
Ejecuta el programa manualmente para realizar la sincronización inicial:
export MASTODON_SERVER=https://tu-instancia.social export MASTODON_ACCESS_TOKEN="tu_access_token" export MASTODON_MY_ACCT="tu_usuario@tu-instancia.social"
./fedi-unfollower
En la primera ejecución, el programa creará followers.db y guardará la lista actual de seguidores sin enviar ninguna notificación.