Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Lajme
  • Proxy server nga çdo kompjuter me çdo sistem. Krijo një server proxy

Proxy server nga çdo kompjuter me çdo sistem. Krijo një server proxy

Mirëdita miq, shumë prej jush po mendojnë se si të konfiguroni serverët tuaj proxy individual për rrjetet sociale, motorët e kërkimit ose për ndonjë qëllim tjetër. Shumë mund të jenë përpjekur të ngrenë përfaqësuesit e tyre, por rezultati ishte i pasuksesshëm, sot dua t'ju tregoj se si, duke përdorur shembullin e një prej shumë shërbimeve, mund të vendosni përfaqësues për përdorim personal, kostoja e të cilave do të ndryshojë nga 80 rubla, nëse mbledh të paktën 5 përfaqësues, dhe me çdo përfaqësues të ri, çmimi për 1 përfaqësues do të ulet vetëm. Pra, nëse mbledh 20 përfaqësues, çmimi do të jetë vetëm 58 rubla. Pra, le të fillojmë.

Regjistrimi i një serveri në shërbimin Gigspace dhe porositja e ip-së shtesë

Para së gjithash, ne duhet të marrim me qira një server në shërbimin Gigspace.ru, për këtë shkojmë në lidhjen >><< Нажимаем кнопку «Заказать» под VDS.

Pas kësaj, ne ridrejtohemi në faqen e porosisë, por meqenëse sistemi i tyre nuk është sjellë në mendje, duhet të ri-kalojmë në faqen: http://gigspace.ru/vds_msk.php dhe të zgjedhim një plan tarifor për këtë faqe.

Pasi të klikojmë, do të ridrejtohemi në faqen e regjistrimit në sistem si klient i ri. Zgjidhni llojin e klientit - "Klient i ri".

Ne plotësojmë formularin e regjistrimit, nuk do të demonstroj plotësimin e formularit, pasi ju duhet vetëm të vendosni të dhënat tuaja atje, mendoj se kushdo mund të përballojë plotësimin e formularit nëse kërkon temën e ngritjes së prokurave të tij.

Pas plotësimit, zgjidhni planin e parë tarifor, emrin e të cilit GiGv-1 M1 (230 RUB/muaj)

Më poshtë tregojmë se serveri do të jetë pa emër domaini dhe klikoni butonin "Next".

Më pas, zgjidhni periudhën e pagesës, unë paguaj gjithmonë për një muaj përdorimi, sepse ndonjëherë nuk ka nevojë të porosisni një prokurë për një periudhë më të gjatë, por nëse paguani për një periudhë më të gjatë, do të keni zbritje. Ne vendosim një shenjë përpara artikullit "IP shtesë (50 rubla / muaj)", tregoni numrin e IP-ve që na duhen, këto IP do të jenë serverët tanë proxy, unë tregoj numrin 5, pasi të dhënat ip do të jenë të mjaftueshme për mua tani mund të porosisni një sasi tjetër. Ne nuk kemi nevojë për një kopje rezervë. Tjetra, futni kodin promovues. nëse merret. Për abonentët e mi, unë jap një kod promovues për një zbritje prej 5%, por vetëm pas një kontakti personal me mua me postë: [email i mbrojtur] me rreshtin e subjektit PROMO KODI Gigspace. Pastaj klikoni në butonin "Next".

Në hapin e tretë të vendosjes së një porosie, shkruani në koment: " Diten e mire! Do të doja të përdorja ip-adresa shtesë si një përfaqësues për të punuar në rrjetet sociale"Epo, ose diçka e tillë. Nëse nuk shkruani se ip do të përdoret për trafikun proxy, atëherë do t'ju duhet të bëni gjeste shtesë për t'i konfiguruar ato

Pasi të shtypim butonin, ne ridrejtohemi në faqen për zgjedhjen e një mënyre pagese, gjithmonë preferoj të paguaj përmes WebMoney ose Yandex Money, kështu që zgjedh WebMoney. Dhe ju tashmë zgjidhni sipas gjykimit tuaj, QIWI, Yandex Money, WebMoney dhe pagesa duke përdorur Roboxchange (Robokassa) janë të disponueshme.

Më pas, kalojmë procedurën standarde të pagesës së faturës përmes sistemit të zgjedhur dhe presim rreth 10 minuta - 24 orë, gjithçka varet nga koha kur është porositur shërbimi. Në këtë drejtim, Gigspace është i ngadalshëm, por çmimet për shërbimet nuk kafshojnë. Sapo të krijohet serveri juaj virtual, do të merrni një njoftim me email për krijimin e serverit.

Vendosja e serverëve proxy duke përdorur terminalin stuko

Tani le të kalojmë te pjesa argëtuese - konfigurimi i serverëve proxy. Ne morëm një mesazh në postë për krijimin e suksesshëm të serverit, tani jemi të interesuar për të dhënat e hyrjes në server përmes protokollit SSH, i cili na erdhi me postë.

Dhe një program për lidhjen me serverin përmes protokollit SSH, i cili quhet Putty, mund ta shkarkoni nga lidhja e mëposhtme >><<

Pasi të keni shkarkuar arkivin me programin, ekstraktoni arkivin dhe ekzekutoni skedarin e quajtur "PUTTY.exe". Futni adresën IP në fushën "Host Name" dhe klikoni "Open".

Tani në dritaren e hyrjes futim hyrjen që erdhi në postën tuaj dhe fjalëkalimin, duhet të vendosni fjalëkalimin në Putty duke shtypur tastet Shift + Insert, kur futni fjalëkalimin, ai nuk do të shfaqet fare, mbani parasysh këtë , pasi të keni futur fjalëkalimin, shtypni "Enter".

Pas futjes së suksesshme të fjalëkalimit, do të shfaqet një rresht #

Nëse nuk shfaqet, rifusni fjalëkalimin duke shtypur Shift+Insert.

Tani duhet të zbulojmë adresat tona ip, për këtë shkojmë përsëri në postë dhe gjejmë përmbajtjen e mëposhtme në mesazh.

