IT-Tools บน VPS: ติดตั้งเครื่องมือสำหรับนักพัฒนา 86 รายการ

2 อ่านขั้นต่ำแล้ว
Tropic
IT-Tools บน VPS: ติดตั้งเครื่องมือสำหรับนักพัฒนา 86 รายการ

IT-Tools: เครื่องมือสำหรับนักพัฒนา 86 รายการบน VPS เดียว

คุณอาจต้องถอดรหัส JWT แปลง JSON เป็น YAML ตรวจสอบนิพจน์ cron คำนวณ subnet หรือสร้าง QR code ในสถานการณ์ทั่วไป เรามักเปิดเว็บไซต์หลายแห่งแบบสุ่ม ปิดโฆษณา แล้ววางข้อมูลลงในแต่ละเว็บไซต์ทีละรายการ

IT-Tools รวมแท็บเหล่านี้ไว้ในแดชบอร์ดเดียว โครงการรุ่นปัจจุบันมีเครื่องมือ 86 รายการสำหรับการพัฒนา การดูแลระบบ เครือข่าย ข้อความ และข้อมูล นี่ไม่ใช่โครงการเล็กที่ไม่มีผู้ใช้งาน: ในเวลาที่จัดทำบทความนี้ repository มีดาวบน GitHub มากกว่า 40,000 ดวง และอิมเมจ Docker อย่างเป็นทางการมียอดดาวน์โหลดเกิน 10 ล้านครั้ง บริการนี้ใช้งานได้ฟรี เป็นโอเพนซอร์ส และทำงานบนเซิร์ฟเวอร์ของคุณเองภายในคอนเทนเนอร์เดียว

ด้านล่างเราจะดูว่า IT-Tools มีประโยชน์อย่างไร ต้องใช้ VPS แบบใด และทำอย่างไรให้แดชบอร์ดพร้อมใช้งานอย่างปลอดภัยผ่านโดเมนของคุณเอง

IT-Tools ในห้าขั้นตอน

  1. เตรียม Linux VPS ที่ติดตั้ง Docker
  2. เรียกใช้คอนเทนเนอร์ IT-Tools อย่างเป็นทางการ
  3. ตรวจสอบแดชบอร์ดที่พอร์ต 8080
  4. เชื่อมต่อ subdomain และเปิดใช้ 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 คือชุดเครื่องมือเว็บขนาดเล็กสำหรับนักพัฒนาและผู้ที่ทำงานด้านโครงสร้างพื้นฐานไอที โครงการเผยแพร่ภายใต้ใบอนุญาต GNU GPLv3 และซอร์สโค้ดเปิดให้ดูได้บน GitHub

แอปพลิเคชันสร้างด้วย Vue และ TypeScript บิลด์สำหรับใช้งานจริงเป็นอินเทอร์เฟซแบบ static ที่ Nginx ภายในคอนเทนเนอร์อย่างเป็นทางการเป็นผู้ให้บริการ ไม่จำเป็นต้องใช้ฐานข้อมูลแยก Redis หรือ application server ดังนั้น IT-Tools จึงใช้ทรัพยากรน้อยและเหมาะกับ VPS ขนาดเล็กได้

เครื่องมือแบ่งออกเป็นสิบหมวดหมู่:

งานตัวอย่างเครื่องมือ
การเข้ารหัสtokens, UUID, ULID, hashes, HMAC, bcrypt, RSA
การแปลงข้อมูลBase64, JSON, YAML, TOML, XML, CSV, Markdown
การพัฒนาเว็บJWT Parser, URL Parser, Basic Auth, OTP, HTTP status codes
DevOpscrontab, chmod, SQL Formatter, Docker Run to Docker Compose
เครือข่ายIPv4 subnets และ ranges, MAC addresses, IPv6 ULA
ข้อความและสื่อการเปรียบเทียบข้อความ สถิติ slugs, QR และ Wi-Fi QR codes

นี่ไม่ใช่ไดเรกทอรีรวมลิงก์: เครื่องมือทุกตัวเปิดอยู่ในแดชบอร์ดเดียวกันและพร้อมใช้งานทันที

เหตุใด IT-Tools จึงสะดวกกว่าบริการออนไลน์แบบสุ่ม

อินเทอร์เฟซเดียวแทนแท็บหลายสิบแท็บ

คุณเพียงบันทึกที่อยู่เดียว เช่น tools.example.com การค้นหาเปิดด้วย Ctrl + K บน Windows และ Linux หรือ Cmd + K บน macOS ระบบค้นหาทั้งชื่อ คำอธิบาย และหมวดหมู่ จึงหาเครื่องมือที่ต้องการได้ภายในไม่กี่วินาที

รายการโปรดปรับให้เข้ากับผู้ใช้

คุณสามารถปักหมุดเครื่องมือที่ใช้บ่อยและลากเพื่อจัดเรียงตามต้องการ รายการจะถูกเก็บไว้ในเบราว์เซอร์แบบ local ไม่จำเป็นต้องมีบัญชีแยก แต่รายการโปรดจะไม่ซิงโครไนซ์ระหว่างอุปกรณ์ และจะหายไปเมื่อข้อมูลของเว็บไซต์ถูกล้าง

ติดตั้งแดชบอร์ดเป็นแอปพลิเคชันได้

โครงการรองรับ PWA คุณสามารถเพิ่ม IT-Tools ลงบนเดสก์ท็อปหรือหน้าจอหลักของโทรศัพท์ แล้วเปิดใช้งานในหน้าต่างแยกต่างหาก

เซิร์ฟเวอร์ของคุณเองช่วยให้ควบคุมได้มากขึ้น

เมื่อใช้ตัวแปลงข้อมูลสาธารณะ คุณต้องไว้วางใจเจ้าของเว็บไซต์ ระบบวิเคราะห์ข้อมูล และสคริปต์ที่เชื่อมต่ออยู่ อินสแตนซ์ IT-Tools ของคุณเองทำงานบนโครงสร้างพื้นฐานที่คุณเลือก และการติดตั้งมาตรฐานไม่จำเป็นต้องเก็บข้อมูลที่คุณป้อนบนเซิร์ฟเวอร์

การโฮสต์ด้วยตนเองไม่ได้ทำให้ generator ทุกตัวกลายเป็นเครื่องมือความปลอดภัยที่ผ่านการรับรอง Seed phrase, private key และข้อมูลลับสำคัญอื่น ๆ ควรสร้างในสภาพแวดล้อมแยกที่ใช้เครื่องมือเฉพาะทาง

เครื่องมือที่ช่วยประหยัดเวลามากที่สุด

  • JWT Parser แสดง header และ payload ของ token เหมาะสำหรับแก้ปัญหา authentication แต่การถอดรหัสไม่ได้ตรวจสอบความถูกต้องของลายเซ็น
  • Docker Run to Docker Compose แปลงคำสั่งเรียกใช้ที่ยาวให้เป็นไฟล์ Compose ที่อ่านง่าย แต่ยังต้องตรวจสอบ path, secret และ network ด้วยตนเองหลังการแปลง
  • Crontab Generator ช่วยสร้างตารางเวลาและแปลตารางนั้นเป็นคำอธิบายที่อ่านเข้าใจง่าย
  • IPv4 Subnet Calculator แสดง mask, range, broadcast address และจำนวน address ที่ใช้งานได้
  • JSON, YAML, TOML และ XML converters มีประโยชน์เมื่อต้องทำงานกับ API ไฟล์คอนฟิก และไฟล์สำหรับ deployment
  • Wi-Fi QR Code Generator สร้างโค้ดสำหรับเชื่อมต่อเครือข่ายแขกหรือเครือข่ายสำนักงานโดยไม่ต้องกรอกรหัสผ่านด้วยตนเอง

IT-Tools ไม่ได้มาแทน command line, CI/CD หรือ automated tests หากต้องทำงานเดิมซ้ำหลายร้อยครั้ง ควรเปลี่ยนงานนั้นให้เป็นสคริปต์ จุดเด่นของแดชบอร์ดคือการทำงานครั้งเดียวได้อย่างรวดเร็วและการตรวจสอบผลลัพธ์ด้วยภาพ

IT-Tools เหมาะกับใคร

