Select the types of activity you want to include in your feed.
A simple tool which lets you scrape twitter accounts and crosspost them to bluesky accounts! Comes with a CLI and a webapp for managing profiles! Works with images/videos/link embeds/threads.
···137137cat > .env <<'EOF'
138138PORT=3000
139139JWT_SECRET=replace-with-a-strong-random-secret
140140+# Optional: auth token lifetime (jsonwebtoken format), default is 30d.
141141+# JWT_EXPIRES_IN=30d
142142+# Optional: comma-separated browser origins allowed to call the API.
143143+# Leave unset to allow all origins (default/backward-compatible).
144144+# CORS_ALLOWED_ORIGINS=https://your-tailnet-host.ts.net,https://localhost:3000
140145EOF
141146```
142147···301306302307- `config.json`: mappings, credentials, users, app settings (sensitive; do not share)
303308- `data/database.sqlite`: processed tweet history and metadata
304304-- `.env`: runtime environment variables (`PORT`, `JWT_SECRET`, optional overrides)
309309+- `data/.jwt-secret`: auto-generated local JWT signing key when `JWT_SECRET` is not set (sensitive; keep private)
310310+- `.env`: runtime environment variables (`PORT`, `JWT_SECRET`, `JWT_EXPIRES_IN`, optional overrides)
305311306312Security notes:
307313···312318- admins can grant fine-grained permissions (view all mappings, manage groups, queue backfills, run-now, etc.)
313319- only admins can view or edit Twitter/AI provider credentials
314320- admin user management never exposes other users' password hashes in the UI
315315-- if `JWT_SECRET` is missing, server falls back to an insecure default; set your own secret in `.env`
321321+- if `JWT_SECRET` is missing, server generates and persists a strong secret in `data/.jwt-secret` so sessions survive restarts
322322+- set `JWT_SECRET` in `.env` if you prefer explicit secret management across hosts
323323+- auth tokens default to `30d` expiry (`JWT_EXPIRES_IN`), configurable via `.env`
324324+- auth endpoints (`/api/login`, `/api/register`) are rate-limited per IP to reduce brute-force risk
316325- prefer Bluesky app passwords (not your full account password)
317326318327### Multi-User Access Control