# CHANGELOG

## v0.0.1

实现基本功能

## v0.1.0

1. 修改数据包头，增加crc32校验码
2. 实现连接池，支持多路IO复用
3. 新增读写超时时间配置
4. 减少单次forward数据量，提高吞吐量
5. 重构部分代码

**注：由于在包头上增加了crc32校验码，因此v0.0.1版本与v0.1.0版本的程序不能混用**

## v0.1.1

1. 去除client中的一处超时逻辑，保证收到的每个forward数据被写回本地
2. 修正client启动时并发设置的idx不正确的BUG
3. 同一个链接两端idx相同时server端获取错误client对象的问题
4. 修正connect后返回的第一条数据to_idx设置错误的问题

## v0.1.2

1. 服务端增加心跳，客户端增加超时次数判断逻辑，用以支持客户端操作系统休眠后的恢复
2. 修正客户端断开链接后的崩溃问题

## v0.2.0

1. 新增action参数用于注册系统服务，删除原有init.d启动脚本
2. 提取link_id为基础字段，修改协议数据包格式

**注：由于提取link_id作为基础字段，因此v0.2.0版本与旧版本的程序不能混用**

## v0.3.0

1. 新增shell规则的支持

## v0.4.0

1. 配置文件支持include语法
2. 通用的握手方式，支持tcp和shell

## v0.5.0

1. 新增dashboard和统一的终端管理页面

## v0.6.0

1. 新增vnc规则支持

## v0.6.1

1. 修正vnc规则的fps参数上限不起作用的问题
2. vnc页面增加全屏功能

## v0.6.2

1. vnc页面支持滚动
2. go版本升级到1.17.3
3. 文档补全

## v0.7.0

1. bootstrap降版到4.6.1
2. dashboard页面支持规则类型筛选
3. **为遵守中国法律，移除内网穿透功能**，保留shell和vnc功能不变

## v0.7.1

1. vnc页面支持远程设置或读取剪贴板（仅支持文本内容）

## v0.7.2

1. 截屏库统一抽取到https://github.com/lwch/rdesktop
2. 修正windows下的错误日志显示格式问题
3. 修正windows下的配置文件include问题
4. 支持linux远程桌面

**注：linux受控端需使用np-cli.vnc程序进行启动，且目前无法以systemd等系统服务方式运行**

## v0.7.3

1. vnc支持\键
2. 全面迁移到[https://github.com/lwch/rdesktop](https://github.com/lwch/rdesktop)，并去除robotgo库的依赖
3. linux下统一到同一个可执行文件，并支持systemd方式启动
4. 简化部署流程

## v0.8.0

1. 支持非tls加密连接
2. 修改go.mod中的项目名称
3. 简化部署流程

## v0.8.1

1. 升级go版本到1.17.6
2. 简化打包docker镜像
3. 优化性能

## v0.8.2

1. 去除连接池的支持

## v0.8.3

1. 修正连接失败时无法正常运行的问题
2. 升级go版本到1.17.7

## v0.8.4

1. 升级go版本到1.18.1
2. 支持arm环境编译

## v0.8.5

1. 升级go版本到1.18.3
2. 修正连接失败时的panic问题

## v0.8.6

1. 升级rdesktop库，支持libx11库的静态连接

## v0.9.0

1. 远程桌面支持macos系统
2. 修改部署文档

## v0.9.1

1. 修正客户端在断网后会假死的问题

## v0.10.0

1. go版本升级到1.18.4
2. 新增code-server支持
3. 优化disconnect处理逻辑

## v0.10.1

1. 修改客户端配置文件，新增ssl的insecure支持

## v0.10.2

1. go版本升级到1.19
2. 修正windows下服务无法启动的问题
3. 修正code-server无法全屏问题

## v0.10.3

1. 修正code-server中剪贴板无法使用的问题

## v0.10.4

1. 修正windows下连接异常无法正常退出的问题

## v0.10.5

1. 修改注册系统服务时的配置项
2. 升级第三方库

## v0.11.0

1. 修改握手时的签名算法
2. go版本升级到1.19.1
3. AdminLTE库升级到3.2.0
4. bootstrap库升级到4.6.2
5. jquery库升级到3.6.1
6. xterm.js库升级到5.0.0
7. fontawesome库升级到6.2.0
8. 去除go1.16的支持

## v0.11.1

1. go版本升级到1.19.2
2. 实现actions自动打包

## v0.11.2

1. 修正windows下日志文件无法rotate的问题
2. 增加未配置项的默认配置

## v0.11.3

1. go版本升级到1.19.4
2. 升级第三方库

## v0.11.4

1. go版本升级到1.19.5
2. fontawesome升级到6.2.1
3. jquery升级到3.6.3
4. xterm.js升级到5.1.0
5. 升级第三方库

## v0.12.0

1. 命令行交互切换到cobra库
2. 新增start、stop、restart、status命令行交互命令
3. 升级第三方库
4. 补充代码注释