Кіріспе

gtk gnutella — gnutella желісінде жұмыс істейтін, теңдестірілген файл алмасу бағдарламасы. gtk gnutella өзінің графикалық интерфейсі үшін GTK+ құралдар жиынтығын пайдаланады. GNU General Public License лицензиясымен таратылатын gtk gnutella — ақысыз бағдарламалық қамтамасыз ету.

Тарих

Бастапқыда gtk gnutella түпнұсқа Nullsoft Gnutella клиентіне ұқсас болу үшін жазылған. Түпнұсқа авторы Янн Гросел 2001 жылдың басында клиентті дамытуды тоқтатты. Біраз уақыттан соң Рафаэль Манфреди бағдарламалық қамтамастың бас архитекторı болып іске кірісті, содан бері клиент белсенді дамуда. 2002 жылдың шілдесінен кейін шығарылған нұсқалар түпнұсқа Nullsoft клиентінен ерекшеленеді.

Ерекшеліктері

gtk gnutella бағдарламалық жасақтамасы C тілінде жазылған, тиімділік пен тасымалдауға басымдық берілген, бірақ минималистік емес, керісінше gnutella желісінің қазіргі заманғы мүмкіндіктерінің көпшілігін қамтиды. Сондықтан, ол негізгі gnutella клиенттеріне қарағанда аз ресурстарды (мысалы, CPU және/немесе RAM) қажет етеді. Оны GTK+ қажет етпейтін, жеңілдетілген (headless) gnutella клиенті ретінде де пайдалануға болады. gtk gnutella спам мен басқа да маңызсыз нәтижелерді азайтуға мүмкіндік беретін сүзгілеу механизміне ие. gtk gnutella қазіргі заманғы gnutella клиенттерінің көптеген мүмкіндіктерін қолдайды. gtk gnutella – IPv6 және TLS арқылы шифрлауды қолдаған алғашқы gnutella клиенті. Ол магниттік сілтемелерді өңдеуге және экспорттауға қабілетті. Ол ағылшын, неміс, грек, француз, венгр, испан, жапон, норвег, голланд және қытай тілдерін қолдайды, жақсы халықаралық қолдауға ие. gtk gnutella спам мен басқа да зиянды әрекеттерді болдырмау үшін де қолдау көрсетеді. Бірнеше бағдарламалық жасақтама таратулары алдын ала құрастырылған пакеттерді ұсынады, бірақ олар көбінесе ескі, себебі көптеген таратулар ескі тұрақты нұсқаларды тоқтатып қояды. gnutella желісінің тиімді жұмыс істеуі үшін соңғы нұсқаны пайдалану қажет, өйткені теңдес және жау IP-адрестер тізімі үнемі өзгереді, сондықтан соңғы SVN құрастырмасын жасау ең жақсы нұсқа. Көптеген Linux таратулары үшін алдын ала құрастырылған пакеттер де онлайн қолжетімді. Қауіпсіздік туралы алаңдағандар өздері құрастыруды қалайтын шығар. gtk gnutella көздері Autoconf орнына dist құрастыру және конфигурациялау жүйесін пайдаланады. Көптеген пайдаланушылар соңғысы жасаған конфигурациялық скрипттермен ғана таныс. Жаңадан бастаушылар үшін тағы бір қиындық – gtk gnutella үшін толық желілік байланысты қамтамасыз ету үшін NAT құрылғыларын конфигурациялау. gtk gnutella, кез келген gnutella клиенті сияқты, брандмауэрдің немесе маршрутизатордың артында да қолданылуы мүмкін, бірақ кіріс TCP қосылымдарын немесе UDP пакеттерін қабылдай алмаса, кейбір функционалдығы төмендеуі мүмкін. Жаңа пайдаланушылар үшін бұл мәселені жеңілдету үшін gtk gnutella UPnP және NAT PMP клиент протоколдарын қолданады. gtk gnutella үлкен файлдарды (видео, бағдарламалар және дискілердің бейнелерін) жүктеу мүмкіндіктерін қолдайды. 0.96.4 нұсқасы Tiger tree хэш-сервисін қолдайды, ал 0.96.5 нұсқасынан кейінгі нұсқалар жүктеу және тиеу үшін tiger tree хэштерін қолдайды. Tiger tree хэштегі және басқа gtk gnutella мүмкіндіктері файлдарды BitTorrent сияқты тиімді түрде аударуға мүмкіндік береді. gtk gnutella файлдарды бөлісуді, қашықтан кезекке қоюды және 4 Гигабайттан үлкен файлдарды қолдайды. 0.96.4 нұсқасына дейін нашар деректерге қарсы қорғаныстың жалғыз механизмі үшіншіден тексеру болды. Үшіншіден тексеру Tiger tree хэштері сияқты қасақана бұзушылыққа қарсы қорғамайды. 0.96.6 нұсқасы Kademlia DHT-ге алдын ала қолдауды енгізді, ол 0.96.7 нұсқасында аяқталды. DHT белгілі файлдың баламалы көздерін табу немесе push проксилерін іздеу кезінде SHA 1 іздеуін ауыстырады. 0.96.7 нұсқасында DHT әдепкі бойынша қосылған. LimeWire алғаш рет DHT-ді жасап, оны Mojito DHT деп атады. 0.96.9 нұсқасы UPnP және NAT PMP үшін толық қолдауды енгізді, бұл үйлесімді маршрутизатордың артында пайдалануды әлдеқайда жеңілдетті, себебі енді өрт қабырғасындағы порттарды қолмен ашудың қажеті жоқ. Бұл нұсқада код Microsoft Windows-қа да портталды, бірақ кең ауқымды сынақтардың жетіспеуіне байланысты Windows порты әлі де бета деп саналады. 0.96.9 нұсқасы статистикалық қасиеттерге негізделген алгоритмдерді пайдалана отырып, Sybil шабуылдарына қарсы маңызды DHT қорғанысын енгізді. 0.97 нұсқасы үлкен жаңартпа болды, ол клиенттік жағынан HTTP құбырларын қолдауды, "Не жаңа?" сұрауларын, MIME типін сүзгілеуді, GUESS қолдауын (Gnutella UDP кеңейтуі масштабталатын іздеулер үшін) және ішінара файлдарды сұрауды енгізді. Көптеген Gnutella жеткізушілері серверлік жағынан GUESS-ті қолдаса да, gtk gnutella клиенттік жағын да енгізді, сонымен қатар протоколды шынымен пайдалануға болатын етіп жасау үшін бастапқы ерекшеліктерін жақсартты. 0.98.2 нұсқасы жадты бөлу және көп жіпті мәселелерді түзету үшін шағын түзетулерді енгізді, әсіресе Ubuntu 11.10 операциялық жүйелерінде. Бұл 2011 жылғы gtk gnutella нұсқасы Деннис Ричидің естелігіне арналды, 1941–2011. 0.98.4 нұсқасы RUDP (сенімді UDP) қосылды және ішінара файлдарды жүктеу жақсарды. 1.1 нұсқасы G2 қолдауын қосқан үлкен жаңартпа болды: gtk gnutella енді G2 желісіне жапырақ режимінде қосылады. Бұл G2 түйіндерінен іздеуге және жергілікті сұраныстарды G2 желісіне таратуға мүмкіндік береді. G2 хосттарымен файл алмасу толыққанды үйлесімді және ешқандай шектеусіз рұқсат етіледі.

Танымалдық

gtk gnutella GnutellaNet-те ең көп таралған клиенттердің біріне жатпайды. gtk gnutella жасаушыларының ұсыныстары көптеген gnutella клиенттеріне қосылған. 2011 жылы gtk gnutella кеңейтімдері GDF (Gnutella Developer Forum) форумында Limewire және Bearshare-дан кейін үшінші орында тұрды. 2002 жылы Salon журналы gtk gnutella-ны ең танымал бес gnutella қолданбасының бірі деп тізімдеді. XoloX және Toadnode, тізімдегідей, енді дамытылмайды.