Bit Orbit 🪐
381 subscribers
98 photos
10 videos
45 files
290 links
Talking about world of bit and bytes.
Download Telegram
Bit Orbit 🪐
به بخش راک دارم بیشتر از 300 آهنگ اضافه می‌کنم :) یادمون باشه همه این روند، درواقع از دانلود آهنگ تا کانورت به فرمت مناسب برای وب تا نگه‌داری موزیک ها و حتی خود سایت روی گیتهاب داره انجام میشه و هیچ سرور که از خودم باشه درگیر نیست! گیتهاب ازم شکایت نکنه…
به radio دو ایستگاه دیگه هم اضافه کردم
یکی به اسم jazz و یکی دیگه هم به اسم خواننده محبوب گذشته‌ام Leonard Cohen.
نظرتون چیه یه فورک از این ریپو بگیرید و وصلش کنید به بات تلگرام تا استیشن خودتون رو داشته باشید؟
هنوز سبک و خواننده های زیادی هستن که اینجا جاشون کمه، جدا از اینها
یه پلی لیست موزیک برای برنامه نویسی هم جای خالی بزرگی داره اینجا.
4
یه سیستم عامل داریم به اسم batocera.

این سیستم عامل برای کنسول های قدیمی مثل sega, atari, nintendo و کلی دیگه از کنسول ها emulator هاشون رو کانفیگ کرده و داخل سیستم عامل قرار داده، بعد برای ما کافیه که batocera رو روی یک فلش بوت کنیم و وصل کنیم به لپتاپ و تمام، می‌تونیم کلی بازی های ارکید قدیمی رو بازی کنیم. فقط یه مشکلی هست! اینکه خود این سیستم عامل بازی های زیادی رو داخل خودش نداره، پس راهکار اینکه که بریم و دانلود کنیم و داخلش قرار بدیم. البته یک گزینه هم برای سرچ و دانلود بازی هم داره که بعضی از بازی هاش بعد از دانلود برای من کار نکرد.

بعد یکی batocera رو گرفته و 128,000 بازی رو روش نصب کرده و اسمشو گذاشته wolfazone این امیج خودش 128 گیگه! و مشکلش اینه که فقط برای پردازنده های arm اینکارو کرده و نسخه x86 batocera رو استفاده نکرده، میشه روی رزبری رانش کرد ولی خب خرید رزبری اصلا منطقی نیست برای اینکار.

من این ایمیج رو با تورنت دانلود کردم، بعد بعنوان loop device ماونتش کردم و رفتم چند گیگ از رام هاشو کپی کردم روی batocera خودم، به خوبی کار کرد :) هر بازی رو باز کردم بدون مشکل باز شد!
🔥51
archivemount


یه ابزار خیلی باحاله که میشه باهاش یک فایل ارچیو مثل tar رو روی یک دایرکتوری ماونت کرد.
من همیشه وقتی یه چیزی رو tar می‌کنم از فلگ lzma-- استفاده می‌کنم که فایل به بیشترین حد ممکن فشرده بشه.
جالبی این ابزار اینکه که فشرده سازی رو هم ساپورت می‌کنه، و هر تغییری که روی دایرکتوری ماونت شده بدین، توی فایل ارچیو اصلی هم انجام میشه.
🔥3
Bit Orbit 🪐
archivemount یه ابزار خیلی باحاله که میشه باهاش یک فایل ارچیو مثل tar رو روی یک دایرکتوری ماونت کرد. من همیشه وقتی یه چیزی رو tar می‌کنم از فلگ lzma-- استفاده می‌کنم که فایل به بیشترین حد ممکن فشرده بشه. جالبی این ابزار اینکه که فشرده سازی رو هم ساپورت می‌کنه،…
از خوبی های arch اینه که مجبور میشی برای یه کار ساده کلی چیز بخونی در عوض کلی هم چیز یاد می‌گیری.
یه ابزاری داریم(البته یه ماژول توی کرنل لینوکس) که اجازه می‌ده هر کسی یک فایل سیستم برای خودش بسازه بدون اینکه کد های خود کرنل رو تغییری بده، اسم این ابزار fuse هست.
و خب کلی فایل سیستم بر اساس fuse درست شده تا الان که خیلی جالبن واقعا، مثلا یکی دیگه که قبلا درموردش توی بلاگم نوشتم sshfs هست که میشه باهاش یک فایل سیستم که
روی یک سرور هست روی یک جای دیگه‌ای ماونت کرد

