Xittered / xitter
git clone https://github.com/Xittered/xitter.git
—
+7
stars, 24h · #1,964
+~49
stars, 7 days · #2,490
+95
stars, 30 days · #5,035
97
★ total · +49% this week
27
forks · 7 open issues
Star history (as recorded here)
LanguageTypeScript
LicenseAGPL-3.0
Created2026-10-13 (8d ago)
Last pushtoday
Watchers2
OwnerOrganization
Links
- GitHub: github.com/Xittered/xitter
- Releases · Issues · Hacker News mentions
README excerpt
# Xitter A self-hosted backend for the X (Twitter) web client. The server hosts a pinned build of the official client from your own domain and answers its API from Postgres, so the real x.com interface runs against your own instance. The client itself is not in this repository. Each instance downloads its own copy during setup, and it stays on that machine. ## What works - Posting, replies, quotes, reposts, likes, bookmarks (with folders), pinned posts, pinned replies, highlights, @mentions and hashtags; editing posts, polls, scheduled threads (up to 26 posts), places - Scheduled threads publish together. Failed threads retry; permanent failures or exhausted retries return the complete thread to drafts. Each account can queue 100 future posts. - Who can reply (everyone, followed accounts, verified, mentioned), post views, reposts, likes and quotes lists - Images, GIFs and video (converted with ffmpeg), alt text, content warnings on media, long-form articles - Profiles with all their tabs, editing, follows, followers, private (protected) accounts with follow requests, "About this account" with the country or region it is based in - Lists (with banners) and communities (rules, members, moderation tools, custom banners, a topic from the instance's topics, community label on posts) - Home timeline: a ranked "For you" and a chronological "Following" - Notifications with unread counts, browser push (with the instance's own VAPID key, made on first start in `data/push-vapid.json`); the profile bell (new posts from that account arrive as notifications) and turning an account's reposts off - Search with X's operators, including full federated handles, trends, Explore; trends by location (Explore settings: worldwide, a country, or yours with "Trends for you") - PostgreSQL trigram indexes for post text and account search; startup installs the `pg_trgm` extension and builds the indexes on existing data once - News and sports cards at the top of Explore, written by staff (Admin > Explore cards); sports cards are scoreboards you update as the game goes - Topics: staff define them with keywords; people follow them from "Topics to follow" or a post's menu, and "For you" brings in and labels matching posts - Blocks, mutes and muted words - Who to follow and "You might like" ranked by shared follows, with accounts like the profile you're on; uploaded contacts (Settings > Contacts) for people who let themselves be found by email - Direct messages, end-to-end encrypted, with key backup - Community Notes - Invite-only sign-up with a required email (proven with a mailed 6-digit code when mail is set up; Settings > Email changes it by a confirmation link), pride flag badges, organisations with affiliates, several signed-in accounts - Account settings: password change, username change, language, deactivation (reactivates on sign-in within 30 days), downloadable JSON and offline HTML data archives (including drafts, scheduled posts, polls, media me