当前位置: 首页 > news >正文

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安装包&#xf…...

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数据。具体步骤包括从指定文件夹中读取图像&#xff0c…...

Linux虚拟化大师:使用 KVM 和 QEMU 进行高级虚拟化管理

Linux 虚拟化大师:使用 KVM 和 QEMU 进行高级虚拟化管理 虚拟化技术是现代数据中心的核心技术之一,它可以将一台物理服务器分割成多个虚拟机,从而提高资源利用率,降低成本,并增强系统的灵活性和可扩展性。KVM&#xf…...

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 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 public List<String> letterCombinations(String digits) {if (digits null || digits.length() 0) {return result;}int index0; //记录遍历digits的角标//初始…...

jmeter-beanshell学习4-beanshell截取字符串

再写个简单点的东西&#xff0c;截取字符串&#xff0c;参数化文件统一用csv&#xff0c;然后还要用excel打开&#xff0c;如果是数字很容易格式就乱了。有同事是用双引号把数字引起来&#xff0c;报文里就不用加引号了&#xff0c;但是这样beanshell处理起来&#xff0c;好像容…...

QScrollArea 设置最大的高度值

在 Qt 中&#xff0c;QScrollArea 是一个提供滚动视图的控件&#xff0c;允许用户查看大于当前视口尺寸的内容。如果你想要为 QScrollArea 设置一个最大的高度值&#xff0c;这通常不是直接通过 QScrollArea 的属性来设置的&#xff0c;而是需要调整其内容部件&#xff08;widg…...

CentOS6禁止锁屏

在电源中设置后还是会锁屏, 原因是有屏幕保护程序 电源管理都 “从不” 一些AI的回答 在CentOS 6系统中&#xff0c;如果你想要禁用锁屏功能&#xff0c;可以编辑/etc/kbd/config文件。这个文件通常包含了键盘相关的设置&#xff0c;包括密码策略和屏幕锁定选项。 首先打开终…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...