یک اسکریپت ساده برای اشتراک اینترنت در لینوکس

به اشتراک گزاری اینترنت در لینوکس کار سختی نیست. برای اشتراک اینترنت در لینوکس باید چند رول رو به iptables اضافه کنید.
یک اسکریپت خیلی ساده  برای انجام اینکار نوشتم که اطلاعاتی مثل کارت شبکه و … رو از شما میگیره و تنظیمات رو انجام میده! البته این اسکریپت فعلا فقط روی اوبونتو و دبیان جواب میده اما سازگاری کردنش با سایر توزیع‌ها خیلی ساده است :)
شاید مجوز تعیین کردن برای چند خط کد ساده کار خنده داری باشه :) اما مجوز این اسکریپت GPL و GPL2 هست! این کد رو قراره تغییرات بیشتری بدم و کاملترش کنم :)
خوب این هم اسکریپت توی یک فایل ذخیره کنید و بهش مجوز اجرا بدید. اینطوری:

$chmod 755 script.sh

و با کاربر ریشه اجرا کنیدش:

sudo script.sh ppp0 eth0 s

به اسکریپت سه تا پارامتر میتونید بدید:
پارامتر اول دیوایس اینترنت شما هست مثلا اگه از adsl استفاده میکنید به احتمال زیاد دیوایش شما میشه ppp0 ویا اگه اینترنت رو از کابل شبکه میگیرید میشه eth0
پارامتر دوم دیوایسی هست که قصد دارید اینترنت رو با اون به اشتراک بگذارید مثلا eth0
و بلاخره پارامتر سوم که تعیین میکنه قصد دارید اشتراک اینترنت رو بصورت موقت و تا زمان ری‌استارت بعدی داشته باشید و یا دائم! برای حالت موقت از s و برای حالت دائم از p استفاده کنید.
اگه موقع اجرای برنامه پارامتری رو وارد نکنید اسکریپت پارامترها رو از شما میپرسه! Continue reading

Posted in اپن سورس, شبکه, علم, لینوکس, کامپیوتر | Tagged , , , , , , , | ۵ Comments

جنگ ویتنام

واقعیت: بر خلاف آنچه تا به حال گفته شده جنگ ویتنام جنگ بین آمریکا و مردم ویتنام نبود بلکه جنگ بین شوروی و چین و دولت ویتنام شمالی از یک طرف و آمریکا و ویتنام جنوبی از سمت دیگه بود. جنگی که در نهایت به سود کمونیست به اتمام رسید.

نتیجه این جنگ برای مردم ویتنام حکومت دیکتاتوری و فقر و فلاکت بود.

Posted in اجتماعی, سیاسی | Leave a comment

رمزنگاری ۱

اگه با ساختار اینترنت آشنا باشید میدونید که تقریبا هیچ مسیر مشخص و اختصاصی برای عبور و مرور بسته‌ها و پیامهای شما وجود نداره! و پیامهای شما یا نامه‌های شما و عکس‌های شما از هر مسیری ممکن است به مقصد برسه! برای بررسی این موضوع این عکس رو ببینید! (این عکس متحرک است برای مشاهده تصویر متحرک روی عکس کلیک کنید.)

خوب فرض کنیم علی تصمیم داره به مهناز یک ایمیل یا نامه بفرسته! خوب کامپیوتر علی که همون S هست پیام رو به F که در اینجا سرور اینترنت هست میفرسته و F هم پیام رو به کامپیوتر E و A و بعد C و D و G و H میفرسته و در انتها پیام به مهناز میرسه! نکته مهم اینجاست که اگه علی همین پیام رو مجددا بفرسته ممکنه پیام مسیر کاملا متفاوتی رو طی کنه و مثلا اینبار از شبکه B هم عبور کنه! از طرفی در حالت معمولی پیامها بدون رمزنگاری در شبکه منتقل میشن و این یعنی تمام سرورها و نودهای داخل اینترنت یعنی A C D G و … خیلی راحت میتونن پیامها رد و بدل شده بین علی و مهناز رو بخونن و حتی متن پیام اونها رو تغییر بدن!

