Skip to main content

TürkAnime Logo

GitHub all releases Downloads GitHub release (latest by date) Pypi version

TürkAnime GUI

Sürüm notları: V10.1.0 · V10.0.0

TürkAnime GUI tamamen arayüz odaklı bir anime keşif, izleme ve indirme uygulaması. Arayüz PySide6 + QtWebEngine üzerine kurulu; V10.0.0 ile CustomTkinter yığını kaldırıldı ve tek arayüz kaldı. Terminal (CLI) sürümü çalışmaya devam ediyor ama geliştirme masaüstü uygulamasına odaklı.

✨ Öne Çıkan Özellikler

  • 8 kaynakta paralel arama: TürkAnime, AnimeciX, Anizle, TRAnimeİzle, OpenAnime, Tranimaci, AnimeDepo ve AniList aynı anda aranır. Bunlardan 7'si video sunar; AniList yalnızca meta veri ve kullanıcı listesi sağlar.
  • Alakaya göre sıralama: Sonuçlar sorguya yakınlığa göre dizilir. "one piece" aramasında ilk sıra One Piece olur — "Koisuru One Piece" değil.
  • Gömülü Cloudflare atlatma: Uygulamanın içindeki Chromium (QtWebEngine) ayrı süreçte challenge çözüyor; uzak bir FlareSolverr olmadan da çalışır. Dikkat: yine de kutudan çıktığı hâlde flaresolverr_url ayarı BOŞ DEĞİL, projenin sunucusu (node-kyb.bariskeser.com:8191) yazılı gelir ve zincirin 3. kademesi oraya uğrar. İstemiyorsanız Ayarlar → FlareSolverr URL alanını boşaltın; zincir gömülü çözücüyle çalışmaya devam eder.
  • Çok kaynaklı bölüm birleştirme: Aynı anime birden çok kaynakta varsa bölümler (sezon, bölüm) anahtarıyla tek listede birleşir.
  • Gelişmiş indirme sistemi: Bölüm başına ilerleme çubukları, otomatik yeniden deneme, tek tuşla iptal, renkli durum göstergesi.
  • Tek tıkla indirme ve oynatma: Bölümleri sıra bekletmeden indir, izlerken otomatik kaydet.
  • AniList entegrasyonu: OAuth2 ile hesabına bağlan, listelerini senkron tut. Gizli anahtar (client secret) gerekmez — bkz. AniList Girişi.
  • Fansub ve kalite seçimi: Desteklenen kaynaklardan en temiz sürümü bulur.
  • Kart tabanlı arayüz: Hover efektli kartlar, batch rendering, poster galerileri.
  • Discord Rich Presence: O anda ne izlediğini arkadaşlarınla paylaş.
  • Çoklu platform: Windows/Linux/macOS için hazır paket, Python 3.9+ olan her platformdan pip ile çalıştır.
  • Testler: 988 otomatik test (pytest + pytest-qt), ağa çıkmaz.

🧭 Uygulama Akışı

  1. Keşfet: Jikan (MyAnimeList) trend ve sezon listeleri; Jikan erişilemezse AniList trendlerine düşülür.
  2. Ara: 8 kaynakta paralel arama; yavaş kaynak aramayı çökertmez, zaman aşımına uğrayan kaynak boş döner.
  3. İndir & Oynat: mpv entegrasyonu sayesinde indirme ve izleme tek pencerede.
  4. İlerleme Takibi: İzlediklerin otomatik tutulur, AniList'e yansır.

📺 Ekran Görüntüleri

Anasayfa Ekranı

anasayfa.png

Anime Ekranı

animesayfası.png

🎮 Discord Rich Presence

TürkAnime GUI, Discord profilinde canlı durum gösterebilir:

  • Ana sayfa gezinme
  • Trend veya arama ekranları
  • İndirme süreci
  • İzlenilen anime ve bölüm

İpucu: Ayarlar → Discord Rich Presence bölümünden tek tuşla aç/kapat. Özellik isteğe bağlıdır; pypresence yoksa uygulama normal çalışmaya devam eder.

📥 Kurulum

1. Hazır Paket (Önerilen)

Releases sayfasından platformuna uyanı indir:

Dosya Ne
turkanime-gui-windows.zip Arayüz — Windows (mpv, ffmpeg, aria2c, yt-dlp gömülü)
turkanime-gui-linux.zip / turkanime-gui-macos.zip Arayüz — Linux / macOS
turkanime-cli-windows.exe / -linux / -macos Terminal sürümü (tek dosya)
*.sha256 Yayımlanan dosyanın SHA-256 özeti

Arayüz paketi zip'tir ama içinde tek bir çalıştırılabilir dosya vardır (v10.1.0'dan itibaren; _internal/ klasörü yok). Zip'i aç, turkanime-gui.exe ile başlat. 10.0.0'dan yükseltiyorsan eski kurulumun yanındaki _internal/ klasörü artık gereksizdir, silebilirsin.

Zip kullanılmasının sebebi dosyanın bölünmesi değil, indirme sayfasının ve otomatik güncelleyicinin .zip adlarına bağlı olması.

Burada eskiden "QtWebEngine tek dosyaya sıkıştırıldığında alt-sürecini bulamıyor" yazıyordu. Ölçüldü ve doğru çıkmadı: tek dosya paketinde QtWebEngineProcess.exe açılım dizininde yerinde duruyor ve arayüz açılıyor. Tek dosyanın gerçek bedeli başka: her açılışta ~9 sn arşiv açılımı, ve Cloudflare çözücü alt-süreci kendi açılımını yaptığı için her duvarda ~9 sn daha. Ayrıntı: V10.1.0 sürüm notları.

2. PyPI Üzerinden

pip install "turkanime-gui[gui]"
turkanime-gui
turkanime-cli

[gui] ekstrası PySide6'yı (ve opsiyonel pypresence'ı) kurar. Sade pip install turkanime-gui yalnızca terminal sürümünü çalıştırır.

Not (düzeltildi): Burada eskiden "pip ile kurulan sürümde cloudscraper gelmez, Cloudflare zinciri 5 yerine 4 kademeyle çalışır" yazıyordu. Doğru değil: cloudscraper hem pyproject.toml hem requirements.txt içinde zorunlu bağımlılık. Her kurulum biçimi beş kademenin tamamını taşıyor (bkz. Cloudflare Bypass Zinciri).

3. Kaynak Koddan

git clone https://github.com/barkeser2002/turkanime-gui.git
cd turkanime-gui
pip install -r requirements-gui.txt
python -m turkanime_api.gui.qt

🚀 Kullanım

  1. İlk açılışta ffmpeg/mpv/aria2c/yt-dlp denetlenir; eksik varsa kurulum sihirbazı açılır (hazır pakette hepsi gömülü gelir).
  2. TRAnimeİzle kullanmak istiyorsan Ayarlar → TRAnimeİzle Cookie → "Tarayıcıdan Al" düğmesine bas. Uygulama içindeki tarayıcı açılır, bot kontrolünü çözersin, çerez kaydedilir.
  3. FlareSolverr kullanmak istiyorsan Ayarlar → FlareSolverr URL bölümünden sunucu adresini gir (zorunlu değil).
  4. Keşfet veya Ara sekmesinden anime seç.
  5. Bölümü oynat ya da indir; her bölüm için ayrı ilerleme çubuğu, yeniden deneme ve iptal desteği mevcut.
  6. AniList'e bağlanmak istersen Ayarlar → AniList → "AniList'e Giriş Yap"; gizli anahtar (client secret) gerekmez, ayrıntı için AniList Girişi.

📺 Desteklenen Kaynaklar

Video Kaynakları

Kaynak Açıklama
TürkAnime Klasik Türk anime kaynağı (şifreli embed çözümü)
AnimeciX Dinamik video ID, geniş fansub seçenekleri
Anizle Geniş arşiv (anizm.pro). Site video.js/HLS'e geçtiği için bölüm başına sınırlı kaynak dönebiliyor
TRAnimeİzle Cookie tabanlı oturum — Ayarlar'dan gömülü tarayıcıyla çerez alınmalı
OpenAnime SvelteKit SSR JSON çıkarımı + CF bypass. Arama ve bölüm listesi çalışıyor; stream uçları şu an 404 dönüyor (bkz. Bilinen Kısıtlar)
Tranimaci SHA-256 proof-of-work WAF + JS kapısı (QtWebEngine ile aşılır), multi-CDN mp4
AnimeDepo GitLab üzerinde barındırılan statik arşiv; gerçek arama ucu yok, dizin indirilip yerel fuzzy arama yapılır

Meta Veri ve Keşif

Servis Rol
AniList Arama sonuçlarına katılır, kullanıcı listesi ve OAuth2 girişi sağlar. Video sunmaz.
Jikan (MyAnimeList) Yalnızca Keşfet sekmesindeki trend/sezon listeleri. Arama motoru değildir.

Cloudflare Bypass Zinciri

1. curl_cffi      (TLS fingerprint taklidi)
2. cloudscraper   (JS Challenge çözümü — zorunlu bağımlılık, her kurulumda var)
3. FlareSolverr   (Uzak headless browser — VARSAYILAN OLARAK DOLU gelir)
4. QtWebEngine    (Yerel gömülü Chromium, ayrı süreçte)
5. requests       (Son çare)

Zincir, HTTP 200 dönen challenge sayfalarını da tanır ve başarı saymaz; aksi hâlde ilk adımda kısa devre olup gerçek tarayıcıya hiç ulaşılmıyordu. Selenium/undetected-chromedriver bağımlılıkları V10.0.0 ile tamamen kaldırıldı.

Video Sunucuları

TürkAnime embed'lerinde desteklenen oynatıcılar (öncelik sırasıyla, turkanime_api/objects.py::SUPPORTED):

Yandisk  Alucard  GDrive  Mail  PixelDrain  Amaterasu  HDVID
Odnoklassniki  Dailymotion  Sibnet  VK  Vidmoly  YourUpload
Sendvid  Myvi  Uqload

MP4upload listeden çıkarıldı: çözümlenmiş gibi görünüp oynatılamayan bağlantılar üretiyordu. Diğer kaynaklar (Anizle, Tranimaci, AnimeDepo, OpenAnime) doğrudan mp4/HLS bağlantısı döndürür, bu listeden geçmez.

⚠️ Bilinen Kısıtlar

Bunlar uygulamanın hataları değil, kaynak sitelerin getirdiği sınırlar:

Kısıt Ne oluyor
TRAnimeİzle çerez istiyor Çerez alınmadan bu kaynak bölüm döndürmez. Ayarlar → "Tarayıcıdan Al" ile bir kez alınır.
OpenAnime stream 404 Arama ve bölüm listesi çalışıyor, ama CDN uçları not_found dönüyor. api.openani.me kimlik doğrulama ("Vanguard") istiyor. Uygulama bu durumda sessiz kalmaz, sebebi yazar.
pip kurulumunda 4 kademeli CF zinciri Geçersiz: cloudscraper zorunlu bağımlılık (pyproject.toml, requirements.txt); her kurulum 5 kademenin tamamını taşır.
Anizle bölüm başına sınırlı kaynak Site video.js/HLS'e geçti; bazı bölümlerde tek stream dönebiliyor.

🔧 Sistem Gereksinimleri

  • Python: 3.9+ (kaynaktan/pip ile çalıştırmak için; hazır pakette gerekmez). Test edilen sürümler: 3.9 – 3.13.
  • FFmpeg, mpv, aria2c, yt-dlp: Hazır Windows paketinde gömülü gelir; kaynaktan çalıştırıyorsan uygulama içindeki sihirbaz indirip kurar.
  • FlareSolverr: Varsayılan ayarda projenin sunucusu yazılıdır, yani kurulumdan sonra 3. kademe uzak bir sunucuya gider. Alanı boşaltırsanız zincir doğrudan gömülü QtWebEngine'e düşer ve hiçbir istek dışarı çıkmaz.
  • İnternet bağlantısı: Kaynaklara erişim ve AniList senkronu için.

🧪 Testler

Otomatik test paketi (ağa çıkmaz, Qt offscreen koşar):

pip install -r requirements-gui.txt
pip install pytest pytest-qt PyYAML
python -m pytest tests/

PyYAML neden gerekli: tests/test_release_workflow.py yayın workflow'unu ayrıştırıyor ve PyYAML yoksa importorskip ile sessizce atlanıyor. Kurmadan koşarsan o dosyanın tamamı hiç çalışmaz ama paket yeşil görünür. PyYAML hiçbir requirements dosyasında yer almıyor, elle kurulmalı.

Kaynak adaptörleri gerçek ağa çıkan ayrı bir betikle sınanır. Bu betik pytest'e dahil değildir:

python tests/adapters-test-all.py
python tests/adapters-test-all.py --source animecix
python tests/adapters-test-all.py --skip-streams