นักพัฒนาจะเข้าถึงเครื่องมือ JWT การจัดรูปแบบข้อมูล SQL และ regular expressions ได้อย่างรวดเร็ว วิศวกร DevOps จะได้ประโยชน์จาก cron, chmod, การคำนวณเครือข่าย และตัวแปลง Docker ทีมขนาดเล็กสามารถใช้ IT-Tools เป็นหน้าภายในบนโดเมนของตนเอง ส่วนเจ้าของ homelab จะได้บริการ self-hosted ตัวแรกที่ติดตั้งง่ายและไม่ต้องใช้ฐานข้อมูล

ข้อกำหนดของเซิร์ฟเวอร์สำหรับ IT-Tools

โครงการอย่างเป็นทางการไม่ได้ระบุข้อกำหนดด้านฮาร์ดแวร์ที่ตายตัว สำหรับแดชบอร์ดแบบ standalone การกำหนดค่าเริ่มต้นในทางปฏิบัติต่อไปนี้มักเพียงพอ:

  • 1 vCPU;
  • 1 GB RAM;
  • พื้นที่ดิสก์ 5–10 GB สำหรับ Linux, images และ logs;
  • Ubuntu, Debian หรือ Linux distribution อื่นที่ติดตั้ง Docker;
  • public IP address และ domain หากต้องการใช้งานบริการนอกเครือข่ายภายใน

คอนเทนเนอร์สามารถทำงานด้วยหน่วยความจำน้อยกว่านี้ได้ แต่ 1 GB จะเหลือพื้นที่สำหรับระบบปฏิบัติการ SSH การอัปเดต และ reverse proxy หากโฮสต์ร่วมกับแอปพลิเคชันอื่น ให้พิจารณาการใช้ทรัพยากรรวมของทุกบริการ

ติดตั้ง 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

การ bind กับ 127.0.0.1 หมายความว่าพอร์ตจะใช้งานได้เฉพาะภายใน VPS ผู้ใช้ภายนอกจะเชื่อมต่อผ่าน reverse proxy

หากไม่มีคำสั่ง docker compose ให้ติดตั้ง Docker Engine รุ่นปัจจุบันและ Docker Compose plugin จาก repository อย่างเป็นทางการของ Docker ไม่จำเป็นต้องใช้คำสั่ง docker-compose แบบเก่าสำหรับการติดตั้งใหม่

วิธีเชื่อมต่อโดเมน เปิดใช้ HTTPS และป้องกันการเข้าถึง

สร้าง DNS A record ที่ชี้ไปยัง IP ของเซิร์ฟเวอร์ เช่น tools.example.com จากนั้นตั้งค่า Nginx, Caddy หรือ Traefik สำหรับ Caddy ใช้เพียงการตั้งค่าต่อไปนี้:

tools.example.com {
    reverse_proxy 127.0.0.1:8080
}

Caddy จะขอ TLS certificate และทำให้แอปพลิเคชันพร้อมใช้งานผ่าน HTTPS ขณะที่พอร์ต 8080 ยังคงไม่เปิดให้เข้าถึงจากอินเทอร์เน็ต

IT-Tools รุ่นมาตรฐานไม่มีระบบผู้ใช้และ role แบบครบถ้วน สำหรับแดชบอร์ดภายใน ให้เพิ่มวิธีป้องกันอย่างใดอย่างหนึ่งต่อไปนี้:

  • WireGuard, Tailscale หรือ VPN อื่น;
  • authentication ที่ reverse proxy;
  • SSO ผ่าน Authelia, Authentik หรือผู้ให้บริการ corporate identity;
  • จำกัดการเข้าถึงด้วย IP address

subdomain ที่ตั้งชื่อให้เดายากไม่ใช่มาตรการรักษาความปลอดภัย เพราะอาจถูกค้นพบจาก certificate transparency logs หรือการสแกน DNS

การอัปเดตและการสำรองข้อมูล

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

tag latest สะดวกสำหรับการติดตั้งในบ้าน แต่ในสภาพแวดล้อมที่เสถียรควรระบุ image tag หรือ digest ที่ผ่านการทดสอบแล้ว repository ต้นทางอาจพัฒนาเร็วกว่าคอนเทนเนอร์รุ่นเสถียร ควรใช้บิลด์ nightly รุ่นใหม่หลังจากทดสอบเท่านั้น

