1 puan yazan GN⁺ 2 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Banned Book Library, bir Wi-Fi akıllı ampulü açık erişimli bir erişim noktasına ve web sunucusuna dönüştürerek, ampul açık olduğu sürece yakındaki cihazların e-kitaplara erişmesini sağlayan dijital dead drop projesidir
  • Donanım, ESP32C3 4MB tabanlı ve Tasmota önceden yüklenmiş bir ampulle başladı; küçük flash kapasitesi nedeniyle bellenim, web sitesi ve kitap dosyalarını aynı anda sığdıracak depolama düzeni temel kısıt haline geldi
  • microSD ekleme fikrinden, gerçek ampulün içinde lehim yapmanın ve kartı çıkarmanın zor olması, ayrıca güvenli şekilde yeniden monte etmenin güçlüğü nedeniyle vazgeçildi; bunun yerine bölümleme tablosu değiştirilerek dosya depolama alanı 320KB’den 2MB’ye çıkarıldı
  • Arduino tek başına korumalı flash alanlarına erişemediği için ESP-IDF ve Arduino as a Component kullanıldı; ayrıca ayrı bir safeboot bellenimi ve ElegantOTA ile bir güncelleme yolu kuruldu
  • Nihai web uygulaması kitap listesi, yönetici paneli, geri yükleme özelliği ve captıve portal içeriyor; ancak 4MB sınırı nedeniyle tek bir ampul, çok sayıda kitap barındıran bir arşivden çok özenle seçilmiş birkaç kitabı içeren kişisel bir kütüphaneye daha yakın duruyor

Genel Bakış

  • Proje, bir Wi-Fi akıllı ampulü modifiye ederek açık bir Wi-Fi erişim noktası ve yasaklı kitap web sunucusu sunma fikriyle başladı
  • Ampul açık olduğunda, yakındaki kullanıcılar Wi-Fi özellikli elektronik cihazlarıyla ampulde saklanan içeriklere erişebiliyor
  • Ampul biçimi sayesinde fazla dikkat çekmiyor ve görece düşük maliyeti nedeniyle mahallede çeşitli yerlere bırakılabilecek bir dijital dead drop olarak tasarlandı
  • Fikir, Ben Brown’ın Library adlı kısa öyküsünden ilham aldı; öyküdeki “kütüphane”, yaratıcı işler, kullanım kılavuzları, 3D modeller ve internetten kaybolmaması gereken diğer içerikleri saklayan bir dijital arşiv işlevi görüyor
  • Gerçek çalışma birkaç ay önce başladı ve sonuç Banned Book Library adıyla yayımlandı

Donanım

  • Yerel bir DEFCON buluşmasında fikir paylaşıldıktan sonra Tasmota incelenmeye başlandı
    • Tasmota, çeşitli akıllı cihazlara yüklenebilen ve bunları HomeAssistant gibi ev otomasyon sistemleriyle entegre etmeye yarayan açık kaynaklı bir bellenimdir
    • Temel amaç, cihazların bulut hizmetlerine bağımlı olmadan yerel olarak kontrol edilebilmesidir
    • Birçok akıllı cihaz zamanla değişebilen ya da ortadan kalkabilen bulut hizmetlerine bağımlıdır; Tasmota bunu kurum içi barındırma ile değiştirebilir
  • Tasmota doğrudan değiştirilmedi, ancak Tasmota yüklü Wi-Fi ampulleri satan bir kaynak bulundu
    • Ürün sayfasında ampulün ESP32C3 4MB kullandığı yazıyordu
    • LED kontrolü için GPIO pinleri de açıklanmıştı ve bu daha sonraki çalışmalarda yardımcı oldu
    • Pin eşlemesi R=GPIO6, G=GPIO7, B=GPIO5, CW=GPIO3, WW=GPIO4 şeklindeydi
  • Tasmota, OTA bellenim güncellemesini desteklediği için ampulü açmadan özel bellenim yükleme ihtimali vardı
  • En büyük sorun 4MB flash kapasitesiydi; bellenim, web sitesi ve kitap dosyalarının hepsinin buna sığması gerekiyordu
  • Deneylerden birinde bir cihazın bozulma ihtimali düşünülerek iki ampul satın alındı