لیست بعضی از این فایل سیستم ها رو از اینجا میشه پیدا کرد
🔥5
یک اروری کلی از تایم منو گرفت تا درست بشه امشب این بود request_uri$

حالا این یعنی چی؟
ما معمولا روی یک سرور کلی وب سرویس مختلف میاریم بالا
همه رو روی پورت های رندوم لوکال ران می‌کنیم
و بعد با nginx ست می‌کنیم که اگه کسی به پورت 443 در خواست داد
ببین به چه دامنه‌ای درخواست داده، و درخواست به اون دامنه رو بفرست به لوکال خودت روی پورتی که مشخص شده برای اون دامنه.

مثلا روی یک سرور من یک next cloud دارم و یه n8n
هر دوی این هم روی پورت 443 باید باشه، ولی همزمان یک برنامه فقط می‌تونه روی این پورت ها شنود کنه،
اینجاست که nginx میاد جلوی این دو و خود این ها هم روی پورت های دیگه فعال میشن.
بعد وقتی وارد دامنه next.exampel.com بشم، nginx بخاطر دامنه خودش می‌دونه که به کدوم پورت ریکوئست ارسال کنه.

حالا مشکل من اینجا بود که خب وقتی ریکوئست ارسال میشه به اون پورت، بقیه مسیر ارسال نمی‌شه، مثلا اگه به example.com/some/path ریکوئست بفرستم، اون مقدار /some/path از سمت nginx ارسال نمیشه، مگه این‌که مشخص کنم،
حالا برای اینکار میایم و از uri$ استفاده می‌کنیم که هر مسیری کاربر داده بود هم ارسال بشه از طریق nginx
ولی این یه مشکل دیگه داشت، اینکه http parameter رو ارسال نمی‌کرد، برای اینکار فقط کافی بود بجای uri$ از request_uri$ استفاده کنم.

http parameter میشه مثلا این:
example.com/some/p/?key=value

می‌تونید درباره nginx proxy pass بیشتر بخونید.
احساس می‌کنم hack the box حل کردم.
توی لینوکس فست گفتن هرکی این سکرت رو پیدا کنه جایزه داره، الان پیداش کردم. جایزه یه بستنیه :)
شانس، منم سرما خوردم. عالی
👍2
Bit Orbit 🪐
https://dev.to/sibyx/migrating-data-between-two-online-minio-instances-53ia
بذارید براتون بگم.
وقتی آموزش برنامه نویسی میدن، همیشه میان فایل های که از سمت کلاینت میاد رو داخل سروری که کد اجرا شده می‌ریزن، ولی توی برنامه های واقعی این راه اصلا درست نیست.

دلایل زیادیم داره. مثلا چند سرویس مختلف که روی سرور های مجزایی هستند نیازه با این فایل ها کار کنند‌.(شاید بگین خب NAS استفاده می‌کنیم، درسته ولی راه بهتر هم هست)

توی دنیای واقعی از Object Storage استفاده می‌شه. مثلا minIO، که API بهت میده توی کدت کال می‌کنی و اپریشین های مختلف روی فایل ها انجام میدی.

اینجا این پست داره توضیح میده چقدر با minIo فرایند میرور کردن کل دیتا ساده‌ست و براش ابزار هست.
👍3
Xu A. System Design Interview. An Insider_s Guide 2ed 2020.pdf
22 MB
شروع کنیم به خوندن این کتاب، بنظرم که کتاب خوبیه برای یه DevOps
3
Bit Orbit 🪐
Xu A. System Design Interview. An Insider_s Guide 2ed 2020.pdf
خب می‌دونید که میشه از ssh بعوان یه VPN tunnel استفاده کرد.
اما مشکل اینجاست که زیاد استیبل نیست و اگه قطع بشه، یهو سرویسی که داره از این
تانل استفاده می‌کنه هم قطع میشه، دیروز برای همین مشکل یه سرویس systemd نوشتم که این مشکل رو
حل کنه و در صورت قطع شدن و یا ریبوت شدن سیستم، مجدد وصل بشه.

