Spotify ඔබට ඩීමන්, RFC, ජාල අධ්යයනය කිරීමට සහ විවෘත මූලාශ්ර ප්රවර්ධනය කිරීමට උදවු කරන්නේ කෙසේද? නැතහොත් ඔබට ගෙවීමට නොහැකි නම් කුමක් සිදුවේද, නමුත් ඔබට සැබවින්ම වාරික හොඳ දේවල් අවශ්ය වේ.
නිවස
තුන්වන දිනයේදී, Spotify විසින් IP ලිපිනයේ රට අනුව දැන්වීම් ප්රදර්ශනය කරන බව නිරීක්ෂණය විය. ඇතැම් රටවල වෙළඳ දැන්වීම් කිසිසේත්ම ආනයනය කර නොමැති බවද මෙහිදී සටහන් විය. උදාහරණයක් ලෙස, බෙලාරුස් ජනරජයේ. ඉන්පසු වාරික නොවන ගිණුමක වෙළඳ ප්රචාරණය අක්රිය කිරීමට "දීප්තිමත්" සැලැස්මක් සකස් කරන ලදී.
Spotify ගැන ටිකක්
පොදුවේ ගත් කල, Spotify සතුව අමුතු ප්රතිපත්තියක් ඇත. වාරිකයක් මිලට ගැනීමට අපේ සහෝදරයාට හොඳටම ඇඹරීමට සිදුවේ: ඔහුගේ ප්රොෆයිලයේ ස්ථානය විදේශයකට වෙනස් කරන්න, මෑතක සිට අමුතු ලෙස ක්රියා කළ සහ ලේඛන සමූහයක් අවශ්ය PayPal සමඟ පමණක් ගෙවිය හැකි සුදුසු තෑගි කාඩ්පතක් සොයන්න. පොදුවේ ගත් කල, එය ද වික්රමයකි, නමුත් වෙනස් අනුපිළිවෙලකි. බොහෝ අය ජංගම අනුවාදය සඳහා මෙය කළත්, මම ඒ ගැන උනන්දු නොවෙමි. එබැවින්, පහත දැක්වෙන සියල්ල ඩෙස්ක්ටොප් අනුවාදයේ දී පමණක් උපකාර වනු ඇත. එපමණක් නොව, කාර්යයන් පුළුල් කිරීමක් සිදු නොවනු ඇත. අමතර ඒවා කිහිපයක් කපා දමන්න.
එය එතරම් සංකීර්ණ වන්නේ ඇයි?
Spotify config එකේ socks-proxy දත්ත ලියාපදිංචි කිරීමේදී මම එසේ සිතුවෙමි. ගැටලුව වූයේ පිවිසුම් සහ මුරපදය භාවිතයෙන් ඔවුන්ගේ මේස් සත්යාපනය ක්රියා නොකිරීමයි. ඊට අමතරව, සංවර්ධකයින් නිතිපතා ප්රොක්සිය වටා යමක් කරයි: එක්කෝ එයට ඉඩ දීම, පසුව එය තහනම් කිරීම හෝ එය බිඳ දැමීම, එය වෙබ් අඩවියෙන් පිටත සම්පූර්ණ සාකච්ඡා පැනල ඇති කරයි.
අස්ථායී කාර්යයන් මත රඳා නොසිටීමට සහ වඩාත් විශ්වාසදායක හා රසවත් යමක් සොයා ගැනීමට තීරණය විය.
මෙහි කොතැනක හෝ පාඨකයා ඇසිය යුතුය: ඇයි නොගන්නේ ssh
යතුරක් සමඟ -D
සහ එය එහි අවසානයද? තවද, පොදුවේ, ඔහු නිවැරදි වනු ඇත. එහෙත්, පළමුව, මෙය තවමත් භූතවාදී විය යුතු අතර, ඉරා දැමූ සම්බන්ධතා ගැන නොසිතන ලෙස autossh සමඟ මිතුරු විය යුතුය. දෙවනුව: එය ඉතා සරල හා කම්මැලි ය.
පිළිවෙළින්
සුපුරුදු පරිදි, අපි වමේ සිට දකුණට, ඉහළ සිට පහළට ගොස් අපගේ “සරල” අදහස ක්රියාත්මක කිරීමට අවශ්ය සියල්ල විස්තර කරමු.
මුලින්ම ඔබට ප්රොක්සියක් අවශ්යයි
සහ එකවර විකල්ප බොහොමයක් තිබේ:
- ඔබට ගොස් විවෘත ප්රොක්සි ලැයිස්තු වලින් ගත හැක. ලාභ (හෝ ඒ වෙනුවට කිසිවක් සඳහා), නමුත් සම්පූර්ණයෙන්ම විශ්වාස කළ නොහැකි සහ එවැනි ප්රොක්සි වල ආයු කාලය ශුන්යයට නැඹුරු වේ. එබැවින්, ප්රොක්සි ලැයිස්තු සඳහා විග්රහයක් සෙවීම/ලිවීම, අවශ්ය වර්ගය සහ රට අනුව ඒවා පෙරීම අවශ්ය වනු ඇත, සහ Spotify හි සොයාගත් ප්රොක්සිය ආදේශ කිරීම පිළිබඳ ප්රශ්නය විවෘතව පවතී (හොඳයි, සමහර විට හරහා
HTTP_PROXY
අනෙක් සියලුම ගමනාගමනය එහි නොයවන පරිදි ද්විමය සඳහා අභිරුචි දවටනයක් මාරු කර සාදන්න). - ඔබට සමාන ප්රොක්සියක් මිලදී ගත හැකි අතර ඉහත විස්තර කර ඇති බොහෝ ගැටළු වලින් ඔබව ගලවා ගත හැකිය. නමුත් ප්රොක්සි මිලකට, ඔබට වහාම Spotify හි වාරිකය මිලදී ගත හැකි අතර, මුල් කාර්යය සඳහා මෙය ප්රායෝගික නොවේ.
- ඔබේ ඔසවන්න. ඔබ අනුමාන කළ පරිදි, මෙය අපගේ තේරීමයි.
ඔබට බෙලාරුස් ජනරජයේ හෝ වෙනත් කුඩා රටක සේවාදායකයක් සමඟ මිතුරෙකු සිටින බව අහම්බෙන් විය හැකිය. ඔබ මෙය භාවිතා කර අවශ්ය ප්රොක්සිය එය මත රෝල් කළ යුතුය. විශේෂ රසඥයින්ට රවුටරයක් සමඟ මිතුරෙකු සමඟ සෑහීමට පත් විය හැකිය
එබැවින්, අපගේ විකල්ප: දැල්ලන් - ආශ්වාදජනක නොවේ, සහ මට HTTP ප්රොක්සියක් අවශ්ය නැත, මෙම ප්රොටෝකෝලය දැනටමත් ඕනෑවට වඩා තිබේ. සහ SOCKS ප්රදේශයේ හැර සංවේදී කිසිවක් නොමැත
ස්ථාපනය සහ වින්යාස කිරීම සඳහා ඩැන්ටේගේ අත්පොත එනතෙක් බලා නොසිටින්න. ඔහු client pass
, socks pass
, අතුරුමුහුණත් නිවැරදිව ලියාපදිංචි කර එකතු කිරීමට අමතක නොකරන්න socksmethod: username
. මෙම පෝරමයේදී, සත්යාපනය සඳහා, ලාංඡනය පද්ධති පරිශීලකයින්ගෙන් ගනු ලැබේ. සහ ආරක්ෂාව පිළිබඳ කොටස: localhost වෙත ප්රවේශය තහනම් කිරීම, පරිශීලකයන් සීමා කිරීම යනාදිය - මෙය තනිකරම තනි පුද්ගල, පුද්ගලික ව්යාකූලත්වය මත රඳා පවතී.
ජාලයට මුහුණලා සිටින ප්රොක්සියක් යොදවන්න
නාට්යය ක්රියා දෙකකින් යුක්තයි.
එකක් ක්රියා කරන්න
අපි ප්රොක්සි වර්ග කර ඇත, දැන් අපට ගෝලීය වෙබයෙන් ප්රවේශ විය යුතුය. ඔබට අවශ්ය රටක සුදු IP එකක් සහිත යන්ත්රයක් තිබේ නම්, ඔබට මෙම කරුණ ආරක්ෂිතව මඟ හැරිය හැක. අපට එකක් නැත (අපි, ඉහත සඳහන් කළ පරිදි, මිතුරන්ගේ නිවෙස්වල සත්කාරකත්වය සපයනු ලැබේ) සහ ළඟම ඇති සුදු අයිපී ජර්මනියේ කොහේ හරි ඇත, එබැවින් අපි ජාල අධ්යයනය කරනු ඇත.
එබැවින් ඔව්, අවධානයෙන් සිටින පාඨකයා නැවතත් අසනු ඇත: ඔබ දැනට පවතින සේවාවක් නොගන්නේ මන්ද?
කාර්යය: NAT ට පිටුපසින් කොතැනක හෝ ප්රොක්සියක් ඇත, ඔබ එය සුදු IP එකක් ඇති සහ ලෝකයේ කෙළවරේ පිහිටා ඇති VPS හි එක් වරායක එල්ලා තැබිය යුතුය.
වරාය ඉදිරියට යැවීමෙන් (ඉහත සඳහන් කර ඇති දේ හරහා ක්රියාත්මක වන) මෙය විසඳිය හැකි යැයි උපකල්පනය කිරීම තාර්කික ය. ssh
), හෝ VPN හරහා අතථ්ය ජාලයකට දෘඩාංග ඒකාබද්ධ කිරීමෙන්. සමග ssh
අපි වැඩ කරන හැටි දන්නවා, autossh
එය ගැනීම කම්මැලියි, එබැවින් අපි OpenVPN ගනිමු.
DigitalOcean සතුව ඇත systemd
. එය (config) දමන්න /etc/openvpn/client/
දක්වා දිගුව වෙනස් කිරීමට අමතක නොකරන්න .conf
. ඊට පසු, සේවාව අදින්න [email protected]
ඇය වෙනුවෙන් එය කිරීමට අමතක නොකරන්න enable
සියල්ල ඉගිලී ගිය බව ප්රීති වන්න.
ඇත්ත වශයෙන්ම, අපි අලුතින් සාදන ලද VPN වෙත ගමනාගමනය යළි හරවා යැවීමක් අක්රිය කළ යුතුය, මන්ද අපට බෝල භාගයක් හරහා ගමනාගමනය පසුකර සේවාදායක යන්ත්රයේ වේගය අඩු කිරීමට අවශ්ය නැති බැවිනි.
ඔව්, අපි අපගේ සේවාදායකයා සඳහා VPN සේවාදායකයේ ස්ථිතික IP ලිපිනයක් ලියාපදිංචි කළ යුතුය. මෙය ටිකක් පසුව කතාවේ අවශ්ය වනු ඇත. මෙය සිදු කිරීම සඳහා ඔබ සක්රිය කළ යුතුය ifconfig-pool-persist
, සංස්කරණය කරන්න ipp.txt
, OpenVPN සමඟ ඇතුළත් කර client-config-dir සක්රීය කරන්න, එකතු කිරීමෙන් අපේක්ෂිත සේවාලාභියාගේ වින්යාසය සංස්කරණය කරන්න ifconfig-push
නිවැරදි වෙස්මුහුණ සහ අපේක්ෂිත IP ලිපිනය සමඟ.
පනත දෙක
දැන් අපි අන්තර්ජාලයට මුහුණ දෙන "ජාලය" මත යන්ත්රයක් ඇති අතර එය ආත්මාර්ථකාමී අරමුණු සඳහා භාවිතා කළ හැකිය. එනම්, ගමනාගමනයෙන් කොටසක් එය හරහා හරවා යැවීම.
ඉතින්, නව කාර්යයක්: ඔබ සුදු IP එකක් සහිත VPS පෝට් එකකට පැමිණෙන ගමනාගමනය අක්රිය කළ යුතුය, එවිට මෙම ගමනාගමනය අලුතින් සම්බන්ධ වූ අතථ්ය ජාලයට ගොස් ප්රතිචාරය එතැන් සිට ආපසු පැමිණිය හැකිය.
විසඳුම: ඇත්ත වශයෙන්ම iptables
! ඔහු සමඟ පුහුණු වීමට ඔබට එවැනි අපූරු අවස්ථාවක් වෙන කවදාද?
අවශ්ය වින්යාසය පැය තුනකින්, දිවුරුම් වචන සියයකින් සහ නාස්ති වූ ස්නායු අතලොස්සකින් ඉතා ඉක්මනින් සොයාගත හැකිය, මන්ද ජාල නිදොස් කිරීම ඉතා නිශ්චිත ක්රියා පටිපාටියකි.
පළමුව, ඔබ කර්නලය තුළ රථවාහන යළි හරවා යැවීම සක්රිය කළ යුතුය. මෙම කාරණය හැඳින්වේ ipv4.ip_forward
සහ OS සහ ජාල කළමනාකරු මත පදනම්ව තරමක් වෙනස් ලෙස සක්රිය කර ඇත.
දෙවනුව, ඔබ VPS හි වරායක් තෝරාගෙන එයට යන සියලුම ගමනාගමනය අතථ්ය උපජාලයකට ඔතා ගත යුතුය. මෙය සිදු කළ හැකිය, උදාහරණයක් ලෙස, මේ වගේ:
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to-destination 10.8.0.2:8080
මෙහිදී අපි බාහිර අතුරු මුහුණතේ 8080 වරායට පැමිණෙන සියලුම TCP ගමනාගමනය IP 10.8.0.2 සහ එම port 8080 සහිත යන්ත්රයකට හරවා යමු.
රැකියාවේ අපිරිසිදු විස්තර අවශ්ය අයට netfilter
, iptables
සහ පොදුවේ මාර්ගගත කිරීම, මෙනෙහි කිරීම අතිශයින්ම අවශ්ය වේ
ඉතින්, දැන් අපේ පැකට් අථත්ය උපජාලයට පියාසර කරන අතර... ඔවුන් එහි රැඳී සිටියි. වඩාත් නිවැරදිව, මේස් ප්රොක්සියෙන් ලැබෙන ප්රතිචාරය ඩැන්ටේ සමඟ යන්ත්රයේ පෙරනිමි ද්වාරය හරහා ආපසු පියාසර කරන අතර ලබන්නා එය අතහැර දමයි, මන්ද ජාල වල එක් IP එකකට ඉල්ලීමක් යැවීම සහ තවත් ප්රතිචාරයක් ලැබීම සිරිතක් නොවේ. ඒ නිසා අපි දිගටම සංකල්පනා කරන්න ඕන.
එබැවින්, දැන් ඔබට ප්රොක්සියේ සිට සියලුම පැකට් ආපසු අථත්ය උපජාලය වෙත සුදු IP එකක් සමඟ VPS වෙත හරවා යැවිය යුතුය. මෙන්න තත්වය ටිකක් නරකයි, මන්ද එය සාධාරණයි iptables
අපට ප්රමාණවත් නොවනු ඇත, මන්ද අපි මාර්ගගත කිරීමට පෙර ගමනාන්ත ලිපිනය නිවැරදි කළහොත් (PREROUTING
), එවිට අපගේ පැකේජය අන්තර්ජාලයට පියාසර නොකරනු ඇත, අපි එය නිවැරදි නොකරන්නේ නම්, පැකේජය වෙත යනු ඇත default gateway
. එබැවින්, ඔබ පහත සඳහන් දෑ කළ යුතුය: දාමය මතක තබා ගන්න mangle
, හරහා පැකට් සලකුණු කිරීම සඳහා iptables
ඔවුන් යා යුතු තැනට යවන අභිරුචි මාර්ගගත කිරීමේ වගුවක ඒවා ඔතා.
කියපු ගමන්ම කරණය කිරීම:
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
අපි පිටතට යන ගමනාගමනය ගන්නෙමු, ප්රොක්සිය වාඩි වී සිටින වරායෙන් පියාසර කරන සියල්ල සලකුණු කරන්න (අපගේ නඩුවේ 8080), සලකුණු කළ ගමනාගමනය අංක 80 සමඟ මාර්ගගත කිරීමේ වගුවට හරවා යවන්න (සාමාන්යයෙන්, අංකය කිසිවක් මත රඳා නොපවතී, අපට අවශ්ය විය දක්වා) සහ තනි රීතියක් එක් කරන්න , ඒ අනුව මෙම වගුවේ අඩංගු සියලුම පැකට් VPN උපජාලය වෙත පියාසර කරයි.
මහා! දැන් පැකට් නැවත VPS දෙසට පියාසර කරයි ... සහ එහි මිය යයි. මොකද VPS උන්ට මොනවා කරන්නද දන්නේ නෑ. එමනිසා, ඔබ කරදර නොවන්නේ නම්, ඔබට අතථ්ය උපජාලයෙන් පැමිණෙන සියලුම ගමනාගමනය නැවත අන්තර්ජාලයට හරවා යැවිය හැකිය:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source 172.42.1.10
මෙහිදී, 10.8.0.0 උපජාලයෙන් 255.255.255.000 වෙස් මුහුණකින් පැමිණෙන සෑම දෙයක්ම source-NAT වලින් ඔතා පෙරනිමි අතුරුමුහුණත වෙත පියාසර කරයි, එය අන්තර්ජාලය වෙත හැරේ. මෙම කාරණය ක්රියාත්මක වන්නේ අපි වරාය විනිවිදභාවයෙන් ඉදිරියට ගියහොත් පමණක් බව සැලකිල්ලට ගැනීම වැදගත්ය, එනම් VPS මත එන වරාය අපගේ ප්රොක්සියේ වරායට ගැලපේ. එසේ නොමැතිනම් ඔබට තව ටිකක් දුක් විඳීමට සිදුවනු ඇත.
කොහේ හරි දැන් හැම දෙයක්ම වැඩ ආරම්භ කළ යුතුයි. ඉතිරිව ඇත්තේ ස්වල්පයක් පමණි: සියලුම වින්යාසයන් ඇති බවට වග බලා ගැනීමට අමතක නොකරන්න iptables
и route
නැවත ආරම්භ කිරීමෙන් පසුව දිගටම කරගෙන ගියේ නැත. සදහා iptables
වැනි විශේෂ ගොනු තිබේ /etc/iptables/rules.v4
(උබුන්ටු සම්බන්ධයෙන්), නමුත් මාර්ග සඳහා සියල්ල ටිකක් සංකීර්ණ වේ. මම ඔවුන්ව ඇතුළට තල්ලු කළා up/down
OpenVPN ස්ක්රිප්ට්, ඒවා මීට වඩා විනීතව කරන්න තිබුණා කියලා මම හිතනවා.
ප්රොක්සියෙන් යෙදුමෙන් එතුම ගමනාගමනය
එබැවින්, ස්ථිතික සුදු IP ලිපිනයක් හරහා ප්රවේශ විය හැකි, අපේක්ෂිත රටෙහි සත්යාපනය සහිත ප්රොක්සියක් අප සතුව ඇත. ඉතිරිව ඇත්තේ එය භාවිතා කර Spotify වෙතින් ගමනාගමනය හරවා යැවීමයි. නමුත් ඉහත සඳහන් කළ පරිදි සූක්ෂ්මතාවයක් ඇත, Spotify හි ප්රොක්සි සඳහා පිවිසුම් මුරපදය ක්රියා නොකරයි, එබැවින් අපි එය වටා යන්නේ කෙසේදැයි සොයා බලමු.
ආරම්භ කිරීමට, අපි මතක තබා ගනිමු
නමුත් ප්රීතිය කෙටිකාලීන වනු ඇත, මන්ද ඔබට MacOS හි දෝශ නිරාකරණ මාදිලිය සහ අභිරුචි කර්නල් දිගු සක්රීය කිරීමට අවශ්ය බව පෙනේ, සරල වින්යාසයක් ගොනු කර මෙම මෙවලමට Spotify හා සමාන ගැටළුවක් ඇති බව තේරුම් ගන්න: එය භාවිතා කර සත්යාපනය සම්මත කළ නොහැක. socks-proxy මත login-password.
කොතැනක හෝ එය කලබල වී වාරිකයක් මිලදී ගැනීමට කාලයයි ... නමුත් නැත! අපි එය නිවැරදි කරන ලෙස ඉල්ලා සිටිමු, එය විවෘත මූලාශ්රයකි! අපි කරමු
අපි ආයෙත් කලබල වෙයි. නමුත් එවිට අපි අපේ යෞවනයන් සහ සී මතක තබා ගනිමු, ඩැන්ටේ හි නිදොස් කිරීමේ මාදිලිය සක්රිය කරන්න, ලොග් කිලෝබයිට් සිය ගණනක් හාරා, වෙත යන්න
එය ස්වයංක්රීය කරන්න
Proximac ක්රියා කළ පසු, එය යක්ෂාවේශ කර අමතක කළ යුතුය. මේ සඳහා සුදුසු එක් සම්පූර්ණ ආරම්භක පද්ධතියක් ඇත, එය MacOS හි දක්නට ලැබේ, එනම්
අපි එය ඉක්මනින් සොයා ගනිමු systemd
මෙන්න එය පාහේ හැන්දක් සහ xml
. ඔබ සඳහා අලංකාර වින්යාසයන් නොමැත, වැනි විධාන නොමැත status
, restart
, daemon-reload
. Hardcore වර්ගය පමණයි start-stop
, list-grep
, unload-load
සහ තවත් බොහෝ අමුතුකම්. මේ සියල්ල අභිබවා අපි ලියන්නෙමු plist
, පැටවීම. වැඩ කරන්නේ නෑ. අපි භූතයා නිදොස් කිරීමේ ක්රමය අධ්යයනය කරමු, එය දෝශ නිරාකරණය කරමු, එහි ඇති දේ තේරුම් ගනිමු ENV
даже PATH
අපි සාමාන්ය එක ලබා දුන්නේ නැත, අපි තර්ක කරමු, අපි එය ගෙනෙමු (එකතු කිරීම /sbin
и /usr/local/bin
) සහ අවසාන වශයෙන් අපි ස්වයංක්රීය ආරම්භය සහ ස්ථාවර ක්රියාකාරිත්වය ගැන සතුටු වෙමු.
හුස්ම පිට කරන්න
ප්රතිඵලය කුමක්ද? ත්රාසජනක සතියක්, හදවතට ආදරය කරන සහ අවශ්ය දේ කරන සේවාවන්ගෙන් දණ ගසා සත්වෝද්යානයක්. සැක සහිත තාක්ෂණික ක්ෂේත්රවල කුඩා දැනුමක්, විවෘත මූලාශ්ර ටිකක් සහ “මම එය කළා!” යන සිතිවිල්ලෙන් ඔබේ මුහුණේ සිනහවක්
PS: මෙය ධනපතියන් වර්ජනය කිරීම සඳහා කරන කැඳවීමක් නොවේ, තරඟ ඉතිරි කිරීම සඳහා හෝ සම්පූර්ණ කපටිකම සඳහා, නමුත් සාමාන්යයෙන්, ඔබ ඒවා අපේක්ෂා නොකරන පර්යේෂණ සහ සංවර්ධනයේ හැකියාවන් පිළිබඳ ඇඟවීමකි.
මූලාශ්රය: www.habr.com