Söküm

  • Ampulün üst kısmındaki beyaz plastik difüzör, çevresi bıçakla iki kez kesildikten sonra çevrilerek çıkarıldı
  • İçeride LED’lerin bulunduğu dairesel bir alt kart vardı ve bu kart alttaki karta altı pinle bağlıydı
  • Ortadaki delikten ana kartın bir bölümü yukarı çıkıyordu; bu kısım ESP32 anteniydi
  • Ampul kasası ve alt kart alüminyumdu; bu da Wi-Fi sinyalini korumaya yönelik bir tasarım izlenimi veriyordu
  • Alt kart çıkarılınca içerideki ESP32C3 ve güç dönüştürme ile LED sürme için kullanıldığı anlaşılan bileşenler görüldü
  • ESP32 üzerinde birkaç açıkta pin vardı ve bunlara microSD kart okuyucu bağlamak mümkün göründü
  • Ampulün içine havya sokulamadığı için ana kartın çıkarılması gerekti ve kauçuk benzeri dolgu malzemesi bıçak ve tornavidayla oyularak temizlendi
  • Ana kartı çıkarmak son derece zahmetliydi ve yeniden takıldıktan sonra güvenliğinden emin olmak zordu; bu nedenle gerçek dead drop kurulumunun zorunlu bir adımı olmaya uygun değildi
  • Sökülen ampul bir geliştirme platformu olarak kullanıldı ve seri programlama için VCC, GND, TX, RX ve IO9 pinlerine kablo lehimlendi
    • Aynı modülün AliExpress üzerindeki fotoğraflarındaki pin etiketlerinden yararlanılarak VCC, GND, TX ve RX konumları belirlendi
    • GND, lehimlenmesi kolay olan metal kalkan bölümüne bağlandı
    • İndirme moduna girmek için IO9 toprağa çekiliyken önyükleme yapıldı
  • esptool ile tüm bellenim döküldü ve birkaç dakika sonra tasmota_original_firmware.bin elde edildi

İlk Deneyler

  • Hello World

    • Başta Tasmota kaynak kodunu değiştirip onu Banned Book Library’ye dönüştürmek planlandı, ancak bellenim beklenenden daha karmaşıktı ve çok sayıda mimari ile cihazı desteklediği için kapsamı büyüktü
    • Projenin amacı açısından gereksiz özellikleri azaltıp depolama alanı kazanmak istendiğinden Tasmota’yı değiştirme fikrinden vazgeçildi
    • ESP32’nin Arduino ile programlanabildiği doğrulandı ve Arduino IDE kuruldu
    • Temel bir Hello World programı yüklenerek seri porta mesaj göndermesi sağlandı; böylece ampule doğrudan özel bellenim yazılabildiği doğrulandı
  • Web sunucusu

    • Bir sonraki adım, açık bir Wi-Fi erişim noktası ve web sunucusu kurmaktı
    • ESP32 web sunucusu eğitimlerinden yararlanıldı, ancak LED kontrolü o sırada hedef olmadığı için örnekler değiştirildi
    • Daha sonra Async Web Server’a geçildi ve uygulama ilgili eğitimler temel alınarak geliştirildi
  • microSD kart

    • Depolama alanını genişletmek için Sparkfun microSD breakout kartı satın alındı
    • ESP32C3 veri sayfasına bakılarak SD kart okuyucu bağlantıları belirlendi
    • Gerçek ampul yerine prototipleme için Adafruit ItsyBitsy ESP32 kullanıldı; çünkü pin başlıklarını lehimlemek ve microSD bağlamak çok daha kolaydı
    • microSD ve LittleFS ile web sunucusu dosyalarını barındırmak başarıldı, ancak bunu gerçek ampule uygulamak zor olduğundan microSD yaklaşımı terk edildi
    • Gerçek ampuldeki ESP32C3 üzerine lehim yapabilmek için kartın kasadan çıkarılması gerekiyordu ve bu neredeyse cihazı bozmakla eşdeğerdi
    • LED kontrol pinlerini yeniden kullanma denemeleri de yapıldı, ancak bu yapıda GPIO’lar yalnızca transistörleri açarak devreyi toprağa tamamlayan çıkışlar olarak kullanılabiliyordu
    • ESP32’nin üzerine geçirilip pinlerle temas edecek bir 3D baskı kelepçe de tasarlandı, fakat fazla dengesiz ve güvenilmez olduğu için bırakıldı

