3 puan yazan GN⁺ 2023-09-07 | 1 yorum | WhatsApp'ta paylaş
  • Web sitesinin tüm dosyalarını ZIP olarak sıkıştırıp Base64 ile kodladıktan sonra alan adının arkasına ekleyince, adresin kendisinin eksiksiz bir web sitesine dönüştüğü bir barındırma yöntemi
  • Ayrı dosya yükleme veya sunucuda depolama olmadan, yalnızca adres paylaşarak siteyi iletmeyi mümkün kılan bir yapı
  • Tek satırlık komut satırıyla ZIP sıkıştırma, Base64 kodlama ve URL oluşturma işlemlerini yapar; komut satırı yoksa ZIP dosyasını sürükleme yöntemini de destekler
  • Sunucu içeriği RAM’de yalnızca 15 dakika tutar ve sonra siler; aynı bağlantı yeniden açıldığında tekrar işlenir
  • Lwan web sunucusu projesinin bir parçası olarak açık kaynaklıdır; QR kodu üzerinden kâğıda çıktı alma ve tarama da mümkündür

smolsite kavramı

  • Sitenin tamamı URL’nin içinde yer alır; adres paylaşıldığında sitenin kendisi de birlikte aktarılır
  • İki dosyadan (index.html, mylogo.png) oluşan örnekte olduğu gibi, birden fazla dosyayı paketleyip tek bir adrese dönüştürmek mümkündür

smolsite oluşturma yöntemi

  • Tüm dosyaları ZIP dosyası olarak sıkıştırıp Base64 ile kodladıktan sonra https://smolsite.zip/ adresinin arkasına ekleyin

SSS

  • Komut satırı yoksa

    • Alttaki mor çubuğa ZIP dosyasını sürükleyerek paylaşabilirsiniz
  • Kâğıt üzerinde barındırmak mümkün mü

    • Mümkün; QR koduna tıklayarak yazdırılıp taranabilen sürümü görebilirsiniz
  • Açık kaynak mı

  • ZIP’in sunucuda işlenme biçimi

    • İçerik sunucuda işlenir ve RAM’de 15 dakika tutulur, ardından silinir
    • Ancak biri aynı bağlantıyı yeniden açarsa tekrar işlenir
  • ZIP bomb’a karşı önlem

    • Deflate edilmiş veri değiştirilmeden doğrudan tarayıcıya gönderilir ve özyinelemeli açma işlemi olmadığı için bir ölçüde korunur
  • İçeriği indirmek veya silmek mümkün mü

    • smolsite üzerinden tam URL paylaşımını engellemek mümkün olduğunca denenir; ancak içerik URL’nin içinde olduğundan tamamen silmek mümkün değildir
      • Bağlantıya sahip olanlar, smolsite olmadan da içeriği çıkarabilir