خوب سئوال اینجاست که برای امن کردن ارتباطات چه باید کرد؟ برای امن کردن ارتباطات در اینترنت از یک روش بسیار پیچیده و البته بسیار ساده استفاده میشه! دانشمند‌ها دو تا دستگاه ساختن (کلید عمومی و خصوصی) که این دستگاه‌ها باید با هم استفاده بشن، این یعنی که دستگاه کلید خصوصی من فقط با دستگاه کلید عمومی من کار میکنه و دستگاه کلید خصوصی شما با دستگاه کلید عمومی شما!  اگه شما پیام خودتون رو به دستگاه کلید خصوصی بدید این دستگاه پیام شما رو به رمز در میاره و خروجی این دستگاه کاملا رمز شده است! حالا اگر این پیام رمزشده رو به دستگاه کلید عمومی بدید کلید عمومی اون پیام رمز شده رو به پیام اصلی تبدیل میکنه. لطفا عکس رو ببینید! (برای دیدن عکس با اندازه بزرگ روی عکس کلیک کنید.)

چند تا نکته اینجا وجود داره

  • پیامی که با کلید خصوصی به رمز در بیاد تنها با کلید عمومی رمزگشایی میشه!
  • کلید عمومی و خصوصی متناظر هستند. یعنی کلید عمومی من با کلید خصوصی شما هماهنگ نیستند و پیام‌های هم رو از رمز خارج نمیکنن.
  • کلید خصوصی فقط برای رمزنگاری پیام و کلید عمومی فقط برای از رمز خارج کردن نیستند و هر کدام میتونن پیام رو به رمز کنند و از رمز خارج کنند!
  • پیامی که با کلید عمومی به رمز در بیاد رو تقریبا با هیچ روشی نمیشه از رمز خارج کرد و فقط با کلید خصوصی میشه پیام رو از رمز خارج کرد! این یعنی که این ماشینها اصطلاحا یک طرف عمل میکنند.
  • کلید عمومی و خصوصی در حقیقت ماشین نیستند و یک سری رشته طولانی هستند که توابع رمزنگاری با استفاده از این کلیدها پیام رو به رمز در میارن و ما برای سادگی اونها رو ماشین در نظر میگیریم.
  • کلید خصوصی کاملا محرمانه است و به هیچ وجه نباید این کلید رو به کسی داد و از طرفی کلید عمومی محرمانه نیست و حتی باید تلاش کرد این کلید رو به همه داد!! چون تنها کسانی که کلید عمومی شما رو داشته باشند

و اما ببینیم مهناز و علی چجوری با رمزنگاری میتونن پیامهای خودشون رو به رمز در بیارن! علی و مهناز هر کدوم کلید خصوصی رو پیش خودشون نگه میدارند و اون رو به هیچ کس نمیدن. اما هر کدوم کلید عمومی خودشون رو به طرف مقابل میده! اینطوری علی کلید عمومی مهناز رو داره و مهناز کلید عمومی علی رو! حالا تصور کنیم علی تصمیم داره به مهناز یک پیام بده کافیه پیام رو با کلید «عمومی مهناز» به رمز در بیاره و اون رو برای مهناز بفرسته اون طرف هم مهناز بعد از دریافت پیام رمز شده، پیام رو با «کلید خصوصی» خودش از رمز خارج میکنه! به این شکل فقط مهناز میتونه پیام رو ببینه و سیستم‌ها و نودهایی که بین راه پیام رو میبینند یعنی (E A C D و …) قادر به خوندن پیام نیستند و تنها چیزی رو که میتونن ببین پیام به رمز شده است که چیزی جز یک سری کد ناخوانا نیست.

خوب تا اینجا همه چیز خوب پیش میره و دیگران قادر نیستن پیام ما رو بخونن اما هنوز چند اشکال وجود داره! فرض کنیم یکی از سیستم‌های بین راه مثلا A پیام ارسالی از علی رو دور بریزه و به جای اون یک پیام جعلی رو با کلید عمومی مهناز به رمز کنه و برای مهناز بفرسته! در این صورت مهناز میتونه پیام دریافت شده رو با کلید خصوصی خودش باز کنه و بخونه! اما این پیام پیام علی نیست و یک پیام جعلی است!

ادامه دارد :)

Posted in اپن سورس, تکنولوژی, شبکه, علم, لینوکس, کامپیوتر | Tagged , , , , , | Leave a comment

لذت موسیقی با MPD

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

  • انواع فرمتهای موسیقی را پشتیبانی کند.
  • اگر همزمان با پخش موسیقی کار هم میکنید محیط برنامه مزاحم کار شما نباشد.
  • بتوانید موسیقی را بر اساس خواننده سبک و یا … دسته‌بندی و اجرا کنید.
  • امکان کنترل برنامه از انواع محیط‌ها را داشته باشید.
  • و …