Tani, përkundrazi, duhet të shfaqet një listë e të gjitha adresave IP që keni porositur, nëse kjo listë nuk është aty, shkruani në biletë, ata ndonjëherë harrojnë të lidhin ip shtesë, megjithëse kjo ishte vetëm një herë gjatë punës me gigspace . Pasi të jetë lidhur ip-ja shtesë, lista do të shfaqet.

Meqenëse po lidh 5 ip shtesë, do të kem 1 ip kryesore në listë dhe 5 ip shtesë, d.m.th. ne do të mund të mbledhim 6 proxies në total.

Tani kthehemi përsëri në tastierën e stukoit, para së gjithash futemi në komandë ifconfig për të përcaktuar nëse adresat ip shtesë janë të lidhura me kartën e rrjetit të serverit. Nëse shohim pasi kemi futur komandën e pajisjes venet0:0, venet0:1, etj., atëherë hosti ka konfiguruar adresat e porositura ip të lidhura me kartën e rrjetit, nëse kjo nuk është aty, atëherë mund të lidheni manualisht duke përdorur komandën: ifconfig eth0:1 xxx.xxx.xxx.xxx 255.255.255.0 lart, ku xxx.xxx.xxx.xxx është një nga adresat tuaja ip, në mënyrë të ngjashme ne dërgojmë komanda për të gjitha ip-të e disponueshme, duke ndryshuar shifrën e fundit në eth0:1 në eth0:2, eth0:3, etj.

Pasi të jemi siguruar që adresat ip janë të lidhura me kartën e rrjetit, duhet të instalojmë depon e epel për instalim të mëtejshëm të softuerit 3 përfaqësues për të konfiguruar një server proxy, meqenëse këto hoste ofrojnë centos 5 OS, komanda e instalimit të depove do të jetë si më poshtë: rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm. Pas instalimit, sa vijon do të shfaqet në tastierë:

Tani instaloni softuerin për konfigurimin e proksimit të trafikut 3 proxy, për këtë ne ekzekutojmë komandën: yum instalo 3proxy -y. Ne presim që instalimi të përfundojë.

Instaloni një redaktues teksti të përshtatshëm nano, mund të përdorni atë standard, por unë preferoj redaktuesin nano. Ne ekzekutojmë komandën: yum install nano.

Le të bëjmë një kopje rezervë të konfigurimit 3proxy me komandën: mv /etc/3proxy.cfg /etc/3proxy.cfg.back.

Tani le të modifikojmë konfigurimin 3proxy, i cili do të jetë përgjegjës për punën e përfaqësuesve tanë. Pra, ne ekzekutojmë komandën: nano /etc/3proxy.cfg. Një skedar bosh do të hapet para nesh. Unë preferoj të konfiguroj një përfaqësues me autorizimin e hyrjes dhe fjalëkalimit, kështu që do të demonstroj se si të konfiguroj një përfaqësues me autorizim të hyrjes dhe fjalëkalimit. Futni rreshtat e mëposhtëm në fillim të skedarit duke shtypur Shift+Insert:

demon
auth fortë
emri i përdoruesit:CL:pass
skuqem
serveri 8.8.8.8
nscache 65536
ndërprerje 1 5 30 60 180 1800 15 60

dizajni auth fortëështë përgjegjës për autorizimin me hyrje dhe fjalëkalim, me përdorim të mëtejshëm të përfaqësuesit, emri i përdoruesit dhe kalimi janë identifikimi dhe fjalëkalimi me të cilin dëshironi që përfaqësuesi të jetë i disponueshëm. :CL: nuk ka nevojë të prekni!

Nëse dëshironi të konfiguroni autorizimin me IP, në vend të auth fortë ne shkruajmë: auth në mënyrë unike. Fshini linjën e përdoruesve… dhe shtoni adresat IP të besuara për përfaqësuesin duke shkruar rreshtat e mëposhtëm: lejoj*xxx.xxx.xxx.xxx. Ku xxx.xxx.xxx.xxx është një adresë IP e besuar. Ju gjithashtu mund të vendosni disa adresa ip dhe hyrje me fjalëkalime për përfaqësuesin.

Tani le të kalojmë në konfigurimin e vetë proxies, për ju kam përgatitur një skedar excel, të cilin mund ta shkarkoni nga >> linku<<, чтобы упростить работы с прописыванием прокси в конфиге. Http прокси прописываются следующим образом в конфиге:

përfaqësues -n -a -p8050 -i192.168.0.1 -e192.168.0.1

Aty ku mund të specifikoni ndonjë port, nga 1 në 65535, ju tashmë e përshkruani portin sipas gjykimit tuaj, për arsye sigurie ju këshilloj të përdorni vlera mbi 10000. 192.168.0.1 është një nga adresat tuaja IP të lidhura me server që do të përdorni si proxy.

Përfaqësuesit e çorapeve janë shkruar kështu:

çorape -p1000 -i192.168.0.1 -e192.168.0.1

Në mënyrë të ngjashme, ju vendosni portin tuaj, ip-ja juaj është gjithashtu e juaja.

Duke përdorur skedarin excel që keni shkarkuar më lart, mund të bëni shpejt ndërtimet e nevojshme për konfigurimin duke shkruar adresat tuaja ip në vend të xxx.xxx.xxx.xxx, sigurohuni që të zëvendësoni portat, dhe specifikoni hyrjet dhe fjalëkalimet për përfaqësuesin, kopjoni strukturat ekzistuese nga kolonat "http Result" dhe "socks result" dhe ngjitini ato në konfigurim.

Konfigurimi përfundimtar do të duket si ky:

Tani shtypni ctrl+x për të ruajtur konfigurimin dhe shtypni Y për të konfirmuar ruajtjen e skedarit dhe më pas shtypni Enter.

Kjo është e gjitha, konfigurimi ynë është gati, ne shkruajmë informacionin në skedarin e fillimit duke ekzekutuar komandën: chkconfig 3 proxy aktiv

Ne fillojmë 3proxy me komandën: fillimi i shërbimit 3 proxy

