探索网络安全新技术
攀登黑客技术最高峰

Socks代理池服务端自动化搭建工具

工具简介

ProxyPoolxSocks 是一个代理池服务端工具,可以导入自定义的socks节点,其作用是利用多个代理IP绕过WAF防火墙。

工具安装

注意python环境3.7以上即可。

服务端

git clone https://github.com/Anyyy111/ProxyPoolxSocks.git
cd ProxyPoolxSocks
pip install -r requirements.txt
python3 run.py

客户端

服务端配置好之后,修改client.py,运行即可测试可用性。

git clone https://github.com/Anyyy111/ProxyPoolxSocks.git
cd ProxyPoolxSocks
python3 Client-check/client.py

工具展示

Socks代理池服务端自动化搭建工具-威武网安

Socks代理池服务端自动化搭建工具-威武网安

使用说明

服务端配置

设置config.py参数

# -*- coding: utf-8 -*-
import time

"""
必要参数
username&password: 服务端要求验证的账号密码 留空代表不需要账号密码
"""
username= ""

password= ""

"""
必要参数
port: 服务端开放的端口
"""
port = 12000

"""
必要参数
times: 代理切换速度 单位 ms 默认为 3 秒
"""
times = 3000

"""
可选参数
ServerLog: 显示服务端信息 1为开启 0为关闭
Record: 开启日志记录 1为开启 0为关闭    PS: 日志只记录 服务端 的连接记录
"""
ServerLog = 1
Record = 1


# 颜色参数 忽略即可
red = "\033[1;31m"
green = "\033[1;32m"
blue = "\033[1;34m"
cyan = "\033[1;36m"
yellow = "\033[1;33m"
end = "\033[0m"

# 日志名称 同样忽略即可
logname = f'Logs/Server_{time.strftime("%Y%m%d_%H%M%S")}.log'

配置文件我已经配置好了,你可以根据需求更改参数:

username & password 服务端的连接账号密码**,如果留空则代表不需要密码,**如果填写必须二者都填写 且客户端连接要账密一致才能使用代理
port 服务端搭起的端口,默认为12000,最终连接的端口就是这
times 代理池之间代理切换的速度,单位为毫秒,times越小切换越快,尽量不要太小容易出问题。
ServerLog 显示服务端的信息,设置为0则代表关闭 也就代表只显示客户端的连接信息。
Record 开启日志文件记录,设置为0则代表关闭 日志文件存放在 Logs/Server_xxxx_xxxx.log

将socks节点添加至node.txt

node.txt是必须配置项,因为程序读取的节点就是来自这里。其中一行代表一个代理地址。

形式如下:

## socks://base64(username:password)@IP:PORT

socks://NTU1NTU6NTU1NTU=@8.xxx.xxx.12:59108#3
socks://YWFhYWE6YWFhYWE=@8.xxx.xxx.12:38810#1
socks://YWFhYWE6YWFhYWE=@152.xx.xxx.225:38829
socks://NTU1NTU6NTU1NTU=@47.xxx.xxx.214:59108#4

同样支持base64形式:

c29ja3M6Ly9OVFUxTlRVNk5UVTFOVFU9QDgueHh4Lnh4eC4xMjo1OTEwOCMzCnNvY2tzOi8vWVdGaFlXRTZZV0ZoWVdFPUA4Lnh4eC54eHguMTI6Mzg4MTAjMQpzb2NrczovL1YzRkRjazFvVlVsdFZUcGFSMjFsVVVOMGVVNWFAMTUyLnh4Lnh4eC4yMjU6Mzg4MjkKc29ja3M6Ly9OVFUxTlRVNk5UVTFOVFU9QDQ3Lnh4eC54eHguMjE0OjU5MTA4IzQ=

你可以直接从V2ray等代理软件里复制节点,选中节点并复制,或者你购买了机场,你可以在你的代理软件里找到你订阅的服务器地址,然后在文件夹输入以下命令即可:

