XMPP, resp. Jabber to v dobe Facebooku, WhatsAppu či Skypu nemá ľahké. V boji o udržanie si priazne mu určite nepomohol ani Google, ktorý začal svoj Google Talk násilne nahradzovať propietárnym Hangouts. Napriek všetkým problémom, ktoré sú s tým spojené (z môjho pohľadu tak ide predovšetkým o značný pokles známych používajúcich Jabber), som sa však jeho používania nikdy nechcel vzdať.
V posledných mesiacoch sa ale k všetkým týmto neduhom pridal ďalší – čoraz častejšie ma začal otravovať rôzny XMPP spam smerovaný najčastejšie z všelijakých ruských a poľských domén. Spočiatku som to ignoroval, postupne ale začal počet neželaných správ výrazne narastať, a tak som bol nútený začať hľadať účinný prostriedok v boji proti nim. Ten som napokon aj našiel a v tomto článku ukážem jednoduché a elegantné riešenie, ako s XMPP/Jabber spamom bojovať.
Ako samotný nadpis článku naznačuje, môj primárny IM klient je Pidgin, preto vopred upozorňujem, že nasledujúce odstavce sa týkajú práve jeho. V prípade, že používate iného „kecálka“, odporúčam sa na Pidgin aspoň pozrieť – okrem toho, že podporuje veľké množstvo protokolov, je aj multiplatformový, s otvoreným zdrojovým kódom (čo o.i. znamená, že je a vždy bude nezávislý a šírený úplne zadarmo) a svojím jednoduchým rozhraním aj používateľsky prívetivý.
Prejdem teda k samotnému problému – XMPP spamu a spôsobu ako sa s ním vysporiadať. Ten je napodiv veľmi jednoduchý – po chvíli pátrania sa mi podarilo odhaliť veľmi šikovný plugin (áno, Pidgin podporuje aj rozširovanie prostredníctvom pluginov) Privacy Please, ktorého správnym nastavením sa dajú, aspoň podľa mojej doterajšej štatistiky, odfiltrovať prakticky všetky neželané správy. Nainštalovať plugin je možno pomocou .exe súboru, ktorý plugin skopíruje do priečinku s ostatnými Pidgin pluginmi, skúsenejší používatelia si ho môžu skompilovať aj pre iné platformy.
Samotný plugin je v angličtine, vysvetlím ale čo jednotlivé polia znamenajú i ako som si jednotlivé nastavenia upravil ja sám. Najprv je potrebné dostať sa k samotným nastaveniam pluginu. To sa dá po zapnutí Pidginu jednoducho pomocou skratky Ctrl+U (pre Windows). V zozname si nájdeme plugin Privacy Please, checkboxom ho povolíme a zobrazíme jeho nastavenia kliknutím na Configure Plugin. Nabehne nové okno, v ktorom už môžeme vidieť päť kategórií nastavení – automatická odpoveď, správy, autorizácia, detekcia botov a protokolovo-špecifické nastavenia.
Tri jednoduché kroky
Podstata odfiltrovania neželaných správ je jednoduchá – neprijímať správy od neautorizovaných používateľov a ignorovať autorizáciu od ľudí, ktorí neprešli nejakou základnou kontrolou. V prípade Privacy Please pluginu nám na to stačia prvé dve (tri) kategórie nastavení.
1. Ignorovanie správ od ľudí, ktorí nie sú v mojom zozname kontaktov
Prvý krok spoľahlivo odfiltruje drvivé množstvo botov. Tí sa so žiadosťou o autorizáciu väčšinou nenamáhajú, pretože chcú „reklamu“ doručiť čo najskôr. V kategórii Messages nám tak stačí zakliknúť si možnosť „Block messages from people not on your contact list“, čo nám zaručí, že správy poslané od ľudí, ktorých sme predtým neautorizovali, bude Pidgin jednoducho ignorovať.
2. Automatické odoslanie odpovede ľuďom mimo zoznamu kontaktov
Predošlý krok však samozrejme zablokuje správy nielen od botov, ale rovnako aj od všetkých ľudí, ktorí sa s nami pokúsia spojiť. Neviem nakoľko je medzi používateľmi Jabberu/XMPP rozšírený zvyk zažiadať najskôr o autorizáciu, pre každý prípad je však každému, kto sa nám pokúsi zaslať správu, vhodné dať vedieť, že bez autorizácie sa s nami nespojí.
Na to nám Privacy Please ponúka možnosť „Auto-reply on blocked messages from unknown people with:“. Tu môžeme uviesť krátku správu, ktorú Pidgin automaticky odošle každému človeku (botovi), ktorý sa s nami pokúsi spojiť bez predošlej autorizácie. Je preto vhodné v správe obsiahnuť informáciu o tom, že bez autorizácie to nepôjde.
3. Dodatočné opatrenia
V prípade, že by sme začali mať do činenia s pokročilejšími botmi, ktorí napríklad dokážu zasielať i žiadosť o autorizáciu, ponúka plugin Privacy Please i ďalšie pokročilejšie možnosti. V kategórii Authorization tak napríklad nájdeme možnosť automaticky ignorovať všetky žiadosti o autorizáciu obsahujúce hypertextové odkazy (Block authorization requests with hyperlinks). Ďalšou možnosťou môže byť automatické filtrovanie žiadostí použitím regulárneho výrazu nad JID žiadateľa.
Ďalšie možnosti
V prípade, že niekto nie je nadšený možnosťou ignorovania správ od neautorizovaných používateľov, v časti Bot check môže využiť možnosť automatického odoslania správy každému, kto sa ho pokúsi kontaktovať s tým, že mu Pidgin najprv pošle preddefinovanú otázku a konverzáciu umožní až keď obdrží želanú odpoveď. Tu je však potrebné dobre si premyslieť akú otázku položiť, pretože plugin očakáva presnú odpoveď a neumožňuje nejaké odchýlky alebo alternatívne odpovede. Ak sa na to niekto cíti, môže si tiež oprášiť svoje znalosti C-čka a upraviť si plugin podľa seba. Zdrojový kód je možné nájsť na Githube.
Privacy Please v kombinácii s Pidginom testujem približne od začiatku decembra a ďalších neželaných správ od rôznych botov som sa odvtedy nedočkal. Ak má preto ktokoľvek takýto problém a používania Jabberu sa nechce vzdať, táto kombinácia je momentálne to najlepšie, čo sa mi podarilo nájsť. Za informácie o alternatívnych možnostiach však budem samozrejme vďačný. 🙂