Ne kontrollojmë nëse proxies tona funksionojnë, unë përdor shfletuesin Mozilla Firefox për të kontrolluar, për këtë hapim Shfletuesin, shkoni te "Cilësimet" -\u003e "Advanced" -\u003e "Rrjeti" -\u003e "Konfiguro", zgjidhni "Manual" cilësimet e serverit proxy", shkruani një nga ip-të tanë dhe portin që keni regjistruar, aplikoni cilësimet. Tani le të përpiqemi të shkojmë në ndonjë sit. Kur shfaqet dritarja e autorizimit të përfaqësuesit, ju përgëzoj, keni konfiguruar gjithçka. Dritarja duhet të shfaqet diçka e tillë.

Tani mbyllni tastierën me komandën dalje ose thjesht në kryqin e dritares dhe ne jemi të kënaqur me proxies të konfiguruar, miq! 😉

konkluzioni

Sot ju tregova se si të vendosni serverët tuaj proxy për të punuar në mënyrë anonime në internet. Duhet të them menjëherë se ka shumë hoste përveç gigspace, por më pëlqyen këta hoste pikërisht sepse ofrojnë një çmim të arsyeshëm për ip shtesë dhe serverë që funksionojnë në mënyrë të qëndrueshme.

Nëse konfiguroni përfaqësuesit tuaj me hoste të tjerë, ky manual është pjesërisht i përshtatshëm për ju, nëse keni ndonjë pyetje me cilësimet, mund ta kontaktoni këtë postim në komente, mendoj se mund t'ju ndihmoj të zgjidhni pyetjet tuaja.

Mos harroni të abonoheni në blog dhe të shpërndani këtë postim në rrjetet sociale! Ndaloni së paguari ndërmjetësve, bëni prokurat tuaja për më pak! Dhe në treg, çmimet e proxy tani po thumbojnë, ju siguroj. 😉

Shumë përdorues që duan të shfletojnë internetin në mënyrë të sigurtë janë të etur të mësojnë se si të zbulojnë serverin e tyre proxy - adresën ip dhe portin. Si ta bëjmë atë dhe pse është e nevojshme? Rëndësia dhe jo parëndësia e pyetjes së ngritur shpjegohet me caktimin e një përfaqësuesi. Detyra e tij kryesore është të fshehë IP-në personale të përdoruesit duke e zëvendësuar atë me një adresë tjetër.

Më shpesh, ky shërbim është i kërkuar në fushën e SMM, ku duhet të identifikoheni nën llogari të ndryshme në rrjetet sociale nga një kompjuter. Kjo zvogëlon rrezikun e bllokimit të llogarive në zero dhe nuk ngjall dyshime nga ana e moderatorëve. Ndonjëherë ata përdorin. Për të ilustruar çështjen e ngritur, mbani mend rastet kur keni shkuar në një faqe të huaj me dëshirën për të parë një video ose për të përdorur shërbimet, por u shfaq një paralajmërim se shikimi ishte i kufizuar për rajonin tuaj. Situata të tilla lindin gjatë gjithë kohës, por për shkak të mungesës së njohurive në pyetjen se si të zbuloni serverin tuaj proxy dhe portin, këto probleme mund të duken të pazgjidhshme. Për më tepër, ai varfëron ndjeshëm aftësinë e përdoruesit për të marrë informacion të dobishëm që mund të merret me njohuritë e duhura.

Përfaqësuesit e dedikuar përdoren nga shumë njerëz. Qëllimet mund të jenë shumë të ndryshme: nga përdorimi individual dhe shikimi i burimeve të bllokuara të uebit, tek segmenti i korporatës, ku përdorimi i një numri të madh të proxies konsiderohet normë. Por, në të njëjtën kohë, jo të gjithë mund të gjejnë përgjigjen: si të zbuloni serverin proxy që aktualisht po përdoret. Le të përpiqemi të shqyrtojmë opsionet më efektive me të cilat mund të zbuloni lehtësisht të gjithë informacionin e nevojshëm.

Si të zbuloni adresën e serverit proxy - mënyra e parë

Mënyra e dytë

E thënë në mënyrë figurative, nuk është gjithmonë e nevojshme të “ngjitet mali” për të arritur në destinacionin e dëshiruar. Ndonjëherë ju duhet të jeni të zgjuar dhe të kaloni me takt "malin". Përgjigja, si të zbuloni adresën e përfaqësuesit, mund të merret në mënyrën më të thjeshtë. Gjithçka që ju nevojitet është të kontaktoni administratorin e sistemit që mirëmban rrjetin lokal. Ai do të ketë kompetencën të shikojë përfaqësuesin dhe ta transferojë atë tek ju. Vështirësia është se jo të gjithë mund të zbulojnë se si të kontaktojnë administratorin e sistemit. Për të zgjidhur këtë problem, ju rekomandojmë të kontaktoni njerëz më të ditur. Ata do t'ju tregojnë se ku të telefononi për të kontaktuar administratorin.

Mënyra e tretë

Në panelin e kontrollit të kompjuterit tuaj, gjeni dhe hapni artikullin "Lagja e rrjetit". Në të, klikoni "shfaq lidhjet e rrjetit" dhe më pas "lidhjet e rrjetit lokal". Klikoni me të djathtën mbi të dhe zgjidhni pronat. Në dritaren që hapet, duhet të gjeni protokollin e Internetit TPC\IP. Përsëri zgjedhim "properties". Nëse ka një shenjë pranë "merr automatikisht një adresë ip", atëherë nuk përfshihet asnjë përfaqësues i dedikuar, nëse ka numra (për shembull, 10.0.0.20), atëherë kjo do të jetë adresa e përfaqësuesit të dëshiruar.

Si të gjeni portin proxy

Përveç adresës dhe fjalëkalimit, shumë përdorues mund të jenë të interesuar në pyetjen se si të zbulojnë portën e përfaqësuesit. Ky është një tjetër parametër që përdoret kur punoni me . Si rregull, përdoren vlerat standarde për portin: 8080, 80, etj. Vetëm në raste të rralla vlera është e ndryshme. Adresa e portit mund të shihet në një shfletues duke ndjekur hapat e mësipërm. Vlera e tij futet pranë adresës ip. Porta e punës me të cilën lidhet realisht përfaqësuesi juaj duhet të përputhet me vlerën e deklaruar në cilësimet e sistemit ose të shfletuesit, përndryshe lidhja juaj e internetit nuk do të funksionojë.

