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
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
Echela akwụkwọ ntuziaka Dante maka ịwụnye na nhazi. Ọ 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
Ọ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 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
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
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
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
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ụ
Anyị na-achọta ya ngwa ngwa 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