s kcp安装及开机启动

本文详细介绍Shadowsocks在Ubuntu和CentOS上的服务端及客户端安装步骤,包括配置方法及开机启动设置,并提供了终端代理-privoxy和polipo的安装与配置教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、服务端的安装
1、 ubuntu服务端的安装
  http://www.jianshu.com/p/b5c4fbadbfae
  https://github.com/shadowsocks/shadowsocks/wiki/Shadowsocks-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E

2、kcpt服务端的安装现在很简单
按照这个教程就可以了 http://www.jianshu.com/p/172c38ba6cee

3、Centos7 x86-64 服务端安装
  我用的是”搬砖”的服务端,由于centos6 python2.6 更新 捣鼓了一下没弄好,干脆安装centos 7了,下面谈谈步骤了
 ssh登录上 vps 

yum install python-setuptools && easy_install pip   
pip install  shadowsocks

  接着就可以

 vi /etc/shadowsocks.json
{
“server”:”my_server_ip”,
“server_port”:8388,
“local_address”: “127.0.0.1”,
“local_port”:1080,
“password”:”mypassword”,
“timeout”:300,
“method”:”aes-256-cfb”,
}

接着启动ssserver -c /etc/shadowsocks.json -d start
服务端就启动好了,接下来就测试下客户端就可以啦

参考:https://github.com/shadowsocks/shadowsocks/wiki/Shadowsocks-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E

备注:由于这是原汁原味的ss,喝起来相对安全不少吧

  
二、客户端安装
1、客户端windows有图形界面,相对也比较简单,上面教程也比较详细
2、ubuntu启动客户端
首先在客户端下好和服务端相对应的版本,我的是64位的
,新建client.json(和client_linux_amd64在一个目录下) 把和服务器相对应的参数填入
这里写图片描述


配置client.json

{


    "localaddr": ":9345",
    "remoteaddr": "serverip:29900",
    "key": "111111",
    "crypt": "aes-192",
    "mode": "fast2",
    "conn": 1,
    "autoexpire": 60,
    "mtu": 1350,
    "sndwnd": 128,
    "rcvwnd": 1024,
    "datashard": 70,
    "parityshard": 30,
    "dscp": 46,
    "nocomp": false,
    "acknodelay": false,
    "nodelay": 0,
    "interval": 40,
    "resend": 0,
    "nc": 0,
    "sockbuf": 4194304,
    "keepalive": 10
}

:客户端设置
这里写图片描述

(密码是ss密码)

:接着运行terminal
chmod +x client_linux_*

./client_linux_amd64 -c client.json

配置完后就可以看到这个了
这里写图片描述

感谢http://koolshare.cn/thread-45462-1-1.html

二、开机启动设置
安装s有两种方法
第一种方法 :图形界面

PPA is for Ubuntu >= 14.04.

sudo add-apt-repository ppa:hzwhuang/ss-qt5
sudo apt-get update
sudo apt-get install shadowsocks-qt5

后面配置就不说了

第二种方法
1、ss安装 参考这位 : 很详细 https://aitanlu.com/ubuntu-shadowsocks-ke-hu-duan-pei-zhi.html
2、接下来是开机启动
我们现在可以在你的ubuntu上安装一个叫做supervisor的程序来管理你的sslocal启动。关于supervisor更多点击这 sudo apt-get install supervisor
安装好后我们可以在/etc/supervisor/目录下找到conf.d配置文件,
1)在这个文件里面新建ss.conf sudo touch ss.conf
2)把这个填入 ,sslocal -c后面是存放json文件的路径

[program:shadowsocks]
command=sslocal -c  /home/jon/Desktop/SS/bw.json
autostart=true
autorestart=true
user=root
log_stderr=true
logfile=/var/log/shadowsocks.log

3、copy sslocal
在16.04里 sslocal 和ssserver这两个命令是被存在 /usr /bin/下面的,我们要拷贝一份命令文件到/bin(在系统根目录下面)

   sudo cp  /usr/bin/sslocal   /bin 

现在关掉你之前运行sslocal命令的终端,再打开终端输入sudo service supervisor restart 然后去打开浏览器看看可不可以继续代理上网。你也可以用ps -ef|grep sslocal命令查看sslocal是否在运行。

这个时候我们需要在/etc下编辑一个叫rc.local的文件 ,让supervisor开机启动。

sudo gedit /etc/rc.local 

在这个配置文件的exit 0前面一行加上 service supervisor start 保存。看你是否配置成功你可以在现在关机重启之后直接打开浏览器看是否代理成功。

图形界面开机启动

这种开机启动方式简单
1)Dash找到并打开 Startup Applications
2)Dash找到需要开机启动的软件
这里写图片描述
然后长按这个软件拖入Startup Applications,接着就可以看到这个样子的了
这里写图片描述

二、终端代理-privoxy的安装与配置(前提是需要一个代理服务器 你懂得)
这次发现终端也要代理,这次确实浪费不少时间

1、安装privoxy
sudo apt-get install Python-m2crypto privoxy 或者sudo apt install proxychains

配置privoxy
privoxy的配置文件位于/etc/privoxy/config,用vi打开配置文件 sudo gedit /etc/privoxy/config
当然我还不熟悉vi 就用gedit打开