Ata do të përshpejtojnë punën me softuerin SEO dhe rrjetet sociale.

Tani le të mësojmë se si mund të krijoni një server proxy HTTP. Një server proxy është një ndërmjetës midis përdoruesit dhe internetit. Le të themi se rrjeti juaj lokal ka një server që është i lidhur me internetin nga një kanal i dedikuar. Në mënyrë që të gjithë kompjuterët të kenë akses, ju duhet të instaloni një server ndërmjetës përmes të cilit kompjuterët lokalë do të hyjnë në rrjetin global.

Një server proxy mund të maskojë adresat IP dhe vetëm adresa e serverit do të jetë e dukshme në internet, sepse kërkesat do të bëhen në emër të tij. Përveç kësaj, serverët modernë mund të ruajnë informacionin në memorie dhe kështu të kursejnë trafikun në hyrje.

Në këtë kapitull, ne do të krijojmë një server proxy që do të maskojë adresën (të gjitha kërkesat do të bëhen në emër të serverit), por pa mundësinë e cachimit. Kështu, lidhja do të jetë transparente.

Pra, le të kalojmë në praktikë dhe të mësojmë se si funksionon gjithçka nga brenda. Së pari ju duhet të vendosni për teknologjinë e përdorur. Çfarë të zgjidhni - kyçet, pret nëpërmjet zgjedhjeve ose ngjarjeve të Windows? Në programin tonë, kur përdoruesi kërkon të shkarkojë një faqe, ne do të na duhet ta marrim atë faqe nga serveri dhe t'ia kalojmë përdoruesit. Kjo do të marrë shumë kohë dhe nëse përdorni ngjarje, përdoruesit e tjerë nuk do të mund të punojnë për momentin.

Për të zbatuar punën paralele, ne duhet të përdorim thread dhe të krijojmë shembullin tonë për secilën lidhje. Në pamje të parë, kjo duket e ndërlikuar, por tani do të shohim se gjithçka është shumë më e thjeshtë nga sa duket.

Tani le të kalojmë në zbatimin. Krijo një projekt të ri. Ne kemi nevojë për tre fusha hyrëse në formular:

Porti në të cilin serveri ynë do të funksionojë dhe do të presë për një lidhje nga klienti; porti i serverit proxy të jashtëm, nëse i yni duhet të ridrejtojë kërkesat në një server tjetër. Kështu, ne do të jemi në gjendje të ndërtojmë një zinxhir serverësh të ndryshëm proxy;

Adresa e përfaqësuesit të jashtëm.

Përveç kësaj, ju duhet një buton, duke shtypur të cilin do të hapet serveri proxy. Ne nuk do të parashtrojmë mundësinë e ndalimit, megjithëse ky operacion konsiston në ndalimin e thjeshtë të fillit të serverit.

Një shembull i formës kryesore të programit të ardhshëm është paraqitur në Fig. 5.9.

Oriz. 5.9. Forma e serverit proxy të ardhshëm

Ne do të vendosim ngarkimin e bibliotekës së rrjetit WinSock në ngjarjen OnCreate për formën kryesore:

procedura THTTPPproxyForm.FormCreate(Sender- TObject). var wData- WSADATA: filloni nëse WSAStartup(MAKEWORDd.l). wData)<>0 pastaj fillon MessageBox(0. "Nuk mund të ngarkohet WinSock". "Gabim". 0): dil:

fund: fund:

Duke klikuar butonin Start, duhet të nisni serverin proxy. Për ta bërë këtë, ne do të krijojmë një fije të veçantë, dhe në të do të presim një lidhje nga klienti, në mënyrë që të mos vonojmë punën e formës kryesore. Nuk do të ketë bravë në program.

Procedura THTTPPproxyForm.bnStartClick(Dërguesi: TObject). var st: TServerThread: start st:= TServerThread.Create(true). st iLocal Port:" StrToIntDef(edPort.Text. 8088): st.iExtProxyPort -= StrToIntDef(edExtProxyPort Text. 8080): st.sExtProxyAddr:= edExtProxyAddr.Text: st.Resum: fund:

Fillimi i serverit do të ketë nevojë për informacion se në cilin port të ekzekutohet dhe ku ndodhet serveri tjetër. Kjo është arsyeja pse ne e shkruajmë këtë informacion në variablat e serverit publik në mënyrë që ato të ruhen në nivel lokal. Nuk ka kuptim të hyni në formularin kryesor nga thread, sepse në të ardhmen mund të ekzekutoni dy serverë proxy në porte të ndryshme me pak ose aspak modifikim të kodit.

Tani le të shohim zbatimin e fillit të serverit. Për ta krijuar atë, ekzekutoni komandën e menusë File New Other (për Delphi 6 dhe versionin më të ulët, mjafton të zgjidhni File New). Do të shihni një kuti dialogu për të specifikuar elementin që do të krijohet. Zgjidhni Thread Object dhe klikoni OK. Duhet të shfaqet një kuti dialogu për futjen e emrit të temës. Futni TServerThread dhe klikoni OK.

Mund ta shihni kodin e plotë burimor (vetëm pa rutinat e njohura TestFuncError dhe TestWinSockError) në Listimin 5.10.

Listimi 5.10. Kodi i fillit TServerThread

Njësia ServerThreadUnit. ndërfaqja përdor Classes, winsock, windows; lloji TServerThread = class(TThread) private (Deklarata private) procedura e mbrojtur Ekzekutoni: anashkaloni: publik i Porta lokale. i ExtProxyPort:Integer; sExtProxyAddr:String: fund: zbatimi përdor ClientThreadUnit:

procedura TestWinSockError(S:String): start // Kodi për këtë procedurë është i njohur për ne, kështu që është shkurtuar për të kursyer hapësirë

funksioni TestFuncErrordErr:Integer: FuncEmri:String):Boolean; Fillim // Kodi për këtë funksion është i njohur për ne, kështu që ai është shkurtuar për të kursyer hapësirë

fundi; procedura TServerThread.Execute;

