Äàðìîâîé Èíåò îò ïî÷òîâûõ ñëóæá
Èíòåðíåò ñòàë ïðèâû÷íîé øòó÷êîé, è òåïåðü âðÿä ëè êîãî-òî ìîæíî óäèâèòü åãî èñïîëüçîâàíèåì. À âåäü âñåãî ïàðó ëåò íàçàä áûë òîòàëüíûé áàëäåæ îò ïîçîðíûõ www-÷àòîâ... Íó, à ÷òî åñëè áû òû çàäàë âîïðîñ òîãäà æå: çíàåòå ëè âû, ÷òî òàêîå POP3, SMTP èëè CGI?  îòâåò ìîæíî áûëî áû óñëûøàòü ëèøü òèõîå ìû÷àíèå. Òåïåðü ñèòóàöèÿ íåñêîëüêî èñïðàâèëàñü. Íî äàæå ñåé÷àñ äëÿ ìíîãèõ Èíòåðíåò âñå ðàâíî îñòàåòñÿ íåäîñòóïíûì: êîãî-òî ëîìàåò ïëàòèòü ñâîè êðîâíûå; êòî-òî áîèòñÿ ïîëüçîâàòüñÿ "õàëÿâíûì" èëè íàõîäèòñÿ â õðîíè÷åñêèõ ïîèñêàõ è âûïðàøèâàíèÿõ ëîãèíîâ. Èòîãî âñå äðóæíûì õîðîì ñîñóò ëàïó, òåðÿÿ ãîðäîå èìÿ "ïîëüçîâàòåëÿ Èíòåðíåò".  Àìåðèêå ïî-äðóãîìó: ó íèõ óæå äàâíî èäåò ïðàêòèêà ïðåäîñòàâëåíèÿ áåñïëàòíîãî Èíòåðíåòà. Òåáå ïðîñòî ïðèõîäèòñÿ ïðîñìàòðèâàòü íåáîëüøîé áàííåð, èçáåãàÿ ïëàòû çà äîñòóï è ïîâðåìåíêó òåëåôîííûõ êîìïàíèé. CD è êàéôóé - íå äóìàé î ïîòðà÷åííûõ ÷àñàõ :). Ó íàñ æå, â äðåìó÷åé Ðîññèè, ÿ òàêîãî íå âñòðå÷àë. Ïîýòîìó ïîñòîÿííî ïðèõîäèòñÿ ÷òî-òî ïðèäóìûâàòü, èçîáðåòàòü. Êîíå÷íî, åñòü ìíîãî ñïîñîáîâ ïîñèäåòü íà õàëÿâó: áàíàëüíûå ñïîñîáû òðîÿíèòü íà÷èíàþò óñòàðåâàòü, ðàñøàðåííûõ ðåñóðñîâ ó ïîëüçîâàòåëåé ñòàíîâèòñÿ âñå ìåíüøå è ìåíüøå, ïðîâàéäåðû, òîðãóþùèå ïî êðåäèòêàì dial-up`îì, - ïðåêðàùàþò ðîóìèíã íà Ðîññèþ... Âñåãäà îñòàåòñÿ øàíñ âçëîìàòü ïðîâàéäåðà. Íî ýòî, êàê òû ïîíèìàåøü, îòäàëåííûå ìå÷òû äëÿ ðÿäîâîãî þçåðà =). Ìû ïîãîâîðèì î äðóãîì...
Ïðîêñè-ìýéëåð
 Ðîññèè íà÷èíàþò ïîÿâëÿòüñÿ ïî÷òîâûå ñëóæáû, êîòîðûå ïðåäîñòàâëÿåò áåñïëàòíûé dial-up äîñòóï ê ñâîèì SMTP è POP3 ñåðâåðàì. Ïîêà ÿ çíàþ òîëüêî íåñêîëüêèõ:
www.rambler.ru,
www.mailgate.ru,
www.e-mail.ru. Ìàëî? À òû íàïðÿãè ñâîé âíèìàòåëüíûé ãëàç è íàéäåøü äðóãèå (î ÷åì íå çàáóäü ñî ìíîé ïîäåëèòüñÿ ;). Ïðåäîñòàâèâ òàêèå óñëóãè, ñåðâåðà äàþò íåãëàñíóþ âîçìîæíîñòü õèòðûì ñïîñîáîì ëàçàòü ïî www, à òàêæå ïðîñòî êà÷àòü íóæíûå ôàéëû èç Èíåòà. Ïðàâäà, â ëþáèìîì IRC èëè ICQ òû ïî÷àòèòüñÿ íå ñìîæåøü, íî íå ãîðþé - áóäåøü êà÷àòü mp3'øêè =).
Âñå çàïðîñû (http è ftp) áóäóò ïðîèñõîäèòü ÷åðåç ñïåöèàëüíûé mail-proxy, êîòîðûé íàïèñàí íà Ïåðëå. Îò òåáÿ ïîòðåáóåòñÿ íàëè÷èå êàêîãî-íèáóäü øåëëà. Ãëàâíîå, ÷òîáû òàì áûë ïðîèíñòàëëèðîâàí Perl è èìåëàñü âîçìîæíîñòü çàïóñêàòü ïðîãðàììû â background ïðîöåññå. Ãäå è êàê äîñòàòü øåëë, Õ ïèñàë íå ðàç. Shell òåáå íóæåí îáÿçàòåëüíî! Åñëè íàøåë åãî, òî äåëî â øëÿïå. Ðåãèñòðèðóéñÿ â êàêîé-íèáóäü ïî÷òîâîé ñëóæáå. Äîïóñòèì, òû ïîëó÷èë ïî÷òîâûé ÿùèê
lamazoid@rambler.ru. Òâîé ëîãèí - lamazoid, ïàðîëü - coolnigga, à mail.rambler.ru - ýòî POP3 è SMTP ñåðâåð. Òàêæå ñîçäàé âòîðîé ÿùèê, ê êîòîðîìó ïðîãðàììà ñ øåëëà èìåëà áû áûñòðûé äîñòóï. Îïòèìàëüíûì âàðèàíòîì áóäåò, åñëè øåëë íàõîäèòñÿ íà òîì æå ñåðâåðå, ãäå è òâîÿ ïî÷òà. ß ñòàâèë ýòè ñêðèïòû íà ñåðâåðå õîñòèíãà, ãäå ëåæèò ìîé ñàéò, òàê êàê ïðè íåäîñÿãàåìîì ëèìèòå òðàôôèêà ó ìåíÿ ðàñõîäîâàëàñü òîëüêî ìàëàÿ åãî ÷àñòü. Òàê ÷òî åñëè âûäåëåí íåõèëûé òðàôèê, òî êà÷àòü ôàéëû - ìèëîå äåëî.
Ïðåäïîëîæèì, ó âòîðîãî e-mail àäðåñà äàííûå áóäóò òàêèìè:
server@loading.ru, ëîãèí - server, ïàðîëü - shiza, POP3 ñåðâåð - pop.loading.ru, ïî÷òà æå îòïðàâëÿåòñÿ ÷åðåç ïðîãðàììó sendmail. Ïîñëå ðåãèñòðàöèè e-mail'îâ êà÷àé íàø Õ-ðåëèç - ñêðèïò mailproxy ñ ïàãè ðåëèçîâ
http://www.xakep.ru/articles/releases, òàì òàêæå ëåæàò âñå èñõîäíèêè.
Ðàáîòà ó íàñ òàêàÿ...
Ïðèíöèï ðàáîòû: òû çàïóñêàåøü ó ñåáÿ íà êîìïüþòåðå êëèåíòñêóþ ÷àñòü (cïåöèàëüíàÿ ïðîêñÿ), ïðîïèñûâàåøü â áðàóçåðå, ÷òîáû îí èñïîëüçîâàë ïðîêñè ñåðâåð: àäðåñ - localhost, à ïîðò - 8001. Êîãäà òû ïûòàåøüñÿ çàéòè íà êàêîé-íèáóäü ñàéò, òî çàïðîñ îòïðàâëÿåòñÿ íà ëîêàëüíûé mail-proxy (localhost:8001), îí ïåðåñûëàåò ýòîò çàïðîñ â âèäå ïèñüìà ÷åðåç ïåðâûé ïî÷òîâûé ÿùèê (lamazoid@rambler.ru) íà âòîðîé (server@loading.ru). Âòîðîé e-mail ïîñòîÿííî ïðîâåðÿåò ïðîãðàììà, êîòîðàÿ ðàáîòàåò â øåëëå. Ïðîãà ïðîñìàòðèâàåò ïîñòóïèâøóþ ïî÷òó, ñ÷èòûâàåò çàïðîñ, âûïîëíÿåò åãî. À óæå âûïîëíåííîå (ò.å. íàïðèìåð, âûêà÷àííûé ñàéò ôàí-êëóáà íåêðîôèëîâ-ëþáèòåëåé ïîï-ìóçûêè "Âûøåë Äåöë èç òóìàíà" :) îíà îòïðàâëÿåò íà ïåðâûé ÿùèê (lamazoid@rambler.ru). Ïåðâûé æå e-mail, â ñâîþ î÷åðåäü, òîæå ïðîâåðÿåòñÿ íà íàëè÷èå íîâûõ ïèñåì. Åñëè òàêîâûå èìåþòñÿ, òî ëîêàëüíàÿ ïðîêñÿ ðàñøèôðîâûâàåò ïîëó÷åííûå äàííûå è îòäàåò èõ áðàóçåðó. Ò.å. âåñü ýòîò ïðîäåëàííûé ãèìîð - îñòàíåòñÿ òåáå íåâåäîì: íàñòðîèâ ýòó áàéäó îäíàæäû, òû áóäåøü êàéôîâàòü â äàëüíåéøåì, ïðîñìàòðèâàÿ ëþáûå ñàéòû, áåç âñÿ÷åñêèõ íàïðÿãîâ! Ïðàâäà, âñå ýòè ïåðåñûëêè ïðèâîäÿò ê ñåêóíäíûì çàäåðæêàì. Íî è ýòî íèêàê íå ñêàæåòñÿ íà êà÷åñòâå ðàáîòû, åñëè òû â ïåðâóþ î÷åðåäü ñîáèðàåøüñÿ êà÷àòü ìåãàòîííûå ôàéëû, à íå ïî www-øíûðÿòü.
Êàê âñ¸ ýòî áàðàõëî íàñòðàèâàåòñÿ
Èòàê, MailProxy òû ïóñêàåøü ó ñåáÿ íà êîìïüþòåðå, à âîò ÷òî íåîáõîäèìî èçìåíèòü â êîíôèãóðàöèîííûõ ôàéëàõ ïðîãðàììû: ïåðåìåííàÿ $mail äîëæíà ñîäåðæàòü àäðåñ âòîðîãî ïî÷òîâîãî ÿùèêà, $pop è $smtp - àäðåñ POP3 è SMTP ñåðâåðà ïåðâîãî mail'à ñîîòâåòñòâåííî, $password - ïàðîëü îò
lamazoid@rambler.ru. Êàê ýòîò êîä âûãëÿäèò íà ïåðëå:
$mail='server@loading.ru';
$pop='mail.rambler.ru';
$smtp='mail.rambler.ru';
$password='coolnigga';
Øàëîâëèâûé øåëë
Òåïåðü íóæíî óñòàíîâèòü ñåðâåðíóþ ÷àñòü íà øåëëå. Ôàéë ñåðâåð íàçûâàåòñÿ server.pl, â íåì òåáå íóæíî ïîìåíÿòü ïåðåìåííóþ $mail - àäðåñ ïåðâîãî ïî÷òîâîãî ÿùèêà, $pop - àäðåñ POP3 ñåðâåðà âòîðîãî e-mail'à, $password - ïàðîëü îò
server@loading.ru:
$mail='lamazoid@rambler.ru';
$pop='pop.loading.ru';
$password='shiza';
Çàêà÷àé ýòîò ôàéë íà øåëë, ïîñòàâü åìó ïðàâà äîñòóïà, ÷òîáû åãî ìîæíî áûëî çàïóñòèòü (chmod +x server.pl). Äàëåå çàïóñòèì ïðîãðàììó â background ïðîöåññå: nohup ./server.pl. Òåïåðü ïðîãðàììà áóäåò ïîñòîÿííî âèñåòü íà øåëëå. Ñ ýòîãî ìîìåíòà ìîæåøü ñèäåòü â Èíòåðíåòå íà õàëÿâó, íî åñòü íåêîòîðûå îãðàíè÷åíèÿ: ïðîãðàììà ìîæåò äåëàòü òîëüêî îäèí çàïðîñ îäíîâðåìåííî (ïðèäåòñÿ âûêëþ÷èòü çàãðóçêó êàðòèíîê), òàêæå ðàçìåð ôàéëà íå ìîæåò ïðåâûøàòü ðàçìåðà ïî÷òîâîãî ÿùèêà (êàê áóäòî òåáå 10 õàëÿâíûõ ìåã íå õâàòèò ïðè ñêà÷êå íåáîëüøèõ ôàéëèêîâ?). Ò.å. îïèñàííûé ñïîñîá ñîçäàí, ÷òîáû òîëüêî ñåðôèòü ïî ñàéòàì è ñêà÷èâàòü íåáîëüøèå ôàéëû. Äëÿ òîãî ÷òîáû ãðóçèòü áîëüøèå ïðîãðàììû, òåáå íóæíî èñïîëüçîâàòü äâå äðóãèå òóëçû: filegetter.pl è fserver.pl. Ñ ïîìîùüþ ïåðâîé ïðîãðàììû òû ìîæåøü êà÷àòü ôàéëû ïî http è ftp ïðîòîêîëó.  ñëó÷àå, åñëè òåáå òàêè äîñòàëñÿ ÿùèê íåáîëüøîãî îáúåìà èëè ñåññèÿ dial-up îãðàíè÷åíà ïî âðåìåíè, òû ìîæåøü ðàçðåçàòü âûñûëàåìûå ôàéëû íà êóñêè. Òàêèì îáðàçîì, ïîëó÷àÿ ìèíèàòþðíûå ïèñüìà, à íå ãðîìàäèíû íà 50 ìåã :).
Êàêèå ïåðåìåííûå íóæíî ïîìåíÿòü: $mail - àäðåñ âòîðîãî ïî÷òîâîãî ÿùèêà, $smtp - SMTP ñåðâåð:
$mail='server@loading.ru';
$smtp='mail.rambler.ru';
Åñëè ôàéë âåñèò 2000000 áàéò, à ðàçìåð áëîêà 1500000, òî âíà÷àëå ïîøëþòñÿ ïåðâûå 1500000 áàéò, à ïîòîì îñòàâøèåñÿ 500000. ×òîáû ñêà÷àòü êàæäûé áëîê, òåáå ïîòðåáóåòñÿ ëþáàÿ ïî÷òîâàÿ ïðîãðàììà, íàïðèìåð, TheBat! Âíà÷àëå òû âðó÷íóþ ñêà÷àåøü âñå îòäåëüíûå áëîêè, òîëüêî ïîòîì òû èõ ñîåäèíèøü â åäèíîå öåëîå ñ ïîìîùüþ ïðîãðàììû con. Ïðèíöèï ðàáîòû con ëåæèò â ôàéëå con.txt.
Ïðèìåð çàãðóçêè ôàéëà
ftp://ftp.data.ru/info/arc.zip:
filegetter
ftp://ftp.data.ru/info/arc.zip íîìåð_áëîêà
Åñëè ôàéë ìåíüøå ðàçìåðà áëîêà, òî ìîæíî íå óêàçûâàòü åãî íîìåð. Ýòîò ñïîñîá íåìíîãî ãåìîððîéíûé. Íî íè÷åãî íå ïîäåëàåøü: ïðèõîäèòñÿ èçãîëÿòüñÿ, äàáû ïîëó÷àòü õàëÿâó âñåãäà è ïîâñåìåñòíî, à íå òîëüêî çà àìáàðîì èëè â âèäå óêñóñà =).
Ñàìè ôàéëû íà ïî÷òîâûõ ñåðâåðàõ âûðàñòóò åùå íà 30%, òàê êàê îíè øèôðóþòñÿ uu êîäèðîâàíèåì. Òåïåðü íà øåëëå íåîáõîäèìî óñòàíîâèòü fserver.pl. Âîò êàê íóæíî óñòàíîâèòü ïåðåìåííûå:
$mail='lamazoid@rambler.ru'
$pop='pop.loading.ru';
$password='shiza';
$block=2000000;
Ðàçìåð áëîêà äîëæåí ñîâïàäàòü â îáåèõ ïðîãðàììàõ. ×òîáû ñåðâåð ôóíêöèîíèðîâàë, åìó íåîáõîäèì ìîäóëü Net::FTP, ñ ïîìîùüþ êîòîðîãî ïðîèñõîäÿò ftp çàïðîñû. Ìîäóëü êà÷àòü òîæå íà
www.cpan.org. Íà ýòîì ñàéòå âîîáùå î÷åíü ìíîãî ïîëåçíîãî.
Íà õðåíà ãèìîð?
Åñëè ó òåáÿ õâàòèëî âîëè äîòÿíóòü ÷òåíèå äî äàííîé ñòðîêè, òî ÿ ñ óâåðåííîñòüþ ìàãà ìîãó çàÿâèòü, ÷òî òû çàäàëñÿ èìåííî ýòèì âîïðîñîì: íà õðåíà ãèìîð? Êóäà ïðîùå ïðîòðîÿíèòü äåñÿòîê ëàìåðêîâ è ìåñÿöàìè äîèòü èç íèõ ïàðîëè. À òóò: íàäî øåëë äîñòàòü, íàäî ôàéëèêè ñêîíôèãóðèòü, íàäî ïðèäóìàòü, ÷òî çàêà÷èâàòü... Íó òàê âîò, ìíå áû õîòåëîñü âñå-òàêè ïîïðîáîâàòü óëîìàòü òåáÿ íà äàííóþ íàïðÿãó. Ïðèêèäûâàåøü: äî òâîåãî äîìà äîïîëçëà âûäåëåíêà, çà êîòîðóþ òû åæåìåñÿ÷íî îòñòåãèâàåøü 10-20$ àáîíåíòñêîé ïëàòû, âêëþ÷àþùåé ìèíèìóì òðàôèêà è ñåðâèñîâ, à äîïîëíèòåëüíûå áàáêè íàáèâàåøü íåìåðåíûì òðàôèêîì. Èòîãî, ÷òîáû âäîâîëü íàêà÷àòüñÿ âàðåçêîé, ïðèõîäèòñÿ ðàññòàâàòüñÿ ñ çåëåíûìè ïðåçèäåíòàìè, íà êîòîðûõ ìîæíî áûëî áû òåõ æå øåëëîâ òó÷ó íàêóïèòü... Âèäàòü, òû çàáûë ïðî "ìèíèìóì ñåðâèñîâ": þçåðó ïîëàãàåòñÿ áåñïëàòíûé ïðîâàéäåðñêèé ÿùèê, çà âõîäÿùèå ïèñüìà íà êîòîðûé òû íè÷åãî íå ïëàòèøü. Åñòåñòâåííî: îáû÷íûé þçåðîê ïðîãîíÿåò ìàêñèìóì 5 ìåãîâ çà ìåñÿö. Íî òû-òî íå îáû÷íûé þçåð, à õàöêåð, è òåáå ïîëàãàåòñÿ ïðîãðóæàòü ïðîâà íå ìåãàìè, à ãèãàáàéòàìè. È âñå ýòî, ïðàêòè÷åñêè, íà õàëÿâó! ß óæ è íå íàïîìèíàþ ïðî âîñïåòûå â íà÷àëå ñòàòüè ñëóæáû ïî÷òû ñ áåñïëàòíûì äîçâîíîì.