Alternatif Çözüm Arayışları

  • Daha kolay lehimlenebilen başka ampuller olup olmadığını görmek için farklı akıllı ampuller incelendi
  • Çeşitli söküm yazıları bulundu, ancak çoğunda mevcut ampule benzer iç yapılar vardı
  • Bazı ampuller ESP32 yerine başka çipler kullanıyordu, ancak ESP32 programlama bilgisi edinildiği için kapsam ESP32 tabanlı ampullerle sınırlandı
  • Yerel bir hırdavat mağazasından alınan ampullerden biri benzer yapıdaydı, ancak ana kartını güvenli şekilde çıkarmayı zorlaştıran alüminyum bir koruma parçası vardı
  • Philips WiZ, yalnızca plastik difüzör çıkarıldığında ESP32C3-mini-1’i ortaya çıkardığı için umut verici görünüyordu, ancak gerekli ESP32 pinlerine erişim mümkün değildi
  • Sıradan bir LED ampulün içine özel devre yerleştirme yöntemi de değerlendirildi, ancak bu yaklaşım Tasmota ampulü flash etmekten daha karmaşık ve daha özel bir çalışma gerektiriyordu
  • Sonunda Tasmota ampulde kalınmasına ve çözümün 4MB sınırı içinde bulunmasına karar verildi

Depolama Sorunu

  • ESP32 bölümleme tablosu genellikle 0x8000 flash ofsetinde bulunur; bu alan dökülüp CSV’ye dönüştürülerek yapı incelendi
  • Mevcut bölümler nvs, otadata, safeboot, app0 ve spiffs olmak üzere beşti
    • nvs, Wi-Fi ağı, parola ve LED rengi gibi ayarları saklamak için kullanılan kalıcı olmayan olmayan depolama alanıdır
    • otadata, OTA güncellemeleriyle ilişkili alan olarak değerlendirildi
    • safeboot, Tasmota’nın ana bellenimi flash etmek için kullandığı ayrı önyükleme bellenimidir
    • app0, ana bellenimi saklar
    • spiffs, dosya depolamak için kullanılan küçük dosya sistemi bölümüdür; bu örnekte LittleFS’i de temsil edebilir
  • Eski düzende ana bellenim neredeyse 3MB, safeboot ise neredeyse 1MB yer kaplıyor; dosyalar için yalnızca 320KB kalıyordu
  • Özel bellenimin Tasmota’dan daha basit olduğu düşünüldüğünden app0 küçültülüp spiffs büyütülebilirdi
  • Yeni bölümleme düzeninde spiffs, web dosyaları ve kitaplar için 2MB depolama alanı sağlayacak şekilde 0x200000 boyutuna ayarlandı
  • Bölümleme tablosunu değiştirmek risklidir; bozulursa cihaz açılmayabilir ve yalnızca seri programlama ile kurtarılabilir
  • Tablonun sonunda bir MD5 sağlama toplamı bulunduğundan yalnızca ofsetleri ve boyutları değiştirmek önyükleme için yeterli değildi
  • Çalışan app0 bölümünün kendisini taşımak, aynı bellenimin tekrar açılamaması anlamına geleceğinden app0 başlangıç konumu korunmak zorundaydı
  • Yeni bölümleme CSV’si oluşturuldu, gen_esp32part.py ile ikili tablo üretildi ve ardından xxd ile C dizisi biçimine dönüştürülüp partition.h içine eklendi
  • Bölümleme tablosundaki MD5 zaten yeni tabloyla aynıysa işlem atlanıyor, farklıysa tablo silinip yenisi yazılıyordu; bunun için bir işlev yazıldı
  • Arduino ortamında korumalı flash bölgelerine erişim engellendiği için API başarılı görünse bile bölümleme tablosu gerçekte okunup yazılamıyordu

