RSD9.3 is a web-based torrent client designed for seamless streaming, file management, and status monitoring of torrents directly through an HTTP API.
- playlist auto Streaming: Stream mkv + subtitles torrent mkv web browser.
- Direct Streaming: Stream torrent content directly in your web browser.
- Flexible Input: Supports adding torrents via magnet links and remote
.torrentfile URLs. - Subtitle Support: Extract and stream subtitles (SRT to VTT, ASS) for an enhanced viewing experience.
- Persistent Metadata: Stores torrent metadata persistently using LotusDB for quick retrieval.
- Efficient Caching: Utilizes an LRU (Least Recently Used) cache for frequently accessed torrents, optimizing performance and resource usage.
- Automated Cleanup: Automatically cleans up inactive torrents to manage resources.
- Go (Golang) installed on your system.
ffmpeginstalled and available in your system's PATH for subtitle extraction functionality.
-
Navigate to the project's root directory in your terminal.
-
Run the application using the Go command:
go run . -
The server will start, typically on port
3000(or as configured). Open your web browser and navigate tohttp://localhost:3000to access the interface.
The application exposes several HTTP API endpoints for interacting with torrents:
/stream: Stream torrent files directly to your browser.GET /stream?url=<magnet_link>&index=<file_index>
/files: List all files contained within a torrent.GET /files?url=<magnet_link>
/metadata: Retrieve detailed metadata about a torrent.GET /metadata?url=<magnet_link>
/status: Get the current download status of a torrent, including progress, speed, and connected peers.GET /status?url=<magnet_link>&index=<file_index>
/download-subtitle: Download an SRT subtitle file from a torrent and convert it to VTT format.GET /download-subtitle?url=<magnet_link>&filePath=<subtitle_file_path>
/stream-vtt: Stream a converted VTT subtitle file.GET /stream-vtt?key=<vtt_filename_key>
/extract-subtitles: Extract embedded subtitles from video files within a torrent usingffmpeg.GET /extract-subtitles?url=<magnet_link>&index=<file_index>
/subtitles: Serve extracted subtitle files (e.g., ASS, log files).GET /subtitles?file=<filename>
/fetch-torrent-url: Add a torrent by providing a URL to a.torrentfile.POST /fetch-torrent-urlwith JSON body{"url": "http://example.com/path/to/torrent.torrent"}
/restart: Restart the application server.GET /restart
This version is based on a confirmed working state. Build: 7342