https://github.com/shabane/ssh-daemon
👏4
while true
do
date >> ./log
ping 1.1.1.1 -c 2 >> ./log
ping 8.8.8.8 -c 2 >> ./log
echo '---------------------------' >> ./log
done





یه سروری داریم که توی تایم های خاصی کانکشنش به اینترنت قطع میشه.
بنظرم این اسکریپت چیز بدی نیست برای چک کردن اینکه توی چه تایمی داره این اتفاق میوفته.

اول اومدم به Ai گفتم بنویسه یه چیزی که اینکار رو بکنه. بعد با پایتون نوشت :/

دیدم کاری نداره همینو با bash نوشتم. دیفالت AI احتمالا اینکه که هرچی بهش بگی رو با پایتون بنویسه مگه اینکه غیر این رو بهش بگی.
👍4
احتمالا سایت snapdrop.net رو میشناسید.
هر تایم من خواستم ازش استفاده کنم کلا داون بوده.

خوشبختانه این سایت کدش اپن سورسه، برای همین من روی سرورم اوردم بالا
بد نیست که شما هم ازش استفاده کنید، آدرس‌ش هست: https://drop.wiregeek.ir


توضیح کلی: شما اگه نیاز داشته باشید که فایل با حجم خیلی بالا رو به صورت لوکال انتقال بدین
خیلی ساده وارد این سایت میشین روی هر دو دیوایس، و بعد دیوایس هایی که توی لوکال نتورک شما باشن شما رو می‌بینند،
بعد می‌تونید هر دیتایی رو منتقل کنید بدون مصرف هیچ ترافیک خارجی.
7👍2
Bit Orbit 🪐
احتمالا سایت snapdrop.net رو میشناسید. هر تایم من خواستم ازش استفاده کنم کلا داون بوده. خوشبختانه این سایت کدش اپن سورسه، برای همین من روی سرورم اوردم بالا بد نیست که شما هم ازش استفاده کنید، آدرس‌ش هست: https://drop.wiregeek.ir توضیح کلی: شما اگه نیاز…
یه چیز جالب بهتون بگم. اگه از VPN استفاده کنید، هر کسی که از همون سرور vpn استفاده کنه و بیاد داخل این سایت، می‌تونه بقیه رو ببینه.
اینطوری می‌تونید لوکال هم نباشید.
🔥6
یه مدته دارم سرعت تایپم رو با این سایت چک می‌کنم،‌ خیلی کندم، ولی شما هم دوست داشتین بذارین ببینیم چقدر من کندم
https://terminaltrove.com/lazydocker/


این lazyDocker خیلی چیز جالبیه.
شبیه به Htop ولی برای داکره. اوضاع مصرف منابع کانینر رو نشون میده، از اون بهتر اینکه با یه کلیک وارد شل کانتینر میشه.
نیاز نیست docker --exec -it بزنیم.

الان کشف کردم شورتکات هاش هم vim like هست :)
واقعا ابزار خوبیه، به‌به.
2
This media is not supported in your browser
VIEW IN TELEGRAM
نمونه کاری که می‌کنه.
‏NTP چیست؟ (Network Time Protocol)

‏NTP یک پروتکل شبکه س که برای هماهنگ نگه‌داشتن ساعت سیستم‌ها در شبکه استفاده میشود. با استفاده از NTP، همه دستگاه‌ها (سرورها، لپ‌تاپ‌ها، روتـرها و ...) میتونن ساعت دقیقی داشته باشن.

این اصلا اهمیتی داره؟
ساعت دقیق در کامپیوترها فقط برای نمایش زمان نیست. خیلی از سیستم‌ها وابسته به زمان درست هستند.
در امنیت و رمزنگاری، اگر ساعت سیستم اشتباه باشه، گواهی‌ها از کار میفته .
در سرورها و شبکه‌ها، هماهنگی بین سیستم‌ها وابسته به زمان دقیقه.
در بانک‌ها و صرافی‌ها، زمان ثبت تراکنش‌ها باید کاملاً دقیق باشه.
در لاگ‌ها و مانیتورینگ، برای تحلیل درست مشکلات، زمان مهمه.


