Beaker Browser Nedir? Nasıl Kullanılır?

Dağıtık / merkezsiz yapılarla ilgili yazılara bir süre daha devam edeceğim1. Özellikle Net Neutrality2 tartışmalarının ardından kullanıcıların bilgiye erişiminin3, bilginin denetimi, sunumu, içeriğin tekelleştirilmesinin daha ciddi ve endişe verici hale geldiği aşikar.

AA

Bilgi erişimi arasında sınıfsal farklılığın ortaya çıkabileceği, servis seçiminde kullanıcılara sunulan ortamın yönetilebileceği ve manipüle edilebileceği konuları gittikçe daha da endişe verici bir hale gelmekte. Özellikle Türkiye gibi sermaye merkezli bir yönetim anlayışı içerisinde, gerçekleşebilecek ihtimaller arasından özellikle kötü olanları seçip çözüm anlamında öncelikli hale getirmek gerekli. Yasaksız Güvenli İnternet başlıklı yazımda alternatif yöntemlere, dikkat edilmesi gereken konulara ve Mastodon ile ilgili yazımda da dağıtık uygulamalara değinmiştim. Bu yazının konusu ise Beaker.

Beaker Browser

Beaker Browser, uçtan uca (P2P), yani iki ya da daha fazla istemci arasında veri paylaşmak için kullanılan bir ağ protokolü üzerinden internet erişimi sağlayan, siteler oluşturabilme ve barındırabilme yeteneklerine sahip bir internet tarayıcısıdır4. Electron yapısı üzerine, açık kaynaklı olarak inşaa edilmektedir.

Dağıtık Ağ

Özetle, standart bir internet tarayıcısına ek olarak dat protokolü5 üzerinden aynı zamanda site oluşturabilir ve siteleri (yeni ya da fork edilen) erişime sunabilirsiniz6. Detaylara beakerbrowser.com üzerinden ulaşabilirsiniz7. Yukarıdaki görselde merkezi bir yapı üzerinden ulaşılan içeriği, merkezsiz bir şekilde sunulan ve erişilen bir içeriği göstermektedir.

Beaker İndirme İşlemi

Install sayfasından macOS, Linux ve Windows paketlerine ulaşabilirsiniz7. Kaynaktan kurulum gerçekleştirmek isteyenler için de yönergeler bu sayfada mevcut4 8. macOs için ayrıca Homebrew paket yöneticisi üzerinden de indirme işlemi gerçekleştirilebilir.

brew cask install beaker-browser

Beaker Kullanımı

Standart bir internet tarayıcısının sunduğu erişim deneyimine ek olarak Beaker Dat project aracılığıyla websitesi yayınlayabilir9 ve var olan bir yayının kopyasını dağıtımcı/barındırıcı olarak kendi üzerinize (fork) alabilirsiniz. Bu sayede dağıtık bir yapı altında merkezsiz bir yapıya dahil olursunuz. Arka planda Dat projesi bir iletim hattı oluşturarak kullanıcılara erişmek istedikleri içerikleri güncel bir şekilde dağıtık ağ üzerinden sunarak hem takibi güç hem de performansı yüksek bir erişim imkanı sunabilmektedir. Dat bu işlemi ilgili websayfasına atadığı bir özel anahtar (private key) üzerinden gerçekleştirmektedir. İster dat protokolü5, isterseniz HTTP/HTTPS üzerinden bu içeriğe ilgili key üzerinden ulaşabilirsiniz.

Datbase
  1. Örnek bir public key: 8e1c7189b1b2dbb5c4ec2693787884771201da9…
  2. dat:// protocol erişim linki: dat://8e1c7189b1b2dbb5c4ec2693787884771…
  3. HTTP URL erişimi: https://datproject.org/8e1c7189b1b2dbb5…

