macOS'ta Mobil Proxy Yapılandırması
macOS, ağ hizmeti bazında proxy ayarlarını saklar ve Terminal bu ayarları hiç okumaz. Bu kılavuzda, “Proxies” paneli, bu ayarları takip eden tarayıcılar, networksetup ile bu ayarları komut dosyası yoluyla nasıl yapılandırılacağı ve bu ayarları dikkate almayan uygulamalarla ilgili ne yapılacağı ele alınmaktadır.
- Proxy’ler bir ağ hizmetine aittir — bu ayarlar Mac’e değil, Wi-Fi veya Ethernet bağlantılarına ayrı ayrı uygulanır.
- Safari'nin kendine ait bir proxy ayarı yoktur — sistem ayarlarını tamamen takip eder; bu da onu test etmek için ideal bir seçenek haline getirir.
- Terminal bu pencereyi dikkate almaz — bunun yerine curl, git, npm ve wget ortam değişkenlerini okur.
- networksetup komut dosyaları ile tüm süreci ayarlayın — proxy üzerinden ve doğrudan bağlantılar arasında düzenli olarak geçiş yaptığınızda kullanışlıdır.
macOS, herhangi bir ek yazılıma gerek kalmadan HTTP(S) ve SOCKS5 protokollerini destekler.
networksetup, tüm yapılandırmayı iki satıra indirger.
Vekiller Bölmesi ve Hangi Arayüze Ait Olduğu
macOS, proxy ayarlarını tek ve kolayca bulunabilir bir yerde tutar; bu da onu Windows’tan daha basit hissettirir. Çoğunlukla da öyledir — ancak ilk kurulum tamamlandıktan çok sonra bile kullanıcıların başını ağrıtan yapısal bir püf noktası vardır: bu ayarlar Mac’e değil, bir ağ hizmetine aittir.
Sistem Ayarları'nı açın, Ağ bölümüne gidin ve şu anda kullandığınız bağlantıyı seçin. Ayrıntılar'ı, ardından Proxy'ler'i tıklayın. Onay kutucukları içeren bir proxy türleri listesi göreceksiniz. İhtiyacınız olanı etkinleştirin, sunucu ve bağlantı noktasını girin, proxy'niz kimlik bilgileri gerektiriyorsa kimlik doğrulama kutucuğunu işaretleyin ve Tamam'ı, ardından Uygula'yı tıklayın.
| Pencerede yer alan giriş | Aslında neyi yapılandırıyor? | Şu durumlarda kullanın: |
|---|---|---|
| Web Proxy (HTTP) | Basit HTTP istekleri | Her zaman, güvenli erişimin yanı sıra — trafiğin çoğu HTTPS üzerinden gerçekleşir, ancak bir kısmı değil |
| Güvenli Web Proxy (HTTPS) | HTTPS istekleri için kullanılan tünel | Her zaman. Bunun devre dışı bırakılması, bazı sitelerin yüklenip diğerlerinin yüklenmemesinin sebebidir |
| SOCKS Proxy | Sadece web trafiği değil, ham TCP | Web dışı protokoller için veya servis sağlayıcınız bir SOCKS5 bağlantı noktası verdiğinde |
| Baypas listesi | Doğrudan bağlanması gereken ana bilgisayarlar | Bir proxy sunucusunun erişemediği yerel adresler ve dahili ana bilgisayar adları |
Bu ayarlar, seçtiğiniz ağ hizmetine (örneğin Wi-Fi) uygulanır. Ethernet kablosunu takın, bir telefona tethering yapın veya bir USB adaptörü bağlayın; macOS, o hizmetin kendi proxy ayarlarını kullanır ve bu ayarlar boştur. Proxy çalışmayı durdurmamıştır; sadece hiç yapılandırılmamış farklı bir arayüzde bulunmaktasınız. Gerçekten kullandığınız her hizmeti yapılandırın.
Otomatik Proxy Yapılandırması Ayrı Bir Seçim Kutucuğudur
“Proxy’ler” bölmesinde, sunucu ve bağlantı noktası yerine bir PAC dosyası URL’si alan “Otomatik Proxy Yapılandırması” seçeneği de listelenir. PAC dosyası, macOS'un her istek için bir kez çağırdığı ve söz konusu ana bilgisayarın bir proxy üzerinden, farklı bir proxy üzerinden mi yoksa doğrudan mı yönlendirileceğine karar veren küçük bir JavaScript işlevi olan FindProxyForURL'dir; bu, baypas listesini elle güncellemeye gerek kalmadan dahili ana bilgisayarları bir mobil proxy üzerinden yönlendirmek için kullanışlıdır. Bu ayar, üstündeki manuel girdilerden bağımsız olarak yapılır; her ikisini de aynı anda etkinleştirmek teknik olarak mümkündür ancak kafa karıştırıcıdır: belirli bir istek için hangisinin öncelikli olacağı konusunda ikisi nadiren aynı fikirde olur ve çakışma durumunda macOS sizi uyarmaz.
From the command line, networksetup -setautoproxyurl "Wi-Fi" http://example.net/proxy.pac writes the URL and turns the option on in one step. There is no matching command to remove it again — networksetup can set an automatic proxy but not unset one — so clearing it means unchecking the box in the pane by hand, or pushing an empty proxy payload through a configuration profile on a managed Mac.
Aynı yapı, macOS’ta komut dosyası yazmayı kolaylaştırır. Her hizmetin adıyla çağrılması sayesinde, bir proxy’yi etkinleştirmek için iki komut, devre dışı bırakmak için de yine iki komut yeterlidir; bu da her geçiş yaptığınızda pencereyi tıklayarak gezinmekten çok daha kolaydır.
networksetup -listallnetworkservices networksetup -setwebproxy "Wi-Fi" proxy.example.net 8000 on user123 s3cret networksetup -setsecurewebproxy "Wi-Fi" proxy.example.net 8000 on user123 s3cret networksetup -setsocksfirewallproxy "Wi-Fi" proxy.example.net 1080 on user123 s3cret networksetup -getwebproxy "Wi-Fi" networksetup -setwebproxystate "Wi-Fi" off
Devlet komutları, girdiğiniz verileri silmeden proxy'yi devre dışı bırakır; bu sayede, proxy üzerinden bağlantı ile doğrudan bağlantı arasında geçiş yapmak için dört değeri yeniden girmek yerine tek bir komut yeterlidir.
Safari, Chrome ve Sistem Ayarlarına Uyum Sağlayan Tarayıcılar
Safari’nin kendine ait bir proxy ayarı yoktur. Hiç yok — bulabileceğiniz bir iletişim kutusu yok ve yanlış ayarlayabileceğiniz bir şey de yok. Safari'nin yaptığı her istek, Proxyler bölmesinde belirtilen ayarlara uyar. Bu durum, istismar edilmeye değer kadar sıra dışıdır: Safari, sistem düzeyindeki yapılandırmanızın doğru olup olmadığını test etmek için en güvenilir yoldur; çünkü unuttuğunuz bir uygulama ayarı tarafından geçersiz kılınamaz.
Chrome da varsayılan olarak sistem ayarlarını takip eder ve proxy ayarları düğmesi, kendi ayarlarını sunmak yerine doğrudan macOS Ağ ayarlarını açar. Bu davranış, başlatma sırasında bir komut satırı bayrağıyla geçersiz kılınabilir; bu, sistemin geri kalanı doğrudan bağlantı kurarken tek bir tarayıcıyı proxy üzerinden çalıştırmak için zaman zaman yararlı olabilir.
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \ --proxy-server="http://proxy.example.net:8000" \ --user-data-dir="/tmp/chrome-proxied"
Firefox, her yerde olduğu gibi bu konuda da bir istisnadır: Kendi bağlantı ayarlarını saklar ve bunları sistem ayarlarına tercih eder. Eğer Safari proxy üzerinden çıkarken Firefox çıkmıyorsa, o zaman bakmanız gereken yer işte o iletişim kutusudur.
Aynı anda birden fazla profili farklı proxy sunucuları üzerinden çalıştırmak için tarayıcı ayarları artık yeterli gelmiyor — işte bu yüzden antidetect tarayıcılar var olma nedeni.
Terminal, Proxyler Bölmesini Okumuyor
İşte bu durum herkesin dikkatini çekiyor. curl, wget, git, npm, pip ve aslında macOS’taki hemen hemen tüm komut satırı araçları, “Proxies” panelini tamamen görmezden geliyor. Bu araçlar, tıpkı Linux’ta olduğu gibi ortam değişkenlerini okuyor ve macOS, bu ikisi arasında herhangi bir köprü sağlamıyor.
Bu bir hata değildir ve bu davranışın değiştirilmesini sağlayacak herhangi bir ayar da bulunmamaktadır. Bu pencere, Cocoa uygulamalarının kullandığı sistem ağ katmanını yapılandırır; komut satırı araçları ise bundan daha eski bir Unix geleneğini devralmıştır.
export http_proxy="http://user123:s3cret@proxy.example.net:8000" export https_proxy="$http_proxy" export no_proxy="localhost,127.0.0.1,::1" # Verify without touching the shell environment curl -x "$http_proxy" https://api.ipify.org ; echo curl https://api.ipify.org ; echo
macOS’ta küçük harf kullanmak daha güvenli bir seçimdir. Bazı araçlar yalnızca küçük harfli adları okurken, birkaçı da yalnızca büyük harfli adları okur; her ikisini de ayarlamak yaygın bir uygulamadır — ancak, başlık enjeksiyon sorununu önlemek amacıyla, büyük harfli HTTPS_PROXY değerinin curl tarafından tasarım gereği göz ardı edildiğini unutmayın. Küçük harfli çifti dışa aktarmak, en geniş yazılım yelpazesini kapsar.
Herhangi bir sistemde olduğu gibi, bir kabuk profiline şifre eklemek, çalıştırdığınız her işlemin bu şifreyi okuyabileceği anlamına gelir. Mac’inizin sabit bir adresi varsa, bunun yerine servis sağlayıcınızdan bu adresi beyaz listeye almasını isteyin ve kimlik bilgilerini tamamen kaldırın.
macOS’un “Yapılandırılmış” Olduğunu Belirttiği Bir Proxy’yi Teşhis Etme
“Vekiller” bölmesinde bir kutucuğun işaretli olması, ilgilendiğiniz uygulamanın bunu kullandığına dair bir kanıt değildir. Kimlik bilgileri üzerinden değil, katman üzerinden geriye doğru inceleme yapın.
| Belirti | En olası neden |
|---|---|
| Dün çalıştım, bugün değil | Şu anda farklı bir ağ hizmetinde bulunuyorsunuz. Hangi arayüzün etkin olduğunu kontrol edin. |
| Safari proxy üzerinden çalışıyor, Terminal ise çalışmıyor | Tasarlanan şekilde çalışıyor. Ortam değişkenlerini dışa aktarın. |
| Bazı siteler yükleniyor, diğerleri ise donuyor | Web Proxy açık ancak Güvenli Web Proxy kapalı olduğundan, HTTPS için bir yönlendirme yok. |
| Yalnızca Firefox, proxy'yi atlıyor | Kendi bağlantı ayarları, sistem ayarlarının yerine geçer. |
| Kimlik bilgileri defalarca reddedildi | Web proxy alanlarına SOCKS kimlik bilgilerini girin. İki bağlantı noktası için ayrı ayrı oturum açma bilgileri gereklidir. |
En hızlı tek test, Safari’yi açıp genel adresinizi gösteren bir sayfayı yüklemektir. Safari bağımsız olarak yapılandırılamadığından, gösterdiği değer sistem düzeyindeki proxy’nizle ilgili doğru bilgidir — ve eğer bir şey proxy üzerinden çalışırken diğeri çalışmıyorsa, sistemde bir sorun yoktur ve diğer uygulama farklı bir katmandan veri okumaktadır.
Ayrıca, uç noktayı şu komutla da doğrulayabilirsiniz: ücretsiz PXM2 proxy kontrol aracı, bu bilgi tespit edilen proxy türünü ve çıkış ülkesini bildirir.
macOS için bir Mobil Proxy edinin
Canlı PXM2 konumları — çıkış IP’sine ihtiyacınız olan ülkeyi seçin ve bu sayfadaki adımları izleyerek yapılandırın:
Amerika Birleşik Devletleri
Birleşik Krallık
Fransa
Sık Sorulan Sorular
macOS'ta proxy nasıl kurulur?
Sistem Ayarları’nı açın, Ağ’a gidin, kullandığınız bağlantıyı seçin, Ayrıntılar’a ve ardından Proxy’ler’e tıklayın. HTTP için Web Proxy’yi, HTTPS için Güvenli Web Proxy’yi veya SOCKS Proxy’yi etkinleştirin, ana bilgisayar adını ve bağlantı noktasını girin, proxy kimlik bilgileri gerektiriyorsa bunları ekleyin ve Tamam’a tıklayın. Safari ve Chrome bu ayarları hemen algılar.
Wi-Fi'dan Ethernet'e geçtiğimde proxy'm neden çalışmaz hale geliyor?
Çünkü macOS, proxy ayarlarını genel olarak değil, ağ hizmeti bazında saklar. Wi-Fi bağlantısı varken “Proxy’ler” bölmesini yapılandırmak yalnızca Wi-Fi bağlantısını etkiler; Ethernet veya başka bir ağ adaptörü üzerinden bağlandığınızda ise o adaptörün kendi ayarları kullanılır ve bu ayarlar boş durumdadır. Gerçekten kullandığınız her bir hizmeti ayrı ayrı yapılandırın ya da networksetup komut dosyası kullanarak bu işlemi otomatikleştirin.
Safari’nin kendine ait proxy ayarları var mı?
Hayır. Safari’nin tamamen bağımsız bir proxy yapılandırması yoktur — yaptığı her istek, Ağ ayarları’ndaki Proxy’ler bölmesinde belirtilen ayarlara göre gerçekleştirilir. Bu da onu bir tanılama aracı olarak gerçekten kullanışlı kılar: Eğer Safari proxy üzerinden bağlanırken başka bir uygulama bağlanamıyorsa, sistem yapılandırması sorunsuzdur ve diğer uygulama başka bir kaynaktan veri almaktadır.
curl neden macOS proxy ayarlarımı göz ardı ediyor?
Çünkü curl, “Proxies” bölmesini asla okumaz. Wget, git ve npm gibi, curl de http_proxy ve https_proxy ortam değişkenlerini okur. Bunları kabuk profilinize ekleyin ya da proxy ayarını curl’a açıkça belirtin. Bu bir hata değil, tasarımdan kaynaklanan bir farklılıktır ve neredeyse herkesin başına en az bir kez gelir.
macOS'ta komut satırından bir proxy nasıl ayarlanır?
networksetup komutunu kullanın; ağ hizmetinin adını Ağ ayarlarında göründüğü şekliyle tam olarak belirtin — örneğin, networksetup -setwebproxy "Wi-Fi" host port. Güvenli web proxy ve SOCKS proxy için uygun komutlar mevcuttur; ayrıca, girdiğiniz bilgileri silmeden her birini tekrar devre dışı bırakmak için durum komutları da bulunmaktadır.
İlgili Mobil Proxy Kılavuzları
Windows ve Linux, aynı sorunu farklı şekillerde ele alır — farklı işletim sistemli bilgisayarlar arasında çalışıyorsanız, her ikisini de incelemeye değer.
Kurulum kılavuzları
Temel mobil proxy kılavuzları
Mac’inizi Gerçek Bir İSS IP’si Arkasından Çalıştırın
Sınırsız bant genişliği ve sınırsız rotasyona sahip özel 4G/5G modemler — macOS’un yerel olarak desteklediği HTTP(S) ve SOCKS5 uç noktaları; herhangi bir istemci yüklemeye gerek yoktur.
Mobil Proxy Alın