‏NTP چطور کار می‌کند؟
کامپیوتر شما به یک سرور NTP متصل میشه.
سرور زمان دقیق (بر اساس UTC) را به سیستم شما میفرسته.
سیستم شما مدت زمان رفت‌وبرگشت پیام (تأخیر شبکه) را در نظر میگیرد.
سپس ساعت خودشو تنظیم میکنه.
این فرآیند مرتب تکرار میشه تا همیشه ساعت سیستم به‌روز باشه .


‏Stratum در NTP یعنی چه؟
‏NTP از یک سیستم لایه‌ای استفاده میکنه به نام Stratum
‏Stratum 0: منابع دقیق اولیه زمان مثل ساعت اتمی یا GPS
‏Stratum 1: سرورهایی که مستقیماً به Stratum 0 متصله
‏Stratum 2: از سرورهای stratum 1 زمان میگیرن
و همین‌طور تا Stratum 15
هرچه Stratum کمتر باشه، منبع دقیقتره . معمولاً سیستم‌های معمولی به سرورهای Stratum 2 یا 3 متصل میشن .


چطور از NTP استفاده کنیم؟

در لینوکس برای فعال‌سازی
sudo timedatectl set-ntp true

برای دیدن وضعیت پروسه
timedatectl status

اگر از chrony استفاده میکنی (که نسبت به ntp سبک‌تر و امن‌تره)
sudo systemctl enable chronyd
sudo systemctl start chronyd


در ویندوز :
به کنترل پنل برو، بخش Date and Time، و تب Internet Time رو باز کن.
سرور NTP رو مشخص کن مثل: time.windows.com


یا از طریق CMD:
w32tm /resync


سرورهای NTP رایگان و قابل استفاده :
pool.ntp.org: معروف‌ترین سرور توزیع‌شده NTP

ntp.ubuntu.com: مخصوص کاربران اوبونتو


نکات امنیتی درباره NTP
نسخه‌های جدیدتر NTP امکان احراز هویت دارند (با کلید هش‌شده)
گاهی از سرورهای NTP برای حملات DDoS استفاده میشود
برای امنیت بیشتر، استفاده از chrony به جای ntpd پیشنهاد میشود
دسترسی سیستم به پورت‌های UDP 123 باید باز باشد



کاربردهای پیشرفته NTP
در دیتاسنترها برای هماهنگ نگه‌داشتن زمان بین هزاران سرور
در برنامه‌های تحلیلی یا سیستم‌های مانیتورینگ
در سیستم‌های توزیع‌شده مثل Kafka، Hadoop یا Kubernetes
در شبکه‌های مالی و رمزنگاری برای زمان دقیق تراکنش‌ها
در اینترنت اشیا و دستگاه‌هایی که log میگیرند یا عملیات زمان‌بندی‌شده دارند



#ntp
#byteforge
@byteforge_chan 🛸
🔥3
Byteforge / بایــت فورج 🛸
‏NTP چیست؟ (Network Time Protocol) ‏NTP یک پروتکل شبکه س که برای هماهنگ نگه‌داشتن ساعت سیستم‌ها در شبکه استفاده میشود. با استفاده از NTP، همه دستگاه‌ها (سرورها، لپ‌تاپ‌ها، روتـرها و ...) میتونن ساعت دقیقی داشته باشن. این اصلا اهمیتی داره؟ ساعت دقیق در کامپیوترها…
یه نکته هم من اضافه کنم. اینکه chrony پکیج خوبیه و امکانات خوبی میده. ولی اگه نیاز داشتین که ntp ست کنید، خود systemD یه پکیج داره به اسم systemd-timesyncd
که دیفالت خیلی از os ها دارن، همون رو میشه فعال کرد و راحت NTP داشت.

یه چیز دیگه هم اینکه خود پکیج NTP هنوز توی ریپازیتوری های دبیان هست ولی منسوخ شده.
👍31