بعد از تقریبا یک هفته پروژه ام به مرحله معرفی رسید :)
توی تلگرام کانال های مختلفی کلی کانفیگ VPN قرار میدن،
ولی خب این کانفیگ ها هرازگاهی از کار میوفتن و ما مجدد باید لینک های جدید رو از کانال ها پیدا کنیم، تست کنیم و در نهایت بهش متصل بشیم.
من سعی کردم این فرایند رو خودکار کنم، و شما لینک ها رو از کانال ها به صورت خودکار دریافت کنید،
پروژه ای که نوشتم از 123 کانال تلگرام که لینک VPN قرار میدن تغذیه میکنه. هر 6 ساعت این کانال ها رو برسی و لینک ها رو میگیره و به صورت مجزا
داخل فایل مشخص نسبت به پروتکل قرار میده. مثلا تمامی لینک های shadow socks داخل یک فایل مشخص قرار میگیرن، و خب همه لینک ها در نهایت داخل یک فایل دیگه به اسم merged قرار میگیره.
اما مشکلی که برای من اتفاق افتاد این بود که بیشتر از 3,000 لینک داخل این فایل موجود میشد! که خیلی از این لینک ها دیگر کاربردی نداشتند و متصل نمیشدند. برای همین یک پروژه API تعریف کردم که host و port از کاربر دریافت و با یک کانکشن TCP تست کنه که اون host:port در ایران هم کار میکنه و یا نه.
این API رو روی یک سرور داخل ایران راه اندازی کردم و در پروژه اول استفاده کردم، به این صورت که domain یا ip و port هر لینک VPN رو ازش جدا میکنم و به API میفرستم، و براساس جواب API لینک ها رو داخل فایل هایی قرار میدم که مشخصا شامل لینک های تست شده داخل ایران است.
.
.
.
این پروژه رو داخل گیتهاب قرار دادم، شما میتوانید هر کدام از لینک ها رو از داخل جدول داخل ریپو انتخاب کنید:
https://github.com/shabane/kamaji
توی تلگرام کانال های مختلفی کلی کانفیگ VPN قرار میدن،
ولی خب این کانفیگ ها هرازگاهی از کار میوفتن و ما مجدد باید لینک های جدید رو از کانال ها پیدا کنیم، تست کنیم و در نهایت بهش متصل بشیم.
من سعی کردم این فرایند رو خودکار کنم، و شما لینک ها رو از کانال ها به صورت خودکار دریافت کنید،
پروژه ای که نوشتم از 123 کانال تلگرام که لینک VPN قرار میدن تغذیه میکنه. هر 6 ساعت این کانال ها رو برسی و لینک ها رو میگیره و به صورت مجزا
داخل فایل مشخص نسبت به پروتکل قرار میده. مثلا تمامی لینک های shadow socks داخل یک فایل مشخص قرار میگیرن، و خب همه لینک ها در نهایت داخل یک فایل دیگه به اسم merged قرار میگیره.
اما مشکلی که برای من اتفاق افتاد این بود که بیشتر از 3,000 لینک داخل این فایل موجود میشد! که خیلی از این لینک ها دیگر کاربردی نداشتند و متصل نمیشدند. برای همین یک پروژه API تعریف کردم که host و port از کاربر دریافت و با یک کانکشن TCP تست کنه که اون host:port در ایران هم کار میکنه و یا نه.
این API رو روی یک سرور داخل ایران راه اندازی کردم و در پروژه اول استفاده کردم، به این صورت که domain یا ip و port هر لینک VPN رو ازش جدا میکنم و به API میفرستم، و براساس جواب API لینک ها رو داخل فایل هایی قرار میدم که مشخصا شامل لینک های تست شده داخل ایران است.
.
.
.
این پروژه رو داخل گیتهاب قرار دادم، شما میتوانید هر کدام از لینک ها رو از داخل جدول داخل ریپو انتخاب کنید:
https://github.com/shabane/kamaji
👍10👏2🥰1
https://asoftmurmur.com/
این سایت رو یکی توییت کرده بود، برای گوش دادن به وایت نویز و 🥱😴
جالبیش اینه که میشه نویز های مختلف رو ترکیب کرد.
اینکه توی وب هست هم خیلی خوبه؛ این روزا یه رستوران میریم باید اپش رو نصب کنیم تا بتونیم یه غذا سفارش بدیم.
این سایت رو یکی توییت کرده بود، برای گوش دادن به وایت نویز و 🥱😴
جالبیش اینه که میشه نویز های مختلف رو ترکیب کرد.
اینکه توی وب هست هم خیلی خوبه؛ این روزا یه رستوران میریم باید اپش رو نصب کنیم تا بتونیم یه غذا سفارش بدیم.
👍4
توی vim اکثر وقت ها موقع ذخیره کردن یه فایل تازه یادم میاد که عه! فراموش کردم فایل رو با دسترسی روت باز کنم و خب نمیتونم تغییرات رو ذخیره کنم.
برای همین قبلا میومدم و تغییرات رو کپی میکردم بعد دوباره فایل رو باز میکردم ولی با دسترسی روت.
اما گفتم خب شاید راه بهتری باشه. سرچ کردم و به این کامند رسیدم:
برای ذخیره فایل هست.
!
برای اجرای کامند داخل vim هست
sudo
هم برای اجرا کامند با دسترسی روت
tee
میاد خروجی یه کامند رو هم ذخیره میکنه و هم نمایش میده
%
هم اسم فایل باز شده در vim هست که به tee داده میشه تا ذخیره کنه.
برای همین قبلا میومدم و تغییرات رو کپی میکردم بعد دوباره فایل رو باز میکردم ولی با دسترسی روت.
اما گفتم خب شاید راه بهتری باشه. سرچ کردم و به این کامند رسیدم:
:w !sudo tee %
:w برای ذخیره فایل هست.
!
برای اجرای کامند داخل vim هست
sudo
هم برای اجرا کامند با دسترسی روت
tee
میاد خروجی یه کامند رو هم ذخیره میکنه و هم نمایش میده
%
هم اسم فایل باز شده در vim هست که به tee داده میشه تا ذخیره کنه.
👍16🔥1👏1
Forwarded from پادکست اینتراپت
#0x01 - هیچ وقت دیر نیست
#اپیزودـیک پادکست اینتراپت منتشر شد
توی این اپیزود با مهدی اسدی صحبت کردم. داستان مسیر حرفهای مهدی خیلی شنیدنی و در عین حال برای من آموزنده بود. این که هدفهامون رو گم نکنیم، این که هیچ وقت برای شروع یک مسیر جدید دیر نیست و این که از تغییر نترسیم.
این اپیزود رو به غیر از کانال تلگرام میتونید از پلتفرمهای پادگیر زیر هم بشنوید:
کست باکس
اسپاتیفای
گوگل پادکست (به زودی …)
اپل پادکست (به زودی …)
@irqpodcast
#اپیزودـیک پادکست اینتراپت منتشر شد
توی این اپیزود با مهدی اسدی صحبت کردم. داستان مسیر حرفهای مهدی خیلی شنیدنی و در عین حال برای من آموزنده بود. این که هدفهامون رو گم نکنیم، این که هیچ وقت برای شروع یک مسیر جدید دیر نیست و این که از تغییر نترسیم.
این اپیزود رو به غیر از کانال تلگرام میتونید از پلتفرمهای پادگیر زیر هم بشنوید:
کست باکس
اسپاتیفای
گوگل پادکست (به زودی …)
اپل پادکست (به زودی …)
@irqpodcast
❤2🔥1
Audio
❤3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
مرورگر google chrome یه قابلیت اضافه کرده tab group، با این قابلیت میشه تب ها رو توی گروه های مختلف دستبندی کرد و خب تب های داخل یک گروه رو collapse کرد(داخل خود گروه فرستاد)
و راستی گروه ها هم sync میشه :)
پ.ن: من کروم نسخه beta دارم و این قابلیت توی اپدیت برام فعال شد.
پ.ن: یه باگی توی فرمت های webp پیدا شده، حتی اگر این قابلیت رو هم نیاز ندارین بخاطر پچ این باگ کروم رو حتما اپدیت کنید.
و راستی گروه ها هم sync میشه :)
پ.ن: من کروم نسخه beta دارم و این قابلیت توی اپدیت برام فعال شد.
پ.ن: یه باگی توی فرمت های webp پیدا شده، حتی اگر این قابلیت رو هم نیاز ندارین بخاطر پچ این باگ کروم رو حتما اپدیت کنید.
👍3🤯1
قبلا درمورد لایبراری sreamLit یه پست نوشتم، با streamLit میشه با پایتون وب پیج درست کرد.
اما یه فریمورکی با امکانات بیشتر داریم به اسم reflex که با کامپوننت های ریاکت نوشته شده،
قابلیت های بیشتری داره و میشه حتی کامپوننت های جدید رو خودتون با ریاکت براش بنویسید.
اینم بگم که ORM هست و از sqlAchemy استفاده میکنه برای دیتابیس.
برای تمرین من یه سایت ساده نوشتم که متن طولانی رو میگیره و تبدیل میکنه به رشته توییت.
اگه نیاز شد ببینید:
https://github.com/shabane/blog2twitt
اما یه فریمورکی با امکانات بیشتر داریم به اسم reflex که با کامپوننت های ریاکت نوشته شده،
قابلیت های بیشتری داره و میشه حتی کامپوننت های جدید رو خودتون با ریاکت براش بنویسید.
اینم بگم که ORM هست و از sqlAchemy استفاده میکنه برای دیتابیس.
برای تمرین من یه سایت ساده نوشتم که متن طولانی رو میگیره و تبدیل میکنه به رشته توییت.
اگه نیاز شد ببینید:
https://github.com/shabane/blog2twitt
👍2❤1😁1
>
من گاهی توی یک شبکه لوکال که به اینترنت دسترسی نداره مجبور میشم یه سری دیتا رو منتقل کنم.
اکثرا از از snapdrop.net برای انتقال فایل لوکال استفاده میکردم ولی مشکل اینجاست که توی این شبکه اینترنت برای باز کردن این سایت رو ندارم(خیلی وقت ها سایتش داون هست)
خیلی ساده من یه کانکشن tcp درست میکنم و روی یک پورت خاص شنود میکنم
و بعد با سیستم دوم به اون پورت متصل میشم و دیتا رو منتقل میکنم.
اینکارو میشه با یه کامند ساده با netcat انجام داد:
مثلا روی سیستمی که قراره فایل رو دریافت کنه ،روی یک پورت شنود میکنیم، و هر دیتایی که برای این کانکشن میاد رو ریدایرکت میکنیم داخل یک فایل
اینجا یه مشکلی هست، اینکه میزان پیشرفت و حتی سرعت ارسال رو نمیبینیم. فقط بخاطر سوئیچ v- میتونیم متوجه بشیم که یک کانشکن برقرار شده. برای حل این مشکل میتونیم از ابزار pv استفاده کنیم. و دیتا رو از nc به pv پایپ کنیم و بعد دوباره از pv پایپ کنیم به nc
من گاهی توی یک شبکه لوکال که به اینترنت دسترسی نداره مجبور میشم یه سری دیتا رو منتقل کنم.
اکثرا از از snapdrop.net برای انتقال فایل لوکال استفاده میکردم ولی مشکل اینجاست که توی این شبکه اینترنت برای باز کردن این سایت رو ندارم(خیلی وقت ها سایتش داون هست)
خیلی ساده من یه کانکشن tcp درست میکنم و روی یک پورت خاص شنود میکنم
و بعد با سیستم دوم به اون پورت متصل میشم و دیتا رو منتقل میکنم.
اینکارو میشه با یه کامند ساده با netcat انجام داد:
مثلا روی سیستمی که قراره فایل رو دریافت کنه ،روی یک پورت شنود میکنیم، و هر دیتایی که برای این کانکشن میاد رو ریدایرکت میکنیم داخل یک فایل
nc -v -l 0.0.0.0 -p 1337 > /path/to/file.tar.gzو بعد روی سیستمی که فایل قراره ارسال کنه با nc به ایپی و پورت سیستم اولی متصل میشیم و فایلی که میخواهیم ارسال کنیم رو با cat میخونیم و با پایپ به ورودی استاندارد nc میدیم.
cat theFile.tar.gz | nc -v 192.168.13.37 -p 1337
و خب اینطوری فایل توی شبکه داخلی ارسال میشه. همین کار رو البته برای سرور هم میتونید انجام بدین، اینجا من از 0.0.0.0 برای شنود استفاده کردم. این ایپی برای اینه که مشخص کنه از هر ایپی منبعی میتونه دریافت کنه، اگه قرار بود فقط اجازه بدم یک ایپی مشخص حق داره دیتا ارسال کنه، اونوقت میتونستم از ایپی همون سیستم بجای 0.0.0.0 استفاده کنم. این میتونه برای سرور مفید باشه و خب هرکسی نتونه دیتا ارسال کنه.اینجا یه مشکلی هست، اینکه میزان پیشرفت و حتی سرعت ارسال رو نمیبینیم. فقط بخاطر سوئیچ v- میتونیم متوجه بشیم که یک کانشکن برقرار شده. برای حل این مشکل میتونیم از ابزار pv استفاده کنیم. و دیتا رو از nc به pv پایپ کنیم و بعد دوباره از pv پایپ کنیم به nc
cat theFile.tar.gz | pv | nc -v 192.168.13.37 -p 1337
حالا مسئله بعدی اینه که اگه دیتایی رو دارین توی اینترنت ارسال میکنید، و خب اون دیتا مهمه، nc چون ارتباطش رمزنگاری نداره، plain text همه میتونند فایل شما رو ببنید. برای این چه راهکاری پیشنهاد میدین؟ راهکارتون رو بگین. بعد من راهکار خودم رو میگم(اینکه فایل رو زیپ کنیم و روش رمز بذاریم هم بد نیست، ولی راه های دیگهای هست)❤🔥4
Bit Orbit 🪐
> من گاهی توی یک شبکه لوکال که به اینترنت دسترسی نداره مجبور میشم یه سری دیتا رو منتقل کنم. اکثرا از از snapdrop.net برای انتقال فایل لوکال استفاده میکردم ولی مشکل اینجاست که توی این شبکه اینترنت برای باز کردن این سایت رو ندارم(خیلی وقت ها سایتش داون هست)…
راه من استفاده از cryptcat هست، روش استفاده ازش رو توی این پست توضیح دادم:
http://wirenerd.ir/tools/nc/nc/#%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C-%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7
http://wirenerd.ir/tools/nc/nc/#%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C-%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7
wirenerd.ir
netcat | the-secret-bit
فهرست مرور مفاهیم پیشنیاز درست کردن چت سرور اتصال به یک پورت خاص انتقال فایل اسکن کردن پورت banner grabing درست کردن درب پشتی رمزنگاری ارتباط سوییچ های پر استفاده Author or Authors مرور ابزار netcat ابزار سادهای است که میتواند داده ها را تحت شبکه بنویسد…
🔥2
در زبان های کامپایلری دو مفهومی داریم به اسم های Static Linking و Dynamic Linking.
این دو مفهموم چی هستند و چه فواید و اشکالاتی دارند؟
https://www.wiregeek.ir/p/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-staticlink-%D9%88-dynamiclink-%D8%AF%D8%B1-%D8%B2%D8%A8%D8%A7%D9%86-%D9%87%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C/
این دو مفهموم چی هستند و چه فواید و اشکالاتی دارند؟
https://www.wiregeek.ir/p/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-staticlink-%D9%88-dynamiclink-%D8%AF%D8%B1-%D8%B2%D8%A8%D8%A7%D9%86-%D9%87%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C/
bit-orbit
تفاوت Staticlink و Dynamiclink در زبان های برنامه نویسی
یکسری مفاهیمی در برنامه نویسی داریم که من تصمیم داریم درباره آنها توی چند پست توضیح بدم، اولین مورد که شامل این پست میشه تفاوت static linking و dynamic linking در زبان های برامه نویسی هستش. مفاهیم دیگهای که داخل پست های بعدی مینویسم چیز هایی مثل static…
❤3
اینکه توی تلگرام زیاد نمینویسم مشکلم اینه که خب این نوع پلتفرم ها میان و میرن، ما هم گاهی باید همراهیشون کنیم،
بلاگ چیزیه از قبل از فیسبوک، توییتر و هر چیز دیگهای بوده و خب خواهد موند،
شاید یه تایمی همه توی فیسبوک پست مینوشتن، من یه زمان زیادی رو گذاشتم روی توییتر و اونجا پست نوشتم و فعالیت کردم، ولی الان مدت زیادیه که کلا توییتر کاربرای ایرانیش کم شده و دیگه فعالیت ندارم، چون دیگه اینترکشنی نمیگیرم،
توی بلاگ بیشتر و بهتر میتونم حرفم رو بزنم،
پس از این به بعد، سعی میکنم توی بلاگم بنویسم، و اینجا مختصر درباره نوشتهام توضیح میدم :)
بلاگ چیزیه از قبل از فیسبوک، توییتر و هر چیز دیگهای بوده و خب خواهد موند،
شاید یه تایمی همه توی فیسبوک پست مینوشتن، من یه زمان زیادی رو گذاشتم روی توییتر و اونجا پست نوشتم و فعالیت کردم، ولی الان مدت زیادیه که کلا توییتر کاربرای ایرانیش کم شده و دیگه فعالیت ندارم، چون دیگه اینترکشنی نمیگیرم،
توی بلاگ بیشتر و بهتر میتونم حرفم رو بزنم،
پس از این به بعد، سعی میکنم توی بلاگم بنویسم، و اینجا مختصر درباره نوشتهام توضیح میدم :)
❤9👍2
بین سایت های تورنتی که تا حالا باهاشون کار کردم https://ext.to/ یکی از بهترین ها بوده.
یه جورایی مثل meta search engine ها عمل میکنه.
در واقع meta search engine به موتور های جست و جویی گفته میشه که سرچ شما رو برپایه بقیه موتور های دیگه انجام میدن
مثلا شما توی duckduckgo سرچ میکنید، ولی خود duckduckgo میره از google برای شما سرچ میکنه و نتیجه رو نشون میده.
حالا ext.to هم شبیه همین هست ولی با تفاوت اینکه میره از سایت های torrent دیگه براتون نتیجه رو میاره
مثلا من دنبال یه دوره بودم به اسم Rust Programming: The Complete Developer's Guide
وقتی توی ext.to سرچ کردم برام نتیجه رو از 1337x.to اورد. گاهی وقتی دنبال یه فیلم هستم نتیجه ها رو از thepiratebay, rarbg, 1337, yts و ... میاره.
یه جورایی مثل meta search engine ها عمل میکنه.
در واقع meta search engine به موتور های جست و جویی گفته میشه که سرچ شما رو برپایه بقیه موتور های دیگه انجام میدن
مثلا شما توی duckduckgo سرچ میکنید، ولی خود duckduckgo میره از google برای شما سرچ میکنه و نتیجه رو نشون میده.
حالا ext.to هم شبیه همین هست ولی با تفاوت اینکه میره از سایت های torrent دیگه براتون نتیجه رو میاره
مثلا من دنبال یه دوره بودم به اسم Rust Programming: The Complete Developer's Guide
وقتی توی ext.to سرچ کردم برام نتیجه رو از 1337x.to اورد. گاهی وقتی دنبال یه فیلم هستم نتیجه ها رو از thepiratebay, rarbg, 1337, yts و ... میاره.
❤1
تا حالا شده به این نیاز داشته باشید که یک سرور شخصی توی خونه خودتون راه اندازی کنید؟
طوری که مثلا اون سرور مثل یک مسنجر داخلی عمل کنه؟
بیایید یه سیستم عامل جالب رو برسی کنیم که برای همین کاره.
این سیستم عامل رو یکی از بچه های همین کانال کامنت کرده بود و خب دمش گرمه :)
https://www.wiregeek.ir/p/cloud-%D8%B1%D8%A7-%D8%A8%D9%87-%D8%AE%D8%A7%D9%86%D9%87-%D8%AE%D9%88%D8%AF-%D8%A8%D8%A8%D8%B1%DB%8C%D8%AF/
طوری که مثلا اون سرور مثل یک مسنجر داخلی عمل کنه؟
بیایید یه سیستم عامل جالب رو برسی کنیم که برای همین کاره.
این سیستم عامل رو یکی از بچه های همین کانال کامنت کرده بود و خب دمش گرمه :)
https://www.wiregeek.ir/p/cloud-%D8%B1%D8%A7-%D8%A8%D9%87-%D8%AE%D8%A7%D9%86%D9%87-%D8%AE%D9%88%D8%AF-%D8%A8%D8%A8%D8%B1%DB%8C%D8%AF/
bit-orbit
cloud را به خانه خود ببرید!
چطور این ایده به ذهن من رسید ؟ جریان این ایده به این شکل بود که خب ما ایرانی ها اینترنت به شدت محدود شده\u200cای داریم، برای همین ما برای استفاده از اینترنت از vpn و یا proxy استفاده می\u200cکنیم. اما زمانی که ما وارد سایت های داخلی می\u200cشویم این سایت…
من کلی فایل برای آپلود به تلگرام دارم، اکثر مواقع خودم اپلود نمیکنم و از سرور استفاده میکنم،
حالا از این اکثر مواقع هم اکثرا خودم سرور نمیگیرم و از google colab استفاده میکنم، اینطوری من حتی هزینهای هم برای اینکار نمیکنم.
بیایین این کار رو باهم روی یک پلی لیست راک از AC/DC انجام بدیم.
دقیقا 304 تا فایل که قراره تلگرام برامون نگهداره.
https://www.wiregeek.ir/p/%D8%A7%D8%B2-%DA%AF%D9%88%DA%AF%D9%84-%D8%A8%D9%87-%D8%AA%D9%84%DA%AF%D8%B1%D8%A7%D9%85/
حالا از این اکثر مواقع هم اکثرا خودم سرور نمیگیرم و از google colab استفاده میکنم، اینطوری من حتی هزینهای هم برای اینکار نمیکنم.
بیایین این کار رو باهم روی یک پلی لیست راک از AC/DC انجام بدیم.
دقیقا 304 تا فایل که قراره تلگرام برامون نگهداره.
https://www.wiregeek.ir/p/%D8%A7%D8%B2-%DA%AF%D9%88%DA%AF%D9%84-%D8%A8%D9%87-%D8%AA%D9%84%DA%AF%D8%B1%D8%A7%D9%85/
bit-orbit
از گوگل به تلگرام!
به احتمال زیاد سایت google colab رو می\u200cشناسید، این سایت برای کسانی که پایتون کار می\u200cکنند یک معجزه\u200cست. خیلی راحت شما می\u200cتوانید کد پایتون خود را روی سرور های گوگل اجرا کنید! مثلا اگر قرار باشد یک فایل با حجم خیلی زیاد رو پردازش کنید و خب…
❤7
تا حالا گول این کامند رو توی فروم ها خوردین؟
https://www.wiregeek.ir/p/%D9%81%D9%88%D8%B1%DA%A9-%D8%A8%D9%85%D8%A8-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D8%B7%D9%88%D8%B1-%DA%A9%D8%A7%D8%B1-%D9%85%DB%8C%DA%A9%D9%86%D8%AF/
:(){ :|:& };:
خب راستش یه تایمی من چون دوست داشتم لینوکس یاد بگیرم و هیچی نمیدونستم ازش، هر کامندی توی اینترنت پیدا میکردم رو اجرا میکردم که بفهمم چه کار میکنه. این کامند هم یکی از اون ها بود. فورک بمب اینقدر خودش رو اجرا میکنه که بعد یک دقیقه مجبور میشین سیستم رو ریبوت کنید. بیایید باهم تا عمق این کامند برسی کنیم که این کامند چیه و چطوری کار میکنه.https://www.wiregeek.ir/p/%D9%81%D9%88%D8%B1%DA%A9-%D8%A8%D9%85%D8%A8-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D8%B7%D9%88%D8%B1-%DA%A9%D8%A7%D8%B1-%D9%85%DB%8C%DA%A9%D9%86%D8%AF/
bit-orbit
فورک بمب چیست و چطور کار می\u200cکند؟
اوایل که لینوکس نصب کرده بودم کامند هایی که توی فروم های مختلف می\u200cدیدم و برای من جدید بود را دوست داشتم یاد بگیرم و بدانم کار آنها چی هست، برای همین هر کامندی را که می\u200cدیدم در اولین فرصت داخل سیستم خودم اجرا می\u200cکردم. که خب کور کورانه اجرای…
👍7😱2
wget https://shorturl.at/bSY05 -q -O - |grep -Po '(?<=href=")[^"]*.mp3'
یه تایمی من یه اسکریپت پایتونی نوشته بودم که بین تگ های <a> یک سایت دنبال همه لینک هایی با پترنی که بهش میدادین میگشت. و بعد همه اون لینک ها میتونستین دانلود کنید.
ولی خب کار مشابه رو خیلی ساده تر میشد با wget انجام داد. که یکی از دوستام دستورش رو بهم داد.
بیایید این کار رو با wget باهم برسی کنیم ببینم چطوری میتونیم ازش استفاده کنیم.
سوییچ اولی که استفاده کردیم، سوییچ q- هست، به صورت پیشفرض wget موقع اجرا شدن علاوه بر خروجی که بهتون میده، لاگ هم بهتون نشون میده. مثلا توی لاگ بهتون میگه سایت با چه status code به شما جواب داده، اگه مثال من رو اجرا کنید، status code که میبینید در مرحله اول 301 هست، مشخصه چون من از لینک کوتاه کن استفاده کردم. سوییچ q- باعث میشه این لاگ رو توی خروجی نبینید.
سوییج بعدی که یک ارگومان هم داره، سوییچ O- هست.
این سوییچ از شما یک مسیر بعنوان محل ذخیره فایل خروجی میگیره.
مثلا اگر توی دسترو بالا بجای علامت - از مسیر یک فایل استفاده کنید،
محتوای اون صفحه داخل یک فایل دانلود میشه. مثلا:
wget https://shorturl.at/bSY05 -q -O /tmp/page
ولی خب ما از علامت - استفاده کردیم، این علامت به این معنی هست که خروجی برنامه رو به خروجی استاندارد هدایت کن.
علامت بعدی که میبینیم پایپ هست(|)
خب همه میدونیم که این علامت کارش این هست که خروجی یک برنامه رو بعنوان ورودی یک برنامه دیگه استفاده میکنه.
دستور بعدی grep، این دستور دو ورودی میگیره، یکی یک فایل یا تکست و دومی هم پترن ریجکس و بعد توی تکست دنبال پترنی که وارد کردین میگرده.
سوییچ اولی که برای این دستور استفاده کردیم P- هست.
این سوییچ به grep میگه که برای تفسیر ریجکسی که بهش میدیم مثل مفسر پرل اون ریجکس رو تفسیر کنه
و بعد از اون، سوییچ o- رو داریم، بدون این سوییچ هر خطی که شامل پترن ما بشه رو کامل میبینیم. توی مثال ما، ما بدون استفاده از این سوییچ، یک تگ رو کامل میبینیم.
و در آخر هم پترن ریجکس رو داریم. راستش رو بخواهید من خودمم نمیدونم این پترن چطوریه :))))
ولی خب کار میکنه.
با اجرا کردن این دستور، همه لینک های mp3 یک صفحه رو یکجا میگیرید.
میتونید این لینک ها رو دوباره به خود wget هدایت کنید تا همه رو دانلود کنه. به این شکل
wget https://shorturl.at/bSY05 -q -O - |grep -Po '(?<=href=")[^"]*.mp3 | wget -i -'
سوییچ i- توی wget یک مسیر فایل از شما میگیره و هر خط اون فایل رو بعنوان url در نظر میگیره و دانلود میکنه.
شما با دادن علامت - به wget از خروجی دستور قبلی بجای فایل ورودی استفاده کردین.
❤🔥2
20240108_171459.jpg
2 MB
این عکس رو چند روز پیش از دریا موقع غروب گرفتم، صرف لذت نگاه کردنش، برای بکگراند هم قشنگه :)
❤6👍4👌1