💢 بالاخره نسخه جدید Pop!_OS منتشر شد: Pop!_OS 24.04 LTS به همراه COSMIC Epoch 1 (اولین نسخه پایدارِ دسکتاپ COSMIC).
چند ساعت پیش، بعد از مدتها آلفا/بتا و تستهای مختلف، COSMIC از حالت آزمایشی خارج شده و رسما استیبل حساب میشه؛ در نتیجه برای استفاده روزمره گزینه جدیتریه (هرچند چون «نسخه اول» محسوب میشه، هنوز ممکنه بعضی باگهای ریز یا کمبود فیچر نسبت به DEهای قدیمیتر دیده بشه).
از سایت رسمی System76 میتونید عکس هارو ببینید و ISO رو دانلود کنید
🔘 @linux_exp | #linux #popos #release
چند ساعت پیش، بعد از مدتها آلفا/بتا و تستهای مختلف، COSMIC از حالت آزمایشی خارج شده و رسما استیبل حساب میشه؛ در نتیجه برای استفاده روزمره گزینه جدیتریه (هرچند چون «نسخه اول» محسوب میشه، هنوز ممکنه بعضی باگهای ریز یا کمبود فیچر نسبت به DEهای قدیمیتر دیده بشه).
کازمیک دسکتاپ اختصاصی System76 هستش؛ محیطی که روی کاربرهای کیبورد-محور و ورکفلوهای سریع هم تمرکز داره.
داستان COSMIC از جایی شروع شد که System76 تصمیم گرفت مسیرش رو از GNOME جدا کنه و برای کاهش وابستگی به اکستنشنها و دردسرهای سازگاری، COSMIC رو به یک دسکتاپ مستقل تبدیل کنه.
از سایت رسمی System76 میتونید عکس هارو ببینید و ISO رو دانلود کنید
🔘 @linux_exp | #linux #popos #release
⚡2🔥2👌2😨1🎄1
خیلیها وقتی از X11 میان سمت Wayland، این سوال براشون پیش میاد که چرا اینجا مثل X نمیگیم Window Manager و به جاش میگیم compositor؟
اول فرق X و Wayland رو بفهمیم. تو دنیای X داستان اینطوری بود:
💠 توی Wayland چی عوض شده؟
اینجا از دید پروتکل، همیشه یک سرور Wayland وجود داره که همون چیزیه که بهش میگیم compositor. این سرور:
چرا نمیگیم Wayland Window Manager؟
اول فرق X و Wayland رو بفهمیم. تو دنیای X داستان اینطوری بود:
▫️ یه X server داشتیم که کارش صحبت با کارت گرافیک و ورودیها بود و پنجرهها رو روی صفحه میکشید.تو X اینها میتونستن توی یک برنامه هم جمع بشن. مثلاً KWin یا Mutter روی X هم WM هستن هم compositing manager. یعنی ترکیبشون ممنوع نبود، فقط معماری طوری بود که جدا بودنشون هم ممکن و رایج بود.
▫️ یه Window Manager جدا که تصمیم میگرفت پنجرهها کجا باشن، فوکوس دست کی باشه، تایل بشن یا شناور، دکمهها چه رفتاری داشته باشن و …
▫️ یه compositor (اختیاری) مثل compton یا picom که تصویر نهایی دسکتاپ رو با سایه و شفافیت و افکتها ترکیب میکرد.
💠 توی Wayland چی عوض شده؟
اینجا از دید پروتکل، همیشه یک سرور Wayland وجود داره که همون چیزیه که بهش میگیم compositor. این سرور:
▫️ مستقیماً با DRM/KMS و کارت گرافیک کار میکنه.
▫️ ورودیها (کیبورد، موس، تاچ و …) رو دریافت میکنه.
▫️ بافرهایی که اپها رندر کردن رو میگیره.
▫️ تصمیم میگیره هر سطح (surface) کجا و چطوری روی کدوم مانیتور نمایش داده بشه.
▫️ در عمل، همون کارهای یک Window Manager رو هم مثل فوکوس، تایلینگ، فلو، فولاسکرین، ورکاسپیسها و … انجام میده.
چرا نمیگیم Wayland Window Manager؟
▫️ از دید فنی، نقش اصلی این برنامه کامپوزیت کردن بافرها و ساختن تصویر نهایی خروجه؛ مدیریت پنجره فقط یک بخش از ماجراست.🔘 @linux_exp | #wayland #x11 #wm
▫️ پروتکل Wayland حول این کامپوزیتور طراحی شده و مرکز مدیریت گرافیکه که هم با سختافزار ارتباط میگیره، هم با اپها، هم سیاستهای پنجرهها رو اجرا میکنه.
▫️ چیزی بهعنوان WM مستقل که فقط سیاست بده به شکل استاندارد توی پروتکل وجود نداره؛ اگر هم بخشی از منطق به یه پروسۀ دیگه واگذار بشه، باز هم از نگاه Wayland، تصمیمگیرندۀ نهایی همون compositor هست و اون یکی فقط helper حساب میشه.
👍6🔥4❤3👏1
مشکل باز نشدن اپهای ترمینالی و xdg-terminal-exec
وقتی یه برنامۀ ترمینالی رو از فایل منیجر یا لانچر باز میکنین، سیستم باید خودش یه ترمینال انتخاب کنه. اما مشکل اینجاست که هیچ استاندارد واحدی برای این انتخاب وجود نداره.
هر دسکتاپی خودش به طریقهای این رو حل کرده بود. GNOME از gnome-terminal استفاده میکرد، KDE از konsole و XFCE از xfce4-terminal. ویندو منیجرهای مینیمال مثل Hyprland و i3 و sway هم اصلاً هیچ استانداردی نداشتن.
به عبارت دیگه، اگه شما از یه window manager استفاده میکنین و مثلا ترمینال kitty رو نصب کردین، وقتی یه برنامۀ ترمینالی رو از لانچر اجرا میکنین، سیستم نمیتونه ترمینال مناسب رو برای اجرا پیدا کنه و شاید جای kitty بخواد با xterm باز کنه که روی سیستم شما نباشه.
چند سال پیش، کامیونیتی لینوکس تصمیم گرفت استانداردی برای این ایجاد کنه: xdg-terminal-exec
با استفاده از این ابزار، سیستم به سادگی از یه فایل کانفیگ ترمینالهای مورد نظر شما رو میخونه و میدونه شما کدوم ترمینال رو ترجیح میدین.
در نتیجه اگه xdg-terminal-exec نصب باشه و درست تنظیم شده باشه، تمام برنامههای ترمینالی بدون توجه به محیطی که استفاده میکنین، از ترمینال مورد نظر شما استفاده میکنن.
🔘 @linux_exp | #linux #wm #xdg
وقتی یه برنامۀ ترمینالی رو از فایل منیجر یا لانچر باز میکنین، سیستم باید خودش یه ترمینال انتخاب کنه. اما مشکل اینجاست که هیچ استاندارد واحدی برای این انتخاب وجود نداره.
هر دسکتاپی خودش به طریقهای این رو حل کرده بود. GNOME از gnome-terminal استفاده میکرد، KDE از konsole و XFCE از xfce4-terminal. ویندو منیجرهای مینیمال مثل Hyprland و i3 و sway هم اصلاً هیچ استانداردی نداشتن.
به عبارت دیگه، اگه شما از یه window manager استفاده میکنین و مثلا ترمینال kitty رو نصب کردین، وقتی یه برنامۀ ترمینالی رو از لانچر اجرا میکنین، سیستم نمیتونه ترمینال مناسب رو برای اجرا پیدا کنه و شاید جای kitty بخواد با xterm باز کنه که روی سیستم شما نباشه.
چند سال پیش، کامیونیتی لینوکس تصمیم گرفت استانداردی برای این ایجاد کنه: xdg-terminal-exec
با استفاده از این ابزار، سیستم به سادگی از یه فایل کانفیگ ترمینالهای مورد نظر شما رو میخونه و میدونه شما کدوم ترمینال رو ترجیح میدین.
در نتیجه اگه xdg-terminal-exec نصب باشه و درست تنظیم شده باشه، تمام برنامههای ترمینالی بدون توجه به محیطی که استفاده میکنین، از ترمینال مورد نظر شما استفاده میکنن.
xdg-terminal-exec به عنوان یه specification هنوز تو مرحلۀ proposal هست. اگرچه GLib نسخۀ 2.76+ ازش پشتیبانی میکنه، ولی خیلی از سیستمها هنوز به این نسخه بهروز نشدن بنابراین اگه از نسخههای قدیمیتر استفاده میکنین این روش برای شما جواب نمیده
🔘 @linux_exp | #linux #wm #xdg
❤4🔥4👍1🍓1
❗ اطلاعیۀ جدید آرچ دربارۀ تغییر مهم در درایورهای NVIDIA در آرچ لینوکس
از نسخۀ 590 به بعد، درایور جدید دیگر از کارتهای گرافیک Pascal (سری GTX 10xx) یا مدلهای قدیمیتر پشتیبانی نمیکند. به همین دلیل بستههای آرچ به نسخههای متنباز جایگزین میشوند:
nvidia → nvidia-open
nvidia-dkms → nvidia-open-dkms
nvidia-lts → nvidia-lts-open
💠 تأثیر این تغییر:
اگر کارت گرافیک شما Pascal، Maxwell یا قدیمیتر است، بعد از بهروزرسانی، درایور دیگر بارگذاری نمیشود و ممکن است محیط گرافیکی سیستم از کار بیفتد.
✍ کاری که باید انجام دهید (برای کاربران Pascal و قدیمیتر):
اگر کارت شما مثل GTX 1060، GTX 970، GTX 750 Ti و مشابه آنهاست:
۱. بستههای فعلی nvidia، nvidia-lts یا nvidia-dkms را حذف کنید.
۲. بستۀ جایگزین nvidia-580xx-dkms را از AUR نصب کنید (شاخهی قدیمیتر درایور انویدیا که هنوز از Pascal پشتیبانی میکند).
🦦 کسانی که کارتهای جدیدتر مثل Turing (RTX 20xx، GTX 1650) یا جدیدتر دارند، لازم نیست کاری انجام دهند؛ سیستم خودش به درایورهای متنباز جدید منتقل میشود.
#linux #archlinux #news #nvidia
🔘 @linux_exp ~> Source
از نسخۀ 590 به بعد، درایور جدید دیگر از کارتهای گرافیک Pascal (سری GTX 10xx) یا مدلهای قدیمیتر پشتیبانی نمیکند. به همین دلیل بستههای آرچ به نسخههای متنباز جایگزین میشوند:
nvidia → nvidia-open
nvidia-dkms → nvidia-open-dkms
nvidia-lts → nvidia-lts-open
💠 تأثیر این تغییر:
اگر کارت گرافیک شما Pascal، Maxwell یا قدیمیتر است، بعد از بهروزرسانی، درایور دیگر بارگذاری نمیشود و ممکن است محیط گرافیکی سیستم از کار بیفتد.
✍ کاری که باید انجام دهید (برای کاربران Pascal و قدیمیتر):
اگر کارت شما مثل GTX 1060، GTX 970، GTX 750 Ti و مشابه آنهاست:
۱. بستههای فعلی nvidia، nvidia-lts یا nvidia-dkms را حذف کنید.
۲. بستۀ جایگزین nvidia-580xx-dkms را از AUR نصب کنید (شاخهی قدیمیتر درایور انویدیا که هنوز از Pascal پشتیبانی میکند).
🦦 کسانی که کارتهای جدیدتر مثل Turing (RTX 20xx، GTX 1650) یا جدیدتر دارند، لازم نیست کاری انجام دهند؛ سیستم خودش به درایورهای متنباز جدید منتقل میشود.
#linux #archlinux #news #nvidia
🔘 @linux_exp ~> Source
❤3❤🔥2👍1🔥1
💠 آشنایی با مجموعه ابزارهای moreutils
در کنار coreutils که ابزارهای کلاسیک مثل cp، ls، mv و… رو فراهم میکنه، moreutils چند ابزار کوچیک ولی کاربردی اضافه میکنه که جای خالی بعضی قابلیتها رو تو محیطهای یونیکسی و لینوکسی پر میکنن و توی اسکریپتنویسی خیلی بهدرد میخورن.
لیست چند تا از اسکریپتهای کاربردی moreutils رو میتونید در ادامه ببینید:
- combine: ترکیب خطوط دو فایل با منطق AND/OR
- errno: نمایش اسم و توضیح خطاهای استاندارد errno
- ifdata: گرفتن اطلاعات اینترفیس شبکه بدون پارس ifconfig
- ifne: اجرای برنامه فقط اگه stdin خالی نباشه
- isutf8: چککردن معتبر بودن UTF‑8 ورودی یا فایل
- lckdo: اجرای فرمان با فایل قفل برای جلوگیری از اجرای همزمان
- mispipe: پایپکردن دو فرمان، ولی برگرداندن کد خروجی فرمان اول
- parallel: اجرای همزمان چند فرمان (چند job)
- pee: شبیه tee، ولی فرستادن stdin به چند پایپ
- sponge: گرفتن کل ورودی و آخر کار نوشتن روی فایل
- ts: اضافهکردن timestamp به ابتدای هر خط ورودی
- vidir: ویرایش اسم/جای فایلها از داخل ادیتور
- vipe: بازکردن stdin در ادیتور و فرستادن خروجی ویرایش به stdout
- zrun: اجرای فرمان روی فایلهای فشرده، با آنزیپ خودکار موقت
#linux #commandline #tools
🔘 @linux_exp ~> More
در کنار coreutils که ابزارهای کلاسیک مثل cp، ls، mv و… رو فراهم میکنه، moreutils چند ابزار کوچیک ولی کاربردی اضافه میکنه که جای خالی بعضی قابلیتها رو تو محیطهای یونیکسی و لینوکسی پر میکنن و توی اسکریپتنویسی خیلی بهدرد میخورن.
لیست چند تا از اسکریپتهای کاربردی moreutils رو میتونید در ادامه ببینید:
- combine: ترکیب خطوط دو فایل با منطق AND/OR
- errno: نمایش اسم و توضیح خطاهای استاندارد errno
- ifdata: گرفتن اطلاعات اینترفیس شبکه بدون پارس ifconfig
- ifne: اجرای برنامه فقط اگه stdin خالی نباشه
- isutf8: چککردن معتبر بودن UTF‑8 ورودی یا فایل
- lckdo: اجرای فرمان با فایل قفل برای جلوگیری از اجرای همزمان
این فرمان بعد از اضافه شدن فرمان flock به util-linux منسوخ شده و تو نگارشهای آینده حذف میشه
- mispipe: پایپکردن دو فرمان، ولی برگرداندن کد خروجی فرمان اول
- parallel: اجرای همزمان چند فرمان (چند job)
- pee: شبیه tee، ولی فرستادن stdin به چند پایپ
- sponge: گرفتن کل ورودی و آخر کار نوشتن روی فایل
- ts: اضافهکردن timestamp به ابتدای هر خط ورودی
- vidir: ویرایش اسم/جای فایلها از داخل ادیتور
- vipe: بازکردن stdin در ادیتور و فرستادن خروجی ویرایش به stdout
- zrun: اجرای فرمان روی فایلهای فشرده، با آنزیپ خودکار موقت
#linux #commandline #tools
🔘 @linux_exp ~> More
🔥6👌3👍2❤1
سال 1990 یک RFC به اسم "پروتکل اینترنت از طریق حاملهای پرندهای (IPoAC)" پیشنهاد شد که جنبه فان داشت و دروغ آپریل به حساب میومد.
الان شرایط و وضعیت جوری شده که فرستادن پکت ها با کبوتر یک گزینه به حساب میاد.
یعنی شما با کبوتر نامه/پکت بفرستین delay کمتری دارین تا اینترنت ایران.
@linux_ex
الان شرایط و وضعیت جوری شده که فرستادن پکت ها با کبوتر یک گزینه به حساب میاد.
IPoAC با موفقیت پیادهسازی شده است، اما تنها برای ۹ بسته شبکه، با نرخ از اتلاف بسته ۵۵ درصد (به دلیل خطای اپراتور)، و زمان پاسخ بین ۳۰۰۰ ثانیه (۵۰ دقیقه) تا بیش از ۶۰۰۰ ثانیه (۱۰۰ دقیقه). بنابراین، این فناوری از تأخیر بسیار بالا رنج میبرد.
یعنی شما با کبوتر نامه/پکت بفرستین delay کمتری دارین تا اینترنت ایران.
@linux_ex
👍9👌5💔4
This media is not supported in your browser
VIEW IN TELEGRAM
ProxyChains (بستۀ
🔺 کاربردها
- برای برنامههایی که خودشون پروکسی ساپورت نمیکنن، مثل nmap یا telnet.
- عبور از فایروال با chain کردن SOCKS4/5 و HTTP.
- تست شبکه یا حفظ anonymity در ابزارهای CLI.
⚙️ کانفیگ
توی فایل
انواع chain که تو کانفیگ میتونین مشخص کنین:
-
-
-
-
🔻 محدودیتها
- فقط TCP (نه UDP، ping، QUIC).
- روی برنامههای statically linked کار نمیکنه.
- ممکنه DNS leak اتفاق بیفته؛
#commandline #network #vpn
🔘 @linux_exp
proxychains4 یا proxychains-ng) ابزاریه روی لینوکس که اتصالات TCP هر برنامهای رو از طریق پروکسی یا زنجیره پروکسیها هدایت میکنه.🔺 کاربردها
- برای برنامههایی که خودشون پروکسی ساپورت نمیکنن، مثل nmap یا telnet.
- عبور از فایروال با chain کردن SOCKS4/5 و HTTP.
- تست شبکه یا حفظ anonymity در ابزارهای CLI.
⚙️ کانفیگ
توی فایل
/etc/proxychains.conf میتونین پروکسیاتونو بذارین:dynamic_chain
[ProxyList]
socks5 127.0.0.1 2080
http 192.168.1.1 8080
انواع chain که تو کانفیگ میتونین مشخص کنین:
-
strict_chain ~> همه پروکسیها به ترتیب؛ اگر یکی مرده کل chain میشکنه-
dynamic_chain ~> از اول لیست شروع، مردهها رو رد میکنه-
round_robin_chain ~> مثل dynamic ولی چرخشی با chain_len ثابت-
random_chain ~> کاملاً تصادفی به اندازۀ chain_len 🔻 محدودیتها
- فقط TCP (نه UDP، ping، QUIC).
- روی برنامههای statically linked کار نمیکنه.
- ممکنه DNS leak اتفاق بیفته؛
proxy_dns رو فعال کنین.#commandline #network #vpn
🔘 @linux_exp
👍7❤1💘1
Forwarded from Terminal Notes
تو این روزایی که وضعیت اینترنت جالب نیست، اپلیکیشنهای Todo که دنبال سینک کردنن و به اینترنت و VPN نیاز دارن (مثل Notion) رو مخ میرن. واسه همین یه Todo Manager جمعوجور با Go نوشتم که همه چی رو لوکال توی یه فایل JSON ذخیره میکنه و دیگه کاری به نت نداره:
📥 GitHub: togo
کی میدونه؛ ممکنه باز بهکار بیاد.
🔘 @TerminalNotes <- #project
📥 GitHub: togo
کی میدونه؛ ممکنه باز بهکار بیاد.
پ.ن: نمونش توی وب بود ولی به کل بازنویسیش کردن به gui. چرا خب؟ کامند لاین به این خوشگلی :)
نسخه cliش رو بر اساس فیچرها و نیازهای خودم نوشتم.
🔘 @TerminalNotes <- #project
❤7👍2🥰2
Forwarded from Komeil
https://taskwarrior.org/
هم جالبه در نوع خودش و برای sync کردن میشه سرورش رو self-host کرد.
هم جالبه در نوع خودش و برای sync کردن میشه سرورش رو self-host کرد.
❤4👎1
💢 معرفی Jami: پیامرسان بدون سرور مرکزی از اکوسیستم گنو
یک پیامرسان متنباز و P2P است که بدون نیاز به سرور مرکزی کار میکند. پیامها، تماس صوتی/تصویری و فایلها مستقیماً بین دستگاهها رد و بدل میشوند. کاملاً خصوصی با رمزنگاری e2e
🔰 ویژگیها:
- هر دستگاه خودش یک نود در شبکه است
- ایجاد حساب و ارتباط با ایدی ۴۰ کاراکتری مخصوص
- پشتیبانی از همۀ پلتفرمها
- رایگان و متن باز
- رمزنگاری end to end
- قابلیت استفاده در شبکههای داخلی و موقع قطعی اینترنت بین المللی
❇️ اما صرفا محدود به این موارد نیست و شما با استفاده از این پیامرسان اوپن سورس میتونید توی شبکههای کوچیک و محدودی که با بلوتوث یا یک شبکه LAN کوچیک ایجاد کردین ارتباط برقرار کنید. بهدلیل ساختار p2p این پیامرسان نیاز به سرور خاصی برای میزبانی نیست.
🏷 اما به این معنی نیست که هیچ نیازی به سرور نباشه؛ توی شبکههای محلی و کوچیک اگه ایدی دوستاتون رو ادد کرده باشید و سیو داشته باشید نیازی نیست، ولی وقتی بحث شبکۀ بزرگتری مثل شبکه محدود ایران میشه موقع قطعی نت نیاز به یک سری موارد هست که در پست بعد به توضیحش میپردازیم
#messenger #Jami
🔘 @linux_exp
یک پیامرسان متنباز و P2P است که بدون نیاز به سرور مرکزی کار میکند. پیامها، تماس صوتی/تصویری و فایلها مستقیماً بین دستگاهها رد و بدل میشوند. کاملاً خصوصی با رمزنگاری e2e
🔰 ویژگیها:
- هر دستگاه خودش یک نود در شبکه است
- ایجاد حساب و ارتباط با ایدی ۴۰ کاراکتری مخصوص
- پشتیبانی از همۀ پلتفرمها
- رایگان و متن باز
- رمزنگاری end to end
- قابلیت استفاده در شبکههای داخلی و موقع قطعی اینترنت بین المللی
❇️ اما صرفا محدود به این موارد نیست و شما با استفاده از این پیامرسان اوپن سورس میتونید توی شبکههای کوچیک و محدودی که با بلوتوث یا یک شبکه LAN کوچیک ایجاد کردین ارتباط برقرار کنید. بهدلیل ساختار p2p این پیامرسان نیاز به سرور خاصی برای میزبانی نیست.
🏷 اما به این معنی نیست که هیچ نیازی به سرور نباشه؛ توی شبکههای محلی و کوچیک اگه ایدی دوستاتون رو ادد کرده باشید و سیو داشته باشید نیازی نیست، ولی وقتی بحث شبکۀ بزرگتری مثل شبکه محدود ایران میشه موقع قطعی نت نیاز به یک سری موارد هست که در پست بعد به توضیحش میپردازیم
#messenger #Jami
🔘 @linux_exp
❤3👍2🔥2
💢 قدم اول درک کارکرد P2P و نقش Bootstrap
➖ توی ارتباطگیری P2P دو دستگاه بهصورت مستقیم به هم وصل میشن. برای مثال وقتی من یک فایل به شخص مورد نظر ارسال میکنم، سرور اون شخص برای دانلود خودم هستم. برای همین تا اتمام دانلودش باید آنلاین بمونم. فکر کنم این مثال درک نسبی از P2P بهتون بده. اتصال مستقیم بهم، بدون واسطه و بدون رد شدن فایلها از سرور خاصی. برای همینه که نیازی به سرور برای پشتیبانی نیست و محدودیتی از لحاظ حجم و سایر موارد وجود نداره. محدودیت اینجا صرفا سرعت نت کلاینتها هستش.
🌀 اما توی پیامرسان Jami این مورد چجوری اتفاق میفته؟
شما آیدی ۴۰ کاراکتری دوستتون رو میگیرید ولی این آیدی به تنهایی برای ارتباط باهاش کافی نیست. چون دوستتون سرور نیست که آیپی استاتیک و همیشگی داشته باشه. آیپیش همواره در حال تغییره. پس از کجا قراره من از آیپیش اطلاع داشته باشم و بهش وصل شم؟ اینجاس که بحث Bootstrap وسط میاد.
اوپراتورهای مخابرات قدیم! انگاری بوت استرپ داره کار اونها رو انجام میده. مسیریابی میکنه و کلاینتها رو بدون مشکل به همدیگه وصلشون میکنه. اگه از جزییات بگذریم، منطقا این پیامرسان بهصورت دیفالت یک Bootstrap داره ولی خب موقع قطعی نت قطعا ما دسترسی به اون رو هم از دست میدیم.
🌐 برای اینکه این پیامرسان موقع قطعی نت قابل استفاده باشه تنها چیزی که نیاز داریم یک Bootstrap عه که توی سرور داخلی بالا بیاریم و توی تنظیمات کلاینتها اددش کنیم.
خوشبختانه بوت استرپ نیازی نیست که الزاما بصورت دامنه و با SSL باشه. میشه از همون آیپی استاتیک سرور و پورتش استفاده کرد و توی برنامه ست کرد.
💠 شاید بگید بدون SSL چه امنیتی؟ باید بگم اشتباه نکنید؛ بوت استرپ هیچ نقشی تو مبادلۀ دیتای شما نداره صرفا یک مسیریاب هست که شمارو وصل کنه. در نتیجه بدون SSL صرفا کانکشن شما مشخص میشه و هیچ اطلاعات دیگهای درز پیدا نمیکنه.
#network #p2p #Jami
🔘 @linux_exp
➖ توی ارتباطگیری P2P دو دستگاه بهصورت مستقیم به هم وصل میشن. برای مثال وقتی من یک فایل به شخص مورد نظر ارسال میکنم، سرور اون شخص برای دانلود خودم هستم. برای همین تا اتمام دانلودش باید آنلاین بمونم. فکر کنم این مثال درک نسبی از P2P بهتون بده. اتصال مستقیم بهم، بدون واسطه و بدون رد شدن فایلها از سرور خاصی. برای همینه که نیازی به سرور برای پشتیبانی نیست و محدودیتی از لحاظ حجم و سایر موارد وجود نداره. محدودیت اینجا صرفا سرعت نت کلاینتها هستش.
🌀 اما توی پیامرسان Jami این مورد چجوری اتفاق میفته؟
شما آیدی ۴۰ کاراکتری دوستتون رو میگیرید ولی این آیدی به تنهایی برای ارتباط باهاش کافی نیست. چون دوستتون سرور نیست که آیپی استاتیک و همیشگی داشته باشه. آیپیش همواره در حال تغییره. پس از کجا قراره من از آیپیش اطلاع داشته باشم و بهش وصل شم؟ اینجاس که بحث Bootstrap وسط میاد.
اوپراتورهای مخابرات قدیم! انگاری بوت استرپ داره کار اونها رو انجام میده. مسیریابی میکنه و کلاینتها رو بدون مشکل به همدیگه وصلشون میکنه. اگه از جزییات بگذریم، منطقا این پیامرسان بهصورت دیفالت یک Bootstrap داره ولی خب موقع قطعی نت قطعا ما دسترسی به اون رو هم از دست میدیم.
🌐 برای اینکه این پیامرسان موقع قطعی نت قابل استفاده باشه تنها چیزی که نیاز داریم یک Bootstrap عه که توی سرور داخلی بالا بیاریم و توی تنظیمات کلاینتها اددش کنیم.
خوشبختانه بوت استرپ نیازی نیست که الزاما بصورت دامنه و با SSL باشه. میشه از همون آیپی استاتیک سرور و پورتش استفاده کرد و توی برنامه ست کرد.
💠 شاید بگید بدون SSL چه امنیتی؟ باید بگم اشتباه نکنید؛ بوت استرپ هیچ نقشی تو مبادلۀ دیتای شما نداره صرفا یک مسیریاب هست که شمارو وصل کنه. در نتیجه بدون SSL صرفا کانکشن شما مشخص میشه و هیچ اطلاعات دیگهای درز پیدا نمیکنه.
#network #p2p #Jami
🔘 @linux_exp
❤6⚡1👍1🔥1
✅ و در نهایت برای راهاندازی مواردی که گفته شد میتونید از داکیومنت زیر استفاده کنید:
🔗 https://docs.jami.net/en_US/user/jami-for-servers.html
کانفیگ و کار خاصی نداره و همونجوری که گفته شد نیازی به اتصال به دامنه و SSL هم نداریم که کار رو راحتتر میکنه.
از اونجایی که این صرفا قراره یک روتر باشه نه سرور پیامرسان، منابع خیلی کمی نیاز داره و با یه سرور مینیموم میتونید هندل کنید.
+ در حالت پیشرفتهتر میتونید راجب بالا آوردن Daemon یا Management Server هم خودتون مطالعه کنید.
#network #Jami
🔘 @linux_exp
🔗 https://docs.jami.net/en_US/user/jami-for-servers.html
کانفیگ و کار خاصی نداره و همونجوری که گفته شد نیازی به اتصال به دامنه و SSL هم نداریم که کار رو راحتتر میکنه.
از اونجایی که این صرفا قراره یک روتر باشه نه سرور پیامرسان، منابع خیلی کمی نیاز داره و با یه سرور مینیموم میتونید هندل کنید.
+ در حالت پیشرفتهتر میتونید راجب بالا آوردن Daemon یا Management Server هم خودتون مطالعه کنید.
#network #Jami
🔘 @linux_exp
❤3👍2👌1
♨️ Niri WM setup in Alpine linux
💡از اونجایی که منابع کافی(حتی زبان اصلی) برای این موضوع تو سطح نت پیدا نمیشه تصمیم گرفتم تجربه خودمو در رابطه با این موضوع بنویسم.
📍الپاینی که من نیری رو ستاپ کردم الپاین خام و تازه نصب شده بود. برای همین اگه از قبل محیط گرافیکال ستاپ کردین بعضی کارا ممکنه اضافی باشن؛ بهرحال این راهنما برای توزیع خام نوشته شده.
🔰قبل از هرچیزی نیازه که دستی به سر و روی میرور ها بکشیم من از mirror.mobinhost.com استفاده کردم.
در مرحله اول :
❗️البته نیاز نیست الزاما کل توزیع رو ببرید روی edge و میتونید صرفا با استفاده از tagged repository هم کارتون رو انجام بدید.
🔰مرحله بعدی نصب پکیج های پیشنهادی برای بالا اومدن بیس ویلند و خود نیری هست :
✅بعد اتمام نصب نیازه که این سرویس ها رو دستی فعال کنیم :
♻️ در مرحله بعد جهت دادن دسترسی به یوزر مورد نظر نیازه که اونو تو یسری از گروه ها ادد کنیم :
💠 در اخرین مرحله نصب نیازه که udev رو راه اندازی کنیم. هم میتونید از اسکریپت اماده setup-devd استفاده کنید و هم میتونید از اسکریپت ستاپ ویلند استفاده کنید که مورد های از قلم افتاده رو هم براتون اوکی کنه .
➕ بعد این مراحل نیاز به ریبوت هست تا تغییرات اعمال بشن و با بوت بعدی سرویس هامون فعال بشن.
🌀 در اخرین مرحله قبل اجرا کردن نیری نیازه که XDG_RUNTIME_DIR رو بصورت دستی تعریف کنیم. راحتترین روش برای انجام اینکار استفاده از پکیج اماده mkrundir هست :
بعد از نصب به این صورت توی پروفایل شل ست کنید :
✅ تبریک، ستاپ شما تمومه. میتونید niri رو ران کنید و لذت ببرید
#niri #alpine #setup
🔘 @linux_exp
💡از اونجایی که منابع کافی(حتی زبان اصلی) برای این موضوع تو سطح نت پیدا نمیشه تصمیم گرفتم تجربه خودمو در رابطه با این موضوع بنویسم.
📍الپاینی که من نیری رو ستاپ کردم الپاین خام و تازه نصب شده بود. برای همین اگه از قبل محیط گرافیکال ستاپ کردین بعضی کارا ممکنه اضافی باشن؛ بهرحال این راهنما برای توزیع خام نوشته شده.
🔰قبل از هرچیزی نیازه که دستی به سر و روی میرور ها بکشیم من از mirror.mobinhost.com استفاده کردم.
در مرحله اول :
vi /etc/apk/repositories
>> switch branch to edge
>> add community testing repo
apk update && apk upgrade
❗️البته نیاز نیست الزاما کل توزیع رو ببرید روی edge و میتونید صرفا با استفاده از tagged repository هم کارتون رو انجام بدید.
🔰مرحله بعدی نصب پکیج های پیشنهادی برای بالا اومدن بیس ویلند و خود نیری هست :
apk add niri alacritty fuzzel font-misc-misc wayland-libs-server mesa-dri-gallium mesa-va-gallium seatd dbus
✅بعد اتمام نصب نیازه که این سرویس ها رو دستی فعال کنیم :
rc-update add seatd
rc-update add dbus
♻️ در مرحله بعد جهت دادن دسترسی به یوزر مورد نظر نیازه که اونو تو یسری از گروه ها ادد کنیم :
adduser USER video
adduser USER input
adduser USER seat
💠 در اخرین مرحله نصب نیازه که udev رو راه اندازی کنیم. هم میتونید از اسکریپت اماده setup-devd استفاده کنید و هم میتونید از اسکریپت ستاپ ویلند استفاده کنید که مورد های از قلم افتاده رو هم براتون اوکی کنه .
setup-wayland-base ➕ بعد این مراحل نیاز به ریبوت هست تا تغییرات اعمال بشن و با بوت بعدی سرویس هامون فعال بشن.
🌀 در اخرین مرحله قبل اجرا کردن نیری نیازه که XDG_RUNTIME_DIR رو بصورت دستی تعریف کنیم. راحتترین روش برای انجام اینکار استفاده از پکیج اماده mkrundir هست :
doas apk add mkrundirبعد از نصب به این صورت توی پروفایل شل ست کنید :
vi .profile
export XDG_RUNTIME_DIR=$(mkrundir)
✅ تبریک، ستاپ شما تمومه. میتونید niri رو ران کنید و لذت ببرید
#niri #alpine #setup
🔘 @linux_exp
❤2👍1🔥1🥰1
لیست میرورهای داخلی ایران توی این شرایط به کارتون میاد
🐧 میرورهای لینوکس
- mirror.arvancloud.ir
- mirror.iranserver.com
- mirror.mobinhost.com
- repo.iut.ac.ir
- mirror.shatel.ir
📦 رجیستریهای داکر
- arvancloud.ir/fa/dev/docker
- docker.mobinhost.com
- mirrors.pardisco.co/posts/docker
- focker.ir
- docker.kernel.ir
🌐 میرور npm و pypi و داکر و ابزارهای مرسوم دیگه
- runflare.com/mirrors
- lib.arvancloud.ir
- mirrors.pardisco.co
- mirror.iranserver.com
- mirrors.hyperclouds.ir
- iran.chabokan.net/#services
- index.rust-meetup.ir
📱 ریپو maven برای اندروید
- maven.myket.ir
- jamko.ir
👾 ریپو وزارت اطلاعات توش همه چی هست
- repo-portal.ito.gov.ir
🔘 @linux_exp | #mirror
🐧 میرورهای لینوکس
- mirror.arvancloud.ir
- mirror.iranserver.com
- mirror.mobinhost.com
- repo.iut.ac.ir
- mirror.shatel.ir
📦 رجیستریهای داکر
- arvancloud.ir/fa/dev/docker
- docker.mobinhost.com
- mirrors.pardisco.co/posts/docker
- focker.ir
- docker.kernel.ir
🌐 میرور npm و pypi و داکر و ابزارهای مرسوم دیگه
- runflare.com/mirrors
- lib.arvancloud.ir
- mirrors.pardisco.co
- mirror.iranserver.com
- mirrors.hyperclouds.ir
- iran.chabokan.net/#services
- index.rust-meetup.ir
📱 ریپو maven برای اندروید
- maven.myket.ir
- jamko.ir
👾 ریپو وزارت اطلاعات توش همه چی هست
- repo-portal.ito.gov.ir
اگه میرور دیگهای میشناسید که داخل این لیست نیست میتونید تو کامنتها با بقیه به اشتراک بذارید
🔘 @linux_exp | #mirror
❤4👍1🔥1
سلام دوستان عزیز،
پس از ماهها قطعی و سکوت اجباری، بالاخره تصمیم گرفتیم دوباره فعالیت کانال رو از سر بگیریم.
در این مدت، قطعیهای مکرر و طولانی اینترنت در ایران نه فقط ارتباط ما رو با شما قطع کرد، بلکه زندگی روزمرۀ میلیونها نفر رو مختل کرد. کسبوکارهای آنلاین نابود شدن، دانشآموزان و دانشجویان از تحصیل عقب افتادن، پزشکان و بیماران در لحظات حساس نتونستن با هم ارتباط بگیرن و خیلی از خانوادهها از عزیزانشون بیخبر موندن.
این قطعیها هزینههای سنگینی داشت؛ هم اقتصادی، هم روانی، هم انسانی.
به روح همه کسانی که در این روزها به دلیل جنگ و اتفاقات مرتبط با آن جان باختند، درود میفرستیم.
امیدواریم هیچوقت دوباره محکوم به تکرار چنین روزهایی نباشیم.
پس از ماهها قطعی و سکوت اجباری، بالاخره تصمیم گرفتیم دوباره فعالیت کانال رو از سر بگیریم.
در این مدت، قطعیهای مکرر و طولانی اینترنت در ایران نه فقط ارتباط ما رو با شما قطع کرد، بلکه زندگی روزمرۀ میلیونها نفر رو مختل کرد. کسبوکارهای آنلاین نابود شدن، دانشآموزان و دانشجویان از تحصیل عقب افتادن، پزشکان و بیماران در لحظات حساس نتونستن با هم ارتباط بگیرن و خیلی از خانوادهها از عزیزانشون بیخبر موندن.
این قطعیها هزینههای سنگینی داشت؛ هم اقتصادی، هم روانی، هم انسانی.
به روح همه کسانی که در این روزها به دلیل جنگ و اتفاقات مرتبط با آن جان باختند، درود میفرستیم.
امیدواریم هیچوقت دوباره محکوم به تکرار چنین روزهایی نباشیم.
❤8
🚨 اگه از آرچ لینوکس یا توزیعهای همخانوادهاش (مثل مَنجارو و اندِور) استفاده میکنید فعلا از AUR استفاده نکنید!
ماجرا از این قراره که یه سری هکر با شناسایی و تصاحب بیش از ۴۰۰ پکیج رها شده (Orphaned) توی AUR، اسکریپت ساخت اونها (PKGBUILD) رو دستکاری کردند. با این کار، یه بدافزار Infostealer (سرقت اطلاعات) و یه روتکیت مبتنی بر eBPF روی سیستم قربانی نصب میشه.
🛡راهکار: همیشه PKGBUILD رو چک کنید.
اگه بین تاریخ ۱۰ تا ۱۲ ژوئن (همین چند روز پیش) پکیجی رو از AUR نصب یا آپدیت کردید، حتماً برید چک کنید ببینید اسکریپتش دستکاری شده بوده یا نه. از این به بعد هم تا محتوای PKGBUILD رو چشمی ندیدید، اینتر رو نزنید!
تیم آرچ پکیجهای آلوده رو حذف و اکانت هکرها رو بسته و داره تمیزکاری میکنه، ولی شرط عقل اینه که خودتون حواسمون جمع باشه.
🔘 @linux_exp | #AUR #arch
ماجرا از این قراره که یه سری هکر با شناسایی و تصاحب بیش از ۴۰۰ پکیج رها شده (Orphaned) توی AUR، اسکریپت ساخت اونها (PKGBUILD) رو دستکاری کردند. با این کار، یه بدافزار Infostealer (سرقت اطلاعات) و یه روتکیت مبتنی بر eBPF روی سیستم قربانی نصب میشه.
🔒 مخازن رسمی آرچ (مثل core و extra) کاملاً امنن؛ این فاجعه فقط و فقط توی AUR اتفاق افتاده.
🛡راهکار: همیشه PKGBUILD رو چک کنید.
اگه بین تاریخ ۱۰ تا ۱۲ ژوئن (همین چند روز پیش) پکیجی رو از AUR نصب یا آپدیت کردید، حتماً برید چک کنید ببینید اسکریپتش دستکاری شده بوده یا نه. از این به بعد هم تا محتوای PKGBUILD رو چشمی ندیدید، اینتر رو نزنید!
تیم آرچ پکیجهای آلوده رو حذف و اکانت هکرها رو بسته و داره تمیزکاری میکنه، ولی شرط عقل اینه که خودتون حواسمون جمع باشه.
🔘 @linux_exp | #AUR #arch