Skip to content

TypeType-Video/TypeType-Server

Repository files navigation

TypeType

TypeType Server

Extraction, API, and private user data backend for TypeType.

TypeType-Server is the Kotlin/Ktor HTTP API behind TypeType. It wraps PipePipeExtractor for supported media services and stores instance and user data in PostgreSQL.

If you want to run a complete TypeType instance, use the central stack rather than deploying this service alone.

Responsibilities

Area Examples
Extraction Streams, manifests, search, suggestions, trending, comments, and channels
Playback sessions YouTube SABR sessions, formats, segments, seeks, and recovery state
User data Accounts, history, subscriptions, playlists, favorites, progress, and settings
Imports YouTube Takeout and PipePipe backup ingestion
Integrations TypeType-Token, TypeType-Downloader, media proxying, OIDC, and notifications
Administration Instance settings, users, sessions, allow lists, and bug reports

The React frontend communicates with this service over HTTP. Frontend source code does not belong in this repository. Download execution belongs in TypeType-Downloader, and YouTube token and decoder work belongs in TypeType-Token.

Stack

Role Technology
Language and runtime Kotlin on JDK 25
HTTP server Ktor with Netty
Extraction PipePipeExtractor
Persistence PostgreSQL, Exposed, and HikariCP
Cache Dragonfly through the Redis protocol
Build and tests Gradle, JUnit, Testcontainers, and JaCoCo

API contract

The OpenAPI entry point is openapi.yaml. Split schemas and paths live under openapi/.

The API includes public extraction routes and authenticated routes for user data and administration. Authentication, configuration, reverse proxy, and self-hosting instructions live in the TypeType documentation.

Development

Requirements:

  • JDK 25
  • Docker Engine and Docker Compose v2 for PostgreSQL and Dragonfly
cp .env.example .env
docker compose up -d postgres dragonfly
./gradlew shadowJar
java -jar build/libs/typetype-server-all.jar

The server listens on http://localhost:8080 by default.

For a complete development stack, clone the central TypeType repository with its submodules.

Checks

./gradlew test
./gradlew shadowJar
./gradlew validateOpenApi

Read CONTRIBUTING.md before opening a pull request. Bug reports and feature requests belong in the central issue tracker.

License

TypeType-Server is licensed under GPL-3.0, as required by its PipePipeExtractor integration.

About

Kotlin/Ktor extraction server wrapping PipePipeExtractor

Resources

License

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages