1 คะแนน โดย kurthong 19 시간 전 | ยังไม่มีความคิดเห็น | แชร์ทาง WhatsApp

สวัสดีครับ

ขอแชร์ เครื่องมือ TUI ขนาดเล็กที่สร้างด้วย Rust ชื่อ sshc ที่ช่วยให้ค้นหาและเชื่อมต่อโฮสต์จากเทอร์มินัลได้อย่างเบาและปลอดภัย

GitHub repository: https://github.com/hang-in/sshc


ฟีเจอร์หลักและสถาปัตยกรรม

sshc ถูกออกแบบภายใต้ปรัชญาว่า "จะไม่แตะต้องไฟล์คอนฟิกที่ผู้ใช้เขียนเองโดยเด็ดขาด"

โหมดอินไลน์ (sshc) แสดงตัวเลือกใต้เชลล์พรอมป์ต์ทันทีโดยไม่สลับหน้าจอ (เชื่อมต่อได้รวดเร็วด้วยการกด Enter ครั้งเดียว โดยไม่รบกวน scrollback)
โหมดจัดการ (sshc -m) รองรับการเพิ่ม ลบ ตั้งรายการโปรด และแก้ไขแท็กของโฮสต์ผ่าน TUI แบบเต็มหน้าจอ (เชื่อมกับ $EDITOR และจัดการโฮสต์ได้อย่างเป็นธรรมชาติ)
โครงสร้างแยกอย่างปลอดภัย โฮสต์ใหม่จะถูกบันทึกลงใน ~/.ssh/config.d/sshc.conf เท่านั้น (ไฟล์ ~/.ssh/config เดิมจะเพิ่มเพียงบรรทัด Include เพื่อปกป้องไฟล์เดิมอย่างปลอดภัย)
รองรับหลายแพลตฟอร์ม รองรับทั้ง macOS, Linux (ต้อง build) และ native Windows build (v0.7+) ด้วย (รองรับครบทั้งผู้ใช้ WSL2 และสภาพแวดล้อม Windows OpenSSH)


ทำไมต้อง sshc แทน fzf snippet หรือเครื่องมืออื่น?

  1. ระบบจัดลำดับความสำคัญอัจฉริยะและระบบแท็ก:
    หากปักหมุด (f) เซิร์ฟเวอร์ที่ใช้บ่อยในโหมดจัดการ หรือมีประวัติการเชื่อมต่อล่าสุด โฮสต์นั้นจะถูกดันขึ้นมาอยู่บนสุดโดยอัตโนมัติในโหมดอินไลน์ รองรับแท็กแบบคอมเมนต์ เช่น # @tags: prod, staging ทำให้ค้นหาเฉพาะเซิร์ฟเวอร์ใช้งานจริงได้ด้วยคำค้น @prod
  2. เครื่องมือตรวจวินิจฉัยสภาพแวดล้อม (sshc --doctor):
    เมื่อโครงสร้างพื้นฐานมีอาการรวนเป็นบางครั้ง มันจะช่วยวินิจฉัยสถานะสิทธิ์ของ ~/.ssh และสถานะการเชื่อมต่อ pipe ของ ssh-agent (SSH_AUTH_SOCK เป็นต้น) อย่างละเอียด โดยลดการเรียกใช้เครือข่ายให้น้อยที่สุด
  3. ความปลอดภัยแบบไม่สร้างสิ่งเดิมซ้ำใหม่:
    ต่างจากเครื่องมือบางตัวที่สร้างด้วย Python ซึ่งพาร์สไฟล์คอนฟิกเดิมทั้งก้อนจนโครงสร้างพัง sshc จะไม่ทำแบบนั้น และต่างจากสคริปต์ fzf ที่ใช้การจับคู่ข้อความอย่างง่ายจนพลาดคำสั่ง Include มันเคารพกลไก ssh -G และอยู่ร่วมกับระบบเดิมได้อย่างสมบูรณ์

ติดตั้งและเริ่มใช้งานอย่างรวดเร็ว

macOS / Linux (Homebrew):

brew install hang-in/tap/sshc  
sshc  

Windows (PowerShell):

irm [https://github.com/hang-in/sshc/…](https://github.com/hang-in/sshc/releases/latest/download/sshc-installer.ps1) | iex  

สร้างขึ้นเพื่อเวิร์กโฟลว์ที่มีประสิทธิภาพสำหรับวิศวกรที่ไม่อยากออกจากเทอร์มินัลอีกต่อไป ถึงเวลาวางภาระการพิมพ์ cat ~/.ssh/config พร้อมคิดว่า "alias ของเซิร์ฟเวอร์นั้นชื่ออะไรนะ?" ได้แล้ว

เนื่องจากเป็นโครงการโอเพนซอร์ส จึงยินดีต้อนรับทั้งการรายงาน issue และ Pull Request อยู่เสมอ (ตั้งเป้าตอบกลับภายใน 24 ชั่วโมง!) หากคุณชอบโปรเจกต์นี้ ฝากกด ⭐️Star บน GitHub กันด้วยนะครับ ขอบคุณครับ!

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น