6507d13325265c3e9d6a24b0901e02eb20695a27
TypeScript derleme hatalarını çöz, Docker yapılandırmasını güncelle ve tip güvenliğini iyileştir - tsconfig.json'a noImplicitAny: false ekle - auth.middleware.ts'de Express tip tanımlamalarını kaldır - torrent.generator.ts ve enforcement.worker.ts'de tip açıklamaları ekle - loop.routes.ts'de torrentFilePath için null kontrolü ekle - qbit.types.ts'ye added_on alanı ekle - Dockerfile'da --prod=false bayrağını ekle ve node_modules kopyalamasını düzelt - docker-compose.yml'de hizmet adını q-buffer olarak güncelle ve çevre değişkenlerini ekle - .env.example'a WEB_ORIGIN değişkenini ekle
q-buffer
q-buffer, qBittorrent üzerinde torrentleri kontrollü şekilde döngüye almayı ve peer kısıtlamasını otomatikleştirmeyi amaçlayan bir uygulamadır. Buffer ekranında torrent seçip loop akışını başlatabilir, Timer ekranında etiket bazlı otomatik silme kuralları tanımlayabilirsiniz.
Neler yapar?
- qBittorrent WebUI API ile bağlanır, aktif torrent listesini gösterir.
- Seçilen torrent için loop (indir → sil → yeniden ekle) işlemini yönetir.
- Allow IP kuralıyla agresif peer kısıtlaması uygular (destek varsa ban).
- Timer kurallarıyla etiket bazlı seed süresi dolan torrentleri otomatik siler.
- Gerçek zamanlı durum, log ve metrikleri UI üzerinden gösterir.
Hızlı Başlangıç
.env.exampledosyasını.envolarak kopyalayın ve değerleri doldurun.- Geliştirme ortamını başlatın:
docker-compose -f docker-compose.dev.yml up --build
- Açın:
- Web: http://localhost:5173
- API/Socket: http://localhost:3001
Kullanım (Buffer)
- qBittorrent’te torrentleri ekleyin (UI listeye düşer).
- Loop yapmak istediğiniz torrent için listede upload ikonuna tıklayın ve
.torrentdosyasını seçin.- Bu işlem torrent dosyasını arşivler.
- Arşiv yüklenmeden Loop Setup başlamaz.
- Allow IP, Loop sayısı ve Delay değerlerini girip Start’a basın.
Kullanım (Timer)
- Etiketleri qBittorrent’te oluşturun (radarr, tv-sonarr gibi).
- Timer ekranında etiket seçip seed süresi kuralı ekleyin.
- Süresi dolan torrentler qBittorrent ve diskten silinir.
Production
docker-compose up --build
Ardından http://localhost:3001
Ortam Değişkenleri
QBIT_BASE_URL,QBIT_USERNAME,QBIT_PASSWORDAPP_USERNAME,APP_PASSWORD,JWT_SECRETPOLL_INTERVAL_MS,ENFORCE_INTERVAL_MS,DEFAULT_DELAY_MS,MAX_LOOP_LIMITWEB_ALLOWED_HOSTS(ör:localhost,qbuffer.bee,qbuffer.panda)
Klasör Yapısı
apps/server: Express API + socket.ioapps/web: Vite React UIdata: JSON DB, loglar, arşivlenen torrent dosyaları
Description
Languages
TypeScript
96.9%
CSS
1.5%
Dockerfile
0.8%
JavaScript
0.5%
HTML
0.3%