ESP-IDF

  • Resmî ESP32 çatısı olan ESP-IDF, kurulum ve kullanım açısından daha karmaşıktı ama cihaz ve çatı üzerinde çok daha geniş kontrol sağlıyordu
  • idf.py menuconfig ile çatı ayarları değiştirilebiliyor ve bu menü Linux çekirdeğindeki menuconfig’e benzer şekilde çalışıyordu
  • Bölümleme tablosunu okuyup yazmak için SPI_FLASH_DANGEROUS_WRITE_ALLOWED seçeneğinin Allowed olarak ayarlanması gerekiyordu
  • SPI_FLASH_DANGEROUS_WRITE_ABORTS da devre dışı bırakılınca bölümleme tablosuna erişim mümkün oldu
  • ESP-IDF doğrudan kullanıldığında Arduino’nun rahatlık sağlayan özellikleri aynı şekilde kullanılamıyordu; ancak Arduino as a Component eklenerek Arduino özellikleri ile ESP-IDF kontrolü birlikte kullanılabildi
  • ElegantOTA, Async_TCP ve AsyncWebServer gibi kütüphanelerin projenin components dizinine ya da Arduino bileşeninin libraries dizinine kopyalanması gerekti
  • Bazı CMakeLists.txt dosyalarının da düzenlenmesi gerekti ve bu tekrarlı işleri yapmak için depoya build.sh betiği eklendi
  • Derleme idf.py build ile yapıldı; seri flash işlemi ise esptool -p /dev/ttyUSB0 write-flash 0xe0000 build/library.bin komutuyla gerçekleştirildi

Ayar Sayfası

  • Ana bellenim imajı önemli web sunucusu uç noktalarını içeriyor, ancak gerçek kütüphane kodu LittleFS bölümünde ayrı tutuluyor
  • Dosya sistemi imajının ayrıca flash edilmesi gerekiyor; bunun için ElegantOTA dâhil edildi
  • Dosya sistemi henüz flash edilmeden önyükleme yapılırsa ayar sayfası gösteriliyor
  • Ayar sayfası, dosya sistemi imajının ve safeboot belleniminin ElegantOTA ile nasıl flash edileceğini yönlendiriyor

Safeboot

  • Ana bellenim için OTA güncelleme yolunu korumak amacıyla başlangıçta Tasmota safeboot’unun aynen kullanılması düşünüldü
  • Tasmota safeboot, güncelleme yapmak için nvs bölümündeki Wi-Fi ayarlarını kullanıyor
  • Buradaki sorun, Wi-Fi SSID ve parolasının nvs bölümünde düz metin olarak saklanmasıydı
  • Ampul dışarıda bırakılacaksa Wi-Fi kimlik bilgilerinin cihaz üzerinde kalması iyi bir operasyonel güvenlik durumu oluşturmuyordu
  • Özel bellenim önce nvs bölümünü siliyor, ardından ek olarak SPIFFS bölümünü de temizliyordu
  • nvs içindeki Wi-Fi ayarları kaybolunca Tasmota safeboot ağa bağlanamıyor ve varsayılan bellenim güncelleme yolu kopuyordu
  • Bunu çözmek için ayrı bir özel safeboot bellenimi gerekti
  • Minimal bir web sunucusu ve erişim noktasıyla OTA güncellemesi yapan bir GitHub örneği temel alınarak safeboot bellenimi oluşturuldu
  • Bazı menuconfig seçenekleri kapatılarak imaj küçültüldü ve sonunda safeboot bölümüne sığdırılabildi
  • Safeboot bölümünün kendisinde parola yok, ancak safeboot’a yeniden başlatan yönetici işlevi parola korumalı

