[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80502":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":16,"forks30d":16,"starsTrendScore":17,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":22,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":28,"readmeContent":29,"aiSummary":30,"trendingCount":16,"starSnapshotCount":16,"syncStatus":31,"lastSyncTime":32,"discoverSource":33},80502,"sshoosh","puemos\u002Fsshoosh","puemos","Tiny self-hosted SSH\u002FTUI workspace chat for small teams and operators who want real-time collaboration over SSH.","https:\u002F\u002Fpuemos.github.io\u002Fsshoosh\u002F",null,"Rust",89,4,88,1,0,3,44.7,"Apache License 2.0",false,"main",true,[24,25,26,27],"chatroom","self-hosted","ssh","tui","2026-06-12 04:01:28","\u003Cp align=\"center\">\n  \u003Cpicture>\n    \u003Csource\n      media=\"(prefers-color-scheme: dark)\"\n      srcset=\"docs\u002Fpublic\u002Fassets\u002Fsshoosh-logo.svg\"\n    >\n    \u003Csource\n      media=\"(prefers-color-scheme: light)\"\n      srcset=\"docs\u002Fpublic\u002Fassets\u002Fsshoosh-logo-light.svg\"\n    >\n    \u003Cimg\n      src=\"docs\u002Fpublic\u002Fassets\u002Fsshoosh-logo-light.svg\"\n      alt=\"sshoosh logo\"\n      width=\"420\"\n    >\n  \u003C\u002Fpicture>\n\u003C\u002Fp>\n\n# sshoosh\n\n`sshoosh` is a self-hosted SSH\u002FTUI workspace chat for small teams and operators who want real-time collaboration over SSH.\n\n## Demo\n\n\u003Cp align=\"center\">\n  \u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F3ed979ae-2ba2-4514-afd2-a38e5d62237f\" width=\"420\" controls\u002F>\n\u003C\u002Fp>\n\n## Quick start\n\n1. Install the release binary.\n\n```sh\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fpuemos\u002Fsshoosh\u002Fmain\u002Finstall.sh | sh\n```\n\nOr install with Homebrew:\n\n```sh\nbrew install puemos\u002Ftap\u002Fsshoosh\n```\n\n2. Generate an owner bootstrap token.\n\n   ```sh\n   sshoosh bootstrap-token\n   ```\n\n3. Start the server.\n\n   ```sh\n   SSHOOSH_DB=.\u002Fsshoosh.sqlite \\\n   SSHOOSH_SERVER_KEY=.\u002Fsshoosh_server_ed25519 \\\n   sshoosh serve --host 0.0.0.0 --port 2222\n   ```\n\n4. Connect with SSH and paste the token at the masked `Token:` prompt.\n\n   ```sh\n   ssh -p 2222 127.0.0.1\n   ```\n\n   Your SSH key is registered the first time you redeem a bootstrap, invite,\n   or device link token. The token is requested over keyboard-interactive auth so it never\n   appears in the SSH user field, `ps`, sshd logs, or shell history.\n   For bootstrap and invite tokens, sshoosh then asks you to choose your\n   username in the TUI. Device link tokens sign in to the existing account.\n   Once your key is bound, future connections skip the prompt.\n\n## Docs and reference\n\nFor complete deployment, configuration, and command details, read the docs site:\n\n- https:\u002F\u002Fpuemos.github.io\u002Fsshoosh\u002F\n\n\n## Deployment summary\n\n| Setup path            | Recommendation             | Notes |\n| --------------------- | -------------------------- | ----- |\n| Local or LAN          | `0.0.0.0:2222` on private network | Bind to your host IP and keep firewall rules tight. |\n| Temporary sharing     | Tunnel `sshoosh` TCP port   | Works with ngrok, Cloudflare Tunnel, Tailscale, or SSH reverse tunnels. |\n| Production            | VPS + systemd              | Use `sudo sshoosh daemon install` so the service runs as the locked-down `sshoosh` user. |\n| Docker                | GHCR image + persistent volume | Run as the image's non-root user, persist `\u002Fdata`, and drop container capabilities. |\n| PaaS\u002Fcontainer hosts  | Use only raw TCP paths       | Avoid HTTP-only hosts. |\n\nVPS quick path:\n\n```sh\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fpuemos\u002Fsshoosh\u002Fmain\u002Finstall.sh | sudo sh -s -- --dir \u002Fusr\u002Flocal\u002Fbin\nsudo \u002Fusr\u002Flocal\u002Fbin\u002Fsshoosh daemon install --binary \u002Fusr\u002Flocal\u002Fbin\u002Fsshoosh\nsudo sh -c 'set -a; . \u002Fetc\u002Fsshoosh\u002Fsshoosh.env; set +a; exec sudo -E -u sshoosh \u002Fusr\u002Flocal\u002Fbin\u002Fsshoosh bootstrap-token'\nssh -p 2222 sshoosh.example.com\n# Paste the bootstrap token at the masked \"Token:\" prompt.\n```\n\nTo apply a new release on a daemon install, replace the binary in place and restart the managed service:\n\n```sh\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fpuemos\u002Fsshoosh\u002Fmain\u002Finstall.sh \\\n  | sudo sh -s -- --dir \u002Fusr\u002Flocal\u002Fbin --version vX.Y.Z\nsudo \u002Fusr\u002Flocal\u002Fbin\u002Fsshoosh daemon restart --backup\n```\n\nDocker quick start:\n\n```sh\ndocker volume create sshoosh-data\ndocker run --rm -v sshoosh-data:\u002Fdata ghcr.io\u002Fpuemos\u002Fsshoosh:latest bootstrap-token\ndocker run -d --name sshoosh --restart unless-stopped \\\n  --cap-drop=ALL \\\n  --security-opt no-new-privileges \\\n  -p 2222:2222 \\\n  -v sshoosh-data:\u002Fdata \\\n  ghcr.io\u002Fpuemos\u002Fsshoosh:latest\n```\n\n## Core commands\n\n```sh\nsshoosh bootstrap-token\nsshoosh serve\nsshoosh doctor\nsshoosh doctor --repair-search\nsshoosh backup \u002Fvar\u002Fbackups\u002Fsshoosh.sqlite\nsshoosh export --format json --out \u002Fvar\u002Fbackups\u002Fsshoosh.json --include-audit\n```\n\nUse the full command reference in the docs for CLI\u002FTUI details.\n\n## Environment variables (quick starter)\n\n```sh\nSSHOOSH_DB=\u002Fvar\u002Flib\u002Fsshoosh\u002Fsshoosh.sqlite\nSSHOOSH_SERVER_KEY=\u002Fvar\u002Flib\u002Fsshoosh\u002Fsshoosh_server_ed25519\nSSHOOSH_HOST=0.0.0.0\nSSHOOSH_PORT=2222\n```\n\nFor advanced configuration options and production tuning, see the docs site.\n","sshoosh 是一个为小团队和运维人员设计的自托管 SSH\u002FTUI 工作区聊天工具，支持通过 SSH 实现实时协作。它使用 Rust 语言开发，具备轻量级、安全性高的特点，能够在命令行界面中提供即时通讯功能。用户可以通过 SSH 连接到服务器并进行聊天，同时支持多种部署方式，包括本地或局域网环境、临时共享、生产环境下的 VPS 部署以及 Docker 容器化部署等。特别适合需要在远程服务器上进行协同工作的场景，如代码审查、故障排查等。",2,"2026-06-11 04:00:59","CREATED_QUERY"]