YaCy – P2P Arama Motorunuz

Twitter‘ın erişime engellemesi ile ilgili mesajım için buraya tıklayabilirsiniz.

YaCy, p2p mantığı üzerine kurulu ücretsiz, açık kaynak, özgür bir arama motoru yazılımdır. Genel olarak Java dili ile yazılmıştır ve platform bağımsızdır. Yani, illa GNU/Linux kullanmanıza gerek yoktur. P2P ağlarda olduğu gibi YaCy’de de birçok istemci vardır. Her YaCy-istemcisi birbirlerinden bağımsız olarak bir Internet sayfasını tarayabilir, analiz edebilir, sonuçları YaCY-istemcilerinin erişebilmesi için ortak bir indeks veritabanında tutup paylaşabilir. Tüm YaCy-istemcileri eşittir ve arama portallarında (Google, Bing, Yandex vs) merkezi bir sunucusu yoktur. Kısaca, YaCy için merkezsizleştirilmiş arama motoru da denilmektedir.

Merkezsizleştirilmiş arama motoru nedir?

merkezsizleştirme

Özel mülkiyet bir arama motoru düşünün. Bir merkezi ve yönetici(leri) mevcuttur. Bu arama motorunun sizin kontrolünüz dışında olan özel sunucularının bir merkezi vardır, sizin aramalarınızla ilgili bilgi toplar, sonuçları çeşitli gerekçelerle (telif vs.) sansürleyebilir, sizin arama sorgularınız ve eriştiğiniz sonuçlarla ilgili profil oluşturup bunu reklam için kullanabilir veya satabilir. YaCy’de ise bu durum tamamen farklıdır. Öncelikle, böyle bir merkeze bağlı değilsiniz. Kendi arama motorunuzun hem yöneticisi hem de kullanıcısısınız. Diğer yandan arama portallarındaki gibi içeriğiniz sansürlenmez, yöneticiler tarafından gözetlenmez ve herhangi bir reklam yoktur. Kendi içeriğinizi oluşturabilir, istediğiniz siteleri indeksleyebilir ve 600’den fazla istemcinin düzenli olarak katkı yaptığı 1.4 milyardan fazla dökümana sorunsuz, herhangi bir engele ve kısıtlamaya takılmadan erişebilirsiniz.

Kurulum ve ilk çalıştırma

İlk önce sistemimize Java kurmalıyız. Ardından YaCy’i kurabilir ve çalıştırabiliriz. Windows kullanıcıları buradan MacOS kullanıcıları da buradan indirip kurabilirler. Paket yöneticiniz ve dağıtımınız ne olduğunu bilmediğim için Debian türevi dağıtımlara uygun bir Java kurulumu gösterdim. Diğer kurulum ve çalıştırma dağıtım bağımsızdır.

kame - $ apt-get install openjdk-7-jre
kame ~ $ wget -c http://yacy.net/release/yacy_v1.68_20140209_9000.tar.gz
kame ~ $ tar xzv yacy_v1.68_20140209_9000.tar.gz && mv yacy ~/.yacy
kame ~ $ cd ~/.yacy && sh startYACY.sh

Temel ayarlar

Tarayıcınızdan localhost:8090‘a girdiğinizde YacY’nin durum (status) ana sayfasını göreceksiniz. Şimdi ilk olarak yanındaki Basic Configuration‘a tıklayarak bizi ilgilendiren birkaç ayarı yapalım. 1. seçenek dil seçeneği. Buradan size uygun olan bir dili seçebilirsiniz. 2. seçenek kullanım amacı. Üç seçenek mevcut. İlki, topluluk tabanlı arama. YaCy-istemcileri üzerinden arama yaparsınız. İkincisi, YaCy’i diğer YaCy-istemcilerinden bağımsız olarak yapılandırır, kendi indekslediğiniz ve robotlarla taradığınız siteler üzerinde arama yapılacak şekilde yapılandırabilirsiniz. Üçüncüsü, kendi ağınız ve siteniz için bir arama moturu oluşturabilirsiniz. 3. seçenek kullanıcı adınız. Herhangi bir şey yazabilirsiniz. 4. seçenek ise diğer YaCy istemcilerinin de erişebilmesi için port ayarı. Çok şart değil, port erişilebilir olursa hem performans açısından hem de diğer istemcilere indeks katkısı açısından biraz daha iyi olacaktır. Ayarlarınız tamamsa Set Configuration diyerek kaydedebilirsiniz. iptables’da port açmak isterseniz:

kame ~ $ iptables -I INPUT -p tcp --dport 8090 --syn -j ACCEPT
kame ~ $ iptables -I INPUT -p udp --dport 8090 -j ACCEPT

Bir arama gerçekleştirelim

yacy_arama

Görüldüğü üzere çok kapsamlı bir sonuç (daha devam ediyordu fakat ben yarıda kestim) elde edemedik. Bunun temel nedeni çok taze bir konuyu aratmak istememdi, ayrıca daha çok robotlarla taramaya ve indekslemeye ihtiyacı olduğundandır. Diğer bir deyişle, YaCy’nin birçok istemciye ihtiyacı vardır. Fakat, bu arama YaCy’nin yetersiz olduğu fikri oluşturmasın. Şu ana kadar beni pek üzdüğünü söyleyemem. Sorgularıma verdiği yanıtlar hep yeterliydi.

Arama motoruma herkes erişebilir mi?

Evet. Herkes erişebilir. Bu ister YaCy istemcisi olsun, ister Internette arama moturunuzun açık 2014-03-21-170646_1920x1080_scrotadresini bilen olsun veya diğer arama portallarının örümcekleri olsun erişebilirler. Status sayfasında, sağ köşede bir kutu göreceksiniz. Address kısmına baktığınızda sunucu (host), açık adres (public adress) ve YaCy adreslerinizi (yacy address) görebilirsiniz. Açık adresinize herkes (örümcekler dahil ve adresinizi dağıttığınız sürece) erişebilir. Bu yüzden Account ayarlarında Acces only with qualified account seçeneği ile bir yönetici (admin) şifresi belirleyebilirsiniz. Local robots.txt bölümünden de örümceklerin neye erişemeyeceklerini de ayarlayabilirsiniz.

2014-03-21-170630_1920x1080_scrotBen de indeks yapmak istiyorum

Sol menüde Index Production alt menüsünü göreceksiniz. Crawler/Harvester‘a tıkladığınızda açılan sayfa üzerinden indekslemek istediğiniz sayfanın linkini girerek bu işlemi gerçekleştirebilirsiniz.

Son sözler

YaCy çok detaylı ve kapsamlı bir arama motorudur. Burada çok temel birkaç şeyden bahsettim. Genel anlamda dört temel özelliği vardır. Tarama (crawl), indeksleme, arama ve yönetici arayüzü ve veritabanı. Merkezi bir sunucusu yoktur, sansür, reklam, gözetim gibi durumlardan arındırılmıştır. Yüksek derecede gizlilik sağlar. Çeşitli sıkıntılara sahip olsa da kesinlikle desteklenmelidir. Son olarak, YaCy ne kadar çok istemci sahibi olursa o kadar çok etkin, güvenli, sansürsüz, reklamsız bir arama motoru olacaktır.

Tagged , , , , , , , , , , , , , , , , , , , , , , ,

