# @qingchencloud/qy-server

晴云私有代理服务端 - 一个轻量级、高性能的私有代理服务器。

## 功能特性

- ✅ TLS 1.3 加密 - 流量伪装成 HTTPS
- ✅ TCP/UDP 代理 - 全协议支持
- ✅ 端口转发 - 本地端口映射到远程
- ✅ 内网穿透 - 将内网服务暴露到公网
- ✅ 流量统计 - 实时监控
- ✅ 多密钥支持 - 灵活的访问控制

## 快速安装

```bash
# 全局安装
npm install -g @qingchencloud/qy-server

# 或使用 npx 直接运行
npx @qingchencloud/qy-server
```

## 使用方法

### 命令行

```bash
# 显示帮助
qy-server --help

# 使用配置文件启动
qy-server -c config.yaml

# 生成密钥哈希
qy-server -genkey "my-secret-key"
```

### 编程方式

```javascript
const qyServer = require('@qingchencloud/qy-server');

// 生成配置文件
const { configPath, key } = qyServer.generateConfig('./config.yaml', {
    listen: ':443',
    cert: '/path/to/cert.pem',
    keyFile: '/path/to/key.pem'
});
console.log('访问密钥:', key);

// 启动服务器
const server = qyServer.start({ config: configPath });

// 获取版本
console.log(qyServer.version());

// 生成密钥哈希
const hash = qyServer.generateKeyHash('my-secret-key');
```

## 配置文件示例

```yaml
server:
  listen: ":443"
  cert: "/etc/ssl/cert.pem"
  key: "/etc/ssl/key.pem"

auth:
  keys:
    - "your-secret-key"

features:
  proxy: true
  port_forward: true
  nat_penetration: true

limits:
  max_connections: 1000
  bandwidth_limit: 0
  idle_timeout: 300
```

## 客户端配置

在 ClashDIY 中添加节点：

```yaml
proxies:
  - name: "我的私有节点"
    type: qyproto
    server: your-server.com
    port: 443
    password: "your-secret-key"
```

## 系统要求

- Node.js >= 14
- 支持平台：Windows (x64), Linux (x64/arm64), macOS (x64/arm64)

## 许可证

MIT

## 相关链接

- [GitHub](https://github.com/1186258278/QingYun)
- [问题反馈](https://github.com/1186258278/QingYun/issues)
