Adventures si na-acha anụnụ anụnụ

Adventures si na-acha anụnụ anụnụ

Otu Spotify nwere ike isi nyere gị aka ịmụ daemons, RFC, netwọkụ ma kwalite isi mmalite mepere emepe. Ma ọ bụ ihe ga - eme ma ọ bụrụ na ịnweghị ike ịkwụ ụgwọ, mana ịchọrọ n'ezie ụfọdụ ezigbo ego.

Начало

N'ụbọchị nke atọ, a chọpụtara na Spotify na-egosipụta mgbasa ozi dabere na obodo nke adreesị IP. A chọpụtakwara na ná mba ụfọdụ, a naghị ebubata mgbasa ozi ma ọlị. Dị ka ihe atụ, na Republic of Belarus. Ma mgbe ahụ, a hapụtara atụmatụ "mara mma" iji gbanyụọ mgbasa ozi na akaụntụ na-abụghị nke adịchaghị.

Obere maka Spotify

N'ikwu okwu n'ozuzu, Spotify nwere amụma iju. Nwanne anyi ga-agbagọ nke ọma ka o wee zụta premium: gbanwee ọnọdụ na profaịlụ ya gaa mba ofesi, chọọ kaadị onyinye kwesịrị ekwesị nke enwere ike ịkwụ naanị PayPal, nke na-eme ihe dị egwu n'oge na-adịbeghị anya ma chọọ ụyọkọ akwụkwọ. N'ozuzu, ọ bụkwa ihe egwuregwu, ma nke usoro dị iche. Ọ bụ ezie na ọtụtụ ndị na-eme nke a n'ihi nsụgharị mkpanaka, enweghị m mmasị na ya. Ya mere, ihe niile dị n'okpuru ga-enyere aka naanị n'ihe gbasara ụdị desktọpụ. Ọzọkwa, a gaghị enwe mgbasawanye nke ọrụ. Naanị bepụ ụfọdụ ndị agbakwunyere.

Gịnị mere o ji gbagwojuru anya?

M chere otú ahụ mgbe ị na-edebanye aha socks-proxy data na Spotify config. Nsogbu a tụgharịrị bụrụ na nyocha na sọks site na iji nbanye na paswọọdụ anaghị arụ ọrụ. Na mgbakwunye, ndị mmepe na-eme ihe mgbe niile n'akụkụ proxy: ma ọ bụ na-ahapụ ya, machibido ya, ma ọ bụ mebie ya, nke na-ebute mkparịta ụka niile na saịtị.

E kpebiri na ị gaghị adabere na ọrụ ndị na-adịghị akwụsi ike na ịchọta ihe a pụrụ ịdabere na ya ma na-adọrọ mmasị karị.

Ebe a onye na-agụ ga-ajụ: gịnị kpatara ị ga-ewere ssh jiri igodo -D na nke ahụ bụ njedebe ya? Na, n'ozuzu, ọ ga-abụ eziokwu. Ma, nke mbụ, nke a ka kwesịrị ka mmụọ ọjọọ mee ya ma mee enyi na autossh, ka ị ghara iche echiche banyere njikọ ndị adọwara adọwa. Na nke abụọ: ọ dị oke mfe ma na-agwụ ike.

Ka ewere

Dị ka ọ dị na mbụ, ka anyị si n'aka ekpe gaa n'aka nri, n'elu ruo na ala ma kọwaa ihe niile dị anyị mkpa iji mejuputa echiche anyị "dị mfe".

Mbụ ị chọrọ proxy

