نرم افزار مدیریت پسورد متن باز

شاید اسم سایت های مدیریت پسورد مثل passpack و.. را شنیده باشید که به شکل رایگان و تجاری فعالیت میکنند اما امروزه میتوان از نسخه های متن باز و بسیار ایمن تر هم استفاده کرد البته روی سرور شخصی خودتان. برای خودم جالب بود که این سرویس در حال حاضر در دسترس است و به سادگی با کمک داکر در لینوکس و در سرور ویندوزی قابل نصب است.

Bitwarden نام پروژه ای است که هم دارای نسخه ابری به صورت رایگان و تجاری است و هم نسخه قابل دانلود و نصب روی سرور خصوصی شما به صورت نامحدود. جهت نصب این پروژه باید به صفحه github آن مراجعه کنید و مطابق دستور العمل های گفته شده این نرم افزار را نصب کنید. به نظر من از سرور لینوکسی استفاده کنید و لازم است که داکر را هم روی سرور لینوکسی خود نصب کرده باشید.

سرور تست ایمیل با MailHog

برنامه نویسان برای اینکه از صحت کارکرد ارسال ایمیل مطمن شوند و طراحی قالب ایمیل ها را در محیط تست چک کنند نیاز به یک سرویس ایمیل می باشد که یکی از بهترین آنها MailHog است.

در این روش با کمک داکر میتوانید به صورت نامحدود ایمیل های تستی ارسال کنید و هیچ وابستگی به سایت و سرویس دهنده ای نخواهید داشت.

در ابتدا docker را نصب کنید . و سپس یک فایل با عنوان docker-compose.yml را ایجاد نمایید و دستور زیر را در وارد میکنیم

touch docker-compose.yml
version: "3.7"
services:

  # SMTP Server
  smtp:
    platform: linux/x86_64
    image: mailhog/mailhog
    container_name: docker-workspace-smtp
    logging:
      driver: 'none'
    ports:
      - "8003:1025"
      - "8100:8025"
    networks:
      - docker_workspace_network

networks:
  docker_workspace_network:
    driver: bridge

در نهایت با وارد کردن دستور

docker compose up -d

نصب انجام میشود جهت مشاهده mailHog وارد آدرس http://IP:8100 شوید

به جای IP باید IP ماشین مجازی را وارد کنید که با دستور ip a در ابونتو قابل دریافت است

در لاراول فایل .env را به مقادیر زیر تغییر دهید و در سایر سرویس ها مقادیر را معادل نمونه زیر در نظر بگیرید

MAIL_MAILER=smtp
MAIL_HOST=IPaddress
MAIL_PORT=8003
MAIL_USERNAME=''
MAIL_PASSWORD=''
MAIL_ENCRYPTION=null

نحوه ایجاد استرس تست و benchmark از پروژه

یکی از بهترین ابزارها https://github.com/wg/wrk است که با دستور هایی میتواند به صورت همزمان میزان پاسخگویی به کاربران همزمان اپلکیشن شما را انجام دهد

لازم است که حتما در local این تست را بر اساس سخت افزاری که دارید انجام دهید

sudo apt-get install build-essential libssl-dev git -y 
git clone --depth 1 https://github.com/wg/wrk.git wrk
cd wrk 
sudo make 
# move the executable to somewhere in your PATH, ex: 
sudo cp wrk /usr/local/bin 

به طور مثال ۳۰ ثانیه در ۱۲ نخ و ۴۰۰ اتصال همزان با دستور زیر از ادرس زیر به اینصورت است

wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html

در واقع در تست زیر هرچه میزان درخواست بر ثانیه بیشتر باشد بهتر است