(一般订阅地址长这样:https://xxx.com/api/v1/client/subscribe?token=xxxxxx)

curl https://xxx.com/api/v1/client/subscribe?token=xxxxxx -o node.txt

*程序只会调用订阅地址中存在socks协议的部分,其它部分忽略。

注:测试的时候只拿了V2ray的socks节点来测试,如果你是其它的代理软件请将节点修改成符合以上的形式后写入node.txt中。

这里程序不提供免费的节点,如果你有socks节点就可以自定义添加。

运行run.py

在你的Windows/Linux系统下使用python3运行程序:

Socks代理池服务端自动化搭建工具-威武网安

首次运行会读取节点并测试节点可用性,并会将可用的节点记录,等待下一次运行的时候可以直接调用可用节点:

Socks代理池服务端自动化搭建工具-威武网安

等待测试完毕之后此时服务端就开启成功了:

Socks代理池服务端自动化搭建工具-威武网安

然后找到你的 公网/内网 IP地址,客户端使用socks5协议连接你服务端的 IP、端口、用户名、密码 即可

这里以内网为例,我的服务端是192.168.31.226

Socks代理池服务端自动化搭建工具-威武网安

客户端连接

客户端IP 192.168.31.225

client.py测试连接可用性

找到 Client-check/client.py 文件,该文件作用是验证连接可用性。

# -*- coding: utf-8 -*-
import requests
import socket
import socks
import os

print('Client 客户端测试代理连接脚本')

while 1:
    try:

        # 不存在密码就用这一条
        socks.set_default_proxy(socks.SOCKS5, "0.0.0.0", 12000)

        # 客户端存在密码用这一条
        ## socks.set_default_proxy(socks.SOCKS5, "0.0.0.0", 12000, username='aaa',password='bbb')
        
        socket.socket = socks.socksocket

        response = requests.get('https://ifconfig.me/',timeout=5).text
        
        print("测试成功 当前代理:",response)

    except KeyboardInterrupt:

        os._exit(0)

*注意要根据客户端账密是否配置 来选择注释代码的部分。

配置完成后,运行脚本:

python client.py

Socks代理池服务端自动化搭建工具-威武网安

显示测试成功则代表客户端与服务端通信无误,这个时候你就可以将代理地址写入各个代理软件,开心耍了~

服务端回显

此时服务端会显示连接信息:

Socks代理池服务端自动化搭建工具-威武网安

同时会在 Logs/Server_xxxx_xxxx.log 记录服务端连接信息

Socks代理池服务端自动化搭建工具-威武网安

程序原理

服务端运行时,程序首先会获取node.txt里的socks节点并测试socks节点可用性,然后添加到一个列表里,暂且称之为代理池;

之后是一个随机取的操作,将代理池的代理随机取出,并添加到另一个新的列表代理池中,当代理池代理用完之后就会换用新的代理池,这样就实现了循环代理;

使用socks模块将取出的代理服务器进行代理,同时服务端调用 server.py ,该脚本文件就是一个简单的socks5代理服务器实现。

根据搭起的socks5通道,将先前代理流量分配到这个通道中,就实现了以一个代理服务器来代理服务端和客户端之间的通信,那么这时候客户端得到的就是代理服务器的流量

那么再循环代理池的任一代理服务器给服务端,客户端请求服务端,这时候就实现了服务端的多个代理流量变换,客户端也就得到了一个 可任意更换代理频率的代理服务器流量

Socks代理池服务端自动化搭建工具-威武网安

项目地址

ProxyPoolxSocks

打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Socks代理池服务端自动化搭建工具》
文章链接:https://www.wevul.com/1115.html
本站所有内容均来自互联网,只限个人技术研究,禁止商业用途,请下载后24小时内删除。

文章推荐

如果文章对您有帮助 请不要吝啬 打赏一下小站

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册