用 Go + Next.js 打造的现代化特权访问管理平台(PAM / 堡垒机)—— 全协议、浏览器原生、零客户端
把 SSH · Telnet · RDP · VNC · 数据库 · 对象存储 · 文件传输 · 端口转发 统一收敛到浏览器, 配合多级代理链、细粒度授权、审批工作流、会话录像、异步审计、KMS 凭据加密与内置 AI 运维助手, 让每一次运维行为都可视、可控、可追溯。
🌐 官网 · 💬 Linux.do 社区 · 功能特性 · 能力矩阵 · 架构 · 快速开始 · 配置 · API · 部署
Wayfort 是一个面向运维与安全团队的 Web 特权访问管理平台:后端纯 Go(Gin + GORM + Redis + pion WebRTC),前端 Next.js 16 / React 19。它把传统运维需要的一大堆客户端(mstsc、SecureCRT、Navicat、FileZilla、各家对象存储工具……)统一收敛进浏览器,并在统一的代理链路、RBAC + 资产授权、审批工作流、会话录像、异步审计、KMS 凭据加密之上,把所有运维动作纳入可观测、可追溯、可治理的轨道。
💡 除完整的企业账号体系外,Wayfort 还内置一次性「匿名 Docker 沙箱」:无需注册即可领到一个带 TTL 自动销毁的隔离 shell —— 适合产品演示、CTF 靶场与临时命令练习。
| 痛点 | 本项目方案 |
|---|---|
| 运维工具五花八门 | 一个浏览器搞定 SSH / Telnet / RDP / VNC / 数据库 / 对象存储 / 文件传输 / 端口转发 |
| Windows 远程桌面卡、糊、费流量 | 自研 WebRDP:FreeRDP/IronRDP 双后端 + WebRTC VP9/AV1 + WebGPU 渲染 + 动态分辨率 |
| 数据库要装客户端、权限难管 | DB Studio:浏览器里的结构化库管(SQL 编辑器 / 表浏览 / EXPLAIN 可视化 / 多格式导出),写操作走审批 |
| 临时放权太重、出了事查不清 | 审批工作流 + 时限授权 + 全链路审计 + KMS 签名防篡改账本 |
| 凭据明文落库、泄露即灾难 | KMS 信封加密(Vault / AWS / Azure / GCP KMS),密钥不落配置文件 |
| 跨网穿透要装一堆 agent | 内置 SOCKS5 + SSH 跳板 + 代理链,任意嵌套,逐级穿透 |
| 录像只能录终端 | 字符会话 asciinema v2、图形会话 H.264/.guac、DB/文件操作全审计 |
| 运维要人盯、重复劳动多 | 内置 AI 助手(OpenAI / Claude / Gemini)+ 多 Agent 协作 + 工具调用审批 |
|
|
|
|
|
|
|
|
|
| 协议 / 能力 | 浏览器侧 | 录像 / 审计 | 代理链路 | 审批门控 |
|---|---|---|---|---|
| SSH | xterm.js + WebGL | asciinema v2 + 命令审计 | ✅ | ✅ |
| Telnet | xterm.js | asciinema v2 | ✅ | ✅ |
| RDP(新栈) | WebRTC <video> / WebGPU canvas |
.dtr(H.264 + 输入时间线) |
✅(SOCKS5) | ✅ |
| RDP / VNC(Guacamole) | guacamole-common-js | .guac(可转 MP4) |
✅(SOCKS5) | ✅ |
| 数据库 CLI | xterm.js | asciinema v2 | 直连 / SOCKS5 | ✅ |
| DB Studio(结构化) | Monaco + ResultGrid | 操作审计 + 写操作审批 | 直连 / SOCKS5 | ✅ |
| 对象存储 OSS | 文件管理器 + 预览 | 操作审计 | 厂商 SDK | ✅ |
| SFTP | 文件管理器 + 预览/编辑 | 操作审计 | ✅ | ✅ |
| TCP 端口转发 | 本地监听 / WS 隧道 | 元数据 | ✅ | ✅ |
| 匿名沙箱 | xterm.js | asciinema v2 | — | — |
┌───────────────────────────────────────────────┐
│ 浏览器 · Next.js 16 / React 19 │
│ xterm.js · WebRTC <video>/WebGPU · IronRDP │
│ guacamole-js · Monaco · OnlyOffice · SSE │
└───────────────┬───────────────────────────────┘
REST/SSE 走 Next 反代 │ WS 直连后端(JWT)
┌───────────────▼───────────────────────────────┐
│ Gin HTTP / WebSocket 网关 │
│ /api/v1/* · /api/v1/ws/* · 鉴权中间件 │
│ RBAC · 资产授权 · 审批门控 · 异步审计 │
└─┬─────┬──────┬──────┬──────┬──────┬──────┬─────┘
│ │ │ │ │ │ │
┌────────────▼┐ ┌──▼───┐ ┌▼────┐ ┌▼───┐ ┌▼────┐ ┌▼───┐ ┌▼──────────┐
│ webssh │ │telnet│ │desk-│ │ DB │ │ OSS │ │SFTP│ │ AI Runner │
│ SSH/沙箱 │ │ │ │ top │ │Stud│ │三云 │ │ │ │ 多Agent+工具│
└──────┬──────┘ └──┬───┘ └─┬┬──┘ └─┬──┘ └──┬──┘ └─┬──┘ └─────┬──────┘
│ │ ││ │ │ │ │
│ │ ┌───▼▼──────────┐ │ │ ┌─────▼──────┐
│ │ │ freerdp-worker│ │ │ │OpenAI/Claude│
│ │ │ (CGO+libvpx/ │ │ │ │ /Gemini │
│ │ │ libaom) · │ │ │ └────────────┘
│ │ │ IronRDP 网关 │ │ │
▼ ▼ └──────┬────────┘ ▼ ▼
┌────────────────────────────────────────────────────┐
│ ContextDialer 代理链(direct → SOCKS5 → SSH) │
│ 任意嵌套,逐级穿透到目标 │
└───────────────────────┬────────────────────────────┘
▼
┌──────────────── 目标:Linux · Windows · 网络设备 · 数据库 · 对象存储 ────────────────┐
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ PostgreSQL │ │ Redis │ │ 异步审计 │ │ 审批工作流 │ │ KMS 信封加密 │
│ (GORM) │ │ 会话/锁/TTL │ │ 批量落库 │ │ +签名账本 │ │ Vault/AWS/.. │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
⚙️ 并发模型与运行时(点击展开)
系统遵循 「主线程绝不阻塞 I/O」 原则,所有长生命周期任务通过 errgroup.Group + context.Context 编排,收到 SIGINT/SIGTERM 后优雅停机。
每会话核心 goroutine:WS reader(浏览器输入)、Backend reader(目标输出)、Heartbeat(ping/pong)、Recorder writer(录像落盘),外加协议特定 goroutine(SOCKS5 listener / TCP accept / docker exec / FreeRDP worker 帧泵)。
全局后台 goroutine(cmd/wayfort/main.go 的 errgroup):审计 writer、SSH 池 watchdog、匿名容器 janitor、端口转发 manager、邮件 worker、AI janitor、审批 reconciler、桌面 worker bootstrap、Devolutions Gateway ensure。
背压策略:录像 chan 满则丢帧 + lossy:N 标记;审计 chan 满则丢命令级事件保连接级事件;WebSocket 写 10s 超时即断开。
| 后端(Go 1.26) | 前端(Next.js 16 / React 19) |
|---|---|
|
|
- Go 1.26+、Node 20+ + pnpm(前端)
- PostgreSQL 14+(主库;亦支持 MySQL / 达梦 / openGauss / SQLite)
- Redis 6+
- Docker(匿名沙箱 / 数据库 CLI / Guacamole / OnlyOffice)
- WebRDP
freerdp后端需 libfreerdp 3.x(见scripts/build-worker-*);默认ironrdp后端由内置 Devolutions Gateway 提供
# 1. 克隆
git clone https://github.com/MiChongs/wayfort.git
cd wayfort
# 2. 起依赖(PostgreSQL + Redis + 测试 SSHD + guacd)
docker compose -f deployments/docker-compose.yaml up -d postgres redis sshd-target guacd
# 需要在线 Office(SFTP/OSS 内编辑 docx/xlsx/pptx)时再起 onlyoffice:
# docker compose -f deployments/docker-compose.yaml up -d onlyoffice
# 3. 配置
cp configs/config.example.yaml configs/config.yaml
# 4. 启动网关(首次自动建表 + 创建管理员)
go run ./cmd/wayfort --config configs/config.yaml首次启动若未设置
auth.bootstrap_password,系统会生成 20 位强随机密码并在控制台 banner 打印一次——请立即记录。
cd web
cp .env.example .env.local # 配置 BACKEND_HTTP_URL / NEXT_PUBLIC_BACKEND_WS_URL
corepack enable # 启用 package.json 锁定的 pnpm 版本
pnpm install
pnpm dev # http://localhost:4001REST/SSE 走 Next.js 反向代理(
/api/proxy/...→ 后端,自动透传真实 IP);WebSocket 不走代理,浏览器经NEXT_PUBLIC_BACKEND_WS_URL直连后端。生产建议前置 Nginx/Caddy 统一反代 + TLS。
🖥️ WebRDP 远程桌面(FreeRDP / IronRDP 双后端)
- 双后端:
ironrdp(默认,内置 Devolutions Gateway 子进程,零额外依赖)与freerdp(自研cmd/freerdp-worker,CGO 链接 libfreerdp 3.x,功能最全)。 - WebRTC 视频流:worker 用 libvpx 编 VP8 / VP9(屏幕内容模式)、用 libaom 编 AV1(同画质比 VP9 省 30–50% 流量),经 pion 视频 track 推给浏览器
<video>硬解;GCC 带宽估计闭环动态调码率。 - WebGPU 渲染:位图回退路径用
bgra8unorm纹理直传 GPU,跳过逐像素转换与 ImageBitmap 拷贝,显著降低浏览器 CPU/内存/发热;不支持时自动回退 Canvas 2D。 - AVC444 4:4:4 全彩:服务器侧 FreeRDP 解码,彩色文字最锐利。
- 动态分辨率(RDPEDISP):远端桌面跟随浏览器窗口实时改分辨率,始终 1:1 无缩放模糊;亦可切「智能缩放」。
- 高 DPI 全链路缩放、个人盘双向文件重定向、音频回放、会话录像(
.dtr,含输入/事件时间线,浏览器原地回放)。 - 连接选项全链路:网络预设(LAN/WAN/移动)、bpp、压缩级别、连接类型、GFX 编解码偏好等,节点级可视化配置。
连接选项与编解码参数本机可通过 MSYS2 编译 worker 验证;运行时画质需在真实环境观测。
🗄️ DB Studio · 结构化数据库管理
- 多引擎适配器:MySQL / PostgreSQL / 达梦(DM) / openGauss(安全的关系型适配器层,避免硬编码方言分支);Redis / MongoDB 经容器化 DB CLI。
- 浏览:库 / schema / 表 / 列(类型·默认值·约束)/ 索引 / 外键 / 触发器 / 表与列统计;schema 树带「最近」分区。
- 查询:Monaco SQL 编辑器(收藏夹本机持久化)、分页行查询(搜索/过滤)、多语句脚本执行(尊重引号/美元引用)。
- 可视化:EXPLAIN 树形计划(PG 计划解析为嵌套盒子)、列级数据分布摘要 popover(点表头看直方图)。
- 编辑:行级 INSERT / UPDATE / DELETE,写操作走审批门控;运行中进程查看 + kill。
- 导出:ResultGrid 多格式导出 CSV / JSONL / SQL / Markdown / Excel。
☁️ 对象存储跳板(OSS)
- 多厂商原生 SDK:阿里云 OSS、腾讯云 COS、AWS S3(及 S3 兼容如 MinIO/Ceph)。
- 账号级节点可浏览该账号下的多个 bucket;列对象、prefix 过滤、分页。
- 完整读写:上传 / 下载 / 删除 / 复制 / 建目录;在线预览文本 / 图片 / PDF / Office。
- 凭据走
access_key类型托管(KMS 加密);写操作可走审批;可视化 workspace 操作。
📁 SFTP 高级文件中心
- 列目录 / stat / mkdir / rm / chmod / rename / copy / 搜索 / 打包下载(tar/zip)/ 文本读写。
- 在线预览:Office(OnlyOffice)、PDF、图片(缩略图 + EXIF)、音视频(video.js)、文本(语法高亮)。
- 在线编辑:OnlyOffice 文档协同编辑(签名回调)、纯文本编辑、图片编辑器(filerobot/Photopea)。
- 并发上传队列 + 拖拽 + 底部传输坞;按授权控制、单文件/目录访问限制。
✅ 审批工作流
- 连接前申请:需审批的资源在工作台弹申请面板,SSE 实时推送审批结果,通过后自动连接。
- 审批人侧:收件箱、待我处理、批量决策、转交;审批时可调整授予时长。
- 授权管理:我的授权清单、自助提前释放、管理员撤销;时限授权自动过期。
- 治理:审批模板、订阅规则、统计(状态/风险/SLA)、KMS 签名事件链(防篡改)、可选 S3 Object Lock(WORM) 归档。
- 门控范围:WebSSH / SFTP / RDP/VNC / DB Studio / DB CLI / TCP 转发 / 桌面 / 凭据解密统一接入。
🤖 AI 运维助手
- Provider:OpenAI、Anthropic Claude、Google Gemini,以及任意 OpenAI 兼容网关(NewAPI / 硅基流动 / DeepSeek / Moonshot / 通义);管理员全局 + 用户个人级。
- Agent:全局 + 个人 Agent,可加载工具子集;首次启动可种入默认 SRE/巡检/日志/安全/成本等 Agent 与子 Agent。
- 权限模式(参考 Claude Code):
plan(写操作 dry-run)/normal(高危工具弹确认)/bypass(直接执行,仅受本人资产授权拦截)。 - 工具集:
list_nodes/health_check/ssh_exec_readonly(白名单可配)/ssh_exec/sftp_*/session_list/audit_query/portforward_*/call_subagent(多 Agent 协作,深度上限)。 - 交互:SSE 流式输出、工具 invocation 审核面板、消息编辑、对话搜索 / 导出 Markdown、会话 TTL 自动清理。
🔐 身份、凭据与安全
- KMS 信封加密:每条凭据一个 DEK,KEK 托管于外部 KMS(Vault/OpenBao Transit、AWS/Azure/GCP KMS 或本地);运行时可注册、测试、提升主 provider 并 rewrap 历史凭据,密钥不落 YAML/环境变量。
- MFA:TOTP(Google Authenticator 等)+ 邮箱 OTP + 一次性恢复码,多设备。
- Passkey / WebAuthn:无密码登录、二因子两免(FIDO2 / Touch ID / Windows Hello)。
- OIDC 单点登录:Keycloak / Auth0 / Google / Azure AD / 飞书等,PKCE + nonce。
- 会话安全:登录失败锁定、JWT 主动撤销(Redis 黑名单)、异常登录检测 + 邮件告警、强制下线。
- 加固:bcrypt 密码哈希、known_hosts TOFU、容器
--read-only+tmpfs+网络/资源限额、GORM 参数化、输入校验。
👥 组织、授权与可观测
- RBAC + 组织:角色权限 + 部门树 + 用户组树(支持跨部门、用户多部门),授权沿树继承。
- 资产授权:
grantee(用户/角色/组)× subject(节点/资产组/标签)× action三维矩阵,支持「某人能访问什么 / 某资产谁能访问」双向穿透透视。 - 统一标签/图标:受管彩色标签 + 标签组、节点/智能体可自定义图标(lucide/simple-icons/emoji/text)。
- 系统遥测(Insights):SSH 页直接看目标 CPU/内存/磁盘/进程/网络,按需轮询 + 网关去重缓存。
- 运维面板:防火墙(iptables/ufw/firewalld)与 Docker(容器 list/logs/start/stop/rm)管理。
- 会话审计:真实命令审计、在线监看 + 强制下线、会话统计/详情/审计时间线。
- 设置中心:DB 持久化、注册表驱动、schema 驱动前端、热加载、集成探针(SMTP/KMS 等),仅超管。
- 通知中心 · 异步邮件 + 站内实时推送。
完整示例见 configs/config.example.yaml,主要配置节:
| 配置节 | 说明 |
|---|---|
server / db / redis |
监听、PostgreSQL DSN、Redis |
auth |
JWT、引导管理员、lockout 锁定、mfa、passkey、anomaly 异常登录 |
crypto |
KMS 信封加密:unseal_passphrase_file 引导解封口令;KMS provider 存 DB 表 |
ai |
开关、默认权限模式、最大迭代/子 Agent 深度、ssh_exec_readonly_allow 白名单、种子 Agent |
desktop |
default_backend(ironrdp/freerdp/dummy)、recording、drive 个人盘、webrtc(codec/bitrate/ICE)、devolutions_gateway |
protocols |
guacamole / dbcli / tcpfwd / telnet 各自开关 |
office |
OnlyOffice 在线编辑(document_server_url / jwt_secret / callback) |
insights |
系统遥测开关与缓存 TTL |
anonymous |
匿名沙箱镜像、TTL、CPU/内存/PID 限额、网络隔离 |
recorder / audit / webssh / sshpool / notify / storage |
录像/审计背压、WS 缓冲、SSH 池、邮件、会话目录 |
所有配置均可用 WAYFORT_ 前缀环境变量覆盖(.→_),例如 WAYFORT_DB_DSN、WAYFORT_REDIS_ADDR。
后端全部挂在 /api/v1,鉴权三选一(按优先级):HTTP Header Authorization: Bearer <token> · Query ?token= · WS 子协议 bearer.<token>。
认证 / 自助 / SSH 工具
auth/*:login、login/totp、login/email-otp、login/recovery、login/passkey/{begin,finish}、refresh、logout、anonymous、providers、oidc/:p/{login,callback}me/*:profile、password、mfa(totp/恢复码)、passkeys、favorites、recent-nodes、login-history、nodes、accessme/*(终端增强):snippets、command-history、terminal-profile、ssh-keys、known-hosts、bulk-runs
用户 / 组织 / 授权
users(CRUD、stats、bulk、reset-password、unlock、force-logout、roles、tags)roles·permissions·departments(+tree/parent/members) ·groups(+parent/members)nodes(+test) ·credentials(+usage/test) ·proxies(+chains/validate、chains/test、chain-templates)asset-groups(+nodes/parent) ·tags·tag-groups·asset-grants(+batch) ·access/by-{grantee,subject}·oidc-clients
会话 / 文件 / 运维 / 桌面
sessions(+stats/:id/audit/terminate/recording/cast)nodes/:id/sftp/*(ls/stat/mkdir/rm/upload/download/rename/chmod/read/write/search/copy/archive/office)nodes/:id/oss/*(buckets/objects/stat/download/preview/upload/mkdir/copy/office)·oss/discovernodes/:id/insights/*(system/processes/network)·nodes/:id/firewall/*·nodes/:id/docker/*desktop/sessions(+stats/bootstrap) ·desktop/drive/*(list/upload/download/mkdir/rename)
DB Studio / 审批 / AI / 设置 / KMS
nodes/:id/db/*:capabilities、ping、databases、schema、columns、indexes、foreign_keys、triggers、stats、ddl、rows、column_stats、export、query、query-multi、exec、explain、row/{insert,update,delete}、processes、killapprovals/*:创建/列表/preflight/overview/stats/stream、tasks(inbox/me/bulk/:id/{approve,reject,delegate})、grants(mine/check/release/revoke)、templates、subscriptions、auditai/*:providers(+test/models)、agents、tools、conversations(+search/stream/cancel/export.md)、conversations/:id/messages、invocations/:id/{approve,reject,answer}settings/*:schema、update、reset、integrations(+test)、audits ·setup/kms/*:status、CRUD、test、promote、rewrap
WebSocket 端点
| 路径 | 说明 |
|---|---|
/api/v1/ws/ssh/:node_id |
SSH 终端(webssh.v1) |
/api/v1/ws/telnet/:node_id |
Telnet 终端 |
/api/v1/ws/rdp/:node_id · /ws/vnc/:node_id |
Guacamole 图形(启用时) |
/api/v1/ws/v2/desktop/:session_id |
WebRDP 新栈数据通道(二进制帧 + WebRTC 信令) |
/api/v1/ws/dbcli/:node_id |
数据库 CLI |
/api/v1/ws/tcp/:node_id |
TCP 二进制隧道 |
/api/v1/ws/ssh/anonymous |
匿名沙箱 |
wayfort/
├── cmd/
│ ├── wayfort/ # 主网关:DI 装配、errgroup、信号、引导管理员
│ └── freerdp-worker/ # WebRDP worker(CGO + libfreerdp + libvpx/libaom + WebRTC 编码)
├── internal/
│ ├── server/ # Gin engine、路由(routes.go)、中间件、优雅停机
│ ├── auth/ # JWT、Local/OIDC、MFA、Passkey、RBAC resolver、黑名单、锁定
│ ├── secrets/ # KMS 信封加密:bootstrap、provider、DEK 轮转、审计
│ ├── asset/ # 资产授权三维矩阵 + 双向穿透
│ ├── approval/ # 审批工作流引擎、策略、签名账本、S3 归档
│ ├── ai/ # AI 助手:provider/handler/runner/tools/bridge
│ ├── desktop/ # WebRDP:freerdp/ironrdp 后端、WebRTC、录像、个人盘
│ ├── dbquery/ # DB Studio:适配器、introspection、EXPLAIN、导出
│ ├── protocols/{guacamole,dbcli,tcpfwd,telnet,oss}/ # 各协议适配
│ ├── webssh/ # WebSocket SSH/Telnet 网关 + 命令审计 + 增强
│ ├── sftp/ · office/ # SFTP + 高级预览 / OnlyOffice 集成
│ ├── insights/ · firewall/ · docker/ · dockerx/ # 遥测与运维面板
│ ├── anonymous/ · socks5/ · sshpool/ · dialer/ · ssh/ # 沙箱、SOCKS5、SSH 池、代理链
│ ├── settings/ · notify/ · mfa/ · passkey/ · anomaly/ # 设置中心、通知、安全
│ ├── audit/ · model/ · repo/ · cache/ · config/ # 审计、模型、仓储、缓存、配置
│ └── api/ # REST handlers
├── web/ # Next.js 16 控制台(App Router)
├── deployments/ # Dockerfile · docker-compose.yaml
├── scripts/ # build-worker-*(freerdp)· install-devolutions-gateway-*
└── configs/config.example.yaml
docker compose -f deployments/docker-compose.yaml up -d包含:PostgreSQL 16 · Redis 7 · 测试 OpenSSH(testuser/testpass @2222)· Guacamole guacd 1.5.5 · OnlyOffice Document Server(在线 Office,JWT 默认开启,密钥须与 office.jwt_secret 一致)· 应用本身(:8080)。
# 后端
CGO_ENABLED=0 go build -trimpath -ldflags='-s -w' -o wayfort ./cmd/wayfort
./wayfort --config /etc/wayfort/config.yaml
# WebRDP freerdp worker(需 libfreerdp 3.x,按平台选脚本)
bash scripts/build-worker-linux.sh # Linux
bash scripts/build-worker-darwin.sh # macOS
pwsh scripts/build-worker-windows.ps1 # Windows(MSYS2 ucrt64)
# 前端
docker build -t wayfort-web ./web
docker run -d -p 3000:3000 -e BACKEND_HTTP_URL=http://app:8080 \
-e NEXT_PUBLIC_BACKEND_WS_URL=wss://your.domain wayfort-web| 事项 | 建议 |
|---|---|
| JWT 密钥 | openssl rand -base64 48 |
| 凭据加密 | 用真实 KMS(Vault/AWS/Azure/GCP),妥善备份 unseal_passphrase_file |
| TLS / 反代 | 前置 Nginx/Caddy/Traefik,proxy_read_timeout ≥ 1h(WS 长连) |
| WebRTC | NAT 环境配 desktop.webrtc.{stun_urls,turn_url,public_ip} |
| 日志 | zap 输出 JSON,接 Loki/ELK |
| 录像 | 长期归档建议对象存储(S3/OSS) |
go test ./... # 全部
go test ./internal/desktop/... -v # 单包(如 RDP 连接选项/录像)
cd web && pnpm typecheck # 前端类型检查(tsc)代表性测试:internal/desktop(连接选项预设、录像背压、二进制帧)、internal/protocols/{guacamole,tcpfwd,telnet}、internal/settings(编解码)、internal/socks5 等。
欢迎 Issue 与 PR!提交前请
go fmt ./... && go vet ./... && go test ./... -count 1
cd web && pnpm typecheck提交信息遵循 Conventional Commits:feat: / fix: / refactor: / docs: / test: / chore:。
MIT © Wayfort contributors
Gin · GORM · pion/webrtc · FreeRDP · IronRDP / Devolutions Gateway · Apache Guacamole · Next.js · shadcn/ui · xterm.js · OnlyOffice · JumpServer(设计思路参考)
🏠 本项目由 LINUX DO 社区推荐与支持,感谢社区佬友们的关注、反馈与贡献!
🌐 官网 · wayfort.karpov.cn 💬 社区 · Linux.do
如果 Wayfort 对你有帮助,欢迎点一个 ⭐ Star!欢迎到 Linux.do 社区 交流讨论!