1 puan yazan GN⁺ 1 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Wandering Thoughts ve CSpace'in bazı bölümleri, eski tarayıcı User-Agent bilgisi bot engelleme kurallarına takıldığında engelleme sayfası gösteriyor
  • 2025'in başından itibaren yoğun bot trafiği arttı; bunların bir kısmı LLM eğitimi için veri toplama amaçlı görünüyor ve eski Chrome User-Agent kullanıyor
  • Site yükünü azaltmak için eski tarayıcı User-Agent'lerini engelleme denemesi yapılıyor ve gerçek kullanıcılar da yanlışlıkla engellenebilir
  • Güncel bir tarayıcı kullanmanıza rağmen engelleniyorsanız Toronto Üniversitesi kişisel sayfası üzerinden iletişime geçebilir, tarayıcınızı ve tam User-Agent dizgesini göndermelisiniz
  • archive.* ailesi, eski Chrome User-Agent ve dağıtık IP'ler nedeniyle ayırt edilmesi zor olduğundan, Wandering Thoughts arşivleri için archive.org öneriliyor

Engelleme sayfası neden gösteriliyor

  • Wandering Thoughts veya CSpace'in bazı bölümlerine erişirken, tarayıcı sürümünüz sitenin bot engelleme kuralları tarafından şüpheli olarak sınıflandırılırsa engelleme sayfası gösterilir
  • 2025'in başı itibarıyla yoğun bot trafiği arttı; bunların bir kısmı LLM eğitimi için veri toplama amaçlı görünüyor ve eski Chrome User-Agent dahil çeşitli eski tarayıcı User-Agent'leri kullanıyor
  • Site yükünü azaltmak için eski tarayıcı User-Agent'lerini engelleyen bir deneme sürüyor ve gerçek kullanıcılar da bu kurala takılabilir
  • Güncel bir tarayıcı kullanıyor olmanıza rağmen engelleniyorsanız, Toronto Üniversitesi kişisel sayfası üzerinden iletişime geçebilirsiniz; mümkünse kullandığınız tarayıcıyı ve tam User-Agent dizgesini birlikte göndermelisiniz

Kullanıcıya göre notlar

  • Inoreader kullanıcıları

    • Inoreader'ın feed toplayıcısı doğrudan engellenmiyor; fiilen feed'leri düzenli olarak çekiyor
    • Inoreader, eski bir tarayıcı HTTP User-Agent'iyle ya da gerçekten eski bir tarayıcıyla feed veya sayfa alıp, bunun sonucunda aldığı engelleme sayfasını kullanıcıya gösterebilir
    • Güncel HTTP istek sonuçları, kullanılan HTTP User-Agent'e göre değişebilir; ilgili ayrıntılar HTTPResultsAndUserAgents sayfasında yer alıyor
  • Vivaldi kullanıcıları

    • Süren saldırılar nedeniyle, güncel Vivaldi bile Google Chrome olarak tanımlanırsa engellenebilir
    • Vivaldi'nin Google Chrome yerine Vivaldi olarak tanımlanması için "User Agent Brand Masking" ayarını değiştirmeniz gerekebilir
  • archive.* kullanıcıları

    • archive.today, archive.ph, archive.is vb. üzerinden bu engelleme sayfasını görebilirsiniz
    • archive.*, eski Chrome User-Agent kullanıyor, geniş ölçüde dağılmış IP bloklarından tarama yapıyor ve bazı IP'lerde googlebot IP'si olduğunu iddia eden sahte ters DNS kayıtları bulunuyor; bu yüzden kötü niyetli aktörlerden ayırt edilmesi zor
    • Wandering Thoughts'u arşivlemek için daha iyi çalışan bir arşiv botu olan archive.org kullanılması önerilir

