3 puan yazan GN⁺ 9 일 전 | 1 yorum | WhatsApp'ta paylaş
  • Daha önce yalnızca Chrome'da desteklenen WebUSB API'yi Firefox'ta kullanılabilir hale getiren bir uzantı; Native Messaging mekanizması üzerinden tarayıcı dışındaki programlarla iletişim kuruyor
  • Çalışması için hem tarayıcı uzantısının (.xpi) hem de yerel stub'ın birlikte kurulması gerekiyor
  • Chrome'un WebUSB uygulamasıyla uyumluluk hedeflenerek tasarlanmış; ancak Web Workers'ta kullanılamıyor ve API yalnızca ana sayfada sunuluyor
  • Android, Native Messaging'in kendisi olmadığı için desteklenmiyor
  • macOS(x86_64/ARM64), Linux(x86_64/aarch64), Windows(AMD64/ARM64) dahil 6 platform için önceden derlenmiş ikili dosyalar sunuluyor
  • Kurulum betikleri (install.sh / install.bat), dosya kopyalama ve yerel manifest yapılandırmasını otomatik olarak gerçekleştiriyor
  • Yerel stub bütünüyle Rust ile yazılmış ve çapraz derlemeyi varsayılan olarak destekliyor
  • Sistem gereksinimleri: macOS 10.15+, Windows 10+, Linux çekirdeği 4.8+ (udev gerekli)
  • Lisans: 0BSD

