szbk 12c40be9a0 fix(ui): çöp kutusu geri yükleme işleminde donmayı önle
Menü kapanışı artık API yanıtını beklemeden gerçekleşerek kullanıcı arayüzünün
yanıt vermesini engelleyen gecikme ortadan kaldırıldı. Bu sayede geri yükleme
işlemi sırasında arayüz kilitlenmiyor ve kullanıcılar akıcı bir deneyim
yaşıyor.
2025-12-13 14:14:17 +03:00
2025-11-30 18:55:51 +03:00

du.pe logo

du.pe - Simple, Fast & Lightweight Torrent Server 📦

A self-hosted torrent-based file manager and media player, similar to Put.io — fast, minimal, and elegant.
Add torrents, monitor downloads, and instantly stream videos through a clean web interface! 🖥️🎬


Features

  • 🧲 Add Torrents

    • Upload .torrent files (via form)
    • Add magnet links (via prompt)
  • 👤 Profil & Avatar

    • Profil bilgilerini görüntüle
    • Avatarı güvenli şekilde yükle/kırp (PNG, 3MB sınır)
  • 📥 Download Management

    • View active torrents
    • See progress, speed, and remaining time
    • Browse file trees within torrents
  • 🔴 Real-Time Updates

    • Live progress updates via WebSocket
  • 🎞️ Instant Playback

    • Stream video files directly in the browser
    • ffmpeg-ready structure for Safari/codec compatibility
  • 🗂️ Clean & Modern Web Interface

    • Svelte-powered fast and lightweight UI
    • Search bar, torrent list, detailed view
    • Custom modal video player: title, progress bar, volume, subtitles, and download icons
    • Mobile-friendly layout with hamburger menu support
  • 🐳 Easy Docker Setup

    • One-command deployment with docker-compose.yml

📝 Login and user authentication are not yet implemented — planned in the roadmap.


🏗️ Architecture

root
├─ client/   # Svelte-based Web UI
├─ server/   # Node.js (Express) API + WebSocket + WebTorrent
└─ docker-compose.yml
  • client

    • Developed and built using Vite
    • Backend API configured via VITE_API (e.g., http://192.168.x.x:3001)
  • server

    • Express REST endpoints (list, add, stream torrents)
    • Real-time updates via WebSocket (progress events)
    • WebTorrent for downloading and seeding
    • Optional ffmpeg integration for video transcoding

🚀 Quick Start

docker compose up -d --build

Default Ports:

  • RUN: http://localhost:3001

🔌 API & WebSocket Endpoints

Method URL Description
GET /api/torrents Returns active torrents
POST /api/transfer Adds a torrent via .torrent file upload
POST /api/magnet Adds a torrent via magnet link
GET /stream/:infoHash/:fileIndex Streams a video or file
WS ws://<API_HOST>:3001/ Torrent progress updates (type: progress)

🧠 Developer Notes

  • Safari Compatibility: Some codecs may cause issues. Its recommended to remux files (.mkv → .mp4) with ffmpeg if needed.

🛣️ Roadmap

  • 🔐 Authentication (JWT or session-based)
  • 🎛️ Advanced player features (subtitle selection, quality control)
  • 🧹 File management, trash bin, and history
  • 🧪 Automated testing and CI setup

Description
No description provided
Readme 742 KiB
Languages
Svelte 51.8%
JavaScript 45.9%
CSS 2.1%