📈 GH Trending Explorer 🎲 Surprise me

← all repos

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)

2026-10-20 · 88 ★ 2026-10-22 · 97 ★
LanguageTypeScript
LicenseAGPL-3.0
Created2026-10-13 (8d ago)
Last pushtoday
Watchers2
OwnerOrganization

Links

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