1 yorum

 
GN⁺ 9 일 전
Hacker News yorumları
  • Eskiden WebUSB/Bluetooth'tan ideolojik nedenlerle epey hoşlanmazdım, ama tırmanış tahtası kontrol uygulamaları ya da USB üzerinden MiniDisc'e aktarım yapan netMD gibi örnekleri görünce fikrim değişti. Bu tür kullanımlar için yerel uygulama kurmak bana fazla geliyordu; artık Firefox'ta da bir seçenek olması sevindirici

    • Bende de benzerdi. Başta şüpheliydim ama mekanik klavye yapılandırma web uygulamasında WebUSB ile doğrudan tarayıcı içinde firmware bile flashlayınca bunun epey kullanışlı ve makul olduğunu düşündüm. ZSA flash gibi, eskiden düzen dosyasını indirip özel bir programla cihaza yazmak gereken işleri artık yalnızca Chromium tabanlı bir tarayıcıyla bitirebilmek çok daha basit hale geldi
    • Ben tam tersine bu yüzden WebUSB istemiyorum. Donanım üreticileri güncelleme ve ayarları yalnızca web uygulamasına bağlarsa, bir gün hizmet ortadan kalktığında ya da yerelde çalıştırmak mümkün olmadığında eski cihazlar sağlam olsa bile onları artık yapılandıramamaktan endişe ediyorum. 10 yılı aşkın kullandığım kamera, enstrüman, ses arayüzü gibi ekipmanları düşününce bu senaryo özellikle can sıkıcı
    • Şimdiye kadar yalnızca Windows'a özel olan çeşitli araçların webusb sayesinde hangi OS olursa olsun çalışabilir hale gelmesi bence gerçekten büyük bir iyileşme
    • Şu an yerel uygulama kurmak fazla gelebilir, ama 20 yıl sonra o cihazı yöneten web sitesi ortadan kaybolursa aynı sıkıntıyı yeniden yaşayabiliriz diye düşünüyorum
    • Telefona GrapheneOS kurarken WebUSB'nin fiilen temel yol olması da etkileyiciydi
  • Bence WebUSB gerçekten harika. Platform farklarını tek tek ele almadan donanıma erişen çapraz platform uygulamalar dağıtabilmenizi sağlıyor ve sürücüler de makul ölçüde sandbox içine alınabiliyor. Güvenliği daha da artırmak için, varsayılan olarak yalnızca WebUSB descriptor'ı olan cihazlara izin verilip diğerleri için ek uyarı gösterilmesi de mantıklı görünüyor

    • Yakın zamanda aldığım termal yazıcılarda Chromebook desteği adı altındaki WebUSB desteği satın alma kararımı ciddi biçimde etkiledi. Yerleşik yazıcı sürücüsü desteği belirsiz olan cihazlarda, sistemin tamamına erişen şüpheli sürücüler yerine izinleri sınırlı bir Chrome eklentisiyle işi çözebilmek çok daha güven vericiydi. RTL-SDR uygulamalarını da kaynak koddan derlemeden doğrudan deneyebilmek güzeldi; WebUSB ya da Web Serial yüzünden Firefox'tan Chrome'a geçmek zorunda kaldığım her seferde oldukça sinir oluyorum
    • Bence bu kısıtlama fazla sert. En fazla bir uyarı göstermek yeterli olur; retrocomputing gibi kullanım alanlarında etiketsiz cihazlar da çok olduğundan bunların engellenmesi sorun yaratır
    • Sadece son 3 aya bakınca bile FlipperZero, Android ve Çin yapımı taşınabilir telsizleri flashlarken sandbox dışındaki şüpheli uygulamaları kurmak zorunda kalmadım. Bu gerçekten devrime yakın hissettiriyor
  • Kısa süre önce bir arkadaşın Pixel'ine GrapheneOS kurdum ve tarayıcıda yalnızca WebUSB ile tüm süreci bitirebilmek oldukça şaşırtıcıydı. Tek dezavantajı Chromium açmak zorunda olmamdı

    • Bir Pixel'den başka bir Pixel'e de GrapheneOS kurulabildiği için PC bile gerekmiyordu. Bu deneyim, WebUSB'nin pratik değerine beni gerçekten ikna eden örnek oldu; GOS cihazında Chrome yerine Vanadium da kullanılabilir
    • Web USB ve Web Bluetooth'nun ikisi de gerçekten harika. Web MiniDisc ile MiniDisc kullandım, Xiaomi BLE sıcaklık/nem ölçer için özel firmware'i de web üzerinden flashlayıp Home Assistant ile entegre ettim. Şüpheli script'ler veya yerel binary'ler çalıştırmadan bunları yapabilmek özellikle hoşuma gidiyor
    • Ben Firefox'ta da iki kez sorunsuz kullandım. Yönlendiricide nextdns kullanıyorum; bunun faydası olup olmadığından emin değilim ama her halükarda çalıştı
  • GrapheneOS, ESPHome, Meshtastic gibi projeler zaten WebUSB'yi iyi kullanıyor; Google da Stadia kontrolcüsünü normal bir Bluetooth giriş cihazına dönüştürmekte bunu kullandı. Klavye üreticilerinin yapılandırma araçları da aynı şekilde. Kullanıcı cihazı açıkça seçmek zorunda olduğu için güvenlik modelini de makul buluyorum; Mozilla'nın bunu yerel olarak reddetme tavrı ise son 10 yıldaki yaklaşımına benzer biçimde hayal kırıklığı yaratıyor

    • Dürüst olmak gerekirse böyle bir özellik için en uygun biçim eklenti olurdu diye düşünüyorum. Web sitelerinin USB ya da Bluetooth yığınına doğrudan erişmesi fazla niş bir kullanım alanı; varsayılan olarak gelmesindense opt-in olması daha doğru. iOS'taki Bluetooth browser gibi ayrı bir uygulama gibi, yalnızca gerektiğinde kullanılan ayrık bir yol hem saldırı yüzeyini hem de tarayıcı şişmesini azaltan daha iyi bir mühendislik yaklaşımı gibi geliyor. Bu kadar büyük JS web API'lerinin daha çok eklentiye dönüştürülmesini isterdim
  • Artık günümüzde yerel uygulamaların bile Chrome'a özel html & js biçiminde dağıtıldığı durumlar artıyor. Tarayıcının USB'ye erişmesi hoşuma gidiyor mu gitmiyor mu ayrı konu, ama eski IE mecburiyeti dönemindeki gibi yeniden Chrome kullanmaya zorlanma eğiliminden daha da hoşlanmıyorum

    • Ben hâlâ web'i, kitchen sink olmadan çalışan bir hiper metin belge okuyucusu olarak yeniden kurmak istediğimi düşünüyorum. Bugünlerde LLM'ler sayesinde böyle prototipler de eskisine göre daha gerçekçi geliyor
  • BBC Microbit gibi eğitim amaçlı donanım platformlarında WebUSB tam bir oyun değiştiriciydi. Öğrencilere donanımı tanıtırken her şeyin doğrudan çalışması ve MakeCode gibi web IDE'ler ile kod referans URL'leri sayesinde paylaşım ve hata ayıklamanın kolaylaşması çok değerli oldu

  • Bu uygulama harika bir proof of concept gibi görünüyor. Tarayıcının yanında ayrı bir yürütülebilir dosya çalıştırma yaklaşımı benim istediğim nihai WebUSB biçimi değil, ama birilerinin bu sorunu gerçekten çözmeye çalışıyor olması başlı başına sevindirici

    • Buna karşılık ben USB'nin doğrudan tarayıcı içinde ele alınması fikrinden çok hoşlanmıyorum
  • İlk tepkim bunun korkunç bir fikir olduğu yönündeydi. Web sitelerinin donanıma erişmesinden hoşlanmıyorum; webcam erişimi bile zaten yeterince rahatsız edici

    • Ben biraz farklı bakıyorum. Eskiden cihaz firmware'i yüklemek için rastgele bir C++ uygulaması indirip sistemimdeki tüm kullanıcı yetkilerini ona vermek zorundaydım. WebUSB'de ise siteye girip sandbox içindeki akışı çalıştırıyorum ve tarayıcı istediğinde yalnızca o tek USB cihazını seçip izin veriyorum. Diğer USB cihazları, dosya sistemi, sistem API'leri, başlangıca ekleme, otomatik güncelleme kurma gibi şeyler engellenmiş olduğu için güvenlik duruşu bence daha iyi
    • İster beğenelim ister beğenmeyelim, uygulama ile web sayfası arasındaki sınır zaten büyük ölçüde bulanıklaştı ve daha da bulanıklaşacak gibi görünüyor. Yerel uygulamalar bile Python ve Qt yerine tarayıcıyı bir yorumlayıcı gibi kullanan biçimlere giderek daha sık yöneliyor
    • Bu konu basit. Erişim izni vermezsin, olur biter. Ama başkalarının kendi donanımları üzerinde ne yapacağını engellemeye çalışılmamasını isterim. Sadece kurumsal kapalı ekosistemlerin kaldığı bir dünya daha kötü olurdu
    • Hoşuna gitmiyorsa cihazı seçmez, allow düğmesine de basmazsın diye düşünüyorum
    • Web siteleri zaten CPU ve RAM kullanıyor. Bunun çalışma biçimi de zaten bu; bence buna da bu açıdan bakmak gerek
  • Ben spesifikasyonun hâlâ draft aşamasında olduğunu ve güvenlik tarafındaki kaygılar yeterince giderilene kadar tarayıcıya girmesini memnuniyetle karşılamadığımı düşünüyorum

    • Buna karşılık WebUSB olmadığında güvenlik sorunu, USB cihazı kullanmak istediğin her seferde güven vermeyen yerel sürücüler kurmak zorunda kalman bence
    • O halde akıllı telefon flashlama gibi zaten yerel program indirmen gereken durumlarla karşılaştırıldığında, WebUSB'nin ek olarak doğurduğu güvenlik sonuçlarının tam olarak ne olduğunu merak ediyorum
    • Spesifikasyonun hâlâ draft olmasını Apple'ın ilerlemeyi engellemesine bağlıyorum. WebUSB, WebBluetooth gibi API'ler App Store ile rekabete girdiğinden gelir açısından bunları istemiyor gibiler. Asıl güvenlik modeli ise kullanıcının site bazında cihaz erişimini açıkça onaylamasını gerektiriyor; bu yüzden diğer izin temelli tarayıcı API'lerinden çok da farklı değil diye düşünüyorum
    • Bu yüzden Firefox böyle temel özellikleri eklemediğinde kullanmak üzere, gerektiğinde açtığım ayrı bir Chrome instance bulunduruyorum
  • WebUSB ve WebBLE her yerde desteklenirse IoT uygulamamı yalnızca web üzerinden dağıtabilirim ve üretkenliğim ciddi biçimde artar gibi geliyor. Uygulama mağazalarıyla ilgili uğraşı azaltması da özellikle cazip

    • Bunu az önce ilk kez duydum ve aklıma, bir CCTV DVR'ın telefona web uygulaması sunup sunamayacağı ve hatta video akışı yapıp yapamayacağı geldi. Arama yaparken webble yerine Web Bluetooth API diye aratınca daha iyi sonuç çıkıyor