https://github.com/alswl/asciinema-online-player
static asciinema online player
https://github.com/alswl/asciinema-online-player
Last synced: 21 days ago
JSON representation
static asciinema online player
- Host: GitHub
- URL: https://github.com/alswl/asciinema-online-player
- Owner: alswl
- License: gpl-3.0
- Created: 2026-06-18T00:30:29.000Z (about 1 month ago)
- Default Branch: master
- Last Pushed: 2026-06-18T16:53:17.000Z (about 1 month ago)
- Last Synced: 2026-06-18T17:27:34.138Z (about 1 month ago)
- Language: Shell
- Size: 185 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Roadmap: ROADMAP.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# asciinema online player
A modern, privacy-first web player for [asciinema](https://asciinema.org) recordings. Open `.cast` files directly in your browser — nothing leaves your device.

## Features
- **100% Private** — files are processed locally, never uploaded
- **Works Offline** — fully functional without internet after initial page load
- **Instant Playback** — open a `.cast` file and it plays immediately
- **Dark & Light** — system, light, and dark theme modes with persistent preference
- **English / 中文** — full bilingual UI, switch without reloading
- **Keyboard Accessible** — WCAG 2.2 AA compliant, screen-reader friendly
- **Atomic Replace** — swap recordings without losing the current one
## How it works
1. **Record** your terminal with [asciinema](https://asciinema.org/docs/installation):
```bash
brew install asciinema
asciinema rec demo.cast
```
2. **Open** [the player](https://asciinema-online-player.alswl.com/play) and select your `.cast` file
3. **Watch** — pause, rewind, copy text, switch themes
## Development
```bash
npm install
npm run dev # Turbopack dev server
npm run lint # ESLint
npm run typecheck # TypeScript
npm run test # Vitest
npm run e2e # Playwright
npm run build # Static export → out/
```
## Tech Stack
| Layer | Choice |
| --------- | -------------------------------------- |
| Framework | Next.js 16 (App Router, static export) |
| UI | React 19, Tailwind CSS 4 |
| Icons | lucide-react |
| Player | asciinema-player 3.x |
| Tests | Vitest + Testing Library, Playwright |
| CI | GitHub Actions → Cloudflare Pages |
## License
[GPL-3.0](LICENSE)