Listimi 5.10 (vazhdim) var sServerListen. stClientSocket: TSOCKET: local-addr-sockaddMn: ct: TCIientThread; begi n

// Krijo një prizë

SSserverListen:= fole(AF_INET. SOCK_STREAM, 0);

nëse SServerListen = INVALID_SOCKET atëherë filloni MessageBox(0. "Gabim në krijimin e folesë". "Gabim". 0): dil:

// Plotësimi i strukturës së adresës localaddr.sin_addr.s_addr:= htonl(INADDR_ANY): localaddr.sin_family:= AF_INET; localaddr.sin_port:= htonsdPort Local):

// Lidhni një prizë me një adresë lokale

Nëse TestFuncError(bind(sServerListen. localaddr. sizeof(localaddr)) "bind"), atëherë dilni:

// Filloni të dëgjoni

Nëse TestFuncError (dëgjo (sServerListen. 4), "Dëgjo") atëherë dil:

// Lidhjet e përpunimit të ciklit nga klienti

ndërsa e vërtetë do të fillojë // Prano lidhjen

StClientSocket:= prano(sServerListen, zero. zero): nëse StClientSocket = INVALID.S0CKET atëherë vazhdo: i

// Krijo një thread për të komunikuar me klientin ct:= TClientThread.Create(true): ct.stClient:" StClientSocket: ct iExtProxyPort:= iExtProxyPort: ct sExtProxyAddr:= ProxyAddt

fund: fund; fund.

Në pijetore! i c shtova tre variabla: i Local Port, iExtProxyPort i tipit Integer dhe sExtProxyAddr i tipit String. Ne i kemi përdorur tashmë këto variabla kur kemi parë kodin e krijimit të thread-it, këtu mund të shihni se si janë deklaruar.

Kodi kryesor i fillit të serverit ndodhet në procedurën Ekzekutimi. Së pari, krijohet një fole dhe fillon të dëgjojë lidhjet në portën e specifikuar nga përdoruesi.

Në një lak të pafundme while, pranohen lidhjet hyrëse. Nëse merret një fole e vlefshme, krijohet një fill tjetër i tipit TClientThread. Në këtë thread, do të ketë komunikim të drejtpërdrejtë midis klientit dhe serverit. Transmetimi do të veprojë si një ndërmjetës për klientin për të hyrë në faqet e internetit. Kodi për fillin TClientThread tregohet në Listimin 5-11.

Listimi 5.11. Një thread që ndërmjetëson midis klientit dhe ueb-it

Njësia ClientThreadUnit.

përdorimet e ndërfaqes

klasa, winsock. sysutils. windows: shkruani TClientThread = class(TThread) private (Deklarata private) procedura e mbrojtur Ekzekutoni: anashkaloni; publik iExtProxyPort: Integer; sExtProxyAddr: String: stClient: TSocket: fund:

funksioni i zbatimit (TClientThread) LookupName(emri: String): TInAddr; fillojë // Funksioni i zbulimit të emrit me të cilin jemi njohur

// Dërgo funksionin e vargut

Procedura SendStr(s: TSocket: str: String): start TempStr:= str+#13+#10: CopyMemory(@sRecvBuff. PCharCTempStr). Gjatësia (TempStr)); dërgo(s.sRecvBuff.Gjatësia(TempStr).0); fundi; procedura TClientThread.Ekzekutoni: var Buff: grup char: iPort: Integer: sRequest. sHost: String: server_addr: sockaddMn: vazhdim &

Listimi 5.11 (vazhdim) sock_server- TSocket: iMode. iSize:Numër i plotë-rfds:TFDSET. fillon ///////////////////////////////////////////////////////////////////////// //////////// /////////// RecvCstClient. bufe. 1024.0):

SKërkesë:= String (Buff).

// Nuk ka kokë nëse sRequest = "" atëherë filloni CIoseSocket(stCl i ent). dalje, fund:

////////////////////////////

// Përcaktoni adresën dhe portin e serverit

////////////////////////// sHost:= Kopjo (sRequest. PosCHost: ". sRequest). 255): Fshije(sHost. Pos (#13. sHost), 255); Fshij (sHost. 1, 6); iPort:= St rToIntDef (Kopjo (sHost. PosC:". sHost)+l. 255). 80): Fshij(sHost.PosC:". sHost).255):

// Nëse hosti nuk gjendet, atëherë një gabim

Nëse sHost = "" atëherë. start SendStr(stClient. "HTTP/1.0 400 Koka e pavlefshme është marrë nga shfletuesi"); CIoseSocket(stClient); dalje: fund;

// Nëse ka një përfaqësues të jashtëm, atëherë ridrejtojeni tek ai

Nëse sExtProxyAddr<>" pastaj filloni iPort:= iExtProxyPort; sHost:= SExtProxyAddr; fundi:

sock_server-:= fole(AF_INET. S0CK_STREAM. 0): // Po kerkoj nje server proxy

Server_addr.sin_addr.s_addr:= htonl(INADDR_ANY): server_addr sin_family:= AF_INET: server_addr.sin_port .= htons(iPort): server_addr.sin_addr:= LookupName(sHost); një

// Lidhu me serverin

Nëse lidhni(sock_server. server_addr. sizeof(server_addr)) = SOCKETJRROR atëherë filloni SendStr(stClient. "404 Host Not Found"); dalje; fundi; iMode:= 1: setsockopt (serveri_çorap. IPPR0T0_TCP. TCPJODELAY. @iMode. sizeof (numër i plotë)).

// Ridrejtoni kërkesën te serveri ose një tjetër "proxy" send(sock_server. buff, strlen(buff).0):

// Tani ne punojmë si ndërmjetës midis klientit dhe serverit. ( nëse (zgjidh (0. Orfds. zero. zero. ml)< 0) then exit; // Если пришел запрос от клиента. // то перенаправляем серверу if (FD_ISSET(stClient. rfds)) then begin iSize = recv(stClient. buff, sizeof(buff). 0); if iSize=-l then break; Send(sock_server. buff. iSize. 0); continue: end:

// Nëse të dhënat kanë ardhur nga serveri.

// pastaj ridrejto te klienti