转发位置
在配置文件末尾添加 forward-socks5 / 127.0.0.1:1080 . ( * 注意:末尾的”.”符号不能丢掉) 这一行的意思是将上一步8118端口监听到的请求转发到1080端口,然后由shadowsocks通过socks方式进行处理,否则会报参数缺失错误*

有关Privoxy的配置就结束了,重启一下Privoxy。

~$ sudo /etc/init.d/privoxy restart

接着配置一下终端的环境,需要如下两句。

export http_proxy="127.0.0.1:8118"
export https_proxy="127.0.0.1:8118"

然后就看成果了 curl ip.gs
proxychains curl ip.gs
参考 :http://www.linuxdiyf.com/linux/17144.html

2、安装 polipo

为了让整个系统都走shawdowsocks通道,需要配置全局代理,可以通过polipo实现。

首先是安装polipo:

sudo apt-get install polipo

接着修改polipo的配置文件/etc/polipo/config:

logSyslog = true
logFile = /var/log/polipo/polipo.log
proxyAddress = "0.0.0.0"
socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5
chunkHighMark = 50331648
objectHighMark = 16384
serverMaxSlots = 64
serverSlots = 16
serverSlots1 = 32

重启polipo服务:sudo /etc/init.d/polipo restart 为终端配置http代理:

 export http_proxy="http://127.0.0.1:8123/"

curl www.google.com 如果有响应,则全局代理配置成功。

参考 :https://jingsam.github.io/2016/05/08/setup-shadowsocks-http-proxy-on-ubuntu-server.html

### 安装与集成 KCP 协议栈 KCP(快速可靠协议)是一种基于 UDP 的高效传输协议,适用于需要低延迟和高可靠性的网络应用。它由 skywind3000 开发,实现非常轻量级,仅包含两个源文件:`ikcp.h` 和 `ikcp.c`,便于开发者将其集成到自己的项目中[^2]。 #### 1. 获取 KCP 源码 KCP 的官方代码仓库可以在 GitHub 上找到,地址为 [https://github.com/skywind3000/kcp](https://github.com/skywind3000/kcp)。开发者可以通过 Git 克隆或直接下载 ZIP 包获取源码: ```bash git clone https://github.com/skywind3000/kcp.git ``` 该仓库中包含了完整的 KCP 实现,包括 `ikcp.h` 和 `ikcp.c` 文件,可以直接用于 C/C++ 项目中[^2]。 #### 2. 集成到项目中 由于 KCP 是一个纯用户态的协议实现,不依赖于任何操作系统内核模块,因此只需将 `ikcp.h` 和 `ikcp.c` 添加到现有项目即可使用。无需额外编译步骤,只要确保这两个文件被正确编译链接即可[^2]。 例如,在 CMake 项目中可以这样添加: ```cmake add_library(kcp STATIC ikcp.c) target_include_directories(kcp PUBLIC ${PROJECT_SOURCE_DIR}) ``` #### 3. 使用 KCP 的基本流程 KCP 的使用主要包括以下几个核心操作: - 创建 KCP 实例:调用 `ikcp_create()` 函数创建一个 KCP 控制块。 - 设置底层发送函数:通过 `kcp->output = your_udp_send_function;` 设置底层 UDP 发送逻辑。 - 启用 nodelay 模式:使用 `ikcp_nodelay()` 可以启用低延迟模式。 - 接收数据包:通过 `ikcp_input()` 处理接收到的 UDP 数据包。 - 发送数据:调用 `ikcp_send()` 发送应用层数据。 - 更新时间戳:定期调用 `ikcp_update()` 来驱动内部状态机。 - 接收已解包数据:使用 `ikcp_recv()` 提取完整的消息内容。 #### 示例代码:C语言中初始化 KCP 连接 ```c #include "ikcp.h" // 自定义UDP发送函数 int udp_output(const char *buf, int len, ikcpcb *kcp, void *user) { // 实现实际的UDP发送逻辑,比如调用 sendto() return 0; } int main() { // 创建KCP实例 ikcpcb *kcp = ikcp_create(0x12345678, NULL); // conv为会话标识符 kcp->output = udp_output; // 启用nodelay模式 ikcp_nodelay(kcp, 1, 10, 2, 1); // 模拟发送数据 const char *msg = "Hello KCP!"; ikcp_send(kcp, msg, strlen(msg)); // 更新KCP状态 ikcp_update(kcp, current_time_in_ms()); // 清理资源 ikcp_release(kcp); return 0; } ``` #### 4. 跨平台支持 KCP 是纯 ANSI C 编写的,可以在多种平台上运行,包括但不限于 Linux、Windows、macOS 和嵌入式系统。开发者只需根据目标平台调整底层 UDP 收发逻辑即可。 --- ### 性能优化建议 - **动态调整 RTO** 根据 RTT 测量结果自动调整重传超时时间,避免不必要的重传。 - **多路复用** 在单个 UDP 套接字上处理多个 KCP 连接,减少系统资源消耗。 - **异步 I/O 模型** 利用 epoll/io_uring 等高性能 IO 机制提升吞吐量。 - **FEC 前向纠错** 在极端丢包环境下结合 FEC 技术,减少对重传的依赖。 --- ### 适用场景 KCP 特别适合以下类型的应用: - 实时在线游戏(如 MOBA、FPS) - 实时音视频通信 - 远程协作工具 - 物联网设备间通信 - 高丢包率环境下的数据传输[^1] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值