IT-Tools روی VPS: نصب ۸۶ ابزار برای توسعه‌دهندگان

2 دقیقه خواندن
Tropic
IT-Tools روی VPS: نصب ۸۶ ابزار برای توسعه‌دهندگان

IT-Tools: ۸۶ ابزار توسعه‌دهندگان روی یک VPS

لازم است یک JWT را رمزگشایی کنید، JSON را به YAML تبدیل کنید، یک عبارت cron را بررسی کنید، یک subnet را محاسبه کنید یا یک کد QR بسازید. در حالت معمول باید چندین وب‌سایت تصادفی را باز کنید، از میان تبلیغات عبور کنید و داده‌ها را یکی‌یکی در آن‌ها وارد کنید.

IT-Tools این مجموعه از زبانه‌ها را با یک داشبورد واحد جایگزین می‌کند. نسخه فعلی پروژه ۸۶ ابزار برای توسعه، مدیریت سیستم، شبکه، متن و داده دارد. این پروژه یک نمونه ناشناخته و کوچک نیست: هنگام آماده‌سازی این مقاله، مخزن آن در GitHub بیش از ۴۰٬۰۰۰ ستاره داشت و تصویر رسمی Docker نیز بیش از ۱۰ میلیون بار دانلود شده بود. این سرویس رایگان و متن‌باز است و در یک کانتینر روی سرور خودتان اجرا می‌شود.

در ادامه بررسی می‌کنیم که IT-Tools چه کاربردی دارد، به چه نوع VPS نیاز دارد و چگونه داشبورد را به‌صورت ایمن از طریق دامنه خودتان در دسترس قرار دهید.

IT-Tools در پنج مرحله

  1. یک VPS لینوکسی همراه با Docker آماده کنید.
  2. کانتینر رسمی IT-Tools را اجرا کنید.
  3. داشبورد را روی پورت 8080 بررسی کنید.
  4. یک زیردامنه متصل کنید و HTTPS را از طریق reverse proxy فعال کنید.
  5. دسترسی را با VPN، SSO یا احراز هویت اضافی محدود کنید.

برای یک آزمایش سریع، یک فرمان کافی است:

docker run -d \
  --name it-tools \
  --restart unless-stopped \
  -p 8080:80 \
  corentinth/it-tools:latest

پس از راه‌اندازی، http://SERVER_IP:8080 را باز کنید.

این روش برای آزمایش مناسب است، اما برای دسترسی عمومی دائمی توصیه نمی‌شود. بهتر است پورت 8080 که مستقیماً در معرض اینترنت قرار دارد بسته شود و برنامه پشت HTTPS و یک سامانه کنترل دسترسی قرار بگیرد.

IT-Tools چیست؟

IT-Tools مجموعه‌ای از ابزارهای کوچک وب برای توسعه‌دهندگان و متخصصانی است که با زیرساخت IT کار می‌کنند. این پروژه تحت مجوز GNU GPLv3 منتشر می‌شود و کد منبع آن در GitHub در دسترس است.

این برنامه با Vue و TypeScript ساخته شده است. build تولیدی آن یک رابط ایستا است که Nginx درون کانتینر رسمی ارائه می‌کند. به پایگاه داده جداگانه، Redis یا application server نیاز ندارد. در نتیجه IT-Tools منابع کمی مصرف می‌کند و حتی برای یک VPS کوچک نیز مناسب است.

ابزارها در ده دسته تقسیم شده‌اند:

وظیفهنمونه ابزارها
رمزنگاریtoken، UUID، ULID، hash، HMAC، bcrypt، RSA
تبدیلBase64، JSON، YAML، TOML، XML، CSV، Markdown
توسعه وبJWT Parser، URL Parser، Basic Auth، OTP، کدهای وضعیت HTTP
DevOpscrontab، chmod، SQL Formatter، Docker Run to Docker Compose
شبکهsubnet و بازه‌های IPv4، آدرس‌های MAC، IPv6 ULA
متن و رسانهمقایسه متن، آمار، slug، کد QR و QR مربوط به Wi-Fi

این پروژه فهرستی از لینک‌ها نیست: هر ابزار در همان داشبورد مشترک باز می‌شود و بلافاصله آماده استفاده است.

چرا IT-Tools از سرویس‌های آنلاین تصادفی راحت‌تر است؟

یک رابط به‌جای ده‌ها زبانه

کافی است یک نشانی مانند tools.example.com را ذخیره کنید. جست‌وجو در Windows و Linux با Ctrl + K و در macOS با Cmd + K باز می‌شود. جست‌وجو نام‌ها، توضیحات و دسته‌بندی‌ها را بررسی می‌کند؛ بنابراین ابزار موردنیاز در چند ثانیه پیدا می‌شود.

علاقه‌مندی‌ها با نیاز کاربر سازگار می‌شوند

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

داشبورد را می‌توان مانند یک برنامه نصب کرد

این پروژه از PWA پشتیبانی می‌کند. IT-Tools را می‌توان به دسکتاپ یا صفحه اصلی تلفن اضافه کرد و در یک پنجره جداگانه اجرا کرد.

