نصب VPN بر روی مودم/روتر

اگر روتر شما از VPN پشتیبانی کنه به راحتی می‌تونید کل ترافیک اینترنت خودتون ور بدون فیلتر کنید.

روترها و مودم‌های موجود در بازار اکثرا یا از VPN پشتیبانی نمی‌کنن یا پشتیبانی بسیار محدود و ضعیفی دارن.

بهترین کار استفاده OpenWrt بر روی روتره.

OpenWrt یک سیستم عامل لینوکسی برای روترهاست که جانشین نرم‌افزار کارخانه میشه و امکانات فروانی به روتر شما اضافه می‌کنه.

در واقع OpenWrt کمک می‌کنه از قابلیتهای سخت افزاری روترتون نهایت استفاده رو بکنید. یکی از امکانات خوب OpenWrt پشتیبانی عالی از انواع پروتوکلهای VPN است.

اما نصب یا به اصطلاح فلش کردن OpenWrt روی روترها خیلی وقتها کار آسونی نیست و حتی یک اشتباه ممکنه باعث آسیب رسیدن به دستگاهتون بشه.

پیشنهاد من استفاده از روترهای GL.Inet است که به صورت پیشفرض با OpenWrt عرضه میشن.

این روترها، علاوه بر کلی امکانات عالی و هیجان انگیز، پشتیبانی کاملی از OpenVPN Wireguard Shadowsocks و … دارن

 

پخش کردن ویدیوهای گوشی اندرویدی روی تلویزیون، آیفون و آیپد

 ویدیوهایی که روی گوشی اندرویدی دارید رو می‌تونید با قابلیتی به نام DLNA روی تلویزیون و بقیه گوشی و تبلتهای داخل خونه پخش کنید.

اکثر تلویزیون‌های جدید از این قابلیت پشتیبانی می‌کنن.

فقط مهم اینه که گوشی و تلویزیون به یک شبکه وصل باشن.

اپی به نام DLNA SERVER روی پلی استور هست که گوشی شما رو تبدیل به یه مدیا سرور می‌کنه.

یعنی چی؟ یعنی هر کامپیوتر یا گوشی یا تلویزیونی که تو خونه دارید و به وای‌فای وصله می‌تونه فایلهای گوشی شما رو بخونه و پخش کنه.

وقتی این اپ رو نصب کنید تو منوی تلویزیون می‌تونید گوشیتون رو ببینید و فایلها رو پخش کنید.

بسته به برند تلویزیون ممکنه اسمش (DLNA) یا all cast یا چیزای دیگه باشه.

روی کامپیوتر، آیفون، آیپد یا گوشی های دیگه هم می‌تونید به کمک VLC فایلهای گوشی رو ببینید.

 

 

 

 

 

به اشتراک گذاشتن VPN گوشی از طریق WIFI بدون روت

بالاخره بعد از مدتها راهی پیدا کردم که اتصال VPN موبایل رو با بقیه دستگاهها به اشتراک بذارم.

البته اگر یادتون باشه قبلا راهش رو نوشته بودم ولی اشکال اون روش این بود که یه root نیاز داشت.

البته نیاز هست که بقیه دستگاههایی که از طریق wifi hotspot به گوشی وصل میشن proxy رو پشتیبانی کنن، حالا چه از نوع HTTP  و چه SOCKS.  ولی دیگه نیازی به روت نیست.

کافیه این اپ کوچک رو روی گوشی نصب کنید و بعد به VPN متصل بشید و بعد هات اسپات گوشی رو روشن کنید.

حالا اپ رو باز کنید و پراکسی مورد نظرتون رو فعال کنید.

آی پی و پورتی که به شما میده رو به هر کدوم از دستگاههای متصل به hotspot گوشی بدید و تمام!

Screen Shot 2019-03-02 at 4.15.25 PM

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

بعد از اینکه مراحل بالا رو انجام دادید، برنامه به شما یک همچین عددی میده، همونجوری که در پایان ویدیو مشخصه:

0.0.0.0:1080

بخش اول IP هست و چهار رقم آخر Port.

حالا میرید سراغ دستگاهی که میخواهید به VPN متصلش کنید، که این دستگاه می‌تونه یه لپتاپ یا کنسول بازی یا هر چیز دیگه ای باشه.

اونجا تنظیمات پروکسی رو باز کنید و IP و Port که دارید رو وارد کنید.

به عنوان  مثال تنظیمات پروکسی برای فایرفاکس این شکلی است.

دقت کنید بعضی دستگاهها از  socks پشتیبانی نمی کنن. برای اونها باید از HTTP استفاده کنید.

