# JWRC **Repository Path**: lyonjun/jwrc ## Basic Information - **Project Name**: JWRC - **Description**: Java实现的跨平台远程桌面连接工具(支持Windows、Linux、Mac、统信UOS等国产操作系统),支持arm、mips和loongArch架构,服务端与客户端一体。代码完全开源,免费商用。用于平替ToDesk、vnc、TeamViewer、AnyDesk、FreeRDP、Quasar等远程控制工具。 - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/lyonjun/jwrc - **GVP Project**: No ## Statistics - **Stars**: 77 - **Forks**: 21 - **Created**: 2025-10-11 - **Last Updated**: 2026-01-22 ## Categories & Tags **Categories**: networklib **Tags**: 远程桌面, 远程协助, TeamViewer, AnyDesk, ToDesk ## README # JWRC ## 介绍 基于Java实现的跨平台远程桌面连接工具,支持Windows、Linux、Mac、统信UOS等国产操作系统和x86、ARM、LoongArch、mips等架构。 - 支持国产LoongArch、mips等架构 - 更好的跨平台兼容性(同时支持Windows、Linux、Mac、统信UOS等国产操作系统) - 服务端与客户端一体,服务端和客户端只需要一个程序。 - 自研动态帧率视频图像编解码压缩算法(LyonjunImageCodec-1.1),针对远程桌面特殊优化,在不降低分辨率情况下可以在6ms以内压缩码率到最低300kbps情况,采用无损压缩,画质超高清、高质量、不卡顿,画面跟手。 `为何LyonjunImageCodec保证最低码率(300kbps~400kbps)的同时还能保证低延迟? LyonjunImageCodec编解码包含静态画面空帧复用、位图压缩算法、位运算优化、YUV分量分离算法、cpu指令优化、8位循环展开、数组复用、JVM的智能优化、基础帧+差异重建算法、LZ77字典编码、霍夫曼编码。 存储使用差异值紧凑存储减少传输量,不丢弃任何帧 ` - 代码完全开源,免费商用。 - 超低延迟,可以维持6ms以内延迟(最低可以1ms以内延迟,大字提示:注意该1ms是局域网内1920x1080情况下通过设置“压缩率”为“1”的情况下测试得到的最低数据,并非平均延迟,数字越大带宽越小,延迟越大;反之数字越小,带宽越大,延迟越低) 用于替代ToDesk,vnc、TeamViewer、AnyDesk、FreeRDP等工具 - 无需安装,提供绿色免安装版本,打开即用。 `务必知晓:本项目目前不支持类似“向日葵”那种互联网远程中继模式,只适用于局域网和已经打通内部网络隧道的网络环境。` `支持内网穿透的远程中继模式由里昂菌团队成员紧密开发当中,目前尚在内部开发中,达不到可发布状态。 如果想要关注最新动态,欢迎关注微信公众号:eguid。 感谢大家支持!敬请期待。` ## 软件架构 程序集成了客户端和服务端,可以即作为服务端用于接受远程协助,也可以作为客户端远程其他服务端。 ## 安装教程 1. Window平台 提供两种版本: - 迷你exe版本(12M),无需安装,直接打开exe文件即可,但是需要用户自行安装Java环境 - 绿色免安装版本zip压缩包(41.2M),无需安装,内置JRE环境,解压缩后,点击EXE直接运行即可。 本程序JRE版本要求1.8.0及以上。 Windows平台用户推荐微软OpenJDK发行版:https://learn.microsoft.com/zh-cn/java/openjdk/download 2. Linux/Mac平台 - 下载Jar包,然后直接运行即可(需要Mac安装jvm环境,1.8版本以上即可) 3. 国产操作系统 - 本程序需要先安装国产化对应的Java环境,一般情况下国产化系统会自带,只要下载Jar包,直接运行即可 ## 使用说明 1. 作为服务端时,需要设置监听的端口即可启动服务。支持显示已连接客户端列表。 2. 作为客户端时,需要填写服务端的6位数令牌和服务端的ip、端口即可启动远程桌面 3. 支持文件上传到任意文件到任意服务端目录路径 4. 通过配置界面可以修改默认端口配置和切换主题风格,支持六种主题风格动态切换 ## 程序界面 1. 客户端(控制端)界面 ![客户端界面](client-demo.png) 2. 服务端(受控端)界面 ![服务端界面](server-demo.png) 3. 全局配置 ![全局配置界面](config.demo.png) ## 特技 1. 基于Java实现,完整的跨平台能力,理论上能够运行Java的设备都可以运行本软件。 2. 原创动态图像压缩算法,动态可调压缩比与带宽占用,简单可靠,超高压缩比。 3. 提供多种界面风格动态切换能力,支持jetbrains四种样式风格和Mac两种风格,界面简单美观 ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 贡献指南(提交代码标准规则) 1. 支持使用AI生成参与本项目开发 2. 请先阅读本项目设计文档和代码,了解项目结构和具体实现。 3. 严格控制和禁止新增任何第三方依赖库,除非无法自行实现,否则避免第三方库导致的安全漏洞 4. 编写清晰的 Commit 信息,提交信息应与实际提交代码功能相同。 5. 提交的代码如果修改了功能,必须更新和提供补充的单元测试、集成测试 6. 最小化Pull Request。一次 PR 尽量只解决一个问题(单一职责)。 避免在同一个 PR 中混入无关修改 7. 首次贡献可从文档修正、小 bug 修复开始 8. 对于大功能修改和更新,建议先开 issue 讨论你的设计,避免做无用功 ## 支持项目 关注微信公众号:eguid ![微信公众号](wxgzh.jpg) 请博主喝杯咖啡 ^*^ ![赞赏码](zsm.jpg) ## 迭代路线(优先级) 1. 更低的带宽占用算法(高)(已完成) 2. 客户端支持批量设备管理(高) 3. 硬件状态监控(中) 4. 软件进程状态监控(中) 5. 传输安全性(中) 6. 定时任务与脚本控制(低) 7. 一键部署(低) 8. 精细权限控制(低) ## 版本更新 ### 1.7.0 1. 启用自研高性能、超高压缩比、超低延迟视频图像编解码算法(LyonjunImageCodec) LyonjunImageCodec算法由里昂菌团队自主实现。 LyonjunImageCodec采用动态帧率、无损压缩算法,针对远程桌面场景进行特殊实时性优化,从而达到超低延迟,同时保证超高压缩比。 ### 1.6.0 1. 全新的动态图像压缩算法,带来更低带宽与更低延迟 真正的10ms以内延迟(当带宽与延迟为“1”时,可以达到10ms以内延迟) 数字越大则所占带宽越小,延迟则越大;反之数字越小延迟越低,所占带宽越大。 2. 新增支持是否自动刷新令牌配置,可以通过配置设置下次启动不再自动更新令牌(反馈两位公众号粉丝提的建议) 3. 保存令牌到自定义配置文件 4. 修复已知bug ### 1.5.0 1. 新增全局自定义配置 2. 新增支持界面样式风格动态切换(默认IntelliJ主题风格、可切换Light、Dark、Darcula主题风格) 3. 新增支持Mac两种风格样式(Mac Light和Mac Dark主题风格) 4. 调整配置文件优先级,自定义配置优先级最高,默认情况下加载默认配置 5. Windows平台提供内置JRE环境的绿色免安装版本(zip压缩包,解压缩后直接运行EXE使用) ### 1.4.0 1. 支持Mac 2. 支持Linux 3. 新增帮助说明 4. 新增版本更新检查,可以从开源仓库检查最新版本 5. 简化界面UI显示 6. 新增全局配置文件 7. 新增日志记录 8. 修复安全漏洞问题,去除含有大量漏洞的fastjson库 ### 1.3.1 1. 新增支持图像质量调节,可调压缩比,默认原画画质 2. 支持连接后动态调节图像质量 3. 优化代码结构 4. 微调界面布局 ### 1.3.0 1. 服务端新增已连接客户端表格列表显示 2. 服务端新增主动强制断开客户端连接功能 3. 优化界面布局 ### 1.2.2 1. 修复远程连接成功后远程桌面不自动刷新问题 2. 修复鼠标和键盘映射 ### 1.2.1 1. 修复ico图标问题 ### 1.2.0 1. 修复服务端资源释放问题 2. 重构文件上传功能,原实现中文件传输与远程控制使用同一个端口,导致数据流混乱 3. 服务端不再默认路径 4. 修复服务端无法重复接受客户端连接问题 5. 修复客户端第二次连接直接报连接失败问题 ### 1.1.0 1. 新增支持文件传输功能 ### 1.0.0 1. 服务端监听远程连接功能 2. 客户端远程到服务端功能 3. 鼠标和键盘操作代理功能