سرور شخصی کنترل بیشتری در اختیار شما می‌گذارد

هنگام استفاده از یک مبدل عمومی باید به مالک وب‌سایت، ابزارهای analytics آن و اسکریپت‌های متصل اعتماد کنید. نمونه شخصی IT-Tools روی زیرساختی اجرا می‌شود که خودتان انتخاب کرده‌اید و نصب استاندارد برای داده‌هایی که وارد می‌کنید به ذخیره‌سازی سمت سرور نیاز ندارد.

خودمیزبانی به این معنا نیست که هر generator به یک ابزار امنیتی تأییدشده تبدیل می‌شود. عبارت‌های seed، کلیدهای خصوصی و سایر اسرار حساس بهتر است در محیطی ایزوله و با ابزارهای تخصصی تولید شوند.

ابزارهایی که بیشترین زمان را ذخیره می‌کنند

  • JWT Parser header و payload توکن را نمایش می‌دهد. این قابلیت هنگام اشکال‌زدایی احراز هویت مفید است، اما decode کردن صحت امضا را بررسی نمی‌کند.
  • Docker Run to Docker Compose یک فرمان طولانی اجرا را به فایل Compose خوانا تبدیل می‌کند. پس از تبدیل همچنان باید مسیرها، secretها و شبکه‌ها را به‌صورت دستی بررسی کنید.
  • Crontab Generator به ساخت برنامه زمان‌بندی کمک می‌کند و آن را به توضیحی قابل فهم برای انسان تبدیل می‌کند.
  • IPv4 Subnet Calculator mask، بازه، broadcast address و تعداد آدرس‌های قابل استفاده را نمایش می‌دهد.
  • JSON، YAML، TOML و XML converters هنگام کار با APIها، فایل‌های پیکربندی و فایل‌های deployment مفید هستند.
  • Wi-Fi QR Code Generator کدی برای اتصال به شبکه مهمان یا اداری می‌سازد، بدون اینکه لازم باشد رمز عبور به‌صورت دستی وارد شود.

IT-Tools جایگزین خط فرمان، CI/CD یا تست‌های خودکار نیست. اگر عملی باید صدها بار تکرار شود، بهتر است آن را به اسکریپت تبدیل کنید. نقطه قوت داشبورد، انجام سریع کارهای تک‌مرحله‌ای و بررسی دیداری نتیجه است.

IT-Tools برای چه کسانی مناسب است؟

توسعه‌دهندگان به ابزارهای JWT، قالب‌بندی داده، SQL و عبارت‌های منظم دسترسی سریع پیدا می‌کنند. مهندسان DevOps از cron، chmod، محاسبات شبکه و مبدل Docker استفاده خواهند کرد. یک تیم کوچک می‌تواند IT-Tools را به‌عنوان صفحه داخلی روی دامنه خودش اجرا کند؛ برای صاحب homelab نیز این سرویس ساده‌ای برای شروع خودمیزبانی است که به پایگاه داده نیاز ندارد.

نیازمندی‌های سرور IT-Tools

پروژه رسمی نیازمندی سخت‌افزاری دقیقی اعلام نکرده است. برای یک داشبورد مستقل، پیکربندی اولیه زیر معمولاً کافی است:

  • 1 vCPU؛
  • 1 GB RAM؛
  • 5–10 GB فضای دیسک برای Linux، imageها و logها؛
  • Ubuntu، Debian یا توزیع لینوکسی دیگری که Docker روی آن نصب باشد؛
  • IP عمومی و دامنه، اگر قرار است سرویس خارج از شبکه محلی در دسترس باشد.

خود کانتینر می‌تواند با حافظه کمتر نیز اجرا شود، اما 1 GB برای سیستم‌عامل، SSH، به‌روزرسانی‌ها و reverse proxy فضای کافی ایجاد می‌کند. اگر IT-Tools را در کنار برنامه‌های دیگر میزبانی می‌کنید، بار ترکیبی آن‌ها را در نظر بگیرید.

نصب IT-Tools با Docker Compose

برای استفاده طولانی‌مدت، Compose راحت‌تر است، زیرا کل پیکربندی در یک فایل ذخیره می‌شود.

sudo mkdir -p /opt/it-tools
cd /opt/it-tools
sudo nano compose.yaml

این محتوا را اضافه کنید:

services:
  it-tools:
    image: corentinth/it-tools:latest
    container_name: it-tools
    restart: unless-stopped
    ports:
      - "127.0.0.1:8080:80"

کانتینر را اجرا کنید:

sudo docker compose up -d
sudo docker compose ps
curl -I http://127.0.0.1:8080

اتصال به 127.0.0.1 یعنی پورت فقط درون VPS در دسترس است. کاربران خارجی از طریق reverse proxy به برنامه متصل می‌شوند.

اگر فرمان docker compose در دسترس نیست، Docker Engine و افزونه Docker Compose فعلی را از مخزن رسمی Docker نصب کنید. برای نصب جدید به فرمان منسوخ docker-compose نیازی نیست.

چگونه دامنه، HTTPS و محافظت از دسترسی را تنظیم کنیم؟