Nëse (FD_ISSET(sock_server, rfds)) atëherë filloni iSize:= recv(sock_server, buff. sizeof(buff). 0):

// Serveri ka dërguar tashmë gjithçka nëse iSize = 0, atëherë dilni:

Listimi 5.11 (vazhdim) SencKstClient. bufe. iSize. 0): vazhdoni:

fundi; fund: CloseSocket(stClі ent): CloseSocket(sock_server): fund: fund.

Për serverin proxy, gjëja më interesante fshihet në TClientThread, dhe tani do ta shikojmë në detaje. E vetmja gjë që mungon në këtë listë është funksioni i njohur LookupName.

Pra, kur një klient lidhet me një server proxy, ai dërgon një kërkesë standarde HTTP për të marrë një skedar. Ne e lexojmë këtë kokë duke përdorur funksionin recv. Kreu duket si ky:

MERRNI http://VAAo.vr-onl1ne.rU/HTTP/l.0 Prano: image/gif. imazh/x-xbitmap. imazh/jpegs. */* Prano-Gjuha: ru Agjenti i Përdoruesit: Mozilla/4.0 (i përputhshëm: MSIE 6.0: Windows NT 5.2: .NET CLR 1.1.4322) Pritësi: www.vr-online.ru Proxy-Connection-Keep-Alive

Derisa të thellohemi në thelbin e kërkesës dhe komandave të përfshira këtu, gjëja kryesore për ne tani është linja pritës. Ai përmban adresën e serverit nga i cili dëshironi të merrni të dhëna dhe t'ia ktheni klientit. Në këtë rast, kjo është www.vr-onlin.ru. Adresa dihet, mbetet të zbulohet porti. Si parazgjedhje, serverët në internet funksionojnë në portin 80, por nëse jo, atëherë adresa e serverit në internet do të specifikohet si më poshtë: www.vr-online.ru:Port. Pas dy pikave, tregohet numri i portit, dhe ne duhet ta marrim parasysh këtë nuancë.

Pra, pasi kemi marrë kokën, fillojmë të zgjedhim emrin e hostit prej tij:

SHost:= Kopjo(sKërkesë, Pos("Host: ". sKërkesë). 255): Fshij(sHost. Pos(#13. sHost). 255); Fshij(sHost. 1. 6);

Tani ne ndajmë numrin e portit, nëse specifikohet:

IP:= StrToIntDef(Kopjo(sHost. PosC:". sHost)+l. 255). 80); Fshij(sHost. PosC:". sHost), 255):

Nëse porti nuk është specifikuar, funksioni StrToIntDef do të shkaktojë një gabim dhe do të kthejë vlerën e paracaktuar, e cila është 80.

Sigurohuni që të kontrolloni: nëse ndryshorja sHost pas analizimit të kokës është e barabartë me një varg bosh, atëherë adresa e serverit nuk është specifikuar ose specifikuar gabimisht. Në këtë rast, ne duhet të kthejmë një gabim. Kjo mund të bëhet si kjo:

SendStr(stClі ent. "HTTP/1.0 400 Koka e pavlefshme e marrë nga shfletuesi");

Pas dërgimit të gabimit, mbyllim prizën dhe dalim nga transmetimi.

Tani kontrollojmë: nëse specifikohet një "proxy" i jashtëm, atëherë ne zëvendësojmë adresën dhe portin e serverit me parametrat e serverit proxy të jashtëm. Në këtë rast, ne thjesht duhet të përcjellim kërkesën e marrë nga klienti në këtë server.

Në parim, nëse ekziston një proxy server i jashtëm, atëherë nuk kishte asnjë pikë në përcaktimin e adresës së serverit. Por unë e bëj gjithsesi dhe ju këshilloj, sepse në të ardhmen mund t'ju duhet të ridrejtoni. Për shembull, nëse një përdorues kërkon një faqe nga faqja www.sex.ru, atëherë serveri ynë proxy do ta zbulojë këtë dhe do të jetë në gjendje ta ridrejtojë kërkesën në një server tjetër. Për ta bërë këtë, mjafton të ndryshoni vlerën e ndryshores sHost dhe të korrigjoni pak kërkesën e ardhur nga klienti.

Pasi të kemi përcaktuar parametrat e nevojshëm, ne krijojmë një prizë të re që do të përdoret për të komunikuar me serverin e jashtëm (pavarësisht nëse është një server tjetër proxy ose vetë serveri në internet).

Pasi kemi krijuar një prizë të re dhe jemi lidhur me serverin, e vendosim menjëherë në modalitetin asinkron në këtë mënyrë:

iMode:= 1: setsockopt(sock_server.IPPROTOJCP.TCP_NODELAY.OiMode.sizeof(integer)):

Funksioni setsockopt në këtë rast është i ngjashëm në qëllim me folenë ioctl të diskutuar në kapitullin 4. Ai e vendos prizën në një mënyrë funksionimi më të shpejtë, i cili ju lejon të mos prisni dhe grumbulloni të dhëna, por t'i merrni dhe t'i dërgoni ato menjëherë. Kështu, ne minimizojmë vonesat dhe serveri ose klienti është i përfshirë në akumulim.

Pas transferimit të prizës në modalitetin e dëshiruar, ne ridrejtojmë kërkesën nga klienti në serverin e uebit (ose serverin tjetër proxy) dhe fillojmë një lak të pafund. Ky cikël do të jetë ndërmjetësi. Këtu, të dhënat priten nga klienti dhe serveri dhe i dërgohen njëri-tjetrit. Nëse kanë mbërritur të dhënat boshe, atëherë kjo do të thotë që lidhja është përfunduar dhe cikli është ndërprerë. Të gjitha prizat e hapura mbyllen kur procedura përfundon.

Siç mund ta shihni, një server proxy është vetëm një ndërmjetës që përcjell paketat midis klientit dhe serverit. Provoni të shtoni mundësinë për të parë atë që dërgohet midis klientit dhe serverit dhe do të shihni që serveri dërgon vetëm përmbajtjen e tekstit të dokumentit sipas kërkesës së klientit. Pas kësaj, shfletuesi analizon dokumentin e marrë dhe nëse gjen fotografi ose informacione të tjera shtesë (skedarët e zërit, video flash, etj.), Atëherë bëhet një kërkesë shtesë për marrjen e këtyre të dhënave. Kështu, shfletuesi merr vetëm të dhënat që i nevojiten dhe mund të kursejë trafikun.

Dua gjithashtu të tërheq vëmendjen tuaj për faktin se numrat e portave në kodin burimor janë vendosur si parazgjedhje në 8080. Kjo për faktin se rrjeti im është konfiguruar përmes një serveri proxy. Nëse përdorni DialUp, atëherë duhet të specifikoni linja boshe si portin e "proxy" të jashtëm dhe adresën.

Për të testuar shembullin, ekzekutoni programin dhe serverin tonë. Pastaj hapni Internet Explorer (ose një shfletues tjetër) dhe vendoseni që të përdorë një server proxy. Për ta bërë këtë, ekzekutoni komandën e menysë Tools Internet Options dhe në dialog boxin që shfaqet (Fig. 5.10), shkoni në skedën Connection.

Oriz. 5.10. Cilësimet e shfletuesit

Klikoni butonin Network Settings dhe para jush do të hapet një dialog i ri (Fig. 5.11).


Oriz. 5.11. Vendosja e një serveri proxy

Në zonën e serverit proxy, zgjidhni kutinë e kontrollit Përdor një server proxy dhe specifikoni adresën dhe portin. Nëse po ekzekutoni serverin në kompjuterin tuaj lokal, mund të përdorni 127.0.0.1, por unë rekomandoj që të përdorni një adresë reale që shembulli të funksionojë.

SHËNIM ---1 Kodi burimor për shembullin e diskutuar këtu ndodhet në CD-ROM në drejtorinë 50urse5\sp05\N"GTPRroxy.

Nëse keni nevojë për një përfaqësues, atëherë më poshtë do të gjeni, për mendimin tim, mënyrën më të mirë për të krijuar një përfaqësues. Për çfarë shërben një server proxy? Shumë e thjeshtë, këtu janë disa përgjigje të mundshme për këtë pyetje:

1. Imagjinoni sikur jeni ulur në një hotel apo kafene me WiFi falas. Ku është garancia që WiFi të mos vendoset nga mashtruesit që presin që një pinjoll të fillojë të transmetojë të dhënat e kartës së tij bankare përmes WiFi ose të fusë hyrjet dhe fjalëkalimet në faqet e tij personale. Këtu ka dy mënyra, ose të mos përdorni WiFi falas për punë dhe pazar, ose të përdorni një proxy përmes të cilit të dhënat do të transmetohen në formë të koduar.

2. Fshehni adresën tuaj të vërtetë IP. Ndonjëherë kjo është e nevojshme për të ruajtur anonimitetin.

3. Keni marrë një ndalim të motorit të kërkimit për shkak të kërkesave të shpeshta. Për shembull, nëse Yandex shpesh pyet nëse jeni robot apo njeri.

Ekzistojnë 2 opsione për të gjetur një server proxy: gjeni një shërbim (me pagesë ose falas) ose krijoni serverin tuaj proxy. Këtu nuk do të shqyrtojmë opsionin e parë, sepse. nuk ka asnjë garanci që një regjistër nuk është shkruar në server (probabiliteti i humbjes së të dhënave personale, të dhënave të kartës bankare, hyrjeve dhe fjalëkalimeve). Më poshtë do të shqyrtojmë opsionin e dytë: krijimin e serverit tuaj proxy.

1. Gjeni hosting me mbështetje SSH

Nëse jeni një webmaster, atëherë me siguri tashmë keni një host të aktivizuar me SSH. Nëse jo, atëherë kërkoni në internet për një host të lirë që mbështet SSH. Ka ofrues pritës që janë të gatshëm të ofrojnë hostin që na nevojitet për rreth 1 dollarë në muaj. Mund të gjeni gjithashtu pritje jashtë shtetit, por do të jetë pak më e shtrenjtë. Nëse kërkoni më mirë, mund të gjeni opsione falas, por mendoj se ato me pagesë do të funksionojnë më me besueshmëri.

2. Ekzekutoni programin PuTTY

Pasi të keni pritur me SSH, ju duhet PuTTY për të krijuar një server lokal proxy. Programin mund ta shkarkoni falas nga faqja zyrtare e programit: www.putty.org.

3. Vendosni programin PuTTY

Pas fillimit të programit, do të shihni një dritare me cilësime. Në fushën Host Name, futni adresën e domenit ose adresën IP të serverit tuaj. Në fushën Port, futni portin, zakonisht 22.

Tani shkoni te kategoria Connection->SSH->Tunnels. Këtu ju duhet të shtoni një port. Për ta bërë këtë, në fushën Burimi port, futni portin për serverin lokal të ardhshëm proxy, për shembull, 8888. Zgjidhni opsionin Dinamic dhe klikoni butonin Shto. Pas kësaj, porti do të shfaqet në fushën e porteve të përcjella - rreshti D8888.

Për të mos e bërë këtë procedurë të gjatë sa herë që filloni, duhet të ruani cilësimet aktuale. Për ta bërë këtë, kthehuni në kategorinë e Sesionit, vendosni një emër për cilësimet tuaja në fushën Sesionet e ruajtura, për shembull, "proxy myhost.ru" dhe klikoni butonin "Ruaj". Cilësimet tuaja më pas do të shfaqen në listën e mëposhtme. Tani, herën tjetër kur filloni programin, mund të zgjidhni cilësimet tuaja nga kjo listë dhe të klikoni në butonin Load.

4. Hapni një seancë

Pas konfigurimit të programit, mund të hapni një seancë. Kjo do të krijojë një server lokal proxy. Për ta bërë këtë, klikoni në butonin Hap.

Nëse jeni duke u lidhur me një server për herë të parë, atëherë PuTTY do t'ju njoftojë se nuk ka informacion për këtë server. Unë rekomandoj fuqimisht që të lidheni me serverin tuaj përmes një rrjeti të njohur të besueshëm për herë të parë, në këtë rast klikoni në butonin Po. Nëse e shihni këtë mesazh kur lidheni përmes një hotspot të panjohur falas, është mirë të mos vazhdoni lidhjen dhe të klikoni Cancel.



5. Proxy është gati!

Pasi të keni futur hyrjen dhe fjalëkalimin, informacioni për serverin do të shfaqet në ekran dhe përfaqësuesi juaj do të jetë i disponueshëm në 127.0.0.1:8888 ose localhost:8888. Në fund të punës, dritarja e zezë e programit PuTTY mund të mbyllet, duke rënë dakord me paralajmërimin.

6. Konfigurimi i shfletuesit dhe programeve të tjera

Për të përdorur serverin lokal proxy të krijuar në shfletues, duhet të konfiguroni lidhjen përmes serverit proxy SOCKS5 duke specifikuar cilësimet 127.0.0.1: 8888 ose localhost: 8888 . Programet e tjera janë konfiguruar në të njëjtën mënyrë. Le të marrim Internet Explorer 10 si shembull.

Zgjidhni "Opsionet e Internetit" nga menyja.


Në dritaren që shfaqet, zgjidhni skedën "Connections" dhe klikoni në butonin "Cilësimet e rrjetit" në të.

Në dritaren "Konfiguro cilësimet e LAN", kontrolloni kutinë "Përdor një server proxy..." (në në të ardhmen, për të aktivizuar dhe çaktivizuar shpejt përfaqësuesin, thjesht mund të zgjidhni ose të vendosni këtë kuti) dhe klikoni në butonin "Avanced".

Në dritaren "Cilësimet e përfaqësuesit", specifikoni vetëm artikullin 4. Pastroni pjesën tjetër të fushave në mënyrë që shfletuesi të mos ngatërrohet.

Tani mbyllni të gjitha dritaret duke klikuar në butonat "OK". Shfletuesi juaj është gati për të punuar përmes një përfaqësuesi.

7. Verifikimi

Për të kontrolluar dhe për t'u siguruar që vërtet keni akses në internet përmes serverit, shkoni në shfletuesin tuaj në faqen e një prej shërbimeve që përcaktojnë adresën tuaj IP. Për shembull, internet.yandex.ru ose një shërbim më i detajuar 2IP. Krahasoni adresën IP me serverin proxy të çaktivizuar dhe të aktivizuar.

Keni nevojë për një përfaqësues? Ku ta merrni, shpesh lind një nevojë e tillë. Përdoruesit e internetit shpesh e vërejnë këtë në punën e tyre të përditshme. Pse keni nevojë të fshehni adresën IP:

Ruajtja e anonimitetit tuaj. (Mund të jetë i dobishëm nëse përdorni internetin për sektorë të caktuar biznesi).

Duke analizuar motorin e kërkimit, ju keni një ndalim. Për shembull, "A jeni një robot, një pyetje e shpeshtë e motorit të kërkimit Yandex?". Ose Rapidshara.com ndërhyn në përdorimin e lehtë të shërbimeve të saj.

Këtu janë disa opsione për të gjetur një server proxy (çorape): bëni një blerje, analizoni vetë serverin ose krijoni vetë. 2 opsionet e para nuk janë veçanërisht të përshtatshme, sepse. kur blejmë një përfaqësues, ne nuk e dimë nëse hyrja është e shkruar (ju gjithashtu mund të humbni të dhënat tuaja personale, icq ose postën).

Proxies që janë në domenin publik - publik, zakonisht qëndrojnë jo më shumë se një ditë. Kështu që unë mendoj se opsioni 3 është më i preferueshëm, ose më mirë, ne thjesht do të krijojmë serverin tonë dhe është falas. Për të përfunduar këtë detyrë, duhet të ndiqni disa hapa të thjeshtë.

1) Ne hapim një motor kërkimi që është i përshtatshëm për ju dhe kërkojmë një pritje me mbështetje ssh - jo e shtrenjtë. Në segmentin rus, mund të gjeni lehtësisht rreth një duzinë hoste që do të shesin hosting me mbështetje ssh për vetëm 1 dollarë. Një adresë IP e huaj do të kushtojë më shumë se 5 dollarë në muaj. Por nëse keni nevojë për një falas, atëherë ka shumë hoste që do t'ju ofrojnë një mundësi testimi falas. Ju vetëm duhet të kërkoni mirë.

2) Si rezultat, ju keni një llogari me ssh, ndërsa ne e harrojmë atë. Për hapin tjetër, na duhet disa softuer për të punuar me ssh. Nëse keni përdorur ndonjëherë vijën e komandës në sistemet nix, ju dini për stuko, por nëse nuk e keni takuar, atëherë nuk është e frikshme, thjesht shkarkoni programin.

