21-12-05 02:55
yEnc proxy poslužitelj
piše ŽELJKO BOROŠ
Usenet (News servis) nudi bogatstvo informacija, ali mnogima su najzanimljivije tematske grupe s binarnim sadržajima, poput slika, programa ili MP3 pjesama.
Iako danas za to nema nikakvog razloga, svi se binarni sadržaji pretvaraju u 7-bitni tekstualni oblik. Ova se operacija naziva Uuencode/UUdecode i odvija se potpuno transparentno za korisnika.
Postupku, samom po sebi, ne bi davali poseban značaj kad UUencode ne bi na svaku datoteku dodavao 33% do 40% viška (overheada). Mnogima bi na dial-up vezama bilo kakvo ubrzanje skidanja binarnih sadržaja izrazito značilo.
Ovdje na scenu stupa yEnc, način enkodiranja koji uz mnogo manje suviška može poslati datoteku na news grupe. Smanjenje datoteke postiže koristeći 8-bitno enkodiranje što omogućava mnogo više informacija po jednom znaku. Na originalnu datoteku dodaje tek oko 2% overheada, jer se neki se binarni znakovi ipak ne mogu prenijeti nepromijenjeni Usenetom.
Nećemo dalje ulaziti u specifikacije protokola (to zaslužuje poseban članak, jer je yEnc izazvao određena kontroverzna mišljenja).
Problem s kojim se suočava korisnik jest činjenica da Outlook Express, najčešće korišteni klijent za e-mail i news grupe, ne podržava yEnc, a nema niti najava da će ga ikad podržavati. Rješenje je snimati poruke kodirane u yEncu, te ih poslije ručno obraditi odvojenim alatima. Ovo je naravno, vrlo nepraktično, ali srećom na raspolaganju nam je i alternativa: proxy poslužitelj koji će cijeli posao odraditi umjesto nas.
Na Windows platformi može se koristiti program yProxy, koji se jednostavno instalira i poslušno "čuči" u trayu. Nažalost, čini se da besplatna inačica više ne postoji.
Za Linux, te sve ostale Unix sustave, također postoji alternativa. Programčić, nazvan pomalo nemaštovito "relay-yEnc", koji u izvornom kodu ne zauzima više od 50 kB, može učiniti prava čuda. Napisan je u običnom C-u, a nakon raspakiranja kompilira se jednostavnim pozivanjem naredbe make. Dobiveni se binary jednostavno postavi na datotečni sustav (primjerice, u /usr/bin). Kako bi cijela stvar profunkcionirala, treba napraviti izmjene u dvije datoteke.
U /etc/services treba unijeti redak poput ovog:
y-news 1119/tcp # News handler that takes care of yEncoded file
Port 1119 posve je proizvoljan: kako je port 119 standardni NNTP port, lakše ga je zapamtiti ako mu dodamo još jednu istu znamenku na početak. Dalje, treba dodati jednu datoteku u direktorij /etc/xinetd.d, nazovimo je y-news. Njezin bi sadržaj trebao biti ovakav:
service y-news
{ socket_type = stream
bind = IP.ADRESA.VAŠEG.POSLUŽITELJA
wait = no
user = root
server = /usr/bin/relay-yEnc
server_args = news.carnet.hr
disable = no
}
Upišite IP adresu vašeg poslužitelja. Opcija server_args treba sadržavati adresu vašeg News poslužitelja, što će vjerojatno biti news.carnet.hr. Ukoliko želite prijaviti više poslužitelja, samo treba unijeti dodatne unose, i naravno pridružene portove u /etc/services. Za svaki novi NNTP poslužitelj treba kreirati novu datoteku jedinstvenog imena u /etc/xinetd.d, primjerice y-news2. U njoj treba promijeniti ime NNTP poslužitelja u opciji server_args, a u /etc/services treba upisati odgovarajuće ime (y-news2) i neki drugi slobodan port, primjerice 1120.
Kako bi promjene bile prihvaćene, trebamo restartati xinetd:
/etc/init.d/xinetd restart
Na strani klijenta, umjesto adrese News poslužitelja news.carnet.hr, sada morate upisati adresu vašeg proxyja, primjerice poslužitelj.domena.hr, a port postaviti na vrijednost 1119.
Sada svi News klijenti na instituciji (ili šire, ako nemate firewall) mogu potpuno transparentno čitati sve poruke enkodirane u yEnc sustavu, uključujući i one podijeljene na više dijelova (koje u Outlook Expressu obično skidate s naredbom Combine & Decode).
Program "relay-yEnc" možete naći na adresi:
http://ziberex.dk/ENG-yEnc.html
|