TypeType-Server is the HTTP API behind TypeType. It wraps PipePipeExtractor for media extraction and stores private user data in PostgreSQL. The frontend talks to this server over HTTP only.
A Kotlin/Ktor backend for extraction, user data, and downloader gateway routes.
It provides stream metadata, search, trending, comments, channels, user libraries, settings, import flows, and /downloader/* proxying for the native downloader service.
- Not a frontend source tree.
- Not a standalone YouTube clone.
- Not a downloader. Download jobs are handled by TypeType-Downloader.
- Not affiliated with YouTube, NicoNico, BiliBili, Piped, Invidious, or NewPipe.
| Role | Tool |
|---|---|
| Language | Kotlin |
| Server | Ktor with Netty |
| Extraction | PipePipeExtractor |
| Build | Gradle Kotlin DSL |
| User data | PostgreSQL via Exposed + HikariCP |
| Cache | Dragonfly |
| Downloader gateway | TypeType-Downloader over HTTP |
| Token service | TypeType-Token over HTTP |
| Area | Purpose |
|---|---|
| Extraction | Streams, manifests, search, suggestions, trending, comments, channels |
| User data | History, subscriptions, playlists, favorites, watch later, progress, settings |
| Imports | YouTube Takeout and PipePipe backup ingestion |
| Proxying | Media proxy, storyboard proxy, NicoNico video proxy, downloader gateway |
| Admin | Instance metadata, users, sessions, bug reports |
Start local dependencies:
cp .env.example .env
docker compose up -d postgres dragonflyBuild the server jar:
./gradlew shadowJarRun it locally:
java -jar build/libs/typetype-server-all.jarThe server listens on http://localhost:8080.
Run the frontend, backend, downloader, token service, database, cache, and Garage mirror stack:
docker compose -f docker-compose.dev-mirror.yml up -d
./scripts/bootstrap-garage.sh| Service | URL |
|---|---|
| Frontend | http://localhost:28082 |
| API server | http://localhost:28080 |
| Downloader | http://localhost:28093 |
| Token service | http://localhost:28081 |
| Variable | Purpose |
|---|---|
ALLOWED_ORIGINS |
Required CORS origins |
DATABASE_URL |
PostgreSQL JDBC URL |
DATABASE_USER |
PostgreSQL user |
DATABASE_PASSWORD |
PostgreSQL password |
DRAGONFLY_URL |
Dragonfly connection URL |
DOWNLOADER_SERVICE_URL |
Base URL for TypeType-Downloader |
SUBTITLE_SERVICE_URL |
Base URL for TypeType-Token |
./gradlew test
./gradlew shadowJar- TypeType is the deployment stack.
- TypeType web is the React frontend.
- TypeType-Downloader handles download artifacts.
- TypeType-Token provides YouTube PO tokens.
GPL v3. This license is required by PipePipeExtractor.