MPD و یا music player daemon یک برنامه یا دیمن ازاد و اپن‌سورس برای گنولینوکس است که بیشتر مشخصاتی که یک نرم‌افزار پخش موسیقی خوب باید داشته باشد را یک جا در اختیار شما قرار می‌دهد!

این برنامه بصورت دیمن اجرا می‌شود (دیمن به این معنی است که برنامه در پس‌زمینه اجرا می‌شود و محیط بصری برای ارتباط با برنامه وجود ندارد برای اشنایی با دیمن‌ها این را بخوانید.). این برنامه امکانات زیادی دارد مانند دسته بندی بر اساس خواننده و سبک و …

از آنجا که MPD بصورت دیمن و در پس‌زمینه اجرا می‌شود پس کاربر بصورت مستقیم نمیتواند با برنامه کار کند. برای ارتباط با برنامه باید از کلایت‌های MPD استفاده کرد. کلایت‌های زیادی برای MPD وجود دارد که بروی پلتفرم‌های مختلف قابل اجرا و نصب است و در نتیجه MPD را میتوان از هر محیطی کنترل کرد! چند کلاینت کاربردی MPD:

کلاینت‌های خط فرمانی:

MPC: یک کلاینت ساده که MPD را از خط فرمان لینوکس کنترل می‌کند.

$mpc play اجرای موسیقی

$mpc next  رفتن به ترک بعد

$mpc prev بازگشت به ترک قبل

ncmpc: یک کلاینت برای کنترل از طریق خط فرمان برنامه ncpmc بر خلاف mpc که یک برنامه cli است برنامه cui است یعنی کاربر در یک محیط فعال با برنامه کار میکند.

ncmpcpp: شبیه برنامه ncmpc با محیط رنگی و امکانات بیشتر.

ncmpc++ncmpc++

کلایت‌های گرافیکی مثل:

GMPC: کلاینت MPD با توابع GTK برای محیط گنوم و قابل نصب در ویندوز.

ARIO: کلاینت با توابع GTK برای لینوکس و ویندوز.

سایر کلاینت‌ها:

افزونه برای مرورگر فایرفاکس: با استفاده از این افزونه میتوانید در مرورگر فایرفاکس MPD را کنترل کنید و از موسیقی لذت ببرید. برای نصب به این آدرس بروید.

کلاینتهای تحت وب: برای کنترل موسیقی از راه دور و از طریق اینترنت مانند ::phpMpReloaded:: و mpd remote

علاوه بر کلاینتهای بالا تعداد زیادی کلاینت دیگر هم وجود دارد مانند کلاینت برای مبایل (کنترل موزیک از مبایل) با استفاده از بلوتوث و وایرلس! کلاینتهای جاوا،‌ که میتوانید لیست همه کلایتنها را در اینجا ببینید.

نصب در گنولینوکس: برای نصب در اوبونتو دبیان و مینت کافی است از دستور‌های زیر استفاده کنید.

نصب MPD:

$ sudo apt-get install mpd

نصب mpc:

$ sudo apt-get install mpc

نصب ncmpc و ncmpcpp:

$sudo apt-get install ncmpc

$ sudo apt-get install ncmpcpp

نصب GMPC:

$ sudo apt-get install gmpc

نصب ario:

$ sudo apt-get install ario

Posted in اپن سورس, شبکه, لینوکس, مبایل, کامپیوتر | Tagged , , , , , , | Leave a comment

بازی تخته نرد

تخته نرد یکی از بازی‌های جالب و زیبا است که بوسیله ایرانی‌ها اختراع شده است. (این بازی را بزرگمهر در جواب بازی شطرنج که ساخته هندی‌ها است ساخته است.) در ویکی‌پدیا میتوانید اطلاعات بیشتری از فلسفه ایجاد این بازی و نماد‌های بازی به دست آورید.
نرم‌افزارهای زیادی برای بازی تخته‌نزد وجود دارد که یکی از بهترین این برنامه‌ها برنامه اپن‌سورس و آزاد gnubg است که در سیستم‌عامل‌های لینوکس و ویندوز و مک قابل اجراست.
با گنو‌بک‌گامون میتوانید با دیگران و از راه دور و یا با کامپیوتر بازی کنید.
سایت برنامه گنو‌بک‌گامون
صفحه تخته‌نرد در ویکی‌پدیا فارسی