1 yorum

 
GN⁺ 2023-09-07
Hacker News yorumları
  • Harika
    https://smolsite.zip/UEsDBBQAAgAIAFtLJ1daaE7RlwIAAN4EAAAKAAA...
    • Harika. O zaman TinyURL’in de bir web sitesi barındırmasını sağlayabiliriz
      https://tinyurl.com/dmk9e4m2
    • Bu bağlantıdan bir QR kod oluşturdum; gerçekten hiç zor değildi. Bir web sitesini QR kodda barındırabilmek harika
  • Bilmeyenler için ekleyeyim, aynı şeyi data URI ile de yapabilirsiniz
    data:text/html,My%20small%20website
    Look,%20it's%20real!
    İsterseniz bir data URI oluşturucuyla base64 kodlaması da yapabilirsiniz. smolsite’ın avantajı, zip kullanınca data URI’ye göre biraz daha fazla şey sığdırabilmeniz ve bazı JavaScript API’lerinin smolsite URL’lerinde çalışıp data URI’de çalışmaması
    • Bu teknikle basit bir not defteri yapabilirsiniz
      data:text/html,
      Yer imleri araç çubuğuna koyup kullanıyorum
    • Biri, bir smolsite’ın bu alan adına bir service worker kurup diğer tüm smolsite’ların analiz verilerini kendi sunucusuna göndermesini yapmadan önce bunu buraya not düşeyim
    • Base64 + gzip kullanarak tek bir tweette yaklaşık 5KB metin saklıyorum: https://sonnet.io/projects#:~:text=Laconic!%20(a%20Twitter%2...
    • İyi ya da kötü, web tarayıcıları ve URL kısaltıcılar data URL açmayı ve yönlendirmeyi engellediği için, çoğunlukla yalnızca tarayıcı yer imleri için işe yarıyor
      [1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_...
  • URL’ye tuhaf şeyler koyma konusunda asal sayı olarak ifade edilmiş köpek de var: https://geonnave.github.io/primg/#17976931348623159077293051...
    • Bu şaşırtıcı. Bir görüntüyü asal sayının ikili gösterimi olarak ifade etmeyi düşünmüş olmaları bile başlı başına etkileyici
  • Benim cevabım da URL’nin içinde
    https://wgx.github.io/anypage/?eyJoMSI6IkhlbGxvIEhOISIsImgyI...
  • Güzel. URL içinde metni LZMA ile sıkıştırıp base64 ile kodlayarak saklayan bir pastebin olan nopaste aklıma geldi
    [0] https://nopaste.boris.sh/
  • Bu yöntem, sıkıştırmayı açmak için içeriği sunucuya gönderiyor. Biraz daha karmaşık bir şekilde, zip’i anchor kısmına koyup yanıtın istemci tarafında onu açacak kodu sağlaması sağlanabilir

Ancak anchor kısmı sunucuya gönderilmediği için, sunucu istese bile bu yolla aktarılan zararlı içeriği denetleyemez hale gelir

  • Ben de aynı şeyi düşündüm. Statik içerik sunucusu tüm trafiği aynı web sayfasına yönlendiren bir routing glob kullanırsa anchor olmadan da mümkün. Böylece hosting gerçekten çok basitleşiyor
  • Böyle şeyler gerçekten harika; Show HN'in başka organizasyonların ürünü dayatmak için kullandığı bir pazarlama aracı yerine, aslında böyle hissettirmesi gerektiğini düşünüyorum
    • Bu tür şeyler de güzel ama Y Combinator'ın bir startup inkübatörü olduğunu da hesaba katmak gerek. İnsanların kendi ürünlerini göstermesi bir yere kadar teşvik edilmeli gibi görünüyor
    • Ben bunu reklam olarak görmüyorum. Hacker News'e hacker'ların neler yaptığını görmeye gelen çok kişi var; ben de bu yüzden geliyorum
      Şimdiye kadar gördüğüm tüm Show HN yazıları ilginçti ve kendi projeme başlayıp burada gösterebilecek hale getirme motivasyonu verdi. Başka birinin çalışmamı paylaşması ve orada onun hakkında konuşabilmek gerçekten güzel hissettiriyor
    • Daha özgün Show HN'lerin kurumsal yazıların arasında geri plana itildiği izlenimini mi alıyorsun?
    • Bu yüzden ilginç Show HN'ler upvote alıyor
  • Bir zamanlar Borges'in Babil Kitaplığı'nı bu şekilde uygulama fikri aklıma gelmişti. Tüm metni URL'ye koyup, İngilizce kelimeleri daha gelişmiş bir kodlamayla optimize ettikten sonra, kendi adınızı veya metin parçalarını vb. bulabileceğiniz bir arama sistemi eklemek gibi
    Elbette eninde sonunda URL uzunluğu sınırına takılırdı ama küratörlerin URL kümelerini birleştirip daha büyük metinler oluşturabileceği bir katman da eklenebilir. Biraz LLM büyüsüyle kümeler ürettirilebilir; o zaman yalnızca yazılmış tüm kitapları değil, yazılabilecek tüm kitapları da barındıran bir kitaplık olur
    Tabii ki şaka yapıyorum. Not Defteri'nde de var olan tüm kitapların zaten bulunduğunu, sadece sizin yazmanız gerektiğini söylemeye benzediğinin farkındayım
  • Daha önce paylaşılmış benzer çalışmalar
    https://news.ycombinator.com/item?id=34312546
    https://news.ycombinator.com/item?id=2464213
    • İlk bağlantıdaki, Yahoo'nun URL'ye devasa bir base64 kodlu JSON nesnesi koyduğunu söyleyen yorumu görünce, eski iş yerimde yaptığım korkunç bir şey aklıma geldi
      Pahalı etkinlik takvimi modülü için web sitesi tedarikçisine para ödememek adına, data-events niteliğine base64 kodlu basit bir JSON etkinlik şeması koyarak takvim oluşturan herkese açık bir sayfa kodlamıştım. Çalışanlar, herkese kapalı bir sayfada herkese açık sayfadaki mevcut etkinlik verilerini çekip takvim oluşturucuyu önceden dolduruyor, düzenledikten sonra yeni kod parçasını çıkarıp herkese açık sayfaya yapıştırıyordu
      Temelde iyi çalışıyordu ama sonunda sanırım takvim eklentisinin ücretini ödedik
    • HN bağlantısını şu an bulamıyorum ama birkaç yıl önce paylaştığım Twitter CDN projesi burada. base64+gzip data URI yöntemi
      https://sonnet.io/projects#:~:text=Laconic!%20(a%20Twitter%2...
  • Komik ama pratik kullanım alanları da olabilir. Yine de hacker dikkatli olmalı
    • Beklenmedik bir tarafa kötü amaçlı payload göndermenin harika bir yolu hemen aklıma geldi. İyi bir WAF şüpheli bulup engeller ama birkaç numarayla atlatılabilir gibi görünüyor