1. "Clash for macOS" aslında ne demek?
Bu ad orijinal ClashX'i, gelişmiş modlu ClashX Pro'yu, mihomo tabanlı ClashX Meta'yı, durdurulan Clash for Windows macOS derlemesini veya bağımsız topluluk çatallarını kastedebilir. Çekirdekleri, menüleri ve yapılandırma alanları aynı değildir.
Kontrol sırasında MetaCubeX'in en son ClashX Meta sürümü 1 Ekim 2026'da yayımlanan v1.4.46 idi. Sürüm README'si projenin resmi sitesi olmadığını açıkça söylüyor. Yalnızca MetaCubeX/ClashX.Meta Releases'ten indir ve aynı adlı indirme sitelerine güvenme.
Varsayılan master dalı eski kod içerebilir; sürümler meta dalını ve sürüm etiketlerini kullanır. Varsayılan daldan özellikleri değerlendirme veya eski kodu derleme yerine bir sürüm kullan. Bu rehber ClashX Meta v1.4.46'ya odaklanır; eski ClashX ve CFW yalnızca gerektiğinde ayırt edilir.
2. System Proxy, TUN, yönlendirme modları ve DNS ayrı katmanlardır
- System Proxy yalnızca macOS proxy ayarlarını izleyen uygulamaları kapsar; terminal, UDP uygulamaları, oyunlar, Docker, sanal makineler ve arka plan hizmetleri bunu yok sayabilir.
- TUN daha fazla uygulamayı yakalar, ancak sonuç auto-route, kurallar, UDP, IPv6, DNS ve diğer VPN veya sanal arayüzlere bağlıdır.
- Global yalnızca çekirdeğe ulaşan trafiği işler; Clash'i atlayan uygulamaları yakalayamaz.
- DoH şifreleme değil anonimlik değildir; TUN da yakalama mekanizmasıdır ve anonimlik değildir. Proxy sağlayıcı yine orijinal genel IP'yi görebilir.
- Hesaplar, çerezler, dil, saat dilimi, tarayıcı parmak izleri, macOS Konum Servisleri ve Wi-Fi tabanlı konum da kimlik veya konum sağlayabilir.
Uygulama
│
│ 1. System Proxy: uygulama yerel Clash proxy portuna bağlanır
│ 2. TUN: utun arayüzü ağ katmanı trafiğini yakalar
▼
ClashX Meta / mihomo
│
│ 3. Rule / Global / Direct: çıkışı seçer
│ 4. DNS: adların nasıl ve nerede çözüldüğünü belirler
▼
DIRECT / proxy düğümü / REJECT
│
▼
Hedef3. Kurulum ve yeni başlayanlar için hızlı başlangıç
- Sürüm ZIP'ini yalnızca MetaCubeX/ClashX.Meta Releases'ten indir, çıkar ve uygulamayı Applications içine taşı. Gatekeeper'ı genel olarak kapatma veya bilinmeyen uygulamadan karantina özniteliğini gereksiz yere kaldırma.
- İlk başlatmada kaynağı doğruladıktan sonra ayrıcalıklı yardımcıyı onayla; sistem proxy'sini, TUN'u ve DNS'i yönetir.
- Varsayılan yapılandırma dizini ~/.config/clash.meta/ şeklindedir; Config → Open config folder ile aç ve düzenlemeden önce yedekle.
- Config → Remote Config → Manage üzerinden güvenilir HTTPS profili ekle veya yerel YAML'yi yapılandırma dizinine koyup seç.
- Rule ve gerçek düğüm seç, Set as system proxy'yi etkinleştir, tarayıcıda doğrula ve ancak sonra TUN gerekip gerekmediğine karar ver.
- Start at login yalnızca uygulamayı girişte başlatır; düğümü, profili veya DNS'i doğrulamaz.
4. Menü çubuğu ayarları açıklanıyor
- Set as system proxy: macOS'te HTTP/HTTPS/SOCKS ayarlarını yazar. Wi‑Fi, Ethernet ve diğer hizmetler ayrı kontrol gerektirebilir ve başka bir VPN bunları ezebilir.
- TUN Mode: sistem proxy'sini yok sayan uygulamaları yakalar. Menüdeki işaret sağlıklı yönlendirmeyi kanıtlamaz; DNS, Connections ve gerçek çıkışı doğrula.
- Outbound modes: günlük ayrım için Rule, kontrollü test için Global ve proxy düğümlerini atlamak için Direct.
- Allow LAN: diğer cihazların Mac'in proxy portlarını kullanmasına izin verir. Kapalı tut; yerel 127.0.0.1 kullanımı buna ihtiyaç duymaz, özellikle herkese açık Wi‑Fi'de.
- Copy shell command: uyumlu kabuklar ve alt süreçler için HTTP/HTTPS/SOCKS değişkenlerini kopyalar. Dış IP sürümü ayrıca LAN açıklığı anlamına gelir.
- Uzak profiller ve otomatik güncellemeler elle düzenlemeleri ezebilir; kalıcı özelleştirmeyi yerel kopyada sakla.
- Proxy atlama listesi: localhost, 127.0.0.1, özel aralıklar ve *.local genellikle orada kalmalıdır. Proxy kullanması gereken genel hedefleri ekleme.
- iCloud yapılandırma senkronizasyonu abonelik URL'lerini, düğüm kimlik bilgilerini ve kuralları içerebilir; yalnızca bu verilerin diğer cihazlarına ulaşması uygunsa etkinleştir.
- SSID suspend seçilen Wi‑Fi ağlarında doğrudan bağlantıyı geri getirebilir; kolaylık özelliğidir, gizlilik değil, listeyi gözden geçir.
- Dashboard ve Connections süreçleri, hedefleri, TCP/UDP'yi, kuralları ve zincirleri gösterir; düğüm değiştirdikten sonra eski bağlantıları kapat.
- Sniffer, yönlendirmeye yardımcı olmak için HTTP, TLS ve QUIC el sıkışmalarından alan adlarını kurtarır; tam TLS çözümlemesi veya anonimlik değildir.
- Fake IP ve önbellekler alan adı eşlemelerini yönetir; DNS veya TUN değişikliklerinden sonra eski kayıtları temizle; Fake IP şifreleme değildir.
- GEO ve Providers GeoIP/GeoSite, uzak düğümler ve kurallar sağlar; kaynaklar güvenilir olmalıdır.
- Remote controller ve API: bunları gizli anahtarla yerel tut, kimlik doğrulamasız API'yi açma ve gizli anahtarı güvenilmeyen barındırılan panele verme.
- Alpha çekirdek test içindir; normal kullanıcı doğrulanmamış çekirdeği yükseltilmiş ayrıcalıklarla çalıştırmamalıdır.
5. System Proxy ile TUN arasında seçim
- Normal gezinme için System Proxy artı Rule ve denetlenmiş atlama listesi yeterlidir; TUN zorunlu değildir.
- Birden fazla masaüstü uygulaması, terminal veya UDP için TUN kullan ve DNS, IPv6 ile UDP'yi açıkça doğrula.
- System Proxy ve TUN'u birlikte açmak çift şifreleme oluşturmaz ve tanılamayı karmaşıklaştırabilir.
- Kontrollü tek çıkış testi için geçici Global kullan ve GLOBAL'in gerçek düğüm seçtiğini doğrula; sonra uygun Rule'a dön.
- Düğüm veya profil değiştirdikten sonra eski bağlantıları kapat ki eski TCP önceki çıkışı kullanmaya devam etmesin.
- Sistem proxy'sini incelemek için scutil --proxy, ağ hizmetlerini listelemek için networksetup -listallnetworkservices kullan.
6. ClashX Meta'nın TUN DNS'i neden kolayca yanlış anlaşılır
Mevcut sürüm kodu varsayılan Meta TUN DNS olarak 8.8.8.8 kullanır. Ayrıcalıklı yardımcı TUN başlarken DNS ayarlarını uygular; mihomo'nun dns-hijack özelliği eşleşen istekleri dahili çözümleyiciye yönlendirir. Bu nedenle Meta TUN DNS mutlaka son yukarı akış çözümleyicisi değildir.
mihomo belgeleri macOS ve Windows'un LAN adreslerine yönelen DNS isteklerini otomatik yakalayamadığını açıkça belirtir. Meta TUN DNS'i düşünmeden 192.168.1.1 veya başka yönlendirici adresiyle değiştirme; bu dahili çözümleyiciyi atlayabilir.
- dns-hijack'in 53 numaralı portta UDP ve TCP'yi kapsadığından emin ol.
- scutil --dns içinde 8.8.8.8 görmek ne sızıntıyı ne de güvenli yapılandırmayı kanıtlar; dahili nameserver ve gerçek DNS bağlantılarını kontrol et.
- TUN durduktan veya çöktükten sonra orijinal DNS ayarlarının geri gelip gelmediğini kontrol et; gerekirse Network → Details → DNS üzerinden geri yükle.
- Bazı güncellemeler menü durumunu gerçek TUN/DNS ile tutarsız bırakabilir; işarete güvenme, kapatıp aç ve gerçek test yap.
7. Güncel mihomo için DNS/TUN örneği
Bu parçayı mevcut profilin kopyasıyla birleştir. Tüm aboneliği değiştirme veya eski ClashX ya da CFW'ye kopyalama.
- respect-rules DNS bağlantılarının yönlendirme kurallarını izlemesini sağlar; çözümleyicinin kendi adresi DIRECT ile eşleşirse sorgular yine doğrudan gidebilir.
- proxy-server-nameserver proxy sunucusu ana bilgisayar adlarını çözer ve başlangıçtaki döngüsel bağımlılığı önler; başlangıç çözümlemesi yine doğrudan erişilebilir çözümleyici gerektirebilir.
- nameserver #GrupAdı ile çıkış seçebilir, örneğin https://1.1.1.1/dns-query#Proxy; ancak Proxy gerçek grup adı olmalıdır.
- dns.ipv6: false yalnızca AAAA yanıtlarını bastırır; macOS'te IPv6'yı devre dışı bırakmaz.
- auto-redirect esas olarak Linux içindir; strict-route çoğunlukla Windows/Linux terimleriyle belgelenir ve macOS'ta evrensel sızıntı önleme anahtarı değildir.
dns:
enable: true
listen: 127.0.0.1:1053
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "*.local"
respect-rules: true
proxy-server-nameserver:
- "https://1.1.1.1/dns-query"
nameserver:
- "https://1.1.1.1/dns-query"
- "https://8.8.8.8/dns-query"
tun:
enable: true
stack: gvisor
auto-route: true
auto-detect-interface: true
dns-hijack:
- "any:53"
- "tcp://any:53"8. Tarayıcı DoH, IPv6, WebRTC, QUIC ve Private Relay
- Tarayıcı yönetimli DoH dahili çözümleyiciyi ve Fake IP'yi atlayabilir. Yalnızca TUN ve DNS hijacking doğrulandıktan sonra kapatmayı düşün ve yeniden test et.
- IPv6 anahtarı macOS genel anahtarı değildir. Fiziksel ağda genel IPv6 varsa ve tünel yalnızca IPv4 ise IPv6 hedefleri orijinal adresi görebilir.
- WebRTC STUN aracılığıyla ek adresleri açığa çıkarabilir. Chromium'un disable_non_proxied_udp değeri katı senaryolara uyabilir, ancak gerçek zamanlı iletişimi bozabilir.
- QUIC UDP kullanır; düğüm ve TUN'un tanımlı UDP yolu olmalıdır. Güvenli TCP geri dönüşü varsayma.
- iCloud Private Relay Safari ve bazı şifrelenmemiş trafiğin yolunu değiştirir. Clash ile birleştiğinde Safari diğer uygulamalardan farklı çıkış gösterebilir, bu yüzden her seferinde açıkça tanımlı tek yolu test et.
- macOS Konum Servisleri yakındaki Wi‑Fi ağlarını kullanabilir. Yalnızca düğüm IP'sine bakmak yerine System Settings → Privacy & Security → Location Services altında uygulama başına izinleri gözden geçir.
- TUN otomatik olarak kill switch değildir. macOS'un yerleşik güvenlik duvarı esas olarak gelen bağlantıları yönetir ve giden trafik için eksiksiz fail-closed tasarım değildir.
9. Terminal, Git, curl ve SSH ayarları
Terminal uygulamaları macOS sistem proxy'sini mutlaka okumaz. Önce değişkenleri yalnızca geçerli kabukta ayarla; kararlı portlar ve başlangıç davranışı doğrulanmadan ~/.zshrc içine yazma.
- Git'in HTTP(S) proxy'si SSH'yi otomatik yapılandırmaz; SSH için TUN veya ProxyCommand kullan.
- Homebrew ve indirme araçları genellikle proxy değişkenlerini izler, ancak bunları aynı terminal oturumunda ayarla ve doğrula.
- socks5h'nin önemli farkı, ana bilgisayar adının yerel yerine proxy üzerinden çözülebilmesidir.
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890
# HTTP proxy üzerinden curl
curl --proxy http://127.0.0.1:7890 https://example.com/
# Uzak ana bilgisayar adı çözümlemesiyle SOCKS
curl --proxy socks5h://127.0.0.1:7890 https://example.com/
# Git'in HTTP(S) proxy'sini ayarla ve kaldır
git config --global http.proxy http://127.0.0.1:7890
git config --global --unset http.proxy
# Geçerli kabuktaki proxy değişkenlerini temizle
unset http_proxy https_proxy all_proxy
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
# Yalnızca bir ana bilgisayar için SSH ProxyCommand örneği
Host example.com
ProxyCommand nc -X 5 -x 127.0.0.1:7890 %h %p10. Tarayıcılar, IDE'ler, Docker, sanal makineler ve oyunlar
- Safari genellikle sistem proxy'sini izler, ancak Private Relay, DIRECT kuralları, konum izni ve Connections'ı da kontrol et.
- Chrome ve Edge proxy uzantıları, güvenli DNS, WebRTC ve QUIC için kontrol ister; Firefox uzak DNS ile manuel SOCKS v5 kullanabilir.
- IDE, eklentileri, dil sunucuları, paket yöneticileri ve tümleşik terminal ayrı ağ ayarlarına sahip olabilir; birinin çalışması diğerlerinin çalıştığını kanıtlamaz.
- Docker konteyneri içinde 127.0.0.1 normalde konteyneri kasteder. host.docker.internal ana makineye ulaşabilir, ancak Clash ile kullanmak Allow LAN, bağlama ve güvenlik duvarı gerektirebilir; herkese açık Wi‑Fi'de kimlik doğrulamasız proxy açma.
- Parallels, VMware ve emülatörler NAT, köprü veya bağımsız sanal arayüzler kullanabilir. Ana makine TUN'u her topolojide yakalama garantisi vermez; her ortamda yönlendirme ve DNS'i ayrı doğrula.
- Oyunlar ve gerçek zamanlı ses genellikle UDP destekli TUN ister ve başlatıcı ayrı süreç olabilir. ping ve traceroute, ICMP proxy'lenmiş TCP ve UDP'den farklı olduğu için proxy kapsamasını kanıtlamaz.
11. Etkinliği doğrulama ve yaygın atlamalar
- HTTP/HTTPS/SOCKS uç noktalarını doğrulamak için scutil --proxy, yapılandırılan çözümleyicileri incelemek için scutil --dns kullan.
- Connections ve kayıtlarda süreci, kuralı, zinciri ve UDP kayıtlarını doğrula; DIRECT ile biten zincir düğümü atlar.
- IPv4 ve IPv6'yı iki bağımsız hizmetle ayrı test et; yanlış coğrafi şehir tek başına sızıntı kanıtlamaz.
- DNS testleri ISS, yönlendirici, beklenmeyen yerel çözümleyiciler ve tarayıcı DoH'unu aramalıdır; genel çözümleyicinin IP'si düğüm IP'siyle eşleşmek zorunda değildir.
- WebRTC'de orijinal genel IPv4/IPv6'ya bak; .local mDNS adayı otomatik genel IP sızıntısı değildir.
- Uyku, Wi‑Fi değişikliği, düğüm değişikliği, profil güncellemesi, ClashX Meta yeniden başlatması ve beklenmeyen TUN kapanmasından sonra yeniden test et.
- Clash durduğunda uygulamalar doğrudan İnternet'e dönerse yapılandırma fail-closed değildir.
12. Sorun giderme ve son öneriler
- Safari çalışıyor ama terminal çalışmıyor: ortam değişkenleri, uygulamaya özel proxy veya TUN kullan.
- System Proxy açık ama orijinal IP görünüyor: DIRECT kuralları, atlama girdileri, IPv6, diğer VPN'ler, Private Relay ve eski bağlantıları kontrol et.
- TUN bağlantıyı bozuyor: yardımcı, sistem DNS'i, dns-hijack, dahili DNS, rakip VPN'ler ve TUN yığınını kontrol et; önce çalışan yapılandırmayı geri yükle.
- TUN açık görünüyor ama terminal doğrudan gidiyor: menü göstergesine değil gerçek duruma bak, sonra kapatıp aç ve scutil --dns ile kayıtları incele.
- Fake IP belirli bir hizmeti bozuyor: tüm DNS modülünü kapatmak yerine fake-ip-filter'a hedefli kayıt ekle.
- TUN kapatıldıktan sonra DNS yanlış kalıyor: orijinal yapılandırmanın geri gelip gelmediğini kontrol et ve gerekirse Apple Network ayarlarından düzelt.
- Profil güncellemeleri düzenlemeleri siliyor: kalıcı özelleştirmeyi yerel kopyada tut, uzaktan yönetilen dosyayı düzenleme.
- Daha yüksek gizlilik gerekiyorsa bakımlı yazılım kullan; DNS, WebRTC, Private Relay, konum ve hesap tanımlayıcılarını doğrula; gerektiğinde doğrulanmış giden fail-closed tasarımı kullan.