3) Ekzekutoni stuko dhe konfiguroni për serverin tonë: Fusni adresën IP të serverit ose domenit tuaj në HostName. Fusha Port është zakonisht 21, e cila është e paracaktuar për ssh. Në skedën Connection -> Ssh -> Tunelet, (Shto port të ri të përcjellë) - duhet të shtoni një port të ri (. Porta e burimit, zgjidhni portin që do të përdorë proxy në kompjuterin tonë. Duhet të zgjidhet Dynamic dhe klikoni në Si rezultat, në Portin e Përcjellur duhet të shihni një hyrje D81.

4) Ne po kërkojmë dhe klikojmë në butonin e hapur. Në dritaren e zezë, së pari vendosni emrin tuaj të përdoruesit, pastaj, natyrisht, fjalëkalimin (nëse asgjë nuk shfaqet gjatë procesit të futjes së fjalëkalimit, atëherë kjo është normale).

5) Epo, në parim, është gati - përfaqësuesi në 127.0.0.1:81 është i yti. Ju mund të korrni frytet e punës suaj. Për më tepër, metoda, nëse jo në të gjitha rastet është falas, atëherë të paktën gjithmonë ekonomike.

Dhe një gjë tjetër - sapo të hapni një seancë ssh, në cilësimet e proxy të shfletuesit, duhet të futni localhost (127.0.0.1) dhe portin dhe jo në HTTP-Proxy, përkatësisht në SOCKS5.

Artikujt kryesorë të lidhur