1 yorum

 
GN⁺ 1 시간 전
Lobste.rs yorumları
  • Dile bağlı olarak Eglot’u otomatik başlatmayı tavsiye etmek ölümcül derecede kötü olabilir. Birçok dilin LSP sunucusu güvenilmeyen kodla güvenli şekilde kullanılamaz ve saldırganın kontrol ettiği bir Rust veya Elixir projesindeki dosyayı yalnızca açmak bile makinenin ele geçirilmesine yol açabilir
    Güvenli olduğu bilinen bir LSP sunucusuna sahip bir dil değilse LSP’yi otomatik etkinleştirmekten kaçınılmalı. Dayanak: https://rust-analyzer.github.io/book/security.html

    • Düşmanca olabilecek koda bakıyorsanız, sonuçta tüm çalışmayı gerçek bir güvenlik sınırı içinde yapmanız gerekir. git status bile bir saldırı yüzeyi olabilir: https://github.com/justinsteven/advisories/…
      Fark şu ki yukarıdaki örnekte istismarın deponun kendisinde bulunması gerekirken, LSP’de sorun bağımlılık tarafında da çıkabilir. Yine de alışkanlık gereği LSP’yi açmaya alışırsanız uyarılara karşı duyarsızlaşmayı engellemek zor görünüyor
    • Otomatik başlatmadan kaçınmak için bir başka neden de bazı dil sunucularının kaynak gereksinimlerinin yüksek olması. Orta ölçekli bir Rust projesinde yalnızca kısa süreliğine bir dosya açmak bile birkaç dakika çalışan 4GB’lık bir rust-analyzer süreci ve 1GB’ı aşan bir target/debug/ dizini oluşturabilir
    • Zaten cargo build komutunu çalıştırdığınız anda iş işten geçmiş sayılır. Elbette LSP’nin otomatik yüklenmesi ile kullanıcının açıkça çalıştırdığı bir komut arasında büyük fark var, ama gerçek kullanımda bu fark düşünüldüğünden daha küçük olabilir
    • Otomasyon istiyorsanız, lsp-mode gibi etkinleştirmeden önce sorup projeyi bir izin listesine ekleyen bir yöntem daha iyi. Zaten “otomatik çalıştır” kancanız varsa, önce read-from-minibuffer ile “bu klasöre güveniyor musunuz?” diye sordurmak yaklaşık 10 satırda yapılabilir ve projectile gibi bir şeyle temel dizini belirleyerek güvenlik faydasının çoğunu elde edebilirsiniz
      Benim ayarım lsp-modeun izin listesini kullanıyor ama her oturumda siliyor; böylece Emacs’i her yeniden açtığımda proje bazında yeniden onay vermem gerekiyor. Sanırım bunu başta performans için yapmıştım; lsp-mode bazen belirli bir projeyi açmadan önce birden çok süreç başlatıyordu. Güvenlik riski gerçek, ama makul bir iş akışı kurmak da çok zor değil
  • Eglot’taki en can sıkıcı şey, komutların çoğunu fonksiyon olarak sunmaması ve bunları xref gibi Emacs arayüzleri üzerinde tanımlaması. Clojure’da olduğu gibi hem CIDER hem de clojure-lsp için xref arka uçları olduğunda, yüklenmiş kodun gerçek çalışma zamanı durumunu bilen CIDER tarafını tercih ediyorum
    clojure-lspnin statik analizi özellikle uzak REPL iş akışlarında senkron dışına çıkabiliyor. lsp-modeda tanıma git gibi özellikleri doğrudan komut olarak çağırırken xrefi kullanmaya devam edebilirsiniz, ama Eglot’ta belirli bir xref arka ucunu devre dışı bırakmak epey zahmetli. lsp-modedaki bazı diğer komutlar da Eglot’ta yok, halbuki bunlar da aslında xrefe benzer Emacs entegrasyon noktaları üzerinden sunulabilecek özellikler

  • lsp-modeu bir kez denedim ama kafa karıştırıcı açılır pencereler ve bildirimler o kadar fazlaydı ki hemen kaldırdım. Eglot çok daha sessiz bir LSP deneyimi sunuyor
    Açık tutup, hazır olduğunuzda özellikleri kullanıyorsunuz. ~cks’in ters yönden yaklaşarak çeşitli ipuçları ve alternatiflerden söz etmesi ilginç

    • lsp-modeu pek çok özelliği kapatarak oldukça sessiz bir arayüzle kullanıyorum. Eglot’a geçmeye çalıştım ama istediğim entegrasyonları sunmuyor gibi göründüğü için o zaman fazla uğraşmadım
      Asıl aradığım şey çok büyük depoları kaldırabilecek bir LSP sunucusu. Bu sık sık sınır olarak karşıma çıkıyor; kaynak indekslemeyi bir kerede büyük ölçüde yapıp sonra çeşitli LSP tarzı işler için yeniden kullanacak bir şey mi yazmalıyım diye düşünüyorum ama başka bir okyanusu kaynatmaya kalkmak da istemiyorum
  • Emacs için LSP istemcileri arasında en bilinenler Eglot ve lsp-mode, ama lspce ve lsp-bridge gibi alternatifler de var
    Eglot’u birkaç yıldır memnuniyetle kullanıyorum, ancak ileride daha büyük sorunlara dönüşebilecek tasarımsal bir sınırlaması var. Her arabellek için tek istemci varsayıyor; Eglot tasarlanırken bu makuldü ama artık tek bir arabellekte birden fazla LSP sunucusu çalıştırmak istemek giderek daha yaygın. Şu anki öneri, ayrı bir programı LSP çoklayıcısı gibi kullanmak

    • Bu amaç için şu var
  • 4 gün önce Python için lsp-modedan Eglot’a geçtim ve memnunum
    Mevcut yapılandırmamın en minimal sürümünü burada paylaştım: https://discuss.afpy.org/t/configuration-emacs-minimale-en-2026/3001

    • Neredeyse bir yıl önce elpy’den eglot + basedpyright’a geçtim, ben de oldukça memnunum
      Yalnız tamamlama konusunda bazı rahatsızlıklar var. Örneğin foo<tab><tab> bastığımda mevcut kapsamla eşleşen bir sembol olmasına rağmen basedpyright bazen garip bir şeyi otomatik içe aktarıyor ve yalnızca en uzun ortak dizeye kadar tamamlama yapmanın bir yolunu hâlâ bulamadım. Bunun dışında oldukça iyi
  • İnsanların Emacs’i modern bir IDE gibi kullanabilmesini kıskanıyorum. Emacs tuş bağlarını kullanıyorum ama 6-8 saat harcasam bile Emacs’i IDE gibi çalışır hale getiremedim
    Eskiden Linux ve FreeBSD geliştirme ortamlarında TypeScript yerine kullandığım FB Flow ile bunu yapmaya çalışıp vazgeçtim; geçen hafta sonu da Windows’ta tree-sitter’lı tam özellikli bir Python ortamı kurmaya çalışıp yine vazgeçtim. Ayarlanacak çok şey var ve tree-sitter ayrıştırıcıları gibi DLL’leri de ayrıca tek tek indirmek gerekiyor; düzgün bir IDE gibi yapmak için gerekenler fazla geliyor. Artık buna zaman harcamak istemiyorum ama ara sıra herhangi bir terminalde emacs -nw yazınca tanıdık düzenleme ortamının açılması hoşuma gidiyor

    • Python için fido-vertical-mode, which-key-mode, global-completion-preview-mode, yasnippet, eglot-ensure, basedpyright gibi minimal bir yapılandırmayla başlamak için yeterli olabilir
      basedpyright PATH içindeyse, tree-sitter sözdizimi olmadan da düzgün tamamlama ve sözdizimi vurgulaması elde edersiniz. Bu, tam yapılandırmamın en aza indirilmiş bir sürümü; tam yapılandırma my full config içinde
    • doom emacs denemeye değer. Yapılandırması çok kolay ve varsayılan haliyle de çoğu şey iyi çalışıyor. evil-mode hoşunuza gitmezse Emacs tuş bağlarına da geri dönebilirsiniz