Linux搭建Socks5网络代理服务器,Centos 8 系统
一、目的用途
用于网络代理转发请求,隐藏真实的请求ip地址,或者用于绕过网络限制的目标服务器,将自己的访问请求到代理服务器,通过网络代理服务器将请求转发到目标服务器
二、安装Socks5前的准备
1、从官网下载ss5安装包,
ss5 官网:http://ss5.sourceforge.net/
下载地址:https://sourceforge.net/projects/ss5/files/
或者直接在服务器上运行如下命令,在安装包加载到指定的文件夹中
# wget https://nchc.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
2、运行命令解压安装包,命令如下
tar -zxvf ss5-3.8.9-8.tar.gz
3、解压完成后,进行编译安装,执行一下命令
先,加载安装ss5安装环境所需要的依赖包,运行一下命令
yum -y install pam-devel openldap-devel openssl-devel
然后,进行编译安装,将目录切换至ss5的安装目录下后,运行以下命令
./configure
make
make install
命令执行完成之后,要是没有报错,说明安装成功
三、安装完成,测试连接
安装成功之后,测试是否能正常连接前需要修改一下ss5配置文件,文件位置
/etc/opt/ss5/ss5.conf
将下面两行的注释去掉,然后保存修改
auth 0.0.0.0/0 - -
permit - 0.0.0.0/0 - 0.0.0.0/0 - - - - -
修改完成之后,启动ss5应用程序
service ss5 start
可使用其他命令,查看ss5的状态,或者关闭ss5应用
service ss5 status
service ss5 stop
四、在安装过程中,可能出现的报错以及对应的解决方案
1、在make编译过程中,报如下错误
ss5-3.8.9/src/SS5Core.c:839: undefined reference to `S5DebugUdpRequestInfo'
ss5-3.8.9/src/SS5Core.c:842: undefined reference to `S5ChildClose'
ss5-3.8.9/src/SS5Core.c:843: undefined reference to `S5ChildClose'
ss5-3.8.9/src/SS5Core.c:866: undefined reference to `S5ChildClose'
ss5-3.8.9/src/SS5Core.c:759: undefined reference to `S5DebugUpstreamInfo'
ss5-3.8.9/src/SS5Core.c:397: undefined reference to `S5ChildClose'
collect2: error: ld returned 1 exit status
make[1]: *** [ss5] Error 1
make[1]: Leaving directory `ss5-3.8.9/src'
make: *** [src] Error 2
报错原因:报这个错误,是因为gcc的版本过高
解决方案:安装较低版本的gcc,对ss5进行编译
2、在make编译过程中,报如下错误
SS5Supa.c: In function ‘ss5_secure_dh_compute_key’:
SS5Supa.c:208:5: error: dereferencing pointer to incomplete type
ss->p = BN_bin2bn ((pippo->p), pippo->lenp, NULL);
报错原因:openssl的版本过高,需要降级openssl版本
解决方案:安装编译 openssl 1.0.2
下载地址:https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz
编译安装,执行以下命令
./config shared --prefix=/opt/openssl
make
make install
检查openssl是否安装成功,查看openssl的版本
openssl version
3、在make编译过程中,报如下错误
cfns.gperf: In function 'const char* libc_name_p(const char*, unsigned int)':
cfns.gperf:101:1: error: 'const char* libc_name_p(const char*, unsigned int)' redeclared inline with 'gnu_inline' attribute
报错原因:gcc g++的版本过高,需要降低版本,可以使用gcc 4.8.5的版本进行安装
解决方案:可以使用离线方式直接进行安装,首先下载离线安装包
离线包下载链接官网,如果没有就使用阿里云镜像
gcc安装需要的离线包
cpp-4.8.5-44.el7.x86_64.rpm
gcc-4.8.5-44.el7.x86_64.rpm
glibc-devel-2.17-317.el7.x86_64.rpm
glibc-headers-2.17-326.el7_9.x86_64.rpm
kernel-headers-3.10.0-1160.105.1.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
mpfr-3.1.1-4.el7.x86_64.rpm
ntfs-3g_ntfsprogs-2017.3.23.tgz
g++安装需要的离线包
cc-c++-4.8.5-44.el7.x86_64.rpm
libstdc++-4.8.5-44.el7.x86_64.rpm
libstdc++-devel-4.8.5-44.el7.x86_64.rpm
离线安装包下载完成后,执行以下命令进行安装
rpm -ivh *.rpm --nodeps --force
检查是否安装成功,查看gcc、g++的版本
查看gcc版本 gcc -v
查看g++版本 g++ -v
版本显示为安装的版本,则表示安装成功
4、在ss5的编译安装过程中,可能报inline等函数未定义的报错提示
报错原因:可能是因为ss5的./configure配置文件有问题
解决方案:执行以下命令,然后默认安装不影响
export CPPFLAGS='-I/opt/openssl/include/'
export LDFLAGS='-L/opt/openssl/lib'
./configure
make
make install
最后检查ss5的安装版本,若显示正确,则表示安装成功
查看ss5版本 ss5 -v
五、加入systemd服务,在/usr/lib/systemd/system/目录下,新建ss5.service文件
[Unit]
Description=SS5 Socks Proxy
After=syslog.target network.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/ss5.pid
ExecStart=/sbin/ss5 -p /var/run/ss5.pid -u root
[Install]
WantedBy=multi-user.target
相关文章:
Linux搭建Socks5网络代理服务器,Centos 8 系统
一、目的用途 用于网络代理转发请求,隐藏真实的请求ip地址,或者用于绕过网络限制的目标服务器,将自己的访问请求到代理服务器,通过网络代理服务器将请求转发到目标服务器 二、安装Socks5前的准备 1、从官网下载ss5安装包…...
mysql 导出导入 数据库
导出 MySQL 数据库可以通过多种方法实现,最常见的方法是使用 mysqldump 工具。以下是一些常用的导出 MySQL 数据库的方法: 使用 mysqldump 工具 mysqldump 是一个命令行工具,用于导出 MySQL 数据库的结构和数据。以下是基本的导出命令&…...
linux_进程概念——理解冯诺依曼体系结构
前言: 本篇内容是为了让友友们较好地理解进程的概念, 而在真正了解进行概念之前, 要先了解一下冯诺依曼体系结构。 所以博主会先对冯诺伊曼体系结构进行解释, 然后再讲解进程的概念。 ps: 本篇内容适合了解一些linux指…...
Linux笔记之使用系统调用sendfile高速拷贝文件
Linux笔记之使用系统调用sendfile高速拷贝文件 code review! 文章目录 Linux笔记之使用系统调用sendfile高速拷贝文件sendfile 性能优势sendfile 系统调用优点:缺点: cp 命令优点:缺点: 实际测试:拷贝5.8个G的文件&a…...
OpenCV和PIL进行前景提取
摘要 在图像处理和分析中,前景提取是一项关键技术,尤其是在计算机视觉和模式识别领域。本文介绍了一种结合OpenCV和PIL库的方法,实现在批量处理图像时有效提取前景并保留原始图像的EXIF数据。具体步骤包括从指定文件夹中读取图像,…...
Linux虚拟化大师:使用 KVM 和 QEMU 进行高级虚拟化管理
Linux 虚拟化大师:使用 KVM 和 QEMU 进行高级虚拟化管理 虚拟化技术是现代数据中心的核心技术之一,它可以将一台物理服务器分割成多个虚拟机,从而提高资源利用率,降低成本,并增强系统的灵活性和可扩展性。KVM…...
CentOS-6的iso下载地址镜像yum源
CentOS6下载地址镜像yum源 从 CentOS官网 Vault Mirror 过期镜像库下载 下载iso光盘镜像,使用其提供的yum源 vault:保险库,墓穴 , Vault Mirror 是官方对过期镜像库的取名 CentOS官网 Vault Mirror 过期镜像库 可下载CentOS2,3,4,5,6,7,8 CentOS-Vault.repo对应的是发行该镜…...
【python】PyQt5可视化开发,鼠标键盘实现联动界面交互逻辑与应用实战
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...
Raw Socket(一)实现TCP三次握手
实验环境: Windows物理机:192.168.1.4 WSL Ubuntu 20.04.6 LTS:172.19.32.196 Windows下的一个http服务器:HFS,大概长这个样子: 客户端就是Ubuntu,服务端就是这个…...
考研数学开始的晚?别慌,超全复习规划拿去抄
实话实说,从七月中旬考研数一复习完真的有点悬,需要超级高效快速... 数二的时间也有点紧张...🥺 中间基本没有试错的时间,让你换老师换习题尝试,必须从头到尾规划好 而且相信你也不止自己,有很多考研党都是…...
创建React 项目的几种方式
①.react自带脚手架 使用步骤: 1、下载 npm i create-react-app -g 2、创建项目命令: create-react-app 项目名称 ②.Vite构建工具创建react步骤:(推荐) 方法一: 1、yarn create vite 2、后续根据提示步…...
探索Kotlin:从K1到K2
人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 嘿,小伙伴们!今天我们来聊聊Kotlin,这个在安卓开发圈里越来越火的编程语言。…...
Python爬虫速成之路(1):获取网页源代码
hello hello~ ,这里是绝命Coding——老白~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页:绝命Coding-CSDN博客 &a…...
OpenGL笔记七之顶点数据绘制命令和绘制模式
OpenGL笔记七之顶点数据绘制命令和绘制模式 —— 2024-07-07 杭州 下午 总结自bilibili赵新政老师的教程 code review! 文章目录 OpenGL笔记七之顶点数据绘制命令和绘制模式1.OpenGL版本号更改和编译更改2.GL_TRIANGLES模式绘制一个三角形、支持NFC坐标随窗口缩放2.1.三个点…...
力扣题解( 最长湍流子数组)
978. 最长湍流子数组 已解答 给定一个整数数组 arr ,返回 arr 的 最大湍流子数组的长度 。 如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是 湍流子数组 。 更正式地来说,当 arr 的子数组 A[i], A[i1], ..., A[j] 满足仅满…...
pytorch-RNN存在的问题
这里写目录标题 1. RNN存在哪些问题呢?1.1 梯度弥散和梯度爆炸1.2 RNN为什么会出现梯度弥散和梯度爆炸呢? 2. 解决梯度爆炸方法3. Gradient Clipping的实现4. 解决梯度弥散的方法 1. RNN存在哪些问题呢? 1.1 梯度弥散和梯度爆炸 梯度弥散是…...
Leetcode 17:电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 public List<String> letterCombinations(String digits) {if (digits null || digits.length() 0) {return result;}int index0; //记录遍历digits的角标//初始…...
jmeter-beanshell学习4-beanshell截取字符串
再写个简单点的东西,截取字符串,参数化文件统一用csv,然后还要用excel打开,如果是数字很容易格式就乱了。有同事是用双引号把数字引起来,报文里就不用加引号了,但是这样beanshell处理起来,好像容…...
QScrollArea 设置最大的高度值
在 Qt 中,QScrollArea 是一个提供滚动视图的控件,允许用户查看大于当前视口尺寸的内容。如果你想要为 QScrollArea 设置一个最大的高度值,这通常不是直接通过 QScrollArea 的属性来设置的,而是需要调整其内容部件(widg…...
CentOS6禁止锁屏
在电源中设置后还是会锁屏, 原因是有屏幕保护程序 电源管理都 “从不” 一些AI的回答 在CentOS 6系统中,如果你想要禁用锁屏功能,可以编辑/etc/kbd/config文件。这个文件通常包含了键盘相关的设置,包括密码策略和屏幕锁定选项。 首先打开终…...
计算机毕业设计题目Web开发实战:从选题到部署的全链路技术指南
作为一名计算机专业的过来人,我深知毕业设计(毕设)是检验四年学习成果的关键一战。尤其是Web开发方向,选题看似简单,但想做出一个结构清晰、功能完整、能拿得出手的项目,却常常让同学们感到迷茫和焦虑。今天…...
5大维度赋能企业自动化:OpenRPA开源RPA平台从部署到价值落地全指南
5大维度赋能企业自动化:OpenRPA开源RPA平台从部署到价值落地全指南 【免费下载链接】openrpa Free Open Source Enterprise Grade RPA 项目地址: https://gitcode.com/gh_mirrors/op/openrpa OpenRPA作为免费开源的企业级RPA(机器人流程自动化&am…...
医疗信息系统(HIS)的技术架构与实践路径:从数字化到智慧化
医疗信息系统(HIS)的技术架构与实践路径:从数字化到智慧化 【免费下载链接】HIS ZainZhao/HIS: HIS 通常代表医疗信息系统(Hospital Information System),但此链接指向的具体项目信息未知,可能是某个开发者设计或维护的…...
告别重复劳动:用快马AI一键生成标准化论文官网模板,效率提升十倍
作为一名经常需要维护多篇论文项目页面的研究者,我深知其中的繁琐。每次有新论文发表,都要重新搭建一个展示页面,从设计布局到填充内容,再到适配不同设备,一套流程下来,少说也得花上大半天。直到我尝试了一…...
QT编程(10): QLineEdit
一、QLineEdit核心定义与继承关系 QLineEdit是Qt Widgets模块中最基础、最常用的单行文本输入与显示控件,专门用于处理短文本内容的交互,仅支持单行纯文本输入,不支持换行和富文本格式,是Qt界面开发中短文本交互的核心组件&#x…...
2026 AI风向标:DeepSeek引爆开源革命,AI Agent成新生产力
本文深度解析2025年AI三大核心趋势:一是算法优于算力,DeepSeek等开源模型大幅降低成本;二是AI Agent崛起,成为真正的生产力工具,数字劳动力时代来临;三是AI发展步入规范轨道,全球监管框架建立。…...
实测整理|免费编程体验课汇总(附获取方式)
作为深耕教育领域的博主,最近后台被问爆的问题就是:“想入门编程,有没有免费体验课?”“怕踩坑不想盲目报课,先试试水可行?”其实不管是零基础想入门的新手、想转行的职场人,还是想培养孩子逻辑…...
磁盘参数错误恢复实战:零基础用户也能掌握的4步操作法
在数字化存储时代,磁盘参数错误如同潜伏在数据世界中的“隐形杀手”,它可能让重要文件瞬间消失、系统无法识别存储设备,甚至引发企业级存储阵列的瘫痪。无论是个人用户保存的珍贵照片,还是企业数据库中的核心数据,都可…...
蔚来终于盈利,李斌能开香槟了吗
蔚来的用户和蔚来董事长李斌终于能松一口气了。成立11年,蔚来终于盈利了。3月10日蔚来公布了2025年第四季度及全年财务报告。报告显示,本季度蔚来共计交付12.5万辆车,同比增长超七成,经营利润(Non-GAAP)为1…...
1688按图搜索API技术实现详解
在电商系统开发或货源查找工具中,按图搜索商品是一项非常实用的功能。1688平台作为国内领先的B2B电商平台,提供了官方的按图搜索商品API接口。本文将详细讲解如何调用该接口。 一、 接口概述 该API允许开发者通过上传商品图片,检索1688平台…...
