Skip to content

T21C/TUFExtension

Repository files navigation

header

Bring TUF levels and clears directly onto video pages

ts bun react wxt tailwind

Find TUF matches from YouTube and Bilibili videos,
inspect level and pass details in an injected drawer,
and open Web ADOFAI directly from TUF level pages to view levels.


This repository contains the source tree for TUFExtension.
TUFExtension is an unofficial browser extension for viewing The Universal Forums data directly inside video pages.

  • Resolve TUF levels from YouTube / Bilibili video URLs
  • Resolve TUF passes / clear videos
  • Render an injected drawer UI isolated with Shadow DOM
  • View TUF levels in Web ADOFAI from TUF level pages
  • Use the current TUF login session for level likes
  • Build and package Chrome / Firefox releases

Features

Feature Description
Video matching Searches TUF levels and passes from the current YouTube / Bilibili video ID.
Injected drawer Renders an in-page drawer instead of relying on Chrome's side panel API.
Level detail Shows difficulty, PP, tags, curation, stats, and leaderboard in a TUF-like UI.
Pass detail Shows player, score, accuracy, speed, judgements, and spoiler reveal controls.
Web ADOFAI viewer Adds a floating button on TUF level pages that opens the level in Web ADOFAI.
Likes Reads and toggles level likes through the current TUF login session.
Pin mode Keeps the drawer open across navigation and updates results live.
Chrome / Firefox package Builds and packages browser-specific extension zips with WXT.

Repository Structure

.
├── src/
│   ├── entrypoints/
│   │   ├── background/       # WXT background service worker entrypoint
│   │   └── content/          # WXT content script entrypoint
│   ├── platform/
│   │   ├── chrome/           # Runtime messaging and extension context helpers
│   │   └── content-script/   # Host-page integration, URL watching, button anchors
│   ├── domain/
│   │   ├── tuf/              # TUF API clients, mappers, filters, domain types
│   │   └── video/            # YouTube / Bilibili video reference parsing
│   ├── features/
│   │   ├── drawer/           # Drawer state and data-loading hooks
│   │   └── tuf-button/       # Injected TUF button rendering
│   ├── drawer/
│   │   ├── components/       # Drawer-level controls
│   │   ├── features/
│   │   │   ├── level-page/   # Level detail UI and leaderboard
│   │   │   └── pass-page/    # Pass detail UI and spoiler controls
│   │   └── shared/           # Drawer visual helpers, icons, formatters
│   ├── shared/               # Cross-runtime utilities
│   └── styles/               # Tailwind entrypoint
├── public/                   # Extension icons, fonts, static assets
├── .github/workflows/        # CI and release workflows
├── wxt.config.ts
└── package.json

Quick Start

bun install
bun run dev

After starting the dev server, load the WXT-generated development extension from your browser's extension management page.

.output/chrome-mv3

Use the Firefox dev mode when working against Firefox:

bun run dev:firefox

Scripts

Command Description
bun run dev Run Chrome MV3 dev mode
bun run dev:firefox Run Firefox dev mode
bun run build Build Chrome MV3 production
bun run build:firefox Build Firefox production
bun run zip Create a Chrome release zip
bun run zip:firefox Create a Firefox release zip
bun run typecheck Run TypeScript noEmit check
bun run format Format files with Prettier
bun run format:check Check formatting with Prettier

Verification

Run the same baseline checks used by PR CI:

bun run format:check
bun run typecheck
bun run build

Contributing

Branch naming and commit message conventions are documented in CONTRIBUTING.md.


License

All code in this repository is licensed under GNU GPL. Please refer to LICENSE.

This repository distributes Pretendard by Kil Hyung-jin, licensed under the SIL Open Font License. Please refer to public/fonts/LICENSE.txt.

This repository includes optimized Twemoji SVG flag assets from @twemoji/svg, licensed under the MIT License. Please refer to public/twemoji/LICENSE.txt.

About

TUF browser extension

Resources

License

Contributing

Stars

5 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors