2 puan yazan GN⁺ 1 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • DO_NOT_TRACK, her CLI aracı, SDK ve framework için farklı olan telemetri devre dışı bırakma yöntemlerini tek bir ortam değişkeniyle birleştirmeyi öneren bir girişimdir
  • .NET, AWS SAM CLI, Azure CLI, Gatsby, Go, Google Cloud SDK, Homebrew, Netlify CLI, Syncthing telemetriyi kapatmak için birbirinden farklı ayarlar veya komutlar kullanmaktadır
  • DO_NOT_TRACK=1; reklam takibini, kullanım raporlamasını, telemetriyi, çökme raporlamasını ve işlev için zorunlu olmayan, geliştiriciye veya üçüncü taraflara yönelik istekleri reddetmek anlamına gelir
  • Kullanıcılar export DO_NOT_TRACK=1 ayarını yapıp bunu Bash, Zsh, Fish, PowerShell ve Windows CMD kabuk yapılandırmalarına ekleyerek tüm terminal oturumlarına uygulayabilir
  • Yazılım geliştiricileri, DO_NOT_TRACK değeri 1 olduğunda tüm takibi devre dışı bırakmalı ve mevcut devre dışı bırakma yöntemleriyle birlikte bu değişkene de saygı göstermelidir

Sorun ve öneri

  • Birçok CLI aracı, SDK ve framework varsayılan olarak telemetri verisi toplar ve her araç için devre dışı bırakma yöntemi farklıdır
  • Örneğin .NET için DOTNET_CLI_TELEMETRY_OPTOUT=1, AWS SAM CLI için SAM_CLI_TELEMETRY=0, Azure CLI için AZURE_CORE_COLLECT_TELEMETRY=0, Gatsby için GATSBY_TELEMETRY_DISABLED=1, Go için go telemetry off, Google Cloud SDK için gcloud config set disable_usage_reporting true, Homebrew için HOMEBREW_NO_ANALYTICS=1, Netlify CLI için netlify --telemetry-disable, Syncthing için STNOUPGRADE=1 kullanılır
  • DO_NOT_TRACK, kullanıcının aşağıdakileri reddettiğini açıkça ifade eden tek standart ortam değişkeni olarak önerilmektedir
    • Reklam takibi
    • Anonim olup olmamasından bağımsız kullanım raporlaması
    • Telemetri
    • Çökme raporlaması
    • İşlev için gerekli olmayan, yazılım geliştiricisine veya üçüncü taraflara yönelik istekler
  • Kullanıcılar yalnızca yerel yazılım istediklerini export DO_NOT_TRACK=1 ile belirtebilir
  • Kabuk yapılandırma dosyasına eklenirse tüm terminal oturumlarında geçerli olabilir
    • Bash: ~/.bashrc içine export DO_NOT_TRACK=1
    • Zsh: ~/.zshrc içine export DO_NOT_TRACK=1
    • Fish: ~/.config/fish/config.fish içine set -x DO_NOT_TRACK 1
    • PowerShell: $PROFILE içine $env:DO_NOT_TRACK = "1"
    • Windows CMD: sistem ortam değişkenine setx DO_NOT_TRACK 1

Yazılım geliştiricileri ve ilgili standartlar

  • Telemetri, analitik veya işlev için zorunlu olmayan ağ istekleri yapan araçlar DO_NOT_TRACK değişkenini kontrol etmelidir
  • DO_NOT_TRACK değeri 1 olarak ayarlanmışsa tüm takip devre dışı bırakılmalıdır
  • Mevcut devre dışı bırakma yöntemleriyle birlikte bu değişkene de saygı gösterilmelidir
  • Telemetriyi varsayılan olarak etkinleştirip sonradan vazgeçme modelinden ziyade opt-in modeline geçmek de değerlendirilebilir
  • no-color.orgNO_COLOR, renkli çıktıyı devre dışı bırakma standardı
  • force-color.orgFORCE_COLOR, renkli çıktıyı zorunlu kılma standardı