یک تجربه: از پانی پی بر حذر باشید

مدتی پیش برای گرفتن مسترکارت و شارژ حساب پی‌پل سفارشی در سایت پانی‌پی Panypay ثبت کردم که جزء بدترین اشتباهات زندگیم بود.

در مورد این سایت فقط می‌تونم بگم ازش دوری کنید.

کارت اعتباری من رو با یکی دو ماه تاخیر تحویل دادن، و بدتر از تاخیر، که گاهی ناگزیر پیش میاد، نحوه پاسخگویی اوپراتورهاشون بود. حتی احترام ظاهری هم برای مشتری قائل نیستند و از لحظه‌ای که پول رو واریز می‌کنید رفتارشون خیلی بدتر هم میشه.

خودشون رو ملزم به پاسخگویی نمی‌دونن و حتی بی‌ادبانه جواب میدن.

خلاصه اگر نیاز به خدمات ارزی یا شارژ اکانت پی پل یا ویزا و مسترکارت و .. دارید مطلقا سراغ این سرویس یعنی پانی پی  نرید.

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

مدیریت پیشرفته proxy در اندروید

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

اضافه کردن و روشن/خاموش کردن proxy سخت و زمان بره (چه برای وایفای و چه برای دیتا)، و همه برنامه‌ها هم با تنظیمات پراکسی اندروید سازگار نیستن.

روی پلی استور اپی به نام Drony هست که این مشکل رو حل می‌کنه.

این اپ اطلاعات پراکسی شما رو میگیره و یک اتصال VPN داخلی یا لوکال میسازه که ترافیک شما رو به پراکسی میفرسته.

این اپ انواع پراکسی مثل http، socks و همینطور shadowsocks رو پشتیبانی می‌کنه.

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

همچنین Drony تک تک کانکشن‌ها رو نشون میده و می‌تونید ببینید کدوم اپها سعی می‌کنن به اینترنت وصل بشن و اگر خواستید دسترسی‌شون رو قطع کنید.

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

مثلا اگر اپ بانک شما فقط با آی پی ایران کار می‌کنه می‌تونید اتصال مستقیم براش تعریف کنید. اینجوری موقع استفاده از اپ بانک نیازی به قطع کردن VPN ندارید.

آدرس سایت بانکتون رو هم میتونید از پراکسی مستثنا کنید. مثلا من تنظیم کردم سایت بانک ملت بدون پراکسی باز بشه.

فارسی نویسی در اندروید با کیبورد واقعی

یکی از مشکلات اندروید اینه که برای کیبوردهای سخت افزاری، از جمله کیبوردهای بلوتوث، فارسی رو پشتیبانی نمی‌کنه.

خوشبختانه برنامه‌ای رو پلی استور پیدا کردم که این مشکل رو حل می‌کنه.

لینک برنامه

بعد از نصب می‌تونید تو تنظیمات خود اندروید برای صفحه کلیدهای سخت افزاری، زبان فارسی رو هم پیدا کنید.

به اشتراک گذاری VPN از طریق WiFi

میخواهیم اتصال vpn رو از طریق وای فای به اشتراک بذاریم، یعنی یک شبکه وای فای بسازیم که هر کسی به اون وصل شد ترافیکش از وی پی ان عبور کنه.

برای اینکار به یک گوشی اندرویدی روت شده نیاز داریم + برنامه TeherNet که از اینجا قابل دریافته:
https://play.google.com/store/apps/details?id=com.ilmubytes.tethernet

متاسفانه اون اپ از گوگل پلی حذف شده.

از این استفاده کنید.

https://play.google.com/store/apps/details?id=com.jarvanh.vpntether

 

 

حالا کافیست که یه wifi hotspot روی گوشی بسازیم، به وی پی ان وصل

یم و این برنامه رو اجرا کنیم. تمام!

(مسئولیت استفاده ناصحیح و تخلف از قوانین به عهده خودتونه)

بروزرسانی: این راه حل نیاز به root داره. برای راح حل بدون روت، این پست رو ببینید.

چگونه زبان انگلیسی یاد بگیریم؟

چگونه زبان انگلیسی یاد بگیرم؟

این سؤالی است که به خاطر رشته تحصیلی من زیاد ازم پرسیده میشه.

روشهای مختلفی برای یادگیری زبان هست که در کلاس زبان و یا در خونه میشه پیاده کرد و هر کدوم از روشها خودش داستانی داره.

اما یک نکته مهم این وسط وجود داره که اگر درک نشه، همه روش‌ها بی اثر یا کم اثر میشن،

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

یادگیری فعال

