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 ในห้าขั้นตอน
- เตรียม Linux VPS ที่ติดตั้ง Docker
- เรียกใช้คอนเทนเนอร์ IT-Tools อย่างเป็นทางการ
- ตรวจสอบแดชบอร์ดที่พอร์ต
8080 - เชื่อมต่อ subdomain และเปิดใช้ HTTPS ผ่าน reverse proxy
- จำกัดการเข้าถึงด้วย 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 |
| DevOps | crontab, 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 -ftag 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
