ست و آن ست سرویس شکن توسط پکیج npm

لوگوی سرویس شکن - تحریم ها رو بی اثر کن!
لوگوی سرویس شکن - تحریم ها رو بی اثر کن!

خوب سلام و ادب

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

از اون جایی که تنظیمات DNS توسط یه فایلی به نام resolv.conf مدیریت می شه که بین چند تا سرویس سیستم عامل مشترک هست. برای همین بعد از یه مدت میاید و می بینید که تنظیمات شکن پریده.

خوب برای این که کار ها ساده تر بشن، دو تا ماجول npm نوشتم که هم ست کردن و هم برداشتن شکن رو ساده کنن.

توی یه مقاله ی جدا نحوه ی نوشتن ماجول های npm ای و این که چطوری به صورت global در دسترس قرارشون بدید رو خواهم نوشت امید به خدا.

دقت کنید که حتما باید نود رو نصب داشته باشید. اگه ندارید این جا کامل توضیح داده چطوری نصب کنید.

با استفاده از دستور:

npm -v

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

دو تا پکیج به نام های enable-shecan و disable-shecan هستن. برای نصبشون می تونید:

npm install -g enable shecan
npm install -g disable-shecan

و بعدش هم خیلی راحت هر موقع خواستید شکن رو ست یا آن ست کنید می زنید:

sudo enable-shecan

یا:

sudo disable-shecan

خوبی این پکیج بودن این هست که بعدا می تونید توی پروژه ها تون هم ازش استفاده کنید. مثلا تو Dockerfile تون می تونید این پکیج ها رو بگیرید، روی کانتینر تون ست کنید و بعد از این که کارهاتون رو انجام دادید آن ست ش کنید.

اگه تو توسعه اش می تونید کمک کنید، برام پول ریکوئست بفرستید! دو تا موضوع هست که برای بهبودش در نظر دارم انجام بدم:

  • در حال حاضر فقط ubuntu رو پشتیبانی می کنه. خیلی عالی می شه که سیستم عامل های دیگه رو هم بهش اضافه کنیم. تنظیمات روی ویندوز خیلی پر دردسر تر از اوبونتو هستش.
  • در حال حاضر نیازمند پرمیشن های روت (sudo) هستیم. اگه یه راه حلی باشه که بدون روت شدن بتونیم ستش کنیم عالی می شه.

امیدوارم دیگه لازم نباشه صفحه ی وب پیج شکن رو باز کنید، آی پی ها رو کپی کنید، resolv.conf تون رو nano کنید، بنویسید nameserver و بعد اون رو پیست کنید اون جا. سریع بزنید sudo enable-shecan و تمام!

به کارتون بیاد. ?

سپاس

علی