{"id":14637854,"url":"https://github.com/o8oo8o/WebSSH","last_synced_at":"2025-09-07T06:31:07.984Z","repository":{"id":40679077,"uuid":"365692161","full_name":"o8oo8o/WebSSH","owner":"o8oo8o","description":"功能强大，Go 实现的一个WebSSH，支持文件上传下载","archived":false,"fork":false,"pushed_at":"2025-07-19T16:31:37.000Z","size":9640,"stargazers_count":296,"open_issues_count":8,"forks_count":71,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-07-19T19:23:54.439Z","etag":null,"topics":["ssh","vue","vue3","webssh","xshell"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/o8oo8o.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-05-09T07:21:32.000Z","updated_at":"2025-07-19T16:27:54.000Z","dependencies_parsed_at":"2024-05-05T17:29:32.263Z","dependency_job_id":"2ec2082a-d856-4e75-af0e-4f8ead9c2e5f","html_url":"https://github.com/o8oo8o/WebSSH","commit_stats":null,"previous_names":["o8oo8o/webssh","o8oo8o/gowebssh"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/o8oo8o/WebSSH","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o8oo8o%2FWebSSH","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o8oo8o%2FWebSSH/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o8oo8o%2FWebSSH/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o8oo8o%2FWebSSH/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/o8oo8o","download_url":"https://codeload.github.com/o8oo8o/WebSSH/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/o8oo8o%2FWebSSH/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274005341,"owners_count":25205934,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ssh","vue","vue3","webssh","xshell"],"created_at":"2024-09-10T02:01:18.709Z","updated_at":"2025-09-07T06:31:07.956Z","avatar_url":"https://github.com/o8oo8o.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"## GoWebSSH\n\u003cbr/\u003e\n\n### 项目介绍：\n* **Web版ssh客户端 + (sshd,sftp)服务端实现**\n\u003cbr/\u003e\n\n### 概要：\n* Golang 1.23 + (Vue3.5 + Vite6)  实现一个Web版单文件的(SSH+SSHD)\n* 借助于Golang embed,打包以后只有一个文件,简单高效\n* 使用及编译过程,超级简单,绝对保姆级\n* 上一版主要本地运行,但是通过部分用户反馈,此项目定位改为服务器运行,所以此版本加入了很多企业场景中的功能\n\u003cbr/\u003e\n\n### 联系我：\n* **QQ:774309635**\n\u003cbr/\u003e\n\n---\n### Quick start(大象装进冰箱只需3步)：\n\u003e  必须使用golang 1.21以上版本\n* git clone https://github.com/o8oo8o/WebSSH.git\n* cd WebSSH/gossh\n* go build\n* ./gossh\n\u003e  打开链接 http://127.0.0.1:8899/ 开始享用吧,第一次需要初始化\n\u003cbr/\u003e\n\n### Docker 方式：\n* git clone https://github.com/o8oo8o/WebSSH.git\n* cd WebSSH\n* docker build -f Dockerfile -t gowebssh:v2 .\n* docker run -d --name webssh -p 8899:8899 -v gowebssh:/var/lib/webssh gowebssh:v2\n\u003cbr/\u003e\n\n### 打赏我：\n* **每一个开源项目的背后，都有一群默默付出、充满激情的开发者。他们用自己的业余时间，不断地优化代码、修复bug、撰写文档，只为让项目变得更好。如果您觉得我的项目对您有所帮助，如果您认可我的努力和付出，那么请考虑给予我一点小小的打赏，够买一瓶啤酒就行🍺，如果能同时打赏啤酒花生那更好🍺🥜，因为所有的代码都是喝完酒撸的。放上收款码的时候我是羞愧的，一个中年男人的最后的尊严和节操竟然没了😂，友情提示:打赏不退，怕被媳妇查到大额支出🥸，如果需要技术支持，需要收费哦**\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n![打赏二维码](https://gitee.com/o8oo8o/WebSSH/raw/main/img/pay.png)\n\n\u003cbr/\u003e\n\n### 运行环境依赖：\n* 需要MySQL8+及PostgreSQL12.2+或者直接使用内置SQLite数据库\n\n### SSHD服务器功能：\n* 可以配置只监听本地端口\n* 支持Web配置sshd服务器账号密码及公钥\n* 支持密码认证,公钥认证,增强登录过程的安全性\n* 通过SFTP或SCP用户可以安全地在本地和远程服务器之间传输文件\n\u003cbr/\u003e\n\n### Web客户端主要功能：\n* 支持同时连接多个主机,支持重连、清屏功能\n* 支持IPv4、IPv6\n* 支持SSH证书登陆及证书密码\n* 支持批量支持命令,当前终端及所有终端\n* 支持命令收藏,方便重复执行命令,批量发送命令到所有会话\n* 可以保存主机连接信息\n* 支持直接通过Web上传下载文件\n* 支持直接通过Web创建目录,删除文件及目录功能\n* 支持手动输入路径\n* 支持自定义终端字体大小、字体颜色、字体样式\n* 支持自定义背景、光标颜色及光标样式\n* 已保存的主机信息可直接编辑并连接\n* 支持后台管理,强制断开连接\n* 支持登陆日志审计,方便监控违规操作\n* 支持访问控制,在公网场景中有效拦截非法访问\n\u003cbr/\u003e\n\n### 为什么这么简单:\n* 为了方便您使用,把golang编译的依赖已经整理好了,clone就一起下载了\n* 前端已经编译完成,并把编译完成的静态资源拷贝到gossh/webroot目录中\n* 可执行文件内嵌静态资源,方便你随性所欲的移动可执行文件\n* 因内置sshd服务器,在受限的网络环境依然能通过web访问\n\u003cbr/\u003e\n\n### 配置文件：\n* 第一次运行会在用户home目录创建一个 .GoWebSSH 目录\n* GoWebSSH.toml 可以配置server端口等信息\n* cert.pem HTTPS服务器证书文件\n* key.key  HTTPS服务器私钥文件\n\u003cbr/\u003e\n\n### 注意: \n* 当程序检测到cert.pem 和 key.key 文件,会使用https协议,否则使用http协议\n* 用户只需把证书文件和私钥文件放到 .GoWebSSH 目录就可以了\n```shell\nopenssl genpkey -algorithm RSA -out key.key -pkeyopt rsa_keygen_bits:2048\n\nopenssl req -new -x509 -key key.key -out cert.pem -days 365 -subj \"/C=CN/ST=bj/L=bj/O=gowebssh/OU=gowebssh/CN=gowebssh.com\"\n```\n\u003cbr/\u003e\n\n### Systemd 方式启动: \n```shell\ncat \u003e /etc/systemd/system/gowebssh.service \u003c\u003c \"END\"\n##################################\n[Unit]\nDescription=GoWebSSH Daemon\nAfter=network.target\nWants=network-online.target\n\n[Service]\nType=simple\nUser=root\nEnvironment=TERM=xterm\nEnvironment=XDG_SESSION_TYPE=tty\nEnvironment=HOME=/root\nPrivateTmp=true\nLimitNOFILE=65535\n\n# 执行程序路径\nExecStart=/usr/local/gossh\n\n# auto restart\nStartLimitIntervalSec=0\nRestart=always\nRestartSec=1\n\n[Install]\nWantedBy=multi-user.target\n##################################\nEND\n\nsystemctl daemon-reload\n\nsystemctl start gowebssh.service\n\nsystemctl enable gowebssh.service\n\n```\n\u003cbr/\u003e\n\n---\n### 演示截图：\n![a](https://gitee.com/o8oo8o/WebSSH/raw/main/img/a.jpg)\n![b](https://gitee.com/o8oo8o/WebSSH/raw/main/img/b.jpg)\n![c](https://gitee.com/o8oo8o/WebSSH/raw/main/img/c.jpg)\n![d](https://gitee.com/o8oo8o/WebSSH/raw/main/img/d.jpg)\n![e](https://gitee.com/o8oo8o/WebSSH/raw/main/img/e.jpg)\n![f](https://gitee.com/o8oo8o/WebSSH/raw/main/img/f.jpg)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fo8oo8o%2FWebSSH","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fo8oo8o%2FWebSSH","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fo8oo8o%2FWebSSH/lists"}