19 Commits
Author SHA1 Message Date
4cuckandCursor d00136558a Refuse cross-site preference changes and redirects off Twitter, YouTube, and Reddit.
Show an account's country as a flag, and escape raw tags in posts and bios.

Co-authored-by: Cursor <[email protected]>
2026-10-25 03:31:12 +00:00
4cuckandCursor 5c18c66429 Show this month's donations on the homepage, and reset the counter on the 23rd.
Co-authored-by: Cursor <[email protected]>
2026-10-19 16:27:11 +00:00
4cuckandCursor 9c1dd0f29a Add a donate page for card, crypto, and LZT Market payments.
Visitors can give any amount up to $10,000, and the homepage asks for $129 by October 23.

Co-authored-by: Cursor <[email protected]>
2026-10-13 17:05:46 +00:00
4cuck 3adc9754c6 Retry an HTML 429 through the configured proxy, and keep account limits direct. 2026-10-05 02:48:52 +00:00
4cuck 95cc2df375 Route GraphQL through session-pinned SOCKS5 and serve repeats from cache.
Search and profiles were paying a new tunnel plus extra X hops on every hit; keep-alive, first-page SWR, and the example config document a reverse-proxied instance without committing live exits.
2026-09-02 19:59:32 +00:00
4cuck db77470c5b Rebrand the public identity as teapawt with the cup-and-paw logo. 2026-08-30 02:31:22 +00:00
vpsandCursor a13e8ce0d3 Merge amaanq/teapot: about-account, mobile nav, and landing refresh.
Keep nitter.cf branding, sister-site links, search dedupe, and the safer X error mapping.

Co-authored-by: Cursor <[email protected]>
2026-08-30 01:54:25 +00:00
vpsandCursor 904ff9bfc2 Add nitter.cf instance branding, search dedupe, and safer API errors.
Keep keyword search from repeating the same viral tweet on every retweet, encode pagination cursors, and treat X 404s as not-found instead of 500s. Sessions, live config, and logs stay untracked.

Co-authored-by: Cursor <[email protected]>
2026-08-30 01:54:05 +00:00
4cuck 8bbaee7b4f config: document the X-Posed community cache 2026-08-29 21:43:43 -04:00
4cuck 7e6aa35ff2 routes: report exhaustion instead of an internal error 2026-08-29 03:12:56 -04:00
4cuck 419476082b api: bill upstream calls to the requesting client 2026-08-29 03:12:54 -04:00
4cuck f2f531869b build: align licensing, configuration, CI, and Nix packaging 2026-07-18 16:58:48 -04:00
4cuck 5695b439c9 discord: improve embeds 2026-07-15 16:26:29 -04:00
4cuck a7887b29b6 security: harden media and preference boundaries
Default signing keys made media proxy URLs forgeable, and unauthenticated
media fetches let arbitrary upstream hosts consume server-side network
access. This commit makes those boundaries explicit, limits buffered upstream
bodies, and keeps externally sourced text escaped at raw rendering sinks.
2026-06-11 18:58:26 -04:00
4cuck 740584d048 cache: bound in-memory cache with size cap and expiry-ordered eviction 2026-05-30 22:28:02 -04:00
4cuck 7321ee27bf translate: add Kagi Translate as user-configurable alternative
Users can set their Kagi session token in preferences to use Kagi
Translate instead of Twitter's Strato API. The /translate endpoint
reads the kagiToken cookie and routes accordingly, falling back to
Strato when no token is set.
2026-03-25 17:21:47 -04:00
4cuck 5617d98947 transcode: add GIF transcoding for Discord inline playback 2026-03-17 04:55:03 -04:00
4cuck e5589c8caa all: remove HLS/VMAP support, use MP4-only video playback
Drops hls.js, the HLS glue JS, M3U8 manifest rewriting, VMAP resolution,
and the proxyVideos/hlsPlayback preferences. Videos now render as native
<video> elements with the highest-resolution MP4 variant. Promo card videos
that only provide HLS/VMAP streams show as unavailable since those are ads.
2026-03-01 23:16:32 -05:00
4cuck 9a4cbf74f7 all: init twt 2026-03-01 22:38:26 -05:00