اون نکته کلیدی اسمش رو میگذارم «یادگیری فعال» یا اکتیو.

به این معنی که شما باید به شکل فعالانه و به معنی واقعی کلمه «درگیر» زبان‌اموزی بشید و مثل یک فعالیت ورزشی انرژی صرف کنید.

همونطور که کسی با تماشای تمرینات بدنسازی از تلویزیون، عضلاتش رشد نمی‌کنه، با روشهایی که «فشار» به زبان‌آموز وارد نمی‌کنن یادگیری زبان اتفاق نمی‌افته.

حالا با درنظر گرفتن این اصل می‌تونیم بفهمیم چه روشهایی مؤثر نیستند و وقتمون رو الکی برای اونها هدر نمیدیم.

چند تا مثال می‌زنم تا بحث روشن‌تر بشه:

تماشا کردن فیلمِ انگلیسی زبان روش موثری نیست و منفعلانه یا passive هست.

ولی همین تماشا کردن اگر همراه با تمرین و تکرار باشه، یعنی شما فیلم رو جمله به جمله متوقف کنید و هر جمله رو بعد از درکِ کامل (و مراجعه به دیکشنری) چند بار تکرار کنید، تبدیل میشه به یک فرایند اکتیو و موثر.

گوش کردن فایلهای صوتی آموزش زبان: passive و بی اثر

گوش کردن همراه تکرار و جستجوی معنی کلمات نا آشنا در دیکشنری: فعال و مؤثر

کلاس زبانی که فقط معلم حرف میزنه و شاگردها گوش می‌دن: passive و بی اثر

کلاس زبانی که در اون معلم شما رو به چالش می‌کشه و مجبورتون می‌کنه با اون یا همکلاسی‌ها بحث فعال داشته باشید؛ اکتیو و مؤثر

ارتباط معنا دار

یکی از عواملی که فرایند یادگیری رو تبدیل به یک فرایند مؤثر و اکتیو می‌کنه «ارتباط معنادار» یا meaningful communication هست. میگن زبان وقتی یادگرفته میشه که از اون برای ارتباط معنادار، جدی و واقعی استفاده بشه. یعنی باید سعی کنید حرفها و افکار واقعیتون رو به انگلیسی بیان کنید و همون حرفهایی که به فارسی می‌زنید، و واقعا براتون مهمه، رو به انگلیسی بگید، بخونید و بشنوید.

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

امیدوارم این نوشته بتونه به کسی کمک کنه.

تبدیل SSH به VPN

اگر از یک تونل SSH برای اتصال به اینترنت استفاده می‌کنید و میخواهید کل ترافیک سیستم از SSH عبور کنه می‌تونید از sshuttle استفاده کنید.

بعد از نصب sshuttle کافیه این دستور رو بزنید:

sudo sshuttle --dns -vvr username@sshserver 0/0

نحوه استفاده از SOCKS PROXY در ترمینال

مدت زیادی بود که برای آپدیت کردن اوبونتو مشکل داشتم چون مخزن Google Chrome هنوز برای ایران بسته هست و مجبور بودم کروم رو دستی نصب کنم.

به همین دلیل دنبال راهی بودم که ترافیک ترمینال و برنامه‌هایی مثل apt-get از پروکسی رد بشه. این پست رو برای مراجعات بعدی خودم می‌نویسم ولی امیدوارم به درد شما هم بخوره.

من یک پروکسی ساکس دارم (با استفاده از shadowsocks) که به پورت 1080 گوش می‌کنه. یعنی مرورگر من با کانفیگ 127.0.0.1:1080 به عنوان socks proxy میتونه سایتهای مسدود رو باز کنه.

حالا privoxy رو از مخزن اصلی اوبونتو نصب می کنم و فایل کانفیگش رو به این شکل ادیت می‌کنم:

sudo nano /etc/privoxy/config

و این خط رو اضافه می‌کنم:

forward-socks5 / 127.0.0.1:1080 .

 اینجوری privoxy به عنوان پراکسی http ترافیک من رو میگیره و میفرسته به پراکسی socks.

حالا باید به برنامه‌ها بگم از privoxy به عنوان پراکسی استفاده کنن.

تو مرورگر ها این کار ساده است. پراکسی های http و https رو میگذارید روی 127.0.0.1 و پورت 8118

توی ترمینال این دستورها رو میزنیم:

export http_proxy='http://localhost:8118'
export https_proxy='http://localhost:8118'

و اما برای apt-get

sudo nano /etc/apt/apt.conf

و اینها رو اضافه می‌کنیم:

Acquire::http::Proxy "http://127.0.0.1:8118";
Acquire::https::Proxy "http://127.0.0.1:8118";

و تمام!

Mutate یک لانچر جالب و کوچک

برای لینوکس چند launcher داریم از جمله لانچر خود یونیتی، سیناپس، کاپفر، گنوم دو و …

امروز داشتم دنبال راهی برای نصب سیناپس میگشتم که به Mutate برخوردم، یه لانچر خیلی سبک و ساده که علاوه بر جستجوی فایلها و اجرای برنامه‌ها، کارهای بامزه دیگه‌ای هم می‌کنه، مثل انجام محاسبات، ترجمه متن و حتی kill کردن برنامه‌های در حال اجرا و ….

1

3

2

راهنمای نصب و اطلاعات بیشتر اینجاست

برای دسترسی به تنظیماتش کلمه preferences رو تو خودش تایپ کنید.

میانبر پیشفرضش هم CTRL+D هست. یادمه یه زمانی تو لینوکس این شورتکارت سیستم رو ریبوت یا شات داون میکرد!

بازکردن منوی KDE با کلید Super

خیلی از کاربران عادت دارن که منوی اصلی سیستم رو با کلید سوپر یا همون کلید ویندوز باز کنن.

در KDE اما این ممکن نیست چون کلید ویندوز رو نه به عنوان یک کلید مستقل بلکه مثل CTRL و SHIFT و اینها به عنوان یک کلید modifier می‌شناسه (کلید meta)

برای تغییر این رفتار دو تا راه هست:

روش اول: استفاده از xmodmap

در ترمینال دستور xev | grep keycode رو میزنیم، کلید Super رو فشار میدیم و keycode رو یادداشت می‌کنیم. مثلا 133

حالا فایلی به نام .Xmodmap در Home میسازیم

kwrite ~/.Xmodmap

و این دستور رو بهش اضافه میکنیم:

keycode 133 = F13

اینجوری در واقع به سیستم میگیم که این کد مربوط به کلید خیالی F13 هست.

حالا

xmodmap ~/.Xmodmap

حالا به راحتی می‌تونیم بریم میانبر K menu رو به کلید سوپر تغییر بدیم.

منبع

روش دوم: استفاده از ksuperkey

راهنماش اینجاست

پی‌نوشت: روش دوم بهتره چون باعث میشه اگر شورتکاتهای دیگری با کلید سوپر استفاده می‌کنید حفظ بشن.  

انقلاب بیسوادی یا زبان فارسی در آستانه دگردیسی؟

اگر دقت کرده باشید تعداد غلطهای املایی در بین نسل جدید و کاربران نوجوان اینترنت به نحو محسوسی زیاد شده.

کافیه به شبکه های اجتماعی یا سایتهایی که کاربران نوجوان در اونها کامنت میذارن نگاهی بندازید.

نکته جالب اینکه بخش زیادی از این غلطها در موقع نوشتن کلمات عربی رخ میدن. مثل «غیور» رو «قیور» مینویسن یا به جای «مصاحبه»، «مساحبه» نوشته میشه.

دلیلش به نظر من فقط بیسوادی و تنبلی نیست، بلکه زبان فارسی احتمالا داره دچار یک تغییر تدریجی میشه.

حروفی که از عربی وارد الفبای فارسی شدن و در فارسی صدای یکسان دارن (مثال: ز-ض-ذ) کم کم دارن کاربرد خودشون رو از دست میدن. زبان فارسی نیازی به سه تا «ز» یا سه تا «س» و یا دو تا «ق» نداره و ممکنه طی یک فرایند تدریجی و طبیعی، این حروف رو در هم ادغام و عملا حذف کنه. اگر اینطور بشه، در آینده برای بسیاری از کلمات یک املای جدید یا یک یا چند املای جایگزین خواهیم داشت. یعن داستان حوله/هوله برای بسیاری از کلمات رخ خواهد داد.

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

بهرحال موضوع خوبی برای یک پژوهش زبانشناختی هست.

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

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

اتصال بدون پسورد به سرور از طریق ssh

این پست بیشتر یک یادآوری برای خودمه چون زیاد فراموش می‌کنم.

خیلی ساده است:

روی کلاینت (کامپیوتر خودمون) یک جفت کلید می‌سازیم:

ssh-keygen -t rsa

 وقتی راجع به Passphrase سوال کرد خالی میگذاریم و Enter می‌زنیم:

Enter passphrase (empty for no passphrase)

تا کلید ساخته بشه.

حالا کلید عمومی رو کپی می‌کنیم روی ماشین هدف:

ssh-copy-id USER@HOST