https://github.com/mayfly227/LightSocks-cxx
⚡️一个轻巧的网络混淆代理🌏
https://github.com/mayfly227/LightSocks-cxx
libevent lightsocks
Last synced: about 1 year ago
JSON representation
⚡️一个轻巧的网络混淆代理🌏
- Host: GitHub
- URL: https://github.com/mayfly227/LightSocks-cxx
- Owner: mayfly227
- Created: 2020-04-02T07:16:22.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-01-26T05:07:26.000Z (over 4 years ago)
- Last Synced: 2024-10-29T20:35:21.378Z (over 1 year ago)
- Topics: libevent, lightsocks
- Language: C++
- Homepage:
- Size: 684 KB
- Stars: 27
- Watchers: 5
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [Lightsocks-c++](https://github.com/maxlv7/lightsocks-c++)
# 新项目预告:超轻量级网络加密代理(名称未定)
具有以下特性:
1. 使用轻量级单线程reactor框架tohka(?)
2. 代码结构简单
**通过本项目您可以学到:**
1. 如何构建单线程reactor框架
2. 如何以简易的目光正视shoadowsocks,v2ray等软件
3. 如何进行网络编程的开发
---
一个轻量级网络混淆代理,基于 SOCKS5 协议,可用来代替 Shadowsocks(?)。
- 只专注于混淆,用最简单高效的混淆算法达到目的;
- 使用`c++ 11`,基于高效的[libevent](https://github.com/libevent/libevent)网络库;
- 使用`cmake`构建,方便实现跨平台
> 本项目为 [你也能写个 Shadowsocks](https://github.com/gwuhaolin/blog/issues/12) 的 c++ 实现
> 作者实现了 GO 版本 **[Lightsocks](https://github.com/gwuhaolin/lightsocks)**
> **c++初学者,代码写的不好,多多海涵~**
## 编译
### CMake (Windows)
Install CMake:
针对windows的编译安装,我已经提供了libevent2.1.11的64位编译版本,位于lib/event
```
$ md build && cd build
$ cmake -G "Visual Studio 16 2019" -A x64 ..
$ cmake --build . --config Release
```
### CMake (Linux)
请先安装libevent2.1.11
如果你使用的是ubuntu18.04 or later,也可以直接`apt install libevent-dev`直接安装libevent库
其它Linux:克隆本项目,进入项目主目录。
```
$ mkdir build && cd build
$ cmake ..
$ make
```
如果不出意外的话,将会在当前目录下生成两个可执行文件:`LightSocks-client`和`LightSocks-server`
## 使用
### 客户端使用
直接运行生成的可执行文件,程序会自动读取当前目录下的config.json
如果没有config.json文件,那么程序会在当前目录下自动生成config.json
其各字段含义如下:
```
{
"ip": "23.102.255.234", //远程服务器地址
"remote_port": 7009, //远程服务器端口
"listen_port": 7878, //监听的本地地址
"password": "******" //密码
}
```
如果一切配置无误,那么启动程序就会看到:
```
[2020-04-02 14:55:25.967] [info] 成功加载配置文件[config.json]
[2020-04-02 14:55:25.968] [info] 读取到IP:23.102.255.234
[2020-04-02 14:55:25.968] [info] 读取到密码:******
[2020-04-02 14:55:25.968] [info] 读取到本地端口:7878
[2020-04-02 14:55:25.968] [info] 读取到远程端口:7009
[2020-04-02 14:55:25.969] [info] 成功监听地址-->socks5://127.0.0.1:7878
```
### 服务端使用
直接运行生成的可执行文件,程序会自动读取当前目录下的config_server.json
如果没有config_server.json文件,那么程序会在当前目录下自动生成默认的config_server.json
其各字段含义如下:
```
{
"listen_port": 7009, //监听的本地地址
"password": "******" //密码
}
```
如果一切配置无误,那么启动程序就会看到:
```
[2020-04-12 16:25:28.212] [info] 成功加载配置文件[config_server.json]
[2020-04-12 16:25:28.213] [info] 读取到监听地址:[::]:7009
[2020-04-12 16:25:28.213] [info] 读取到密码:nq9Bib/tgSfiVvrRPjWUU9PCcRnmBKBiLSkF3brP9PnwxH5lDYymyd+7zB7hKKg6nypHSI37vFTjrYPXWAn9iuTvZqm9sR9tW6IsTzzVsEpXkRQBLtyVcxrn+EP+QpaX6wOOUPak26Px1CE22CIHC6XKrg8xAIa589rlzaclThAwFXmHMjOEmCZG2ZxfwUSS6qx6aXhgbvfgqky2cFWba5DpyIUdxQw7OS9kG2rWBn+Pi4KyAkB3P7j1UfxJiG8gtxhsNwo0DscrzrPuOKGZq3VLJJqTXF59XXLyWXydY+xoEcN26BwXI4BSy7XGEwj/Ft6+PRJ0Z3vARdJN0FphtA==
[2020-04-12 16:25:28.214] [info] 监听在: 127.0.0.1:7009
```
## 特别感谢
## 已知问题
1. server端内存泄漏(原因不明)