11 thoughts on “YaCy – P2P Arama Motorunuz

  1. Orhan says:

    Üstadım selamlar,

    Daha önce de ziyaret etmiştim sitenizi ama şimdi çok daha güzel olmuş, tebrik ederim.
    Bi sorum olacak, yeri değilse kusuruma bakma : internetim kotalı . bunu aşmanın bir yolu var mıdır? Yani vpn ya da başka yöntemle kotayı aşmamak mümkünmü?

    Bu arada siten için yardım gerekirse hazırım her zaman. Bu site internet bataklığında bir gül gibi:)

    • Kus says:

      Selamlar Orhan,

      Bi sorum olacak, yeri değilse kusuruma bakma : internetim kotalı . bunu aşmanın bir yolu var mıdır? Yani vpn ya da başka yöntemle kotayı aşmamak mümkünmü?

      Estağfurullah, ne kusuru. Modemle ilgili bazı firmwarelar üzerinden çeşitli hackler yapılabiliyormuş. Bana da bir arkadaş anlatmıştı. Hatta hız bile ağın destekilediği en yüksek hıza çıkıyormuş. Bunun dışında bir bilgim yok malesef. Ne söylersem yalan veya hatalı olur.

      Bu arada siten için yardım gerekirse hazırım her zaman. Bu site internet bataklığında bir gül gibi:)

      Çok teşekkür ederim iyi niyetin için. BTC kullanıyorsan, gönlünden bağış yapmak geçerse, BTC cüzdanıma bağışta bulunabilirsiniz. Ben de bana gelen bağışları böyle hizmet aldığım yerlere veriyorum.

    • Anonymous says:

      orhan’a katiliyorum. gordugum en iyi turkce icerige sahip sitelerden. gordugum en efendi anonim insanlardan. cok anonim kisi tanimasam da. :) surayi okuyan insanin bakisi degisiyor. cok ciddiyim! o kadar iyi yani.

      senin estagfurullah diyisine kurban cano!

    • Kus says:

      Çok teşekkür ederim. Onur duydum.

  2. Yasin says:

    Google son iki üç gündür 502 server hatası veriyor ve çok yavaş. Bunun sebebi sansürle alakalı mıdır acaba?

    • Kus says:

      Selamlar Yasin,

      URL tabanlı engel süreci başladığından beri birçok serviste sıkıntılar görülüyor. Olabilir elbette. Ama bu dediğim gözlemlenenler üzerinedir. Farklı bir şeyler de olabilir, servisin kendinden kaynaklanan sorunlar da olabilir.

  3. levent gunes says:

    2 sorun var
    birincisi java insanı hayattan soğutacak derece de yavaştır
    ikincisi birinin her şeye sahip olduğu sistemler ciddi riskleri barındırsa da kullanılabilir olduğu için işe yarıyor ancak sahibi olmayan hiç kimseye ait olmayan dolayısı ile işin ihtiyaç duyduğu maliyeti karşılama şansı olmayan bir sistem doğal olarak bize kuru özgürlükten gayri hiç birşey sunamaz asıl çözüm bu iki sistemin karması

    • Kus says:

      Selamlar Levent,

      birincisi java insanı hayattan soğutacak derece de yavaştır

      Buna YaCy bazında cevap vereyim. Yavaş değil, işlemciyi ve belleği sömürmüyor. Düzenli olarak site indeksliyorum. Hatta bazen peşpeşe 7-8 site bile eklediğim oluyor. Hiçbir sıkıntı görmedim.

      ikincisi birinin her şeye sahip olduğu sistemler ciddi riskleri barındırsa da kullanılabilir olduğu için işe yarıyor ancak sahibi olmayan hiç kimseye ait olmayan dolayısı ile işin ihtiyaç duyduğu maliyeti karşılama şansı olmayan bir sistem doğal olarak bize kuru özgürlükten gayri hiç birşey sunamaz asıl çözüm bu iki sistemin karması

      Bu çok hatalı bir bakış açısı. Başından belirteyim de. Free as in freedom ne anlatıyor, bir gelir modeli var mı, varsa nasıl işliyor, maliyetini karşılıyor mu gibi geniş çaplı bir araştırma yapman gerekiyor. Diğer türlü kuru özgürlük gibi bir yaklaşımla durumu incelersen biraz yanlış anlaşılır. Şu da Stallman’dan [1] gelsin:

      Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer.

      [1] https://www.gnu.org/philosophy/free-sw.html

  4. Anonymous says:

    twitter facebook umrum değil ama bu siteye bişı olursa interneti yakarım. ocaklarına ateş salarım. ekmeklerine taş koyarım. senin mesajın gibi geçmişlerini sikerim. :)

  5. orangutan says:

    “twitter turkey” gibi genel bir aramanın (evet konu taze, ama come on, twitter ve turkey kelimeleri!) sonuç sayısını – Google’da “976,000,000” , bing’de “45.000.000” iken – kullanıcıyı bekletip ~17 vermesi biraz can sıkıcı. Daha iyi bir algoritmaya ihtiyaçları olabilir, bir şekilde cache mekanizmasına ihtiyaç duyuyor olabilirler. Yeni olmalarına veriyorum, lakin fikir çok iyi.

    • Kus says:

      YaCy pek yeni sayılmaz. Cache sistemine sahip ve çokça istemciye büyük bir ihtiyacı var. Ayrıca, düzenli kullanım gerekli. Aynı sorgu her seferinde biraz daha genişliyor. Mesela tekrar “twitter turkey” sorgusu yaptığımda 157 sonuç geldi. Gerçi sonuç sayısı yerine “nitelikli” yanıtları daha çok tercih ederim. Bu sorgu sayısının artması da YaCy-istemcilerinin elinde. Ne kadar çok istemci o kadar kapsamlı sonuç.

Leave a Reply to Anonymous Cancel reply

Your email address will not be published. Required fields are marked *