Skip to content

Releases: Henkerr/HenkerDPI

v2.8.1

Choose a tag to compare

@github-actions github-actions released this 09 Aug 22:42
HenkerDPI 2.8.1 — the evening's findings

Trackpad scrolling works again (Tk 9 reports gestures as TouchpadScroll, which
customtkinter predates), and a run that was force-killed no longer poisons the
next one's record of the user's environment — it used to restore its own
leftover proxy variables as if they were the user's, pointing the session at a
listener that had stopped existing two runs earlier.

v2.8.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 21:15
HenkerDPI 2.8.0 — macOS

macOS 11+ on Apple Silicon and Intel, as a real build rather than an experiment.
It is not the Windows engine recompiled: macOS has no WinDivert and its pf has
no divert-to, so the Mac runs a desync proxy on 127.0.0.1 and reshapes each TLS
handshake as it forwards it. Nothing leaves the machine either way.

HenkerDPI 2.7.0 — Hattını kendisi ölçüyor

Choose a tag to compare

@Henkerr Henkerr released this 06 Aug 20:15

HenkerDPI 2.7.0 — Uygulama artık hattı kendisi ölçüyor

Bu sürümün tek bir fikri var: hangi yöntemin senin internet sağlayıcını aştığını uygulama kendisi bulsun. Sen hiçbir ayar yapma.

Neden gerekti

Tek bir sabit yöntem her hatta çalışmıyor — hatta bazen tam tersi gerekiyor:

  • Bir sabit hatta (Türk Telekom), sahte paketin doğru sıra numarasıyla gitmesi gerekiyor ki akışı yeniden birleştiren DPI onu gerçek sanıp yutsun.
  • iPhone USB tethering'de ise aynı paket NAT tarafından onarıldığı için sunucuya geçerli olarak varıyor ve bütün HTTPS sitelerini bozuyor; orada sıra numarasının bozuk olması şart.

Bu ikisi birbirinin zıddı. Yani kutudan çıkan hangi varsayılan olursa olsun, iki ağdan biri hep bozuk kalıyordu. 2.5.0'da mobil hat için seçilen varsayılan, sabit hatta Discord'u tamamen erişilemez yaptı.

Ne değişti

Otomatik strateji seçimi. Yeni bir ağa ilk bağlandığında uygulama:

  1. Hattının gerçekten engellediği bir hedef bulur (engelli değilse ölçecek bir şey yoktur)
  2. Bildiği yöntemleri, motorun üretimde kullandığı kodun aynısıyla dener
  3. Kazanan hem engeli aşmalı hem de google/cloudflare gibi normal siteleri bozmamalı

Üçüncü madde en önemlisi: tethering'de yaşanan "her site öldü" felaketi artık seçilemez bir sonuç.

Seçim ağ parmak iziyle (arayüz + ağ geçidi + ağ geçidi MAC adresi) önbelleğe alınır:

  • İlk ölçüm birkaç saniye sürer — ölçülen makinede 0,4 saniye
  • Sonraki açılışlar anlık (önbellekten, ~25 ms)
  • Ağ değiştirdiğinde kendiliğinden yeniden ölçer (eve gel, hotspot'a geç — fark etmez)
  • Bilinen bir ağa dönünce hiç ölçmeden eski sonucu kullanır
  • Bilgisayar açılırken internet henüz gelmemişse ölçmeye çalışmaz, bağlantı gelince ölçer

Düzeltilenler

  • 2.5.0'ın varsayılanı sahte paketi işe yaramaz hale getiriyordu. Sahte paket hem bozuk sağlama toplamı hem bozuk sıra numarası taşıyordu. Bozuk sıra numarası NAT'a karşı eklenmişti, ama akışı yeniden birleştiren bir DPI pencere dışındaki segmenti hiç dikkate almaz — yani sahte alan adı o kutunun tamponuna hiç girmiyordu, sahte paket hiçbir şey yapmıyordu. Ölçüldü: o varsayılanla Discord hiçbir bölme ayarıyla açılmıyor, doğru sıra numaralı sahte paketle ilk denemede açılıyor.
  • 2.6.0 notundaki bir iddia yanlıştı. O sürümün teşhis aracı hedef adreslerini düz DNS ile çözüyordu; ama o hatta düz DNS zaten kaçırılıyor, dolayısıyla araç Discord'u değil sağlayıcının engel sayfası sunucusunu ölçmüş. Araç artık adresleri HTTPS üzerinden çözüyor.

Ayrıca

  • split_mode: "none" — hiç bölmeden, yalnızca sahte paketle çalışan yöntem. Bölmenin işe yaramadığı hatlarda çalıştığı ölçüldü.
  • strategy_mode ayarı (varsayılan "auto"). "manual" yaparsan decoy_mode/split_mode değerleri elle sabitlenir — destek ve hata ayıklama için.
  • Bir site açılmıyorsa: uygulamayı kapat, %LOCALAPPDATA%\HenkerDPI\autotune.json dosyasını sil, tekrar aç. Hattı baştan ölçer.

Doğrulama

Ölçüm 0,4 sn · önbellek 26 ms · seçilen yöntem Discord'u motorun kendi koduyla açıyor · kontrol siteleri etkilenmiyor · 517 ve 1700 baytlık ClientHello'da 24/24 · 16 yöntem kombinasyonunun tamamı çevrimdışı paket testinden geçiyor.

Kurulum

HenkerDPI.exe indir, sağ tıkla, Yönetici olarak çalıştır. Tek dosya, kurulum yok, sürücü içinde gömülü.

Bu sürümde kurulum (Setup) dosyası yok: Windows Defender'ın makine öğrenmesi sezgiseli onu Trojan:Win32/Wacatac.B!ml diye yanlışlıkla işaretliyor ve siliyor. Microsoft'a bildirim yapıldı; düzelene kadar taşınabilir dosyayla devam.

SmartScreen "Windows bilgisayarınızı korudu" derse: Ek bilgi → Yine de çalıştır. Uygulama imzalı değil; kaynak kod açık, istersen kendin derleyebilirsin.

Dosya doğrulama

HenkerDPI.exe
SHA256: 78D940B2F7E9076105B68D1E1D10D69F9E65FAF196DA1D0DB9DCD1BC0A5F3787

PowerShell ile kontrol:

Get-FileHash .\HenkerDPI.exe -Algorithm SHA256

HenkerDPI 2.4.0

Choose a tag to compare

@Henkerr Henkerr released this 04 Aug 23:28

HenkerDPI 2.4.0 — Kurulum dosyası, otomatik güncelleme ve yeni isim

Bu sürümden itibaren kurulum tek tık ve güncellemeler kendiliğinden geliyor.

📦 Artık bir Setup dosyası var

HenkerDPI_Setup.exe indir, çalıştır, bitti. Program Files'a kurar, Başlat menüsü ve masaüstü kısayollarını oluşturur, uygulamayı açar. "Yönetici olarak çalıştır"la uğraşmana gerek yok — kurulum bunu kendisi halleder. Kaldırmak istersen Ayarlar → Uygulamalar üzerinden normal bir program gibi kaldırılır.

Tek dosya taşınabilir sürümü tercih edenler için HenkerDPI.exe de aynı release'te duruyor (onu yönetici olarak çalıştırmak gerekiyor).

⬆️ Otomatik güncelleme

Uygulama günde bir kez GitHub'ı kontrol eder. Yeni sürüm çıktıysa üstte bir şerit belirir:

⬆  v2.5.0 çıktı        Neler değişti?   [Güncelle]  ✕

Güncelle'ye bastığında indirir, doğrular, kendini değiştirir ve yeniden başlar. Başka hiçbir şey yapman gerekmez.

Güvenlik tarafında ciddiye alındı — imzasız ve yönetici yetkisiyle çalışan bir uygulamada güncelleme yolu, bozulursa herkeste yönetici yetkisiyle kod çalıştırmak demektir:

  • Hem API çağrısı hem indirme sertifika doğrulamalı HTTPS üzerinden
  • İndirme adresi github.com / githubusercontent.com olmak zorunda; API cevabı kurcalansa bile başka bir adrese yönlendirilemez
  • İnen dosya, GitHub'ın sunucu tarafında hesapladığı SHA-256 digest'i ile doğrulanır; tutmazsa dosya silinir ve kurulum yapılmaz
  • Digest'i olmayan bir release kurulamaz sayılır
  • Sürüm düşürme reddedilir
  • Exe değiştirilmeden önce motor durdurulur — böylece DNS'in geri yüklendiği ve WinDivert handle'larının kapandığı garanti altına alınır
  • Değiştirme başarısız olursa çalışan exe geri getirilir, hiçbir durumda çalışmayan bir kurulumla kalmazsın

ISS GitHub'ı engelliyorsa: açılıştaki kontrol başarısız olursa, bypass'ı açtığında oturumda bir kez daha denenir — bu sefer trafik bypass üzerinden gittiği için genelde başarılı olur.

İstemiyorsan %LOCALAPPDATA%\HenkerDPI\settings.json içinde "update_check_enabled": false yap; uygulama kendiliğinden hiçbir ağ isteği yapmaz.

🏷️ İsim sadeleşti: HenkerDPI

"V2" kaldırıldı. Exe, kurulum dosyası, zamanlanmış görev ve tüm arayüz artık sadece HenkerDPI. Depo da github.com/Henkerr/HenkerDPI adresine taşındı — eski adres kalıcı olarak yeni adrese yönlendiriliyor, hiçbir bağlantı kırılmadı.

2.3.0'dan yükseltiyorsan: eski HenkerDPI_V2 açılış görevi otomatik olarak silinip yeni adla yeniden oluşturuluyor, yani "açılışta başlat" ayarın korunuyor. Kurulum eski exe'yi de temizliyor.

🎨 Yeni logo

Uygulama, kurulum dosyası, kısayollar, sistem tepsisi ve pencere ikonu — hepsi yeni mavi kurt logosunu taşıyor.


⚠️ Bu sürüme bir kez elle geçmen gerekiyor

Otomatik güncelleme 2.4.0 ile geliyor, yani 2.3.0 ve öncesi kendini güncelleyemez. Bu son elle kurulum; bundan sonrası otomatik.

Doğrulama

HenkerDPI_Setup.exe   SHA256: 3da28403b2cfbd0d5af58af69eab3815f89a1be0852400bcd7009dcb04374b5f
HenkerDPI.exe         SHA256: 5dc817b50ff3d5781ce94149b8cc3883c1da3e7b4540842ef7c7bd6608862348
Get-FileHash HenkerDPI_Setup.exe -Algorithm SHA256

İmzasız + kernel sürücüsü içerdiği için SmartScreen ilk açılışta Daha fazla bilgi → Yine de çalıştır isteyebilir.

Kaynaktan derlemek istersen (build tekrarlanabilir, UPX kapalı):

pip install -r requirements.txt -r requirements-build.txt
python -m PyInstaller HenkerDPI.spec --clean -y
ISCC.exe setup.iss

HenkerDPI V2.3.0

Choose a tag to compare

@Henkerr Henkerr released this 04 Aug 23:01

HenkerDPI V2.3.0 — Halka açık ilk sürüm

Depo bu sürümle birlikte herkese açıldı. Bu sürüm yeni bypass özelliği getirmez; yayın öncesi denetimde çıkan doğruluk, lisans ve ayar-konumu sorunlarını giderir. Bypass motorunun kanıtlanmış IPv4 yolu değişmedi.

⚠️ Önemli düzeltme: "DoH" yanlış beyanı kaldırıldı

Uygulama hiçbir zaman DNS-over-HTTPS konuşmadı, ama README, ayar dosyası ve 8 dilin tamamı öyle olduğunu ima ediyordu. Gerçekte yapılan: netsh ile sistem çözümleyicinizi Cloudflare/Google/Quad9'a yönlendirmek. Bu ISS'nin DNS engellemesini aşar, ama sorgularınızı şifrelemez — ISS hangi siteye baktığınızı hâlâ görebilir. Tüm kullanıcı-görünür metinler artık bunu dürüstçe söylüyor.

📁 Ayarlar artık kullanıcıya özel

Tercihler exe'nin yanına (çoğu kurulumda Program Files) yazılıyordu; bu onları makine geneli yapıyor ve Controlled Folder Access tarafından engellenebiliyordu. Artık hepsi %LOCALAPPDATA%\HenkerDPI\ altında, DNS journal ile aynı yerde. 2.2.0'dan yükseltiyorsanız mevcut ayarlarınız ilk açılışta otomatik taşınır — hiçbir şey kaybolmaz.

🇹🇷 Türkçe düzgün yazıldı

Arayüz "Baslatmak icin butona tiklayin" diyordu. Artık gerçek Türkçe: "Başlatmak için butona tıklayın".

⚖️ Lisans uyumu

WinDivert ve pystray LGPLv3 lisanslı; LGPL, lisans metninin binary ile birlikte dağıtılmasını şart koşar — repoya link vermek yeterli değil. licenses/ klasörü eklendi ve exe'nin içine gömüldü; THIRD-PARTY-NOTICES.md artık yeniden bağlantılama yöntemini (LGPLv3 §4) de açıklıyor.

🔧 Motor

  • Yerel/özel adres listesine 169.254/16 (link-local) ve 100.64/10 (CGNAT — Türkiye'de mobil operatörlerde çok yaygın) eklendi. Bu aralıklara boşuna fragmentasyon yapılıyordu.
  • "Açılışta başlat" anahtarı artık zamanlanmış görevin hedef yolunu da doğruluyor. Exe'yi taşıdıysanız toggle "açık" görünüp autostart sessizce bozuk kalmıyor; yol otomatik düzeltiliyor.

🍎 macOS

macOS portu macos-experimental dalına taşındı ve README'den kaldırıldı. Sebep dürüstlük: 2.1.0/2.2.0'daki kararlılık düzeltmelerinin (crash-safe DNS journal, kimlik doğrulamalı journal sahipliği, çözümleyici erişilebilirlik testi, decoy paket checksum düzeltmesi) hiçbiri oraya backport edilmemişti — yani macOS sürümü, Windows'ta giderilen "aralıklı kopma" hatasını hâlâ taşıyor. Bakımsız olduğunu söylemek, desteklenmiş gibi göstermekten iyi.

🧹 Temizlik

Ölü kod silindi (find_sni_offset, should_bypass, extract_http_host, kullanılmayan service.py).


Kurulum

HenkerDPI_V2.exe dosyasını indir, yönetici olarak çalıştır. Tek taşınabilir dosya, WinDivert gömülü. Windows 10/11 64-bit.

İmzasız + kernel sürücüsü içerdiği için SmartScreen ilk açılışta Daha fazla bilgi → Yine de çalıştır isteyebilir; bazı antivirüsler yanlış-pozitif verebilir.

Doğrulama

SHA256: e8f79c769bbe93d4ee018c55d6ba7fe6051d01417949e76fa635e2abda0910b4

İndirdiğin dosyayı şununla doğrula:

Get-FileHash HenkerDPI_V2.exe -Algorithm SHA256

Kaynaktan kendin de derleyebilirsin — build tekrarlanabilir (UPX kapalı):

pip install -r requirements.txt -r requirements-build.txt
python -m PyInstaller HenkerDPI_V2.spec --clean -y

HenkerDPI V2.2.0

Choose a tag to compare

@Henkerr Henkerr released this 06 Jul 15:05

HenkerDPI V2.2.0 — Kararlılık, güvenlik ve IPv6 (deneysel)

Bu sürüm, aralıklı internet kesintisi ve yavaş Discord sorunlarını gideren tüm 2.1.0 düzeltmelerini içerir; üzerine DNS güvenliğini sertleştiren yeni düzeltmeler, frozen-exe hataları ve deneysel IPv6 bypass ekler.

✨ Yeni

  • Deneysel IPv6 bypass (varsayılan KAPALI). settings.json içinde "ipv6_bypass_enabled": true yaparsan motor IPv6 TCP/443 ClientHello'larını da parçalar ve IPv6 QUIC'i ICMPv6 ile reddeder — dual-stack sitelerde de DPI aşılır. Varsayılan yol hâlâ kanıtlanmış, kesintisiz IPv4; IPv6'yı yalnızca gerekiyorsa aç.
  • DNS sağlayıcı erişilebilirlik testi + otomatik yedekleme. Seçili çözümleyici (ör. 1.1.1.1) ISP tarafından engelliyse, DNS ölü bir sunucuya sabitlenmek yerine otomatik olarak başka bir sağlayıcıya (Google/Quad9) geçer; hiçbiri erişilemezse DNS'e hiç dokunmaz.

🔧 DNS güvenliği (kalıcı-sabitlenmeye karşı sertleştirme)

  • Önceki bir değişiklik doğrulanabilir şekilde geri alınmadıysa, uygulama artık "orijinal" olarak public çözümleyiciyi kaydetmez — kalıcı sabitlenmenin son kapısı da kapandı.
  • Journal sahiplik kontrolü artık kimlik doğrulamalı (PID + exe adı): çökme sonrası yeniden kullanılan bir PID, DNS kurtarmayı artık engelleyemez.
  • IPv6 DNS geri-yükleme başarısız olursa journal saklanır (eskiden yalnız IPv4 sonucuna bakılıyordu).
  • Sağlayıcı adı büyük/küçük harf normalize edilir.

🖥️ Frozen-exe düzeltmeleri

  • Tema ve dil tercihi artık her açılışta sıfırlanmıyor — ayarlar exe'nin yanına yazılıyor (Türkçe kullananlar için önemli).
  • Tek-örnek kilidi Global\ oldu; ikinci bir oturumda ikinci yönetici örneği de engelleniyor.

📦 Paketleme / release hijyeni

  • LICENSE dosyası eklendi (MIT) + gömülü WinDivert/pydivert için THIRD-PARTY-NOTICES.md.
  • Bağımlılıklar tam sürüme pinlendi + ayrı requirements-build.txt (WinDivert'i paketleyen hook garanti altına alındı).
  • UPX kapatıldı → tekrarlanabilir build + daha az antivirüs/SmartScreen yanlış-pozitifi.
  • Installer'daki çelişen HKLM autostart kaydı kaldırıldı; otomatik başlatma tek mekanizmayla (uygulama içi, sessiz+yönetici Görev Zamanlayıcı) yönetiliyor.
  • Sürüm 2.2.0'a yükseltildi; README baştan aşağı güncellendi (tema/dil sayısı, Secure DNS, SmartScreen/AV notu, Uninstall & Troubleshooting bölümleri).

2.1.0'dan gelen kararlılık düzeltmeleri

  • Sahte ClientHello zehirlenmesi (bilerek bozuk TCP checksum'lı decoy), crash-safe DNS journal, IPv6 ölü-DNS-pin engelleme (yalnız gerçek IPv6 bağlantısı olan adaptöre), QUIC için sessiz black-hole yerine ICMP hızlı-TCP-fallback, RST koruması varsayılan KAPALI.

Kurulum

  • HenkerDPI_V2.exe dosyasını indir, yönetici olarak çalıştır. Tek taşınabilir dosya; WinDivert gömülü. Windows 10/11 64-bit.
  • İmzasız + kernel sürücüsü içerdiği için ilk açılışta SmartScreen "Daha fazla bilgi → Yine de çalıştır" isteyebilir; bazı antivirüsler yanlış-pozitif verebilir.

IPv6 bypass deneyseldir ve varsayılan kapalıdır. Bilinen sınırlamalar ve sorun giderme için README'ye bakın.

HenkerDPI V2.0.0

Choose a tag to compare

@Henkerr Henkerr released this 26 Jun 11:17

HenkerDPI V2 — v2.0.0

Düzeltmeler

  • Açılışta başlat (Start on boot) artık çalışıyor. Önceki sürümde autostart görevi, derlenmiş exe'nin geçici _MEI klasörüne işaret ediyordu; uygulama kapanınca o klasör silindiği için her açılışta "dosya bulunamadı" (Last Result: 2) ile başarısız oluyordu. Artık sabit kurulu exe'ye işaret ediyor.
  • Yeni --autostart modu: açılışta uygulama pencereyi açmadan bypass motorunu başlatıp doğrudan sistem tepsisine iniyor.
  • Makineye özel hardcoded Python yolu kaldırıldı.

Kurulum / Kullanım

HenkerDPI_V2.exe dosyasını indirip yönetici olarak çalıştırın. "Start on boot" düğmesini açtığınızda Windows her açılışta uygulamayı otomatik, arka planda (sistem tepsisinde, bypass aktif) başlatır — UAC penceresi çıkmaz.