Socks5代理服务器搭建
1、首先,编译安装SS5需要先安装一些依赖组件
1 | yum -y install gcc gcc -c++ automake make pam-devel openldap-devel cyrus-sasl-devel openssl-devel |
2、去官网下载SS5最新版本的源代码
1 | wget -c https: //nchc .dl.sourceforge.net /project/ss5/ss5/3 .8.9-8 /ss5-3 .8.9-8. tar .gz |
3、解压后开始编译安装:
1 2 3 4 5 | tar zxvf . /ss5-3 .8.9-8. tar .gz cd ss5-3.8.9 . /configure make make install |
4、让SS5随系统一起启动
1 2 3 | chmod +x /etc/init .d /ss5 chkconfig --add ss5 chkconfig --level 345 ss5 on |
5、在/etc/opt/ss5/ss5
.conf
中找到auth和permit两行,按照下面的格式进行修改则不需要验证
在/etc/sysconfig/ss5这个文件中,添加下面这一行命令
1 2 3 4 | -u:后面为启动用户 -b:后面的参数代表监听的ip地址和端口号 # Add startup option here SS5_OPTS= " -u root -b 0.0.0.0:8080" |
7、启动ss5
1 | service ss5 start |
8、如果在云服务器安装,请在安全组开放SS5监听的端口
9、使用QQ代理测试:
如果需要配置访问权限,请按如下修改:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | a、开启用户名密码验证机制 vim /etc/opt/ss5/ss5 .conf 在ss5.conf中找到auth和permit两行,按照下面的格式进行修改 auth 0.0.0.0 /0 - u permit u 0.0.0.0 /0 - 0.0.0.0 /0 - - - - - b 、设置用户名和密码 vim /etc/opt/ss5/ss5 . passwd 一行一个账号,用户名和密码之间用空格间隔,例如: user1 123 user2 234 c、重启服务生效 service ss5 restart |
创建用户分组,以方便给不同的用户分配不同的访问权限:
1 2 3 4 5 | 在 /etc/opt/ss5 目录中创建以用户分组名命名的文件,然后在相应的组用户文件中添加相应的用户。 需要创建两组用户: - 不受限制用户组: ulimit - 受限制用户组:limit 在 /etc/opt/ss5 目录里面创建 ulimit 和limit这两个文件,然后在这两个文件中分别填入 /etc/opt/ss5/ss5 . passwd 中已添加的用户,格式依旧是每行一个用户(不需要填写用户密码)。<br> 请注意! /etc/opt/ss5 目录下的这些文件必须能被Ss5服务的执行用户有读取权限(Ss5服务的默认执行用户是nobody)。 |
设置不同用户组的访问控制:
1 2 3 4 5 6 7 8 | # ulimit组用户不受限制 permit u 0.0.0.0 /0 - 0.0.0.0 /0 - - ulimit - - # limit组用户限制流量为512k permit u 0.0.0.0 /0 - 0.0.0.0 /0 - - limit 512000 - # 拒绝所有ip访问google permit u 0.0.0.0 /0 - www.google.cn - - - - - |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构