ไม่จำเป็นต้องทำระบบสำรองข้อมูลที่ซับซ้อน เพราะไม่มีฐานข้อมูลฝั่งเซิร์ฟเวอร์ ให้บันทึก compose.yaml, การตั้งค่า reverse proxy และการตั้งค่าการเข้าถึง รายการโปรดถูกเก็บไว้ในเบราว์เซอร์และจะไม่รวมอยู่ในการสำรองข้อมูลเซิร์ฟเวอร์

IT-Tools บน VPS จาก tropic.host

IT-Tools เป็นตัวเลือกที่ดีสำหรับบริการ self-hosted แรกบน VPS: ทำงานในคอนเทนเนอร์เดียว ไม่ต้องใช้ฐานข้อมูล และแทบไม่สร้างภาระต่อเนื่อง แดชบอร์ดสามารถวางไว้บน subdomain แยก เปิดใช้ HTTPS และให้เข้าถึงได้เฉพาะผ่าน VPN หรือระบบ authentication

Linux VPS พื้นฐานจาก tropic.host เหมาะกับงานนี้ คุณสามารถเริ่มด้วยการกำหนดค่าขนาดเล็ก แล้วใช้เซิร์ฟเวอร์เดียวกันกับแอปพลิเคชัน Docker ขนาดเบาอื่น ๆ ในภายหลัง หากมี RAM และพื้นที่ดิสก์เพียงพอ ปัจจัยสำคัญที่สุดคือเครือข่ายที่เสถียร การอัปเดตสม่ำเสมอ และการตั้งค่าการเข้าถึงอย่างถูกต้อง

สรุป

IT-Tools เปลี่ยนงานด้านเทคนิคขนาดเล็กหลายสิบอย่างให้เป็นแดชบอร์ดที่ชัดเจนเพียงหนึ่งเดียว ภายในมีตัวแปลงข้อมูล generator เครื่องมือคำนวณเครือข่าย และเครื่องมือสำหรับ JWT, Docker, cron, SQL, ข้อความ และ QR code

การเรียกใช้ต้องการเพียง VPS ขนาดเล็กและ Docker การติดตั้งแบบสาธารณะควรวางไว้หลัง HTTPS และป้องกันด้วย VPN, SSO หรือระบบ authentication เพิ่มเติม

FAQ

IT-Tools ใช้งานฟรีหรือไม่

ใช่ โครงการเป็นโอเพนซอร์สและเผยแพร่ภายใต้ใบอนุญาต GNU GPLv3 คุณสามารถเรียกใช้บนเซิร์ฟเวอร์ของตนเองได้โดยไม่มีค่าใช้จ่าย

IT-Tools มีเครื่องมือกี่รายการ

registry ของโครงการในปัจจุบันมีเครื่องมือ 86 รายการในสิบหมวดหมู่ รายการยังคงพัฒนาอยู่ ดังนั้นจำนวนอาจเปลี่ยนแปลงในรุ่นต่อไป

IT-Tools ส่งข้อมูลที่ป้อนไปยังเซิร์ฟเวอร์หรือไม่

รุ่น self-hosted เป็นแอปพลิเคชัน static ฝั่ง client ที่ไม่มีฐานข้อมูลแยก การประมวลผลส่วนใหญ่เกิดขึ้นในเบราว์เซอร์ อย่างไรก็ตามความปลอดภัยยังขึ้นอยู่กับเซิร์ฟเวอร์ อิมเมจ Docker เบราว์เซอร์ ส่วนขยาย และการตั้งค่าการเข้าถึง

IT-Tools ต้องใช้ VPS แบบใด

สำหรับแดชบอร์ดแบบ standalone โดยทั่วไป 1 vCPU, RAM 1 GB และพื้นที่ดิสก์ไม่กี่ GB ก็เพียงพอ นี่เป็นคำแนะนำเชิงปฏิบัติที่เผื่อทรัพยากรสำหรับ Linux, Docker และ reverse proxy ไม่ใช่ข้อกำหนดอย่างเป็นทางการ

สามารถเปิดให้ทั้งทีมใช้ IT-Tools ได้หรือไม่

ได้ ให้ deploy บริการบนโดเมนแยก เปิดใช้ HTTPS และจำกัดการเข้าถึงผ่าน VPN, SSO, Basic Auth หรือ allowlist ของ IP address