یک رکورد DNS از نوع A بسازید که به IP سرور اشاره کند؛ برای مثال tools.example.com. سپس Nginx، Caddy یا Traefik را پیکربندی کنید. برای Caddy همین مقدار کافی است:

tools.example.com {
    reverse_proxy 127.0.0.1:8080
}

Caddy یک گواهی TLS درخواست می‌کند و برنامه را از طریق HTTPS در دسترس قرار می‌دهد، در حالی که پورت 8080 از اینترنت قابل دسترسی نخواهد بود.

توزیع استاندارد IT-Tools سامانه کامل کاربر و نقش‌ها را ندارد. برای یک داشبورد داخلی، یکی از روش‌های زیر را برای محافظت اضافه کنید:

  • WireGuard، Tailscale یا VPN دیگری؛
  • احراز هویت در reverse proxy؛
  • SSO از طریق Authelia، Authentik یا identity provider سازمانی؛
  • محدودیت دسترسی بر اساس IP address.

یک زیردامنه «مخفی» اقدام امنیتی محسوب نمی‌شود؛ چنین زیردامنه‌ای ممکن است از طریق گزارش‌های certificate transparency یا اسکن DNS کشف شود.

به‌روزرسانی و پشتیبان‌گیری

cd /opt/it-tools
sudo docker compose pull
sudo docker compose up -d
sudo docker image prune -f

برچسب latest برای نصب خانگی راحت است، اما در محیط پایدار بهتر است یک image tag یا digest آزمایش‌شده را ثابت کنید. مخزن source ممکن است سریع‌تر از کانتینر پایدار تغییر کند؛ از build جدیدتر nightly فقط پس از آزمایش استفاده کنید.

به پشتیبان‌گیری پیچیده‌ای نیاز نیست، زیرا پایگاه داده سمت سرور وجود ندارد. compose.yaml، پیکربندی reverse proxy و تنظیمات دسترسی را ذخیره کنید. علاقه‌مندی‌ها در مرورگر ذخیره می‌شوند و در پشتیبان سرور قرار نمی‌گیرند.

IT-Tools روی VPS از tropic.host

IT-Tools گزینه مناسبی برای اولین سرویس خودمیزبان روی VPS است: در یک کانتینر اجرا می‌شود، به پایگاه داده نیاز ندارد و تقریباً بار مداومی ایجاد نمی‌کند. داشبورد را می‌توان روی زیردامنه‌ای جدا قرار داد، با HTTPS ایمن کرد و فقط از طریق VPN یا احراز هویت در دسترس قرار داد.

یک VPS لینوکسی پایه از tropic.host برای این کار مناسب است. می‌توانید با پیکربندی کوچک شروع کنید و بعداً از همان سرور برای برنامه‌های سبک Docker دیگر نیز استفاده کنید، به شرط آنکه RAM و فضای دیسک کافی باشد. مهم‌ترین عوامل، شبکه پایدار، به‌روزرسانی منظم و تنظیم صحیح دسترسی هستند.

نتیجه‌گیری

IT-Tools ده‌ها کار فنی کوچک را به یک داشبورد واضح تبدیل می‌کند. این مجموعه شامل مبدل‌ها، generatorها، محاسبه‌گرهای شبکه و ابزارهایی برای JWT، Docker، cron، SQL، متن و QR code است.

برای اجرای آن VPS کوچک و Docker کافی است. نصب عمومی باید پشت HTTPS قرار بگیرد و با VPN، SSO یا احراز هویت اضافی محافظت شود.

FAQ

آیا IT-Tools رایگان است؟

بله. این پروژه متن‌باز است و تحت مجوز GNU GPLv3 منتشر می‌شود. می‌توانید آن را بدون پرداخت هزینه روی سرور خودتان اجرا کنید.

IT-Tools چند ابزار دارد؟

رجیستری فعلی پروژه ۸۶ ابزار را در ده دسته دربرمی‌گیرد. این فهرست همچنان در حال تغییر است و ممکن است تعداد ابزارها در نسخه‌های آینده عوض شود.

آیا IT-Tools داده‌های واردشده را به سرور ارسال می‌کند؟

نسخه خودمیزبان یک برنامه ایستای client-side و بدون پایگاه داده جداگانه است. بیشتر پردازش‌ها در مرورگر انجام می‌شوند. با این حال امنیت به سرور، image مربوط به Docker، مرورگر، افزونه‌ها و تنظیمات دسترسی نیز وابسته است.

IT-Tools به چه نوع VPS نیاز دارد؟

برای یک داشبورد مستقل، 1 vCPU، 1 GB RAM و چند گیگابایت فضای دیسک معمولاً کافی است. این یک توصیه عملی با فضای اضافه برای Linux، Docker و reverse proxy است، نه نیازمندی رسمی پروژه.

آیا می‌توان IT-Tools را برای یک تیم کامل در دسترس قرار داد؟

بله. سرویس را روی دامنه‌ای جدا مستقر کنید، HTTPS را فعال کنید و دسترسی را از طریق VPN، SSO، Basic Auth یا فهرست مجاز IPها محدود کنید.