DEV Community

Cover image for kkTerminal —— A terminal for Web SSH connection
zyyzyykk
zyyzyykk

Posted on

kkTerminal —— A terminal for Web SSH connection

kkTerminal

kkTerminal, a terminal for Web SSH connection

Author: zyyzyykk

Source Code: https://github.com/zyyzyykk/kkTerminal

Docker Hub Address: https://hub.docker.com/repository/docker/zyyzyykk/kkterminal/general

Preview: http://ssh.kkbpro.com/ (For domestic servers) or http://ssh.kkbapps.com/ (For foreign servers)

Update Time: 2024-12-24

⚡ Quick integration

Using the iframe tag in HTML web pages to quick integration:

<iframe src="http://ssh.kkbpro.com/" height="400px" width="600px" ></iframe>
Enter fullscreen mode Exit fullscreen mode

🐳 Deploy with Docker

1.Pull image:

docker pull zyyzyykk/kkterminal
Enter fullscreen mode Exit fullscreen mode

2.Create and run a container for port mapping: -p port:3000

docker run -d --name kkterminal -p 3000:3000 zyyzyykk/kkterminal
Enter fullscreen mode Exit fullscreen mode

3.Mount data volume: -v path:/data

docker run -d --name kkterminal -p 3000:3000 -v /data:/data zyyzyykk/kkterminal
Enter fullscreen mode Exit fullscreen mode

4.Custom art word: -e TITLE="ArtWord"

docker run -d --name kkterminal -p 3000:3000 -e TITLE="kkbpro" zyyzyykk/kkterminal
Enter fullscreen mode Exit fullscreen mode

5.Accessing in browser: http://server-ip:3000/

💡 Function Description

  1. kkTerminal is a terminal for Web SSH connection. Click on the terminal icon in the upper-left corner and select the connection settings to establish an SSH connection

  2. Support the use of iframe tags in web pages for quick integration into third-party websites

  3. Support internationalization and language switching between Chinese and English

  4. Support local PC deployment, automatically opens browser window upon startup

  5. Support adaptive window size and Chinese input

  6. Support custom preference settings, allowing users to choose the background/foreground color, font size, cursor display style and enable TCode for the terminal

  7. Support restart: It will automatically restart after modifying SSH connection settings or custom preference settings, or can be manually restarted after SSH connection is disconnected

  8. Support copy and paste:

  • Copy: Same as Git terminal, selecting text will automatically copy it

  • Paste: Same as Cmd terminal, right-click to paste (requires browser access permission)

  1. Support file management, open the File Management Module to view, decompress, upload and download files/folders

  2. Support shortcut key operations such as multiple/all file selection, copy and paste, cut, selection switch, open

  3. Support file browsing and editing, modify the file and save it to a remote server using ctrl+s

  4. Support TCode (Terminal Code),which can achieve automated Workflow similar to Shell scripts through Customized TCode

👨‍💻 Update Records

zyyzyykk/kkterminal:3.4.5: latest
  • Add file permission editing function
  • Fix folder input upload bug caused by changing dir during upload
  • Optimize page display
zyyzyykk/kkterminal:3.4.2:
  • Implement internationalization and support language switching between Chinese and English
  • Refactored some logic of code
zyyzyykk/kkterminal:3.4.0:
  • Add SSH Option and custom TCode deletion function
  • Fixed folder pasting failure bug in File Module
  • Optimized network resources and page display

🧬 Architecture

+---------+     http      +-------------+    ssh     +---------------+
| browser | <===========> | kk Terminal | <========> | remote server |
+---------+   websocket   +-------------+    sftp    +---------------+
Vue + Xterm              SpringBoot + SSHJ                Linux OS    
Enter fullscreen mode Exit fullscreen mode

🏘️ About this project

Author: zyyzyykk

Welcome to provide valuable opinions or suggestions on this project, and you can also join us in maintaining and developing this project together

🌟 Stars

Stars

Top comments (0)