Кіріспе
Ашық кодты көп платформалы жедел хабар алмасу клиенті
жедел хабарласу құралы
Pidgin (бұрын Gaim деп аталатын) – көптеген жедел хабар алмасу протоколдарына қолдау көрсететін libpurple атты кітапханаға негізделген, тегін және ашық кодты көп платформалы жедел хабар алмасу клиенті. Бұл пайдаланушыға бір интерфейстен бірнеше қызметке бір уақытта кіруге мүмкіндік береді, соның ішінде танымал және қолданыстан шыққан протоколдарды (AIM-нен Discord-қа дейін) қолдайды, осылайша әр құрылғы мен протокол үшін жаңа бағдарламамен айналысу қажеттілігінен құтылуға болады. 2007 жылғы мәліметтер бойынша, Pidgin қолданушыларының саны үш миллионнан асып кеткен. Pidgin, шеттен-шетке шифрлауды ұсынатын Off the Record Messaging (OTR) плагині үшін кеңінен қолданылады. Осы себепті ол құпиялылық пен анонимділікке бағытталған Tails операциялық жүйесіне енгізілген.
Тарих
Бағдарламаны бастапқыда Оберн университетінің екінші курс студенті Марк Спенсер GTK+ құралдар жиынтығын пайдалана отырып, Linux жүйесінде AOL Instant Messenger IM бағдарламасын эмуляциялау ретінде жазған. Ең ерте сақталған нұсқасы 1998 жылдың 31 желтоқсанында жарияланған. Ол GAIM (GTK+ AOL Instant Messenger) деп аталды. Эмуляция кері инженерияға негізделмеген, керісінше AOL веб-сайтында жарияланған протокол туралы ақпаратқа сүйенген. Дамуға AOL-дың бірнеше техникалық қызметкерлері көмектескен. Көп ұзамай басқа IM протоколдарына қолдау қосылды. Олар деректерді жіберу кезінде шифрлау, провайдерлерге қолжетпес кілттермен шифрлау (соңынан соңға шифрлау), пайдаланушыларға өздерінің сұхбаттасының сәйкестігін тәуелсіз тексеруге мүмкіндік беру, кілттер ұрланған жағдайда өткен сұхбаттардың қауіпсіздігін сақтау (алға қарай құпиялылық), кодты тәуелсіз қарауға ашық ету (ашық код), қауіпсіздік жобаларын жақсы құжаттау және соңғы тәуелсіз қауіпсіздік аудиттерін жүргізу сияқты еңбектері үшін марапат алды. 2007 жылдың 6 сәуірінде жобаны дамыту тобы AOL-мен жасасқан келісімнің нәтижелерін жариялады, оған бірқатар атаулардың өзгеруі кірді: Gaim Pidgin, libgaim libpurple, ал gaim text (командалық қатар интерфейсінің нұсқасы) Finch аталды. Pidgin атауы ортақ тілде сөйлейтін емес адамдар арасындағы қарым-қатынасты сипаттайтын «пиджин» терминіне сілтеме ретінде таңдалды. «Purple» атауы IM протоколының плагині үшін libgaim-нің ішкі атауы болып табылатын «prpl» дегенге сілтеме жасайды. Құқықтық мәселелерге байланысты бағдарламалық қамтамасының 2.0 нұсқасы бета кезеңінде тоқтап қалды. Жасасқаннан кейін, Pidgin 2.0.0-нің алғашқы ресми нұсқасы 2007 жылдың 8 сәуірінен бастап екі апта ішінде шығарылатыны күтілді. Алайда, Pidgin 2.0 жоспарланғандай шығарылмады; Pidgin әзірлеушілері 2007 жылдың 22 сәуірінде кешіктірудің себебі «.gaim» баламалар каталогы екенін хабарлады. Pidgin 2.0.0 2007 жылдың 3 мамырында жарияланды. Бұл нұсқада интерфейсте басқа да визуалды өзгерістер енгізілді, соның ішінде жаңартылған белгішелер.
Ерекшеліктері
Pidgin GTK+ пайдаланып libpurple үшін графикалық интерфейс ұсынады. Libpurple көптеген дереу хабар алмасу протоколдарын қолдайды. Pidgin Windows және Linux, BSD және AmigaOS сияқты көптеген Unix жүйелерінен басқа, бірнеше операциялық жүйелерді қолдайды. Ол Tails, Trisquel және Xubuntu операциялық жүйелеріне әдепкі бойынша кіріктірілген.
Тіркемеге қосу мүмкіндігі
Бағдарлама плагиндермен кеңейтілуге арналған. Плагиндерді көбінесе үшінші тарап әзірлеушілер жасайды. Олар протоколдарды қолдауды қосу үшін пайдаланылуы мүмкін, бұл Skype немесе Discord сияқты лицензиялық мәселелері бар сервистер үшін пайдалы (бірақ пайдаланушылардың деректері мен өзара әрекеттері олардың саясатына және бақылауға жатады). Олар сондай-ақ басқа да маңызды мүмкіндіктерді қоса алады. Мысалы, "Рекордтан тыс хабар алмасу" (OTR) плагині ұштан-ұшқа шифрлауды қамтамасыз етеді. TLS шифрлау жүйесі модульдік болып келеді, түрлі TLS кітапханаларын оңай алмастыруға мүмкіндік береді. GnuTLS әдепкі параметр болып табылады, ал NSS та қолдау көрсетіледі. Кейбір операциялық жүйелердің нұсқалары, мысалы OpenBSD, әдепкі бойынша OpenSSL немесе LibreSSL пайдалануды таңдайды.
Байланыстар
Бірнеше протокол арқылы байланыстарды көптеген протоколдарды жеке басқарудың орнына, бір байланысқа біріктіруге болады, сондай-ақ байланыстарға есімдер қоюға немесе топтарға бөлуге болады. Пайдаланушылар тіркелгенде немесе олардың күйі өзгергенде (мысалы, "Қолжетімсіз" күйінен "Қолжетімді" күйіне ауысқанда) оларға хабарласу үшін, Pidgin Buddy Pounces деп аталатын әрекет бойынша автоматты скрипттерді қолдайды, бұл пайдаланушыға қалағандай әртүрлі тәсілдермен автоматты түрде хабар жіберуге мүмкіндік береді.
Файлдарды беру
Pidgin көптеген протоколдар арқылы файлдарды жіберуді қолдайды. XMPP сияқты протоколдар бойынша тікелей, құпия байланыс арқылы файлдарды жіберу мүмкіндігі де бар.
Дауыстық және бейне чаты
2.6 нұсқасынан бастап (2009 жылдың 18 тамызында жарияланды), Pidgin Farstream қолданысымен дауыс және бейне қоңырауларын қолдайды. 2015 жылдан бері қоңырауларды XMPP протоколы арқылы ғана жасауға болады.
Әр түрлі
Қосымша мүмкіндіктерге түстер схемаларын, смайликтерді, әріптерді тексеруді және хабарландырулар панелімен үйлесімділікті қолдау кіреді.
Сындар
2015 жылы Wired журналында жазылғандай, libpurple код базасы "көптеген қауіпсіздік кемшіліктерімен белгілі". 2011 жылы libpurple-ді пайдаланатын танымал OTR плагиндерінде қауіпсіздікке қатысты осалдықтар табылды. 2.4 нұсқасынан бастап және одан кейінгілерінде әңгімелердегі мәтіндік енгізу терезесінің мөлшерін қолмен өзгерту мүмкіндігі жойылды. Бұл Carrier (бастапқыда Funpidgin деп аталған) тармағының пайда болуына әкелді. Парольдер пайдаланушының файлдарына қол жеткізе алатын кез келген адам немесе бағдарлама оқи алатын қарапайым мәтіндік файлда сақталады. Pidgin 3.0 нұсқасы (шығарылу күні хабарланбады) KWallet және Linux үшін GNOME Keyring, macOS үшін Keychain және Windows үшін winCred API сияқты жүйелік кілт сақтағыштарында парольдерді сақтауды қолдайды. Pidgin файлдарды жіберуді тоқтатуға немесе қайтадан талпынуға мүмкіндік бермейді. Pidgin контактілер тізіміндегі топтарды сұрыптауды өшіруге болмайды.