Sayfa veya klasörü (içeriğinde dosyalar barındırabilir) erişime açmak istediğiniz dikkat etmeniz gereken birkaç konu var.

  1. Beaker html, txt, md, latex gibi formatları tanır.
    1. Jekyll ile blog yayını yapabilirsiniz10.
    2. Markdown içeriklerinizi de klasör üzerinden yayına açabilirsiniz10.
    3. DatHTTPD11 ile web erişimini Beaker dışına da taşıyabilirsiniz12.
  2. Güvenli bir şekilde dosyalarınızı paylaşabilirsiniz.
  3. Dağıtık P2P uygulamalar geliştirebilirsiniz.
Beaker browser websayfasi

Üzerinde durulması gereken temel nokta esasında Beaker‘ın alternatif bir web tarayıcısından ziyade merkezsiz olarak içerik imkanını oldukça kolay bir şekilde ve herkes tarafından sunulabilmesine olanak sağlaması. Açıkçası bunu da Dat Project sayesinde oldukça başarılı bir şekilde gerçekleştirdiği de ortada.

Jekyll Kurulumu

Jekyll blog yayını için aşağıdaki uygulamanız gereken komutlara başlayabiliriz. Öncelikle kurulum işlemimizi gerçekleştirmemiz gerekiyor.

sudo gem install jekyll bundler

Komut uygulandıktan sonra gerekli olan paketler indirilmeye, var olan paketler ise güncellenmeye başlayacaktır. birkaç dakikalık yükleme sürecinin ardından blog kurulumumuzu oluşturabiliriz.

jekyll new [blog-adi]

Jekyll ve blog kurulumlarının ardından blog düzenleme (_config.yml) ve içerik oluşturma (_posts) sürecine geçebilirsiniz. Ben kurulum işlemini /Users/kullanici/Desktop/web/blog-adi yolu üzerinden gerçekleştirdim. Dolayısıyla düzenleme işlemi için gerekli olan işlemleri /Users/kullanici/Desktop/web/blog-adi/_config.yml üzerinden yapacağız.

nano /Users/kullanici/Desktop/web/blog-adi/_config.yml

Komut sonrasında düzenlememiz gereken ve siteye dair bilgilerin yer aldığı YAML formatındaki içeriğimiz şu şekilde:

# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: Your awesome title
email: your-email@example.com
description: >- # this means to ignore newlines until "baseurl:"
  Write an awesome description for your new site here. You can edit this
  line in _config.yml. It will appear in your document head meta (for
  Google search results) and in your feed.xml site description.
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
twitter_username: jekyllrb
github_username:  jekyll

Yukarıdaki ilgili alanları kendimize uygun şekilde düzenledikten sonra sayfayı kaydedip kapatabilirsiniz. Düzenlemelerin ardından blogu yayına hazır hale getirebiliriz.

jekyll build

Bir sonraki aşamamız blogumuzu Beaker üzerinden erişilebilir kılmak. Bu adımları ise Beader browser aracılığıyla işleme alacağız.

Beaker

Beaker Üzerinden Websitesi Yayını

Jekyll kurulumunuz veya Markdown sayfalarınız olması fark etmeksizin bir sonraki aşamada Beaker üzerinden yayın işlemini gerçekleştirmeniz mümkün. Bunun için browser sol alanında ya da hamburger menü üzerinden New Site linkini tıklamanız ve açılacak olan popup içeriğini kendinize uygun şekilde doldurmanız yeterli. Bu işlem sonucunda beaker://library altında bir id değeri alacaksınız. Bu id değeri Dat pipeline için key görevi görecek.

Beaker site olusturma

Açılacak olan Library alanında web sitelerinizi görebilirsiniz. Bu alan içerisinde ilgili web sitesine ait dosya ve dizin tanımlama işlemlerini (Add folder) gerçekleştirebilir, var olan bir web/dosya yayınızı offline hale getirebilir ya da kaldırabilirsiniz (Delete).

Beaker site

Klasör seçiminizde Jekyll veya Markdown içeriğinizin olduğu dizini seçebilirsiniz. Publish ile ilgili dosyalar dat:// protokolü üzerinden erişilebilir olacaktır.

Beaker site yayini

En temel şekilde işlemlerinizi bu şekilde tamamlayabilirsiniz. Daha detaylı düzenlemeler için Beaker ve dat API'lerini inceleyebilirsiniz.