Posted in اپن سورس, تکنولوژی, جامعه, سرگرمی, لینوکس, کامپیوتر | Tagged , , , , , , , , , , , , , , | ۲ Comments

همسترهای من

برای آخرین مرتبه همستر رو توی دستم گرفتم. باورش سخته که آدم به یک همستر (یا به قول خیلی‌ها موش) اینقدر عادت کنه! و دل کندن ازش اینقدر سخت بشه!

همستر


همستر


همستر

Posted in سرگرمی, عکس | Tagged | ۳ Comments

مورچه‌ها سخت‌کوش نیستند

همیشه شعر‌ها و افسانه‌ها و داستان‌های قدیمی مورچه‌ها رو حشراتی کوشا و اجتماعی معرفی کرده. این تفکر اون قدر تکرار شده که تقریبا همه به این باور رسیدند که این حشرات دوست داشتنی خیلی کوشا و فعال و اجتماعی هستند. اما گویا واقعیت چیز دیگری است!
حشره شناس Boston Review از دانشگاه بوستون این موضوع رو بررسی کرده و نظریه دیگری رو ارائه میکنه.
او میگه حکایت‌هایی که در مورد جامعه دیوان‌سالاری مورچه‌ها (بروکراسی مورچه‌ها) گفته میشه تماما دروغه! بسیاری از رفتار‌های مورچه‌ها فقط پاسخ به محرک‌هاست و نه یک برنامه هدف‌مند! مورچه‌ها به این دلیل دور یک خوراکی جمع میشن چون بو و رایحه اون خوراکی (مواد شیمیایی) رو حس کردند!
و اما در مورد کوشا بودن مورچه‌ها، واقعیت اینه که حدود یک سوم مورچه‌های کلونی در لحظه کاری انجام نمی‌دن و بی‌کار هستن!

این مطلب رو به انگلیسی اینجا بخونید.

Posted in جامعه, شعر, علم | Tagged | Leave a comment

بلای سرزمین من

بلای سرزمین من بلایی گنگ است، بلای سرزمین من گناهی است که سرهای افعی‌ها و مارها از آن تغذیه کرده، بلای سرزمین من اندوهی است که نه ترانه دارد و نه جلوه‌ای.
اگر قوم من بر حاکمان سرکش خود می‌شوریدند و همگی در این طغیان می‌مردند، می‌گفتم، مرگ در راه آزادی شریفتر از زندگی در سایه‌ی سرسپردگی است. و آنکس که شمسیر در دست به ابدیت پیوندد، جاویدان است در جاودانگی حق.

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

Posted in اجتماعی, جامعه, شعر, فرهنگ, هنری | Tagged , | Leave a comment

گرافیک در خط فرمان ۲

گاهی اوقات لازمه از تعداد زیادی عکس یک فایل پی‌دی‌اف بسازیم! این کار توی خط فرمان خیلی ساده است.

convert *.jpg output.pdf

کافیه همه عکس‌ها توی یک دایرکتوری باشن و با این دستور تمام عکس‌ها رو به pdf تبدیل کنید.

نوشته‌های مرتبط:

گرافیک در خط فرمان ۱

Posted in اپن سورس, لینوکس, کامپیوتر | Tagged , , , , , , | Leave a comment

به ساده‌ترین شکل swap بسازیم!!

سواپ یا (swap) رم مجازی سیستم شما هست و در صورتی که رم فیزیکی شما پر بشه سیستم عامل از سواپ استفاده میکنه. استفاده از swap باعث میشه لینوکس شما به دلیل کمبود رم کرش نکنه. swap رو شما باید موقع نصب بصورت یک پارتیشن جدا بسازید و نقطه اتصال (mount point) اون رو به عنوان swap به لینوکس بدید.

اما راه ساده‌تری برای ایجاد swap هست استفاده از فایل به جای پارتیشن و ایجاد سواپ در حین کار سیستم عامل:

dd if=/dev/zero of=swapfile bs=1M count=750
mkswap swapfile
swapon swapfile

و اما شرح این دستورات.

خط اول یک فایل با حجم ۷۵۰ مگ (۱M*750) ایجاد میکنه و داخل فایل با هیچ پر می‌کنه!

خط دوم این فایل رو به سیستم عامل به عنوان swap معرفی میکنه.

و خط سوم فایل swap رو فعال میکنه.

Posted in اپن سورس, خلاقیت, علم, لینوکس, کامپیوتر | Tagged , , , , , | ۱ Comment