Web Uygulaması

  • Kütüphane

    • İlk ekran, kapısı olan sarı bir yük konteyneri görseli gösteriyor
    • Bu görsel, daha önce anılan Ben Brown’ın Library kısa öyküsüne bir gönderme
    • Görsel depolama alanı kaplasa da korundu; ayrıca açılış ekranına “hacker vari” bir his vermek için glitch efekti eklendi
    • Ana kütüphane sayfası doğrudan yazılmış HTML ve CSS ile oluşturuldu
    • İlk plan, yalnızca dosya listesi içeren basit bir HTML diziniydi; ancak daha hoş görünen ve daha eğlenceli bir yapıya dönüştü
    • Site yapısı nispeten basit
    • Kullanıcının şu anda ne gördüğünü açıklayan bir bölüm bulunuyor
    • Kitap bölümünde başlık, yazar ve kitaba neden itiraz edildiği ya da neden yasaklandığı gösteriliyor
    • Ek kaynak bağlantıları için bir bölüm de var, ancak Banned Book Library erişim noktası internete bağlı olmadığı için kullanım sırasında dış bağlantılar çalışmıyor
  • Yönetici

    • /admin yolunda parola korumalı bir yönetici paneli bulunuyor
    • Yönetici paneli, LED renk sıcaklığını kontrol etmeyi sağlıyor
    • Amaç, kamusal alana kurulduğunda mevcut ampul rengiyle eşleştirerek değişikliğin daha az fark edilmesini sağlamak
    • Ampul üreticisi her LED rengini kontrol eden GPIO pinlerini açıkladığı için AnalogWrite() ile renk bazında yoğunluk ayarlanabildi
    • Renk ayarları NVS içine kaydediliyor ve sonraki açılışta aynı renk geri geliyor
    • Yönetici işlevleri arasında geri yükleme sayfasına giden bir düğme de var
  • Geri yükleme

    • Geri yükleme özelliği bölümleme tablosunu kısmen eski hâline getiriyor ve cihazı safeboot ile başlatıyor
    • Pratikte bu, özel safeboot bölümüne yeniden başlatıp Banned Book Library belleniminin üzerine başka bir bellenim flash etmeyi mümkün kılıyor
    • Flash edilecek şey yeni bir sürüm, Tasmota veya ESPHome olabilir
    • Safeboot bölümünün kendisini geri yüklemenin iyi bir yolu henüz bulunamadı
    • Tasmota yeniden flash edildikten sonra Tasmota arayüzündeki “Firmware Upgrade” seçeneğine basılırsa cihaz yeniden özel safeboot’a önyükleniyor
    • Bu safeboot Tasmota güncellemeleri için kullanılabilse de Tasmota’nın normal yükseltme deneyimiyle tam uyumlu değil
    • Bu sorun nedeniyle bölüm geri yükleme işleminde safeboot’un alt tipi tamamen Factory değerine döndürülmeyip OTA_1 olarak bırakılıyor
  • Captive portal

    • Kullanıcılar açık erişim noktasına bağlandıktan sonra yalnızca internet olmadığını görüp vazgeçebilir diye bir captive portal gerekli hale geldi
    • Eski yaklaşım, HTTP isteklerini yakalayıp portala yönlendirmekti; ancak artık çoğu web sitesi HTTPS kullandığı için bu yöntem pek uygun değil
    • Modern yaklaşım, captive portal kullanımını bildiren DHCP seçenekleri ve cihaza özgü portal algılama isteklerini ele alma yöntemlerini içeriyor
    • ESP32 için örnek captive portal kodu bulundu ve projede kısmen kullanıldı
    • Bu kod iki iş yapıyor
    • DNS sunucusu tüm isteklere ESP32’nin kendi IP adresiyle yanıt veriyor
    • Microsoft, Android, iOS ve Firefox gibi sistemlerin kullandığı belirli HTTP isteklerini yakalayıp yönlendirme ya da özel yanıt döndürüyor
    • Bilinmeyen istekler server.onNotFound içinde yerel URL’ye yönlendiriliyor ve seri monitöre istek ana makinesi ile URL yazdırılıyor

Son Düşünceler

  • Boyut sınırı

    • Cihazın toplam depolama alanı 4MB ile sınırlı
    • Kontrol edilen bazı epub kitaplar yaklaşık 350KB boyutundaydı; bu da bir ampulün ancak birkaç tane böyle kitap taşıyabileceği anlamına geliyor
    • Başta çok sayıda yasaklı kitabı sunan bir web sunucusu hayal edildiği için bu sınır hayal kırıklığı yarattı
    • Daha sonra, sınırlı alanın her dead drop’un onu yapan kişinin seçimini yansıtması açısından bir avantaj olduğu düşünüldü
    • Oluşturan kişi kendisi için önemli olan ya da başkalarının erişmesi gerektiğini düşündüğü kitapları seçmek zorunda
    • Aynı bölgede birden fazla ampul bulunur ve her birinde farklı içerikler olursa, bunları arayıp keşfetmek daha eğlenceli bir deneyime dönüşebilir
  • Gelecek fikirleri

    • Renk kontrolü

      • RGB renkleri ve beyaz renk sıcaklığını daha ince ayarlamaya yarayacak kaydırıcılar eklenmek isteniyor
      • Böylece kurulum yerindeki mevcut aydınlatma rengine daha yakın eşleştirme yapılabilir
    • Mesh ağ yapısı

      • Depolama alanı sınırı bağlamında, birden fazla ampulün mesh ağ oluşturması fikri ortaya çıktı
      • Dağıtık hash tablosu benzeri bir yöntem kullanılırsa, birbirinin kapsama alanındaki cihazların kitapları tek bir cihaza bağlanan kullanıcıya sunulabilir
      • Bu fikir, araştırmaya değer eğlenceli bir yön olarak duruyor
    • Diğer

      • Akıllı cihazları başka amaçlarla yeniden kullanmaya yönelik daha pek çok fikir var
      • ESP32 çipleri hem çok ucuz hem de yeterince güçlü bulunuyor
      • ESP32 kullanmayı öğrendikten sonra ileride daha fazla ESP32 projesi yapılması muhtemel

1 yorum

 
GN⁺ 2 시간 전
Hacker News yorumları
  • Alpha Centauri'deki Pravin Lal alıntısında olduğu gibi, bilgi akışını kontrol etmeye çalışanların sonunda hükmetmek isteyen kişiler olduğuna dair uyarı hâlâ yerinde görünüyor

    • Günümüzde bilgi yeterince özgür akıyor ama buna rağmen tiranlığın arttığını görüyoruz
      Gerçeğe daha uygun olan sanki “demokrasi gök gürültüsü gibi alkışlar arasında ölür” sözü
    • “Toprağımdan defol, seni barış gücü piçi!”
      Tüm zamanların en iyi 4X oyunu ve oyunun hayal ettiği 2060 her gün biraz daha yaklaşıyormuş gibi geliyor
    • Son 30 yılda gördüğüm en büyük strateji/felsefe oyunu
      Oyunlarda karmaşıklığın ve olgunluğun zirve yaptığı eser gibi duruyor
    • Sister Miriam Godwinson'ın nanorobotlarla ilgili alıntısında olduğu gibi, kilit sanayileri “gümüş ve hamur yığınları” gibi şeylere devretme ve onlara bir de zekâ öğretme korkusu bugün de geçerli
      Bu oyun ve fikirleri gerçekten zamana meydan okuyor
    • Yaklaşık 30 yıl önceki “bilgi özgür olmak ister” söylemi bugün bakınca çekici derecede saf görünüyor
      Çünkü yalanlar da bilgidir ve aynı akışa katıldıklarında daha da iyi yayılabildiklerini gördük
  • Tahmin edildiği gibi, makaledeki kitap örnekleri gerçekte “yasaklı” değildi
    Genelde olan şey, ebeveyn talepleri doğrultusunda müstehcen içerik içeren kitapların okul kütüphanelerinin koleksiyonlarından çıkarılması

    • Yazının büyük kısmı ampulü bir Wi-Fi hotspot/web sunucusuna dönüştürmekle ilgili ama sonuçta “aslında The Color Purple teknik olarak yasaklı değil” denmesi tuhaf bir odak kayması yaratıyor
      Yazının ana meselesi bu olmadığı için kitap örneklerinden yalnızca bir iki tane gördüğümü sanıyorum
    • “Yasak” tanımı nedir?
      Nineteen Eighty-four da cinsel içerik barındırıyor, dolayısıyla totaliter edebiyata erişimi azaltmak isteyen otoriter biri yalnızca ebeveynleri cinsellik konusunda öfkelendirmeyi başarırsa yeterli olur
    • Belirli bir okul kütüphanesinde yasaklandıysa, yasaklanmıştır
      Bir kitabın “yasaklı” denmesi için tüm dünyada yasaklanmış olması gerekmez
    • Bazı kitapların “yasaklı kitap” etiketini almak için bilerek yasaklanmayı teşvik ediyor olabileceğini düşünüyorum
      Aslında böyle çok kitap yoktur herhâlde ama bugünlerde kötü şöhret kazanmanın kestirme yolu gibi de görünüyor
  • Eskiden PirateBox vardı
    Küçük bir Wi-Fi erişim noktasına web sunucusu ve forum/dosya barındırma ekleyen özel bir firmware yüklenirdi; orijinal site artık yok ama türev proje burada: https://www.jasongriffey.net/librarybox/
    Yine de kullanıcı yüklemelerine izin verirsen ne tür dosyaların geleceğini düşünmek bile endişe verici

    • Yıllar önce eski bir Asus erişim noktasıyla PirateBox yapmayı denemiştim ve oldukça hayal kırıklığı yaratmıştı
      İnsanlar açık Wi-Fi'a bağlanmaktan korkuyordu ve “bedava internet” de vermediği için genelde hemen bağlantıyı kesiyorlardı
      Ne yazık ki LibraryBox türev projesi de artık pek aktif değil
  • Yasaklı kitap listesini merak ediyorum
    En büyük sosyal platformlardan biri eksikken göz atınca ilgi çekici bir şey çıkacakmış gibi görünmüyor; daha çok ana akım kitabevlerinin “yasaklı kitaplar” rafında göreceğiniz türden kitaplar var gibi
    Anlamlı çeşitliliği eksik bir düşünce sıradanlığı izlenimi veriyor

    • Liste burada: https://codeberg.org/rickoooooo/BannedBookLibrary/src/branch...
      “Yasaklı” listesi kısa: Call of the Wild, The Adventures of Huckleberry Finn, The Adventures of Tom Sawyer, Women in Love
      Ne kadar da şaşırtıcı ve cesur
    • Makaleye göre ampulde yalnızca 4MB depolama alanı var ve her ampulün kütüphanesi onu yapan kişiyi yansıtıyor
      Yani tek bir liste yok; istediğini içine koyabiliyorsun
  • 2012 civarında buna Pirate Box dendiğini de görmüştüm
    Temel fikir, daha geniş internetten izole şekilde bir Wi-Fi ağı ve web sunucusu çalıştırmak, insanların da dosya yükleyip indirmesini sağlamaktı
    Yani coğrafi olarak sınırlı dijital bir paylaşım kütüphanesi

  • Verimli yazılım ve enerji kullanımına önem veren biri için, yazıdaki görsellerin 5MB PNG olması dikkat çekici

  • Android, internet sağlamayan Wi-Fi ağlarıyla bağlantıyı otomatik kesmeyi sever
    Bunu kapatmak için epey anlaşılması zor ayarlarda birkaç adımdan geçmek gerekiyor

    • Arayanlar için yol şu: Settings, Network and Internet, Adaptive Connectivity
    • Herhangi bir IP'ye gelen HTTP GET isteğine yanıt verirsen internet varmış gibi kandırabilirsin
      En son kontrol ettiğimde telefonun portal algılaması geçerli bir HTTPS sertifikası bile istemiyordu
    • Geçici çözüm, cihazı Starbucks gibi yerlerde görülen bir captive portal gibi göstermek olabilir
      Kullanıcı “Sign In” düğmesine basmaya yönlendirilirse, hemen ardından dead drop'u görür
      Ama bunu bizzat denemedim; gerçekten çalışır mı ya da DNS'e düzgün biçimde ihtiyaç duyar mı bilmiyorum
  • Fazla başlangıç bilgisi olmasa bile, net bir hedef, tutku ve merakla ne kadar ileri gidilebileceğini gösteren iyi bir örnek

  • Havalı ama “ampul olduğu için tespit etmesi zor ve göze çarpmaz” iddiasına şüpheyle yaklaşıyorum
    Herkese açık başka bir Wi-Fi cihazından daha zor kapatılabilir görünmüyor; elektriği ya da cihazları teker teker kapatarak bulunabilir gibi

    • Telefonda Wi-Fi analizörünü açıp sinyalin yaklaşıp uzaklaşmasına bakarak dolaşırsan bulunabilir
      Modern kurumsal erişim noktalarında cihazları fiziksel olarak bulma özelliği ve yetkisiz erişim noktaları için otomatik uyarılar da var
      Ama ikincisi, biri Wi-Fi Direct ile yazdırma ya da ekran yansıtma yaptığında sürekli alarm verdiği için çoğu yerde görmezden geliniyor ya da kapatılıyor
    • Doğru ama insanların ampulden şüphelenme ihtimali son derece düşük görünüyor
      Özellikle yerinde duran sıradan bir ampule benziyorsa, kim onun bir Wi-Fi erişim noktası olduğunu düşünür ki?
    • Yeni tasarım önerisi: bilgisayara batarya yedeği eklenir, aydınlatma da harici güçle çalışmaya devam eder
  • Kahverengi potting malzemesi, başka işlevlerinin yanında parçalardan ısı çekmek için de kullanılmış olabilir gibi görünüyor