Betik şu an 4 kaynağı kapsıyor: animecix, anizle, tranime, animedepo. OpenAnime, Tranimaci ve TürkAnime bu betikte yok.

Test Kapsamı

Alan Testler
Arayüz (pytest-qt) Keşif/arama/detay/bölüm/indirme sayfaları, oynatma, izleme listesi, güncelleme servisi, gereksinim sihirbazı, Discord RPC, çerez tarayıcısı, worker havuzu
Arama Alakaya göre sıralama, çok kaynaklı arama zaman aşımı, başlık eşleştirme
Kaynaklar Anizle CF bypass zinciri, OpenAnime arama ve stream doğrulama, çerez yönetimi
Cloudflare Kademe sırası, challenge tanıma, timeout davranışı, çözücü giriş noktası
Çekirdek Bölüm birleştirme ve ayrıştırma, indirme yolu güvenliği, atomik JSON yazımı, ağ izolasyonu
Yayın release.yml sürüm türetme, test kapısı, version.json şeması, PyPI sırrı
Adaptörler (ağ, ayrı betik) AnimeciX, Anizle, TRAnimeİzle, AnimeDepo — arama, bölüm listesi, stream

Not: TRAnimeİzle ağ testleri geçerli bir cookie gerektirir. Cookie süresi dolmuşsa bu testler beklenen şekilde başarısız olur.

🗂️ İlgili Depolar

Depo Ne
turkanime-gui Bu depo — masaüstü uygulaması, terminal sürümü ve kaynak adaptörleri
turkanime-server Arşiv sunucusu: kaynak tarayıcısı, yayıncı ve Flask API (private)

Sunucu tarafı V10.0.0 ile ayrı bir depoya taşındı. Kaynak adaptörlerini bu depodan yeniden kullanır; ikinci bir kazıyıcı yazılmadı.

👨‍💻 Katkıda Bulun

  • Hata bildirimi veya feature isteği için Issues sekmesini kullan.
  • PR göndermeden önce kısa bir açıklama ve ekran görüntüsü eklemek incelemeyi hızlandırır.
  • Dokümantasyon ve çeviri katkıları da memnuniyetle kabul edilir.

Yayımlanan her dosyanın yanına .sha256 özeti eklenir; uygulama içi güncelleme de indirdiği paketi aynı özetle doğrular, uyuşmazsa dosyayı siler.

📄 Lisans

Bu proje Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) ile lisanslanmıştır.

İzin var İzin yok
Paylaşmak ve kopyalamak Ticari kullanım
Kaynak göstererek atıfta bulunmak Değiştirilmiş sürüm dağıtmak

Kullanım ve sorumluluk sınırları için DISCLAIMER dosyasını oku.

📧 İletişim

Sitenizi kullanmamamı, kaldırmamı istiyorsanız veya başka talepleriniz için:

Release files for turkanime-gui 10.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for turkanime-gui 10.1.0
File Size Uploaded
turkanime_gui-10.1.0.tar.gz 642.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for turkanime-gui 10.1.0
File Interpreter ABI Platform
turkanime_gui-10.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / turkanime_gui-10.1.0.tar.gz

Download URL turkanime_gui-10.1.0.tar.gz
Size 642.3 kB
Tags Source
SHA-256 checksum
How to use checksums
691394475fda540e2fd8cbe327dbcb5aa75979aec436d0d69f8f58131ee8633a
BLAKE2b-256 checksum
How to use checksums
5bc5bf70aedaaee54105dc5a11b2b0602170c695fbe0e57344c59a807a9cddc6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.15 Linux/6.17.0-1022-azure

Release files / turkanime_gui-10.1.0-py3-none-any.whl

Download URL turkanime_gui-10.1.0-py3-none-any.whl
Size 671.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f1ff90f396db1beca00d817a1be6aea5cae14f94a989626eb8832e7acbcba6f1
BLAKE2b-256 checksum
How to use checksums
e2764fa64673452526141b87641e1ab808defd441fd51282b6f5a769a23698c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.15 Linux/6.17.0-1022-azure

Release history Release notifications | RSS feed

This release

10.1.0 This release

2 release files

10.0.0

2 release files

9.4.1

2 release files

9.4.0

2 release files

9.3.6

2 release files

9.3.5

2 release files

9.3.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page