1 yorum

 
GN⁺ 1 시간 전
Hacker News yorumları
  • İş bu noktaya gelince, varsayılanın takibe onay verilmiş durum olması artık kimseyi şaşırtmıyor; bu ilginç
    DO_NOT_TRACK gibi bir bayrak kulağa hoş geliyor, ama aynı zamanda varsayılanın CONSENT_TO_TRACK=1 olduğu anlamına geliyormuş gibi hissettirdiği için ürkütücü

    • Ne zaman takip etmeyin diyorsun ki? Bu bayrak, tarayıcımın başkasının sunucusuna bağlanırken gönderdiği bir şey
      İnternetin büyümesi, reklam ve sunucuların kullanıcılardan türetilmiş bilgi çıkarmasına dayanan iş modelinin ana akım olmasından kaynaklandı
      Eğlenceli değil, özel değil, güvenli de değil ama çoğu yargı alanında ve sektörde yasa dışı da değil
      Bu bayrak masalsı bir ütopya değil, fiilen ve hukuken yerleşmiş bir gerçekliğe verilmiş bir yanıt
    • Bence sorun böyle bayrakların kendisi
      Hiçbir bilgi dışarı gitmesin ve doğal olarak takip de edilmek istemiyorum; bunu tek bir ortam değişkeni ile ifade etmek baştan saçma
      Takip edilmek istemediğini söyleyip bunu belirten bilgiyi vermekten hoşlanan insanları anlamakta zorlanıyorum; o bilgiyi verdiğin anda zaten işaretlenmiş oluyorsun
  • Değişken adlarını hep olumlu biçimde tutmayı tercih ederim; bu durumda ALLOW_TRACKING=0 olurdu
    Tutarlılık sağlar ve çifte olumsuzu önlediği için akıl yürütmesi daha kolay olur
    Yine de “DO NOT TRACK” adı bir ölçüde yerleşmiş bir terim olabilir

    • ALLOW_TRACKING virgülle ayrılmış bir liste olarak uygulanabilir, böylece yalnızca izin verilecek uygulamalar belirtilebilir
      Örneğin go ve brew için telemetri paylaşmak isteyip aws ve geri kalanı için istemiyorsan ALLOW_TRACKING=go,brew gibi ayarlanabilir
  • Tarayıcıdaki DNT ile aynı kaderi yaşama ihtimali yüksek
    Yine de tüm “takip etme” ortam değişkenlerini tek bir do_not_track.env dosyasında toplamak fena fikir değil gibi

    • https://toptout.me zaten var; yeni bir şey yapmak istemiyorsan bu tür sorunların epey çoğunu ele alıyor
      Bu sayfadaki belirtime uyup işi tek bir basit ortam değişkeniyle çözmek istiyorsan https://github.com/alloydwhitlock/do-not-track-cli da var
    • Reklam sektörü, Microsoft'un DNTyi varsayılan olarak açmasının kullanıcıların seçme hakkını ellerinden aldığını söyleyerek bunu görmezden geldi
      Gerçekte ise muhtemelen zaten buna uyma niyetleri yoktu
    • Bu yönü beğendim
      Herkese tek bir evrensel şeyi kullanmasını dayatmaktan ziyade, gerçek çözüm muhtemelen böyle bir şey olacak
      Başlangıç noktası olarak bir şeyler yapmayı düşünüyorum
  • Bu arada Go telemetrisi varsayılan olarak sadece yerelde depolanır, yüklenmez: https://go.dev/doc/telemetry

  • Python transformers kütüphanesinin Hugging Face ile iletişime geçmesini engellemenin beklediğimden zor olmasına şaşırdım
    HF_HUB_DISABLE_TELEMETRY=1 ayarladım ve Wav2Vec2CTCTokenizer.from_pretrained çağrısında local_files_only=True da belirttim, ama yine de geçerli bir HF_TOKEN olmadığına dair uyarı aldım
    Ancak tesadüfen HF_HUB_OFFLINE=1 değişkenini bulduktan sonra, wav2vec2 modelini diskten her yüklediğimde HF'ye dış bağlantı yapılmadığından bir nebze emin olabildim
    O sinir bozucu HF_TOKEN uyarısı olmasaydı bunun yaşandığını bile fark etmezdim

    • HF, çevrimdışı çalışmayı zorlaştırmasıyla kötü ünlü
      İhtiyacın olan her şey yerelde olsa bile bağlantı kurmayı deniyerek zaman kaybetmemesi için ne yapman gerektiği sürekli değişiyor
      Eskiden TRANSFORMERS_OFFLINE, HF_DATASETS_OFFLINE gibi şeyler de vardı
    • Little Snitch gibi araçlar bunun gibi şeyleri yakalayıp gizli iletişim kuran hedefleri bulmaya yardımcı olur mu?
  • Faydalı bir honeypot gibi görünüyor
    Bu belirtimi desteklediğini açıkça duyuran bir araç, zaten baştan açık rıza olmadan telemetri topluyor demektir; dolayısıyla kaçınılması gereken bir araç sayılabilir

    • DO_NOT_TRACK desteği olması, takibin mutlaka açık rızaya dayanmayan bir model olduğu anlamına gelmez
      Örneğin yazılım çökebilir ve çökme işleyicisi döküm göndermek isteyip istemediğini sorabilir
      DO_NOT_TRACK varsa çökme işleyicisinin kendisi devre dışı kalır; ne soru olur ne de döküm gönderilir
      Bir miktar benimsenirse muhtemelen daha çok böyle çalışır
      Reklam gibi takipten maddi kazanç sağlayan taraflar böyle bir seçeneği desteklemeyecektir
    • Çoğu hizmet zaten telemetri topluyor ve bunu desteklediklerini duyurmaları bu gerçeği değiştirmiyor
    • Çok derine inmemen daha iyi
      Yoksa pek çok modern aracı kullanamaz hale gelirsin
  • Şirketlerin bu öneriyi çok yavaş uygulamasını beklerken, yaygın araçlar için vazgeçme yöntemlerini tek yerde toplayan bir kaynak var mı?
    Hatta bunları ayarlayıp listeyi düzenli güncelleyen bir shell modülü bile mümkün görünüyor

  • Muhtemelen kendi DNS'ini çalıştırıp sorunlu alan adlarını engelleme listesine eklemek daha kolay
    Telemetri alan adlarından milyonlarcasını içeren iyi engelleme listeleri de var. Örneğin: https://github.com/hagezi/dns-blocklists

    • Daha da iyisi, böyle casus yazılım çöpünü bilgisayarına hiç sokmamak
    • Doğru yaklaşım bu
      “Standart” diye bağıranlar, gayriresmî alternatiflerin uzun listesine sadece bir tane daha ekliyor
  • Tarayıcıdaki küresel takip engeli, ziyaret edilen tüm web sitelerini ve reklam amaçlı takibi kapsadığı için genel olarak işe yarıyor
    Ama telemetri tamamen farklı bir mesele; varsayılan engelleme bir seçenek olabilir ama niyeti tüm araçlar için tek bir standart değişkenle ifade etmek pratikte zor

  • Birkaç yıl önce de aynı öneri yapılmıştı ama hiçbir yere varmadı
    https://web.archive.org/web/20200613155957/https://consoledo...