A lightweight collection of Chrome extensions built on Manifest V3.
This README is auto-generated by GitHub Actions. To modify an extension's description, edit the
DESCRIPTION.en.mdfile in its folder.
| # | Extension | Version | Download |
|---|---|---|---|
| 1 | Status Monitor for ChatGPT | 1.0.0 |
|
| 2 | Claude Status Monitor | 1.2.1 |
|
| 3 | Colonist.io Stats Tracker | 1.147.0 |
|
| 4 | Dcard 文章排版優化 | 1.0 |
|
| 5 | Remove Glasp Remnants | 1.0 |
|
| 6 | YouTube Precise Time | 9.11 |
Folder: chatgpt-status-monitor/
Version: 1.0.0
Real-time OpenAI and ChatGPT service status on chatgpt.com, powered by public data from status.openai.com. The widget sits quietly in the corner of your ChatGPT tab and changes color the moment something breaks, so you can tell whether it's your connection or OpenAI before you waste time debugging.
Features
- Floating status badge in the corner, color-coded to the current state (green for operational, yellow for degraded, orange for partial outage, red for major outage)
- Click the badge for a two-column dashboard: a 30-day uptime timeline for OpenAI's services on the left, active incidents on the right
- Incident cards show the latest status (Monitoring / Identified / Investigating) and the outage duration; click to expand the full update history
- Hover any day on the timeline to preview that day's incidents; click a day to pin its full detail into the side panel
- Tracks every OpenAI component the status page reports: ChatGPT, Codex, Sora, Voice mode, Login, the API, and more
- Auto-refreshes every 30 seconds with a live "updated" timer and a manual refresh button
- Bilingual interface (English and Traditional Chinese) with a one-click toggle
- Draggable and resizable badge and panel, adjustable font size; every preference is saved locally
- Built with Shadow DOM, so it never touches or restyles the ChatGPT page itself
How it works
- Reads public service status from the OpenAI status API (
summary.jsonandincidents.json). No account, no login, no personal data. - A background service worker fetches and caches the data; the content script polls every 30 seconds so the badge stays current.
Privacy
This extension does not collect, transmit, or store any personal data. Your display preferences (badge position, panel size, font size, language) stay on your device through chrome.storage.local. There is no analytics, no tracking, and no third-party server.
Unofficial
This is an independent tool. It is not affiliated with, endorsed by, or sponsored by OpenAI. "ChatGPT" and "OpenAI" are trademarks of OpenAI, used here only to describe the service this tool monitors.
Download
Installation
- Click the button above to download the
.zipfile and extract it - Open Chrome and go to
chrome://extensions - Enable Developer mode in the top-right corner
- Click Load unpacked and select the extracted
chatgpt-status-monitorfolder
Folder: claude-status-monitor/
Version: 1.2.1
Real-time Claude service status widget on Claude.ai (including Claude Code web), powered by status.claude.com.
Features
- Floating status badge in the bottom-right corner — color-coded to current status (green = operational, yellow = minor, orange = major, red = critical)
- Click the badge to open a two-column dashboard: left column shows 30-day uptime bar charts per component, right column shows active incidents
- Incident cards display the latest status (Monitoring / Identified / Investigating); click to expand the full update timeline
- Hover over bar charts to see the date and incident status for each day
- Click outside the panel to dismiss; smooth open/close animations
- Auto-refreshes every 30 seconds with a live footer timer and manual refresh button
- Bilingual UI (English / Traditional Chinese) with one-click language toggle
- Draggable badge and panel; resizable badge (drag edges to scale) and panel (drag edges/corners)
- Shadow DOM ensures complete style isolation — zero interference with Claude.ai's UI
- Claude-themed light palette design, consistent with Claude.ai's look and feel
Technical Details
- Fetches real-time status and history via Atlassian Statuspage public API (
summary.json,incidents/unresolved.json,incidents.json) - Service Worker (
background.js) handles all API requests with caching (25s TTL) and supports forced refresh - Content Script polls every 30 seconds +
chrome.alarmspushes every 30 seconds to ensure data stays current
Download
Installation
- Click the button above to download the
.zipfile and extract it - Open Chrome and go to
chrome://extensions - Enable Developer mode in the top-right corner
- Click Load unpacked and select the extracted
claude-status-monitorfolder
Folder: colonist-stats-tracker/
Version: 1.147.0
A floating in-game overlay for colonist.io that tracks dice-roll distribution, per-player resources, and game stats in real time. It reads the game's own WebSocket messages (the board, dice, and hand state colonist already sends to your browser), so most numbers are exact and survive a page reload.
Features
- Dice histogram: live count and percentage for every sum 2–12, coloured against the fair-dice expectation (2.78%, 5.56% … 16.67%) — green if above, red if below, grey if close — with a ⚖️ χ² fairness badge. Roll counts come from the WebSocket log, so a fast game can't drop one.
- Per-player resources: 🌲 lumber, 🧱 brick, 🐑 wool, 🌾 grain, ⛰️ ore per player. Your own hand is read exactly from the protocol (no guessing); opponents' hands are reconstructed from the public events the WebSocket carries (production, trades, builds, steals), with their totals matched to colonist's own counts. Cards whose type genuinely can't be known — an opponent-vs-opponent steal — sit in a
?column rather than being faked. - ⛔ Cards blocked: the cards you would have produced but lost to the robber sitting on one of your tiles, computed live from a reconstructed board model (robber tile × adjacent buildings × that tile's number), exact during the game and reconciled to colonist's end-of-game Overview figure.
- Setup pips (⚅): each player's opening board strength, with two readings you toggle — coverage (the distinct numbered tiles they touch) and expected cards per dice roll (weighted by buildings, a city counted double, the robber-blocked tile dropped).
- More Stats: cards gained, discarded (rolled 7), stolen, lost to knights, traded, and average turn length, with per-resource and per-opponent breakdowns on hover.
- Lightweight floating panel: draggable, resizable, minimisable, keyboard shortcuts (D / R / S / C), one-click reset.
- Reload- and reconnect-proof: an in-progress game and its stats are rebuilt from colonist's resent game log after an F5; the current game and your lifetime history are saved locally.
- SPA friendly: re-attaches automatically after page or match navigation; a new game in the same tab resets cleanly.
Technical details
- Manifest V3, no background service worker, no
<all_urls>host permission — runs only oncolonist.io. - Reads the game's WebSocket frames passively (decoded from MessagePack) plus the already-visible game log and player panel; nothing is opened, sent, or transmitted off the device.
- The only permission is
storage, used to keep the in-progress game and your per-game history on your own device (chrome.storage.local).
Note: opponents' card types are hidden by colonist, so opponent breakdowns are a best-effort reconstruction. Genuine uncertainty (a masked opponent-vs-opponent steal) is surfaced in the ? column rather than hidden. Your own hand and the dice, board, and blocked-loss figures are exact.
Disclaimer: This is an unofficial, fan-made tool. It is not affiliated with, endorsed by, or sponsored by Colonist or colonist.io. "Colonist" and all game names and assets are the property of their respective owners. This extension collects and transmits no data (privacy policy).
Download
Installation
- Click the button above to download the
.zipfile and extract it - Open Chrome and go to
chrome://extensions - Enable Developer mode in the top-right corner
- Click Load unpacked and select the extracted
colonist-stats-trackerfolder
Folder: dcard-article-formatter/
Version: 1.0
One-click formatting optimization for Dcard articles, dramatically improving readability.
Features
- Auto line breaks: Automatically inserts line breaks after sentence-ending punctuation (periods, question marks, exclamation marks), transforming walls of text into clear paragraphs
- Punctuation correction: Converts half-width punctuation (, ! ? : ;) to full-width equivalents in Chinese contexts
- CJK-Latin spacing: Automatically adds spaces between Chinese and English/numbers (pangu spacing) for better readability
- Paragraph spacing: Increases line height and paragraph spacing for a more comfortable reading experience
- One-click toggle: Floating button in the bottom-right corner — one click to format, one click to restore
- SPA navigation support: Fully supports Dcard's single-page app navigation; auto-resets when switching articles
- Article pages only: Button only appears on Dcard article pages (
/f/board/p/postId), no interference on other pages
Download
Installation
- Click the button above to download the
.zipfile and extract it - Open Chrome and go to
chrome://extensions - Enable Developer mode in the top-right corner
- Click Load unpacked and select the extracted
dcard-article-formatterfolder
Folder: glasp-remnants-remover/
Version: 1.0
Automatically removes leftover UI elements that the Glasp extension injects into every web page. If you've uninstalled Glasp but still see its sidebar or highlights on websites, this extension silently cleans them up.
Features
- Works on all URLs (
<all_urls>) - Removes existing
.glasp-extensionelements on page load - Uses
MutationObserverto watch DOM changes and instantly remove dynamically injected elements
Download
Installation
- Click the button above to download the
.zipfile and extract it - Open Chrome and go to
chrome://extensions - Enable Developer mode in the top-right corner
- Click Load unpacked and select the extracted
glasp-remnants-removerfolder
Folder: youtube-video-upload-time/
Version: 9.11
Replaces YouTube's vague relative timestamps (e.g., "2 years ago") with precise local upload dates and times, accurate to the second.
Features
- Watch page — Injects the exact date and time (e.g.,
2023-04-15 09:32:07) directly into the video info section, displayed alongside the view count - Home / Channel / Search results — Uses
IntersectionObserverto show precise upload dates next to video thumbnails, only fetching when videos enter the viewport - Stream reading — Stops downloading as soon as the date is found, without waiting for the full page to transfer — dramatically reducing network traffic and memory usage
- Persistent cache (
chrome.storage.local) — Dates persist across tabs and refreshes; revisiting a video shows the date instantly with zero network requests - Displays dates in the user's local timezone
- Compatible with YouTube 2024+ new homepage UI (
yt-lockup-view-model) - Instantly updates after SPA navigation, no stale dates from previous videos
- Supports Shorts, playlists (Watch Later, Liked Videos), recommendations, subscriptions, watch history, and all other video-containing pages
v9.0 Updates
- Stream-reads HTML (
ReadableStreamscans chunk by chunk), callscancel()as soon as the date is found — reduces per-fetch traffic from ~500KB to tens of KB chrome.storage.localpersistent cache: dates survive tab closure, repeat browsing has near-zero overhead- Fixed Watch History page date leaking into the description area (precisely targets
ytd-video-meta-block #metadata-line)
v8.0 Updates
- Added support: recommendations sidebar (watch page right side), Watch Later, Liked Videos, custom playlists
- Added support: Shorts shelf (
ytd-reel-item-renderer) and Shorts URL format parsing - Fixed: recommendations not updating after SPA navigation (
yt-navigate-finishtriggers full clear and rescan) - Added injection fallback targets (
#meta,#details) for better compatibility with unknown page types
Download
Installation
- Click the button above to download the
.zipfile and extract it - Open Chrome and go to
chrome://extensions - Enable Developer mode in the top-right corner
- Click Load unpacked and select the extracted
youtube-video-upload-timefolder
chrome-extensions/
├── chatgpt-status-monitor/
│ ├── CHANGELOG.md
│ ├── DESCRIPTION.en.md
│ ├── DESCRIPTION.md
│ ├── PRIVACY.md
│ ├── README.md
│ ├── background.js
│ ├── content.js
│ ├── manifest.json
│ └── model.js
├── claude-status-monitor/
│ ├── CHANGELOG.md
│ ├── DESCRIPTION.en.md
│ ├── DESCRIPTION.md
│ ├── PRIVACY.md
│ ├── background.js
│ ├── content.js
│ └── manifest.json
├── colonist-stats-tracker/
│ ├── DESCRIPTION.en.md
│ ├── DESCRIPTION.md
│ ├── PRIVACY.md
│ ├── ROADMAP.md
│ ├── STORE_LISTING.md
│ ├── board.js
│ ├── content.js
│ ├── manifest.json
│ ├── msgpack.js
│ ├── popup.html
│ ├── popup.js
│ ├── preview.html
│ └── ws-inspector.js
├── dcard-article-formatter/
│ ├── DESCRIPTION.en.md
│ ├── DESCRIPTION.md
│ ├── content.js
│ └── manifest.json
├── glasp-remnants-remover/
│ ├── DESCRIPTION.en.md
│ ├── DESCRIPTION.md
│ ├── content.js
│ └── manifest.json
└── youtube-video-upload-time/
├── CHANGELOG.md
├── DESCRIPTION.en.md
├── DESCRIPTION.md
├── PRIVACY.md
├── content.js
└── manifest.json
Create a new subdirectory in the repo root with a manifest.json.
The next push to main will auto-package it, update the Release, and regenerate this README.
MIT