Blog
Dun gece TIB’in aldigi Twitter’i durdurma karari bir kez daha gosterdi ki dunyanin acik kaynak ve dagitik bir Twitter benzeri iletisim protokolu ve platformuna ihtiyaci var.
Bugune kadar cok proje onerildi, kimi denendi ama basarili olamadi kimi yapim asamasinda, ama Turkiye’deki uygulamalar gosteriyor ki boylesi bir platformda en onemli olmazsa olmaz, IP ve URL bagimsizlik. Cunku bugun TC devleti siteleri IP tabanli ban’liyor, L-7 icerik filtreleme yapiyor. Diger onemli faktor, tum mesajlasmalarin kriptolu sekilde gonderilmesi, cunku gene TIB’in acikladigi birsey, artik Cin’deki gibi icerik bazli filtreleme cilginligina da girisilecek.
Bunla ilgili benim bir onerim var, hatta github’ini kurup Twitter’da “iki gune” diye de duyurusunu yaptim. Neyse ki sonraki saatlerde ufak bir DNS degisikligiyle dahi Twitter’a girilebildigi duyuldu, VPN’ler sorunsuz calisiyor, o yuzden o projenin elzemligi onceligini yitirmis gorunuyor, fakat ilk adimlari atmak onemli. Bu adimlari bu blog post’la atacagim, katilimcilar olursa projeyi gelistiririz.
Boylesi bir proje sadece mevcut Turkiye yonetimi ve diger dikta yonetimlerine karsi ozgur iletisim icin degil, ayni zamanda ABD gibi diger demokratik bildigimiz ulkelerdeki NSA Prism gibi olusumlara karsi da onemli.
Benim onerecegim projenin en onemli kismi “katilim” olacak. Dagitik bir yapinin guvenligi katilima dogru orantili. Soyle ki, Tor’u dusunun:
Boylesi bir sistemde katilim ne kadar az olursa, NSA gibi devlet bagimli kurulumlar, inanilmaz kaynaklari sayesinde sisteme o kadar casus “node” yerlestirip, o kadar kolay sistemi ellerine gecirebilir.
Oncelikle belirtmem lazim, benim onerecegim sistem bir web sitesi degil, bildiginiz bir Windows, Mac, Linux yani masaustu programi. Neden? Cunku web sitesi ile dagitik yapi kurmak imkansiz. O yuzden Ahmet Alp Balkan arkadasimin bana Twitter’dan onerdigi Trsst projesi bu amac icin biraz yetersiz kaciyor.
Oyle bir program olmali ki:
Sonuc olarak ortaya cikacak sistem:
Bu yuzden projenin adini “War-Time Free Communications Platform” gibi belirlemeyi uygun gordum. Cunku insanlar boylesi bir projeyi ancak savas zamani gibi olagandisi durumlarda, dikta liderlere karsi kullanmak isteyebilirler.
Dikkat ederseniz boylesi bir sistemde kullanici anonimligiyla ilgili su asamada cok onemli bir onlem alinmamis. Elbette dagitik bir sistemde devletin sistem katilimcilarindan istemcilerin IP bilgilerini istemesi anonimite acisindan dogal bir sinirlayici faktor, fakat isin o kismini simdilik Tor gibi bir aracin kullanimina birakmak daha gercekci olacaktir.
Toparlamak gerekirse, sistemdeki veritabanlari sunlar olacak:
Bu her iki veritabani icin de cevaplayici ve guncelleyici ikiser thread paralel calisacak. Kriptolama SSL benzeri yapilacak bir public key ve master secret key handshake’i sonrasi yapilacak.
Son olarak, akillarda canlandirmak icin boylesi bir sistemin ornek internet trafigi su sekilde olacak:
GET / => URL filtrelemede goze batmamak icin / handshake icin kullanilsin.
POST /8j$d_~qd => kriptolanmis GET ya da POST degerleri master IP, mesaj DB paylasimlarinda kullanicilar. Boylece hem IP hem icerigi ongorulemez olacagindan (disardan bakan icin belirli bir pattern olmadigindan) URL filtrelemeye takilamaz olacaktir. Decrypt edildiginde yukardaki mesaj belirli bir protokol etrafinda sunlara donusebilir:
Projeye katkida bulunmak isteyen, URL filtrelemeye ayri bir cozum onerisi olan, burda ortaya koydugum prensiplere geribildirimi olanlar yorum olarak seslerini duyursunlar. Boylesi bir sisteme ihtiyacimiz var. Halihazirda bir elzem teskil etmedigi ortaya ciktigi icin simdilik uc gune yetistirme acelesi icinde olmayacagim, ama boyle acik kaynak bir calisma icinde olmak isteyenlerle iletisim halinde olalim. Bir noktada Twitter’in da boyle bir calismaya destek vermesi mumkun olabilir; kendi firehose’unu paylasmasa da handle database’ini seed ederse insanlar ayni seed’lerle bu “war-time twitter” uzerinden de takip ettikleri insanlarin yeni paylasimlarini bu dagitik ag uzerinden gorebilirler (ne de olsa bir savas zamani durumda onemli olan o anki paylasimlar, oncekiler degil) Bitirmeden once soylemekte fayda var, bu sistemde veritabanlari ve conf dosyalari onemli yer alacak, o yuzden bu dosyalari yedeklemeniz ve eski ICQ’deki gibi bir yerden bir yere tasimaniz gerekebilir (cok kullanici dostu!) — neyse ki yedekleme icin artik dropbox gibi birsey kullanilabilir (onu da yasaklamazlarsa)
tags: