ڪيئن Spotify توهان جي مدد ڪري سگهي ٿو ڊيمن، RFCs، نيٽ ورڪ جو مطالعو ۽ اوپن سورس کي فروغ ڏيڻ. يا ڇا ٿيندو جيڪڏهن توهان ادا نٿا ڪري سگهو، پر توهان واقعي چاهيو ٿا ڪجهه پريميئم سامان.
شروعات
ٽئين ڏينهن، اهو محسوس ڪيو ويو ته Spotify IP پتي جي ملڪ جي بنياد تي اشتهار ڏيکاري رهيو هو. اهو پڻ نوٽ ڪيو ويو آهي ته ڪجهه ملڪن ۾ اشتهارن کي درآمد نه ڪيو ويو آهي. مثال طور، بيلاروس جي جمهوريه ۾. ۽ پوءِ هڪ ”شاندار“ منصوبو ٺاهيو ويو هو ته اشتهارن کي غير پريميئم اڪائونٽ ۾ غير فعال ڪرڻ لاءِ.
Spotify بابت ٿورو
عام طور تي ڳالهائڻ، Spotify هڪ عجيب پاليسي آهي. پريميئم خريد ڪرڻ لاءِ اسان جي ڀاءُ کي ڪافي موڙ ٿيڻو پوندو: پنهنجي پروفائيل ۾ جڳھ کي اوورسيز ۾ تبديل ڪريو، ھڪڙو مناسب گفٽ ڪارڊ ڳوليو جيڪو صرف PayPal سان ادا ڪري سگھجي ٿو، جيڪو تازو ئي عجيب ڪم ڪري رھيو آھي ۽ گھري ٿو دستاويزن جو ھڪڙو. عام طور تي، اهو پڻ هڪ جرئت آهي، پر هڪ مختلف حڪم جو. جيتوڻيڪ گھڻا ماڻھو اھو ڪندا آھن موبائيل ورزن جي خاطر، مون کي ان ۾ دلچسپي نه آھي. تنهن ڪري، هيٺ ڏنل هر شيء صرف ڊيسڪ ٽاپ ورزن جي صورت ۾ مدد ڪندي. ان کان سواء، افعال جي ڪا واڌ نه ٿيندي. صرف ڪجهه اضافي کي ختم ڪرڻ.
اهو ايترو پيچيده ڇو آهي؟
۽ مون ائين سوچيو جڏهن Spotify config ۾ socks-proxy ڊيٽا رجسٽر ڪرڻ. مسئلو اهو نڪتو ته جرابين ۾ تصديق لاگ ان ۽ پاسورڊ استعمال ڪندي ڪم نٿو ڪري. ان سان گڏ، ڊولپر باقاعده طور تي پراکسي جي چوڌاري ڪجهه ڪندا آهن: يا ته ان کي اجازت ڏيڻ، پوء ان کي منع ڪرڻ، يا ان کي ٽوڙڻ، جيڪو آف سائيٽ تي بحثن جي پوري پينل کي جنم ڏئي ٿو.
اهو فيصلو ڪيو ويو ته غير مستحڪم افعال تي ڀروسو نه ڪيو وڃي ۽ ڪجهه وڌيڪ قابل اعتماد ۽ دلچسپ ڳولڻ لاء.
هتي پڙهندڙن کان ضرور پڇڻ گهرجي: ڇو نه وٺو ssh
چاٻي سان -D
۽ اهو ان جي آخر آهي؟ ۽، عام طور تي، هو صحيح ٿيندو. پر، سڀ کان پهريان، اهو اڃا تائين شيطاني ٿيڻ جي ضرورت آهي ۽ آٽوسش سان دوستي ڪرڻ جي ضرورت آهي، انهي ڪري ته ٽوڙي رابطن بابت سوچڻ نه گهرجي. ۽ ٻيو: اهو تمام سادو ۽ بورنگ آهي.
جي لاءِ
هميشه وانگر، اچو ته کاٻي کان ساڄي، مٿي کان هيٺ ۽ هر شي کي بيان ڪريون جيڪي اسان کي اسان جي "سادو" خيال کي لاڳو ڪرڻ جي ضرورت آهي.
پهرين توهان کي هڪ پراکسي جي ضرورت آهي
۽ هڪ ئي وقت ۾ ڪيترائي متبادل آهن:
- توهان صرف وڃو ۽ کليل پراکسي لسٽن مان وٺي سگهو ٿا. سستو (يا بلڪه ڪجھ به نه)، پر بلڪل ناقابل اعتبار ۽ اهڙي پراکسي جي زندگي صفر تائين هوندي آهي. تنهن ڪري، اهو ضروري هوندو ته پراڪسي لسٽن لاءِ هڪ پارسر ڳولڻ/لکيو، انهن کي گهربل قسم ۽ ملڪ طرفان فلٽر ڪريو، ۽ Spotify ۾ مليل پراکسي کي متبادل ڪرڻ جو سوال کليل رهي ٿو (چڱو، شايد ذريعي
HTTP_PROXY
منتقل ڪريو ۽ بائنري لاءِ ڪسٽم ريپر ٺاھيو ته جيئن ٻيا سڀ ٽرئفڪ اتي نه موڪليا وڃن). - توھان ھڪڙو پراکسي خريد ڪري سگھوٿا ۽ مٿي بيان ڪيل مسئلن کان پاڻ کي بچائي سگھوٿا. پر هڪ پراکسي جي قيمت تي، توهان فوري طور تي Spotify تي پريميئم خريد ڪري سگهو ٿا، ۽ اهو اصل ڪم لاءِ عملي ناهي.
- پنهنجو بلند ڪريو. جيئن توهان شايد اندازو لڳايو، اهو اسان جي پسند آهي.
اتفاق سان، اهو ٿي سگهي ٿو ته توهان وٽ هڪ دوست آهي سرور سان بيلاروس جمهوريت يا ڪنهن ٻئي ننڍڙي ملڪ ۾. توھان کي ھن کي استعمال ڪرڻ جي ضرورت آھي ۽ ان تي مطلوب پراکسي کي رول ڪريو. خاص connoisseurs هڪ router تي هڪ دوست سان مواد ٿي سگهي ٿو
تنهن ڪري، اسان جا اختيار: اسڪواڊ - متاثر ڪندڙ نه، ۽ مان نه ٿو چاهيان هڪ HTTP پراکسي، اتي اڳ ۾ ئي ڪيترائي پروٽوڪول آهن. ۽ SOCKS جي علائقي ۾ ڪجھ به سمجھدار نه آھي سواء
انسٽاليشن ۽ ترتيب ڏيڻ تي Dante جي دستياب جو انتظار نه ڪريو. هن client pass
, socks pass
, صحيح طور تي رجسٽر ڪريو انٽرفيس ۽ شامل ڪرڻ نه وساريو socksmethod: username
. هن فارم ۾، تصديق لاء، لاگپاس سسٽم استعمال ڪندڙن کان ورتو ويندو. ۽ سيڪيورٽي بابت حصو: مقامي هوسٽ تائين رسائي کي ممنوع ڪرڻ، استعمال ڪندڙن کي محدود ڪرڻ، وغيره - اهو خالص انفرادي آهي، ذاتي پروانيا تي منحصر آهي.
نيٽ ورڪ کي منهن ڏيڻ واري پراکسي کي ترتيب ڏيو
ڊرامو ٻن ايڪٽن ۾ آهي.
هڪ عمل
اسان پراکسي کي ترتيب ڏنو آهي، هاڻي اسان کي ان کي گلوبل ويب تان رسائي ڪرڻ جي ضرورت آهي. جيڪڏهن توهان وٽ گهربل ملڪ ۾ سفيد IP سان مشين آهي، ته پوء توهان محفوظ طور تي هن نقطي کي ڇڏي سگهو ٿا. اسان وٽ ڪو نه آهي (اسان، جيئن مٿي ذڪر ڪيو ويو آهي، دوستن جي گهرن تي ميزباني ڪئي وئي آهي) ۽ ويجهي سفيد IP جرمني ۾ ڪٿي آهي، تنهنڪري اسان نيٽ ورڪ جو مطالعو ڪنداسين.
سو ها، متوجه پڙهندڙ وري پڇندو: توهان ڇو نه ٿا وٺو موجوده خدمت جهڙو
ٽاسڪ: NAT جي پويان هڪ پراڪسي آهي، توهان کي ان کي وي پي ايس جي بندرگاهن مان هڪ تي هڻڻ جي ضرورت آهي جنهن ۾ هڪ اڇو IP آهي ۽ دنيا جي ڪنڊ تي واقع آهي.
اهو فرض ڪرڻ منطقي آهي ته اهو يا ته پورٽ فارورڊنگ ذريعي حل ڪري سگهجي ٿو (جيڪو مٿي ذڪر ڪيل ذريعي لاڳو ڪيو ويو آهي. ssh
)، يا VPN ذريعي هڪ ورچوئل نيٽ ورڪ ۾ هارڊويئر کي گڏ ڪرڻ سان. سان ssh
اسان ڄاڻون ٿا ته ڪم ڪيئن ڪجي، autossh
اهو کڻڻ بورنگ آهي، تنهنڪري اچو OpenVPN وٺو.
DigitalOcean آهي systemd
. بس ان کي (config) داخل ڪريو /etc/openvpn/client/
۽ ايڪسٽينشن کي تبديل ڪرڻ نه وساريو .conf
. ان کان پوء، خدمت کي ڇڪيو [email protected]
هن لاءِ ڪرڻ نه وساريو enable
۽ خوش ٿيو ته سڀ ڪجهه ڀڄي ويو.
يقينن، اسان کي نئين ٺاهيل وي پي اين ڏانهن ٽرئفڪ جي ڪنهن به ريڊائريشن کي غير فعال ڪرڻ جي ضرورت آهي، ڇاڪاڻ ته اسان ڪلائنٽ مشين تي رفتار کي گهٽائڻ نٿا چاهيون، اڌ بال ذريعي ٽرئفڪ کي گذرڻ سان.
۽ ها، اسان کي پنهنجي ڪلائنٽ لاءِ وي پي اين سرور تي هڪ مستحڪم IP پتو رجسٽر ڪرڻ جي ضرورت آهي. اها ضرورت ٿوري دير کان پوءِ ڪهاڻيءَ ۾ پوندي. هن کي ڪرڻ لاء توهان کي فعال ڪرڻ جي ضرورت آهي ifconfig-pool-persist
، تدوين ipp.txt
, OpenVPN سان شامل ڪريو ۽ ڪلائنٽ-config-dir کي فعال ڪريو، ۽ شامل ڪندي مطلوب ڪلائنٽ جي ترتيب کي تبديل ڪريو ifconfig-push
صحيح ماسڪ ۽ گهربل IP پتي سان.
ايڪٽ ٻه
هاڻي اسان وٽ ”نيٽورڪ“ تي هڪ مشين آهي جيڪا انٽرنيٽ کي منهن ڏئي ٿي ۽ خود غرض مقصدن لاءِ استعمال ٿي سگهي ٿي. يعني، ٽريفڪ جو حصو ان جي ذريعي ريڊائريڪٽ ڪريو.
تنهن ڪري، هڪ نئون ڪم: توهان کي سفيد IP سان VPS بندرگاهن مان هڪ تي اچڻ واري ٽرئفڪ کي بند ڪرڻ جي ضرورت آهي ته جيئن هي ٽرئفڪ نئين ڳنڍيل ورچوئل نيٽ ورڪ ڏانهن وڃي ۽ جواب اتان واپس اچي سگهي.
حل: يقينا iptables
! ٻيو ڪڏهن توهان کي هن سان مشق ڪرڻ جو اهڙو شاندار موقعو ملندو؟
گهربل ترتيب ڪافي جلدي ملي سگهي ٿي، ٽن ڪلاڪن ۾، هڪ سئو قسم جا لفظ ۽ هٿرادو ضايع ٿيل اعصاب، ڇاڪاڻ ته نيٽ ورڪ کي ڊيبگ ڪرڻ هڪ خاص طريقو آهي.
پهرين، توهان کي ڪنييل ۾ ٽرئفڪ ريڊائريشن کي فعال ڪرڻ جي ضرورت آهي. هن شيء کي سڏيو ويندو آهي ipv4.ip_forward
۽ او ايس ۽ نيٽ ورڪ مئنيجر جي لحاظ کان ٿورو مختلف طور تي فعال ڪيو ويو آهي.
ٻيو، توهان کي VPS تي هڪ بندرگاهه چونڊڻ جي ضرورت آهي ۽ ان ڏانهن وڃڻ واري سموري ٽرئفڪ کي ورچوئل سبٽ ۾ لپيٽڻ جي ضرورت آهي. اهو ٿي سگهي ٿو، مثال طور، هن طرح:
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to-destination 10.8.0.2:8080
هتي اسان سڀني TCP ٽرئفڪ کي ريڊائريڪٽ ڪريون ٿا بندرگاهه 8080 جي ٻاهرين انٽرفيس تي هڪ مشين ڏانهن IP 10.8.0.2 ۽ ساڳئي پورٽ 8080 سان.
انهن لاء جيڪي نوڪري جا گندا تفصيل چاهيندا آهن netfilter
, iptables
۽ رستي ۾ عام طور تي، ان تي غور ڪرڻ بلڪل ضروري آهي
سو، ھاڻي اسان جا پيڪيٽ ورچوئل سب نيٽ ڏانھن اڏامندا آھن ۽... اھي اتي رھندا آھن. وڌيڪ واضح طور تي، جراب پراکسي مان جواب ڊانٽي سان مشين تي ڊفالٽ گيٽ وي ذريعي واپس اڏامي ٿو ۽ وصول ڪندڙ ان کي ڇڏي ٿو، ڇاڪاڻ ته نيٽ ورڪن ۾ اهو رواج ناهي ته هڪ IP ڏانهن درخواست موڪلڻ ۽ ٻئي کان جواب وصول ڪيو وڃي. تنهن ڪري، اسان کي conjure جاري رکڻ جي ضرورت آهي.
تنھنڪري، ھاڻي توھان کي ضرورت آھي سڀني پيڪٽس کي پراڪسي مان ورچوئل سبٽ ڏانھن واپس ڏانھن وي پي ايس ڏانھن ھڪ اڇي IP سان. هتي صورتحال ٿوري خراب آهي، ڇاڪاڻ ته اهو صرف آهي 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 نمبر سان روٽنگ ٽيبل ڏانهن موڪليو (عام طور تي، نمبر ڪنهن به شيءِ تي منحصر نه آهي، اسان صرف چاهيون ٿا. ڏانهن) ۽ هڪ واحد قاعدو شامل ڪريو، جنهن جي مطابق هن ٽيبل ۾ شامل سڀئي پيڪيٽ وي پي اين سب نيٽ ڏانهن پرواز ڪندا.
زبردست! ھاڻي پيڪٽ واپس وي پي ايس ڏانھن اڏامندا آھن... ۽ اتي ئي مري ويندا آھن. ڇو ته 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 سب نيٽ مان اچي ٿي، اها سورس-NAT ۾ لپي وئي آهي ۽ ڊفالٽ انٽرفيس ڏانهن اڏامي ٿي، جيڪو انٽرنيٽ ڏانهن موڙيو ويو آهي. اهو نوٽ ڪرڻ ضروري آهي ته اها شيءِ تڏهن ئي ڪم ڪندي جڏهن اسان بندرگاهه کي شفاف طور تي اڳتي وڌايون، يعني VPS تي ايندڙ بندرگاهه اسان جي پراکسي جي بندرگاهه سان ملندو آهي. ٻي صورت ۾، توهان کي ٿورو وڌيڪ ڏک ڪرڻو پوندو.
ھاڻي ھاڻي سڀ ڪجھ ڪم شروع ڪرڻ گھرجي. ۽ صرف ٿورڙو رهي ٿو: پڪ ڪرڻ نه وساريو ته سڀئي ترتيبون iptables
и route
ٻيهر شروع ڪرڻ کان پوء جاري نه ٿيو. لاءِ iptables
خاص فائلون آهن جهڙوڪ /etc/iptables/rules.v4
(Ubuntu جي صورت ۾)، پر رستن لاءِ هر شيءِ ٿورو وڌيڪ پيچيده آهي. مون انهن کي اندر داخل ڪيو up/down
OpenVPN اسڪرپٽ، جيتوڻيڪ مان سمجهان ٿو ته اهي وڌيڪ مهذب طريقي سان ٿي سگهيا آهن.
پراکسي ۾ ايپليڪيشن کان ٽرئفڪ کي لپي
تنهن ڪري، اسان وٽ گهربل ملڪ ۾ تصديق سان هڪ پراکسي آهي، هڪ جامد سفيد IP پتي ذريعي رسائي لائق آهي. باقي رهي ٿو ان کي استعمال ڪرڻ ۽ ٽريفڪ کي ريڊريٽ ڪرڻ لاءِ Spotify اتان. پر هتي هڪ nuance آهي، جيئن مٿي ذڪر ڪيو ويو آهي، Spotify ۾ پراکسي لاء لاگ ان-پاسورڊ ڪم نه ڪندو آهي، تنهنڪري اسان ان جي چوڌاري ڪيئن حاصل ڪرڻ جي ڪوشش ڪنداسين.
شروع ڪرڻ سان، اچو ته ياد رکون
پر اها خوشي ٿوري وقت جي هوندي، ڇاڪاڻ ته اهو ظاهر ٿيو ته توهان کي MacOS ۾ ڊيبگ موڊ ۽ ڪسٽم ڪرنل ايڪسٽينشن کي فعال ڪرڻ جي ضرورت آهي، هڪ سادي ترتيب کي فائل ڪريو ۽ سمجھو ته هن اوزار ۾ بلڪل ساڳيو مسئلو آهي Spotify: اهو استعمال ڪندي تصديق کي پاس نٿو ڪري سگهي. socks-proxy تي لاگ ان پاسورڊ.
هتان جي چوڌاري اهو وقت آهي بيزار ٿيڻ ۽ پريميئم خريد ڪرڻ جو... پر نه! اچو ته ان کي درست ڪرڻ لاء پڇڻ جي ڪوشش ڪريو، اهو کليل ذريعو آهي! اچو ته ڪريون
اسان وري پريشان ٿي وينداسين. پر پوءِ اسان پنهنجي جوانيءَ ۽ سي کي ياد ڪنداسين، ڊانٽي ۾ ڊيبگ موڊ کي آن ڪيو، سوين ڪلو بائيٽ لاگ ان کي ڳولھيو، وڃو
ان کي خودڪار ڪريو
هڪ دفعو Proximac ڪم ڪري ٿو، ان کي شيطاني ۽ وسارڻ جي ضرورت آهي. اتي ھڪڙو سڄو شروعاتي سسٽم آھي جيڪو ھن لاء مناسب آھي، جيڪو MacOS ۾ مليو آھي، يعني
اسان ان کي جلدي ڳوليندا آهيون systemd
۽ هتي اهو تقريبا هڪ اسڪوپ آهي ۽ xml
. توهان لاءِ ڪا به فينسي ترتيب نه آهي، نه ڪو حڪم جهڙو status
, restart
, daemon-reload
. صرف سخت قسم جو start-stop
, list-grep
, unload-load
۽ ڪيترائي وڌيڪ عجيب. اهو سڀ ڪجهه ختم ڪري اسان لکندا آهيون plist
، لوڊ ڪرڻ. ڪم نه ڪندو آهي. اسان شيطان کي ڊيبگ ڪرڻ جو طريقو مطالعو ڪيو، ان کي ڊيبگ ڪريو، سمجھو ته اتي ڇا آهي ENV
даже PATH
اسان عام نه پهچايو، اسان بحث ڪريون ٿا، اسان ان کي آڻينداسين (شامل ڪندي /sbin
и /usr/local/bin
) ۽ آخرڪار اسان خودڪار شروع ۽ مستحڪم آپريشن سان خوش آهيون.
سانس ڇڏڻ
نتيجو ڇا نڪتو؟ جرات جو هڪ هفتو، خدمتن مان هڪ گوڏن ڀريو زو جيڪو دل کي پيارو آهي ۽ اهو ڪري ٿو جيڪو ان جي گهربل آهي. مشڪوڪ ٽيڪنيڪل علائقن ۾ ٿورڙي ڄاڻ، ٿورو کليل ذريعو ۽ توهان جي منهن تي مسڪراهٽ سوچڻ کان "مون اهو ڪيو!"
پي ايس: هي سرمائيدارن جي بائيڪاٽ لاءِ نه آهي، ميچن تي بچت يا مڪمل چالبازي لاءِ، پر رڳو تحقيق ۽ ترقي جي امڪانن جو هڪ اشارو آهي، جتي، عام طور تي، توهان کي انهن جي توقع نه آهي.
جو ذريعو: www.habr.com