Ma enwere otutu uzo ozo n'otu oge:

  • ị nwere ike ịga were were na listi proxy mepere emepe. Dị ọnụ ala (ma ọ bụ kama maka ihe ọ bụla), mana enweghị ntụkwasị obi na ndụ nke proxies dị otú ahụ na-abụkarị efu. Ya mere, ọ ga-adị mkpa ịchọta / dee a parser maka ndepụta proxy, nyochaa ha site na ụdị na obodo a chọrọ, na ajụjụ nke dochie proxy achọtara na Spotify ka na-emeghe (nke ọma, ikekwe site na ya. HTTP_PROXY nyefee ma mepụta ihe mkpuchi omenala maka ọnụọgụ abụọ ka ezigaghị okporo ụzọ ndị ọzọ ebe ahụ).
  • Ị nwere ike ịzụta proxy yiri ya wee zọpụta onwe gị n'ọtụtụ nsogbu ndị akọwara n'elu. Ma na ọnụahịa nke proxy, ị nwere ike ịzụta ego ozugbo na Spotify, nke a abụghịkwa uru maka ọrụ mbụ ahụ.
  • Welie nke gị. Dị ka ị chere, nke a bụ nhọrọ anyị.

Naanị na ohere ọ nwere ike pụta na ị nwere enyi na ihe nkesa na Republic of Belarus ma ọ bụ obere obodo ọzọ. Ịkwesịrị iji nke a wee tụgharịa proxy achọrọ na ya. Ndị ọkachamara pụrụ iche nwere ike inwe afọ ojuju na enyi nwere onye rawụta DD-WRT ma ọ bụ ngwanro yiri ya. Ma n'ebe ahụ nke ya ebube uwa na n'ụzọ doro anya na ụwa a adabaghị n'ime usoro nke akụkọ a.

Yabụ, nhọrọ anyị: Squid - ọ bụghị ihe na-akpali akpali, achọghịkwa m proxy HTTP, enweelarị ọtụtụ n'ime ụkpụrụ a gburugburu. Na mpaghara SOCKS ọ nweghị ihe ezi uche dị na ya ma e wezụga Dante ebubatabeghị. Ya mere, ka anyị were ya.

Echela akwụkwọ ntuziaka Dante maka ịwụnye na nhazi. Ọ naanị googling na ọ bụghị nke akpan akpan mmasị. Na nhazi kacha nta ịkwesịrị ịtụba ụdị niile client pass, socks pass, debanye aha n'ụzọ ziri ezi ma echefula ịgbakwunye socksmethod: username. N'ụdị a, maka njirimara, a ga-ewepụ akara ngosi akara n'aka ndị ọrụ sistemụ. Na akụkụ gbasara nchekwa: igbochi ịnweta localhost, ịmachi ndị ọrụ, wdg - nke a bụ naanị onye ọ bụla, dabere na paranoia nkeonwe.

Nyefee proxy chere netwọk ihu

Egwuregwu ahụ dị n'omume abụọ.

Mee otu

Anyị ahaziela proxy, ugbu a anyị kwesịrị ịnweta ya na webụsaịtị ụwa. Ọ bụrụ na ị nwere igwe nwere IP na-acha ọcha na obodo a chọrọ, mgbe ahụ ị nwere ike ịwụpụ ebe a n'enweghị nsogbu. Anyị enweghị otu (anyị, dị ka ekwuru n'elu, a na-akwado ya n'ụlọ ndị enyi) na IP ọcha kacha nso dị na Germany, ya mere anyị ga-amụ netwọk.

Yabụ ee, onye na-agụ nke ọma ga-ajụkwa ọzọ: gịnị kpatara na ị naghị ewere ọrụ dị ugbu a ngbo ma ọ bụ ihe yiri ya? Ọ ga-abụkwa eziokwu ọzọ. Ma nke a bụ ọrụ, ọ dị mkpa ọzọ ka mmụọ ọjọọ, ọ nwekwara ike na-eri ego na n'ozuzu ọ bụghị egwuregwu. Ya mere, anyị ga-emepụta ịnyịnya ígwè site na ihe mkpofu.

Ọrụ: enwere onye nnọchi anya ebe dị anya n'azụ NAT, ịkwesịrị ịkwanye ya n'otu ọdụ ụgbọ mmiri nke VPS nwere IP na-acha ọcha ma dị na nsọtụ ụwa.

Ọ bụ ihe ezi uche dị na ya iche na enwere ike idozi nke a ma ọ bụ site na mbugharị ọdụ ụgbọ mmiri (nke a na-emejuputa ya site na nke a kpọtụrụ aha n'elu. ssh), ma ọ bụ site na ijikọ ngwaike na netwọk mebere site na VPN. NA ssh anyị maara otú e si arụ ọrụ, autossh Ọ na-agwụ ike iji, yabụ ka anyị were OpenVPN.

DigitalOcean nwere ọmarịcha manul n'okwu a. Enweghị m ihe m ga-agbakwunye na ya. Enwere ike ijikọ ya na ndị ahịa OpenVPN n'ụzọ dị mfe systemd. Naanị tinye ya (config) na /etc/openvpn/client/ ma echefukwala ịgbanwe ndọtị ka ọ bụrụ .conf. Mgbe nke ahụ gasịrị, dọrọ ọrụ ahụ [email protected]echefula imere ya ya enable na-aṅụrịkwa ọṅụ na ihe niile fepụrụ.

N'ezie, anyị kwesịrị gbanyụọ ọ bụla redirection nke okporo ụzọ na ọhụrụ emepụtara VPN, n'ihi na anyị achọghị ibelata ọsọ na igwe ahịa site na-agafe okporo ụzọ site na ọkara a bọl.

Ee, anyị kwesịrị ịdebanye aha adreesị IP static na sava VPN maka onye ahịa anyị. Nke a ga-adị mkpa ntakịrị oge na akụkọ. Iji mee nke a, ị ga-enyere aka ifconfig-pool-persist, dezie ipp.txt, gụnyere na OpenVPN wee mee ka client-config-dir, gbakwunyere dezie nhazi nke onye ahịa chọrọ site na ịgbakwunye ifconfig-push ya na nkpuchi ziri ezi yana adreesị IP achọrọ.

Mee nke abụọ

Ugbu a, anyị nwere igwe na "netwọk" na-eche ihu na Ịntanetị ma nwee ike iji ya mee ihe maka ịchọ ọdịmma onwe onye nanị. Ya bụ, redirect akụkụ nke okporo ụzọ site na ya.

Ya mere, ọrụ ọhụrụ: ịkwesịrị ịgbanyụ okporo ụzọ na-abata n'otu n'ime ọdụ ụgbọ mmiri VPS nwere IP na-acha ọcha ka okporo ụzọ a na-aga na netwọk mmekọrịta ọhụrụ ejikọrọ na nzaghachi nwere ike ịlaghachi n'ebe ahụ.

Ngwọta: n'ezie iptables! Olee mgbe ọzọ ị ga-enwe ohere magburu onwe ya iso ya na-eme ihe?

Enwere ike ịchọta nhazi a chọrọ ngwa ngwa, n'ime awa atọ, otu narị okwu iyi egwu na ntakịrị irighiri akwara, n'ihi na netwọk nbibi bụ usoro a kapịrị ọnụ.

Nke mbụ, ịkwesịrị ịmegharị ntụgharị okporo ụzọ na kernel. A na-akpọ ihe a ipv4.ip_forward ma enyere ya aka dịtụ iche dabere na OS na njikwa netwọkụ.

Nke abuo, ịkwesịrị ịhọrọ ọdụ ụgbọ mmiri na VPS wee kechie okporo ụzọ niile na-aga ya n'ime subnet mebere. Enwere ike ime nke a, dịka ọmụmaatụ, dịka nke a:

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to-destination 10.8.0.2:8080

N'ebe a, anyị na-emegharị okporo ụzọ TCP niile na-abịa n'ọdụ ụgbọ mmiri 8080 nke mpụga interface na igwe nwere IP 10.8.0.2 na otu ọdụ ụgbọ mmiri 8080.

Maka ndị chọrọ nkọwa ruru unyi nke ọrụ ahụ netfilter, iptables na routing n'ozuzu, ọ dị nnọọ mkpa na-atụgharị uche ma ọ bụ .

Yabụ, ugbu a ngwugwu anyị na-efega na subnet mebere na… ha na-anọ ebe ahụ. Kpọmkwem, nzaghachi sitere na proxy socks na-efeghachi azụ site na ndabara ọnụ ụzọ igwe na Dante na onye nnata na-adaba ya, n'ihi na na netwọk ọ bụghị omenala iziga arịrịọ otu IP na-enweta nzaghachi site ọzọ. Ya mere, anyị kwesịrị ịnọgide na conjure.

Yabụ, ugbu a ịkwesịrị ịtụgharị ngwugwu niile site na proxy laghachi na subnet mebere gaa na VPS nwere IP ọcha. N'ebe a, ọnọdụ ahụ dị ntakịrị njọ, n'ihi na ọ bụ naanị iptables anyị agaghị ezuru, n'ihi na ọ bụrụ na anyị edozi adreesị ebe a na-aga tupu anyị agawa (PREROUTING), mgbe ahụ ngwugwu anyị agaghị efe na Ịntanetị, ma ọ bụrụ na anyị edozighị ya, ngwugwu ahụ ga-aga default gateway. Ya mere, ịkwesịrị ime ihe ndị a: cheta agbụ mangle, ka akara ngwugwu site na iptables ma kechie ha na tebụl na-ebugharị omenala nke ga-eziga ha ebe ha ga-aga.

Ekwughi ekwu bụ emeghị eme:

iptables -t mangle -A OUTPUT -p tcp --sport 8080 -j MARK --set-mark 0x80
ip rule add fwmark 0x80 table 80
ip route add default via 10.8.0.1 dev tun0 table 80

Anyị na-ewepụ okporo ụzọ na-apụ apụ, kaa akara ihe ọ bụla na-efe efe site n'ọdụ ụgbọ mmiri nke proxy nọ ọdụ (8080 n'ọnọdụ anyị), redirect trafic niile akara na tebụl ntụgharị na nọmba 80 (n'ozuzu, ọnụ ọgụgụ ahụ adabereghị na ihe ọ bụla, naanị anyị chọrọ). to) ma gbakwunye otu iwu, dịka nke ngwugwu niile etinyere na tebụl a na-efega na subnet VPN.

Nnukwu! Ugbu a ngwugwu na-efeghachi azụ na VPS ... wee nwụọ n'ebe ahụ. N'ihi na VPS amaghị ihe ha ga-eme ha. Ya mere, ọ bụrụ na ị naghị enye nsogbu, ị nwere ike ịmegharị okporo ụzọ niile na-esi na subnet mebere laghachi na ịntanetị:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source 172.42.1.10

N'ebe a, ihe niile na-abịa site na subnet 10.8.0.0 na ihe nkpuchi nke 255.255.255.000 na-ekpuchi ya na isi-NAT wee fega na interface ndabara, nke na-atụgharị na Ịntanetị. Ọ dị mkpa ịmara na ihe a ga-arụ ọrụ naanị ma ọ bụrụ na anyị na-ebugharị ọdụ ụgbọ mmiri n'ụzọ doro anya, ya bụ, ọdụ ụgbọ mmiri na-abata na VPS dabara n'ọdụ ụgbọ mmiri nke proxy anyị. Ma ọ bụghị ya, ị ga-ata ahụhụ ntakịrị.

Ebe ugbu a ihe niile kwesịrị ịmalite ịrụ ọrụ. Ma dị nnọọ obere foduru: echefula ijide n'aka na ihe niile configs iptables и route agaghị n'ihu ma malitegharịa. Maka iptables enwere faịlụ pụrụ iche dịka /etc/iptables/rules.v4(n'ihe banyere Ubuntu), mana maka ụzọ ihe niile dị ntakịrị mgbagwoju anya. M tinyere ha n'ime up/down Ederede OpenVPN, n'agbanyeghị echere m na a gaara eme ha nke ọma.

Kechie okporo ụzọ site na ngwa na proxy

Yabụ, anyị nwere proxy nwere nyocha na obodo achọrọ, nke a na-enweta site na adreesị IP ọcha. Naanị ihe fọdụrụ bụ iji ya na redirect okporo ụzọ si Spotify n'ebe ahụ. Ma e nwere a nuance, dị ka e kwuru n'elu, nbanye-paswọọdụ maka proxy na Spotify anaghị arụ ọrụ, ya mere, anyị ga-achọ ka esi na gburugburu ya.

Iji malite, ka anyị cheta banyere proxy. Ezigbo ihe, mana ọ na-efu ihe dị ka starship ($ 40). Site n'ego a, anyị nwere ike zụta premium ọzọ wee jiri ya mee ya. Ya mere, anyị ga-achọ ọzọ free na-emeghe analogues na Mac (ee, anyị chọrọ ige egwu na Mac). Ka anyị chọpụta otu ngwa ọrụ: proximac. Na anyị ga-eji obi ụtọ gaa tuo ya.

Mana ọ joyụ ahụ ga-adịte aka, n'ihi na ọ na-apụta na ịkwesịrị ịme ka ọnọdụ debug na mgbakwunye kernel omenala na MacOS, depụta nhazi dị mfe ma ghọta na ngwaọrụ a nwere otu nsogbu ahụ dị ka Spotify: ọ nweghị ike ịgafe nyocha site na iji . nbanye-paswọọdụ na sọks-proxy.

N'ebe dị nso ebe a bụ oge ịwụpụ na ịzụta ego ... ma mba! Ka anyị gbalịa ịrịọ ka edozi ya, ọ bụ ebe mepere emepe! Ka anyị mee tiketi. Na nzaghachi anyị na-enweta akụkọ na-agbawa obi banyere otu onye na-elekọta ya na-enwekwaghị MacBook na hel na ya, ọ bụghị ndozi.

Anyị ga-ewe iwe ọzọ. Ma mgbe ahụ, anyị ga-echeta ntorobịa anyị na C, gbanye ọnọdụ debug na Dante, gwuo ọtụtụ narị kilobytes nke osisi, gaa na MMA 1927 maka ozi gbasara protocol SOCKS5, ka anyị leba anya na Xcode wee chọta nsogbu ahụ. O zuru ezu imezi otu agwa na ndepụta koodu usoro nke onye ahịa na-enye maka nyocha na ihe niile na-amalite ịrụ ọrụ dị ka elekere. Anyị na-aṅụrị ọṅụ, anyị na-anakọta ọnụọgụ abụọ ntọhapụ, anyị na-eme sere arịrịọ anyị wee banye na ọdịda anyanwụ wee gaa n'akụkụ nke ọzọ.

Megharịa ya

Ozugbo Proximac na-arụ ọrụ, ọ kwesịrị ka mmụọ ọjọọ na-echefu ya. Enwere otu usoro mmalite zuru oke nke dabara maka nke a, nke dị na MacOS, ya bụ malite.

Anyị na-achọta ya ngwa ngwa akwụkwọ ntuziaka ma anyị ghọtara na nke a abụghị ma ọlị systemd na ebe a ọ fọrọ nke nta ka scoop na xml. Ọ nweghị ọmarịcha configs maka gị, ọ dịghị iwu dị ka status, restart, daemon-reload. Naanị ụdị hardcore start-stop, list-grep, unload-load na ọtụtụ ndị ọzọ oddities. Na-emeri ihe a niile anyị na-ede plist, nbudata. Adịghị arụ ọrụ. Anyị na-amụ ụzọ nke debugging ndị mmụọ ọjọọ, ihichapụ ya, ghọta ihe dị ENV даже PATH anyị enyeghị nke nkịtị, anyị na-arụ ụka, anyị na-ebute ya (gbakwunyere /sbin и /usr/local/bin) na n'ikpeazụ anyị nwere obi ụtọ na autostart na arụ ọrụ kwụsiri ike.

Ikuku ume

Gịnị si na ya pụta? Otu izu nke njem njem, ụlọ ezumike na-egbu ikpere n'ala site na ọrụ ndị dị n'obi ma na-eme ihe achọrọ na ya. Obere ihe ọmụma na mpaghara teknụzụ na-enyo enyo, ntakịrị isi mmalite na ịmụmụ ọnụ ọchị na ihu gị site na echiche “Emere m ya!”

PS: nke a abụghị oku a boycott nke capitalists, maka ịzọpụta na ọkụ ma ọ bụ maka ngụkọta aghụghọ, ma dị nnọọ ihe na-egosi na ohere nke nnyocha na mmepe ebe, n'ozuzu, ị na-adịghị atụ anya ha.

isi: www.habr.com

Tinye a comment