正向全局代理(proxy_pool + Proxifier 4.01)

2023-05-16

0x00 准备阶段

Part 1 redis

下载安装好 redis 用于保存 ip

这是 Windows 5.0.14安装版的链接

链接:https://pan.baidu.com/s/1eUTTQ_XIeGjWdvXsZ__Bpg
提取码:ce6d

再附上 Windows 下 redis 的图形化工具

链接:https://pan.baidu.com/s/11f-F_Sw4hqx_5wQ4HgsfJw
提取码:5ufr

最后附上官方下载链接

https://download.redis.io/releases/

redis 的安装很简单,就不多多啰嗦了

Part 2 proxy_pool

前往GitHub下载 jhao104 师傅的工具 proxy_pool,按照大佬的 README.md 文档做

安装好 python3 的第三方库

pip install -r requirements.txt

配置 setting.py 文件,主要是 redis 的密码、地址和端口

在这里插入图片描述

Part 3 Proxifier

下载安装 Proxifier 4.11,附上下载地址

官方版

[下载](https://www.proxifier.com/download/ProxifierSetup.exe)

链接:https://pan.baidu.com/s/1ew_9KLFHka5kn2yFgIVS_g?pwd=7456
提取码:7456

安装也是很简单,也不多多啰嗦了

附上

用户名:zxhi注册码:LYZGL-F2KX3-JW5W4-A33MC-25QHH

大家也可以下载汉化破解版,版本为4.07的

链接:https://pan.baidu.com/s/1zD6ixJY-Oo6uHkN5aUZe0g?pwd=7456 提取码:7456

需要注意的是,如果使用免安装版会报错,原因在于没有安装 Proxifier 的网络模块,当时也在网上查了很多资料,也没解决,最后用安装版的,安装完就能直接用了

0x01 收集IP

开启 redis 服务,一般来说需要到 redis 安装目录下使用命令行来运行

redis-server redis.windows-service.conf

运行收集IP的 proxy_Pool 脚本

python proxyPool.py schedule

等待线程暂停,如下图

在这里插入图片描述

这时就可以看到很多 IP 被保存在 redis 数据库中了,有 http 的,也有 https 的

在这里插入图片描述

0x02 生成 Proxifier 配置文件

版本 4 和版本 3 的文件是有区别的,版本 4 的配置文件能在版本 3 使用,但版本 3 的配置文件就不能在版本 4 使用了

以下为生成版本 4 配置文件的 Python 3 代码,直接运行即可

#!/usr/bin/python3
# -*- coding:utf8 -*-

import redis
import json
from xml.etree import ElementTree
import fileinput

def RedisProxyGet():
    ConnectString = []
    pool = redis.ConnectionPool(host='127.0.0.1', port='6379', db=0, decode_responses=True)
    use_proxy = redis.Redis(connection_pool=pool)
    key = use_proxy.hkeys('use_proxy')
    for temp in key:
        try:
            ConnectString.append(json.loads(use_proxy.hget('use_proxy',temp)))
        except json.JSONDecodeError:
            pass
    return ConnectString

def xmlOutputs(data):
    i = 102
    ProxyIDList = []
    ProxifierProfile = ElementTree.Element("ProxifierProfile")
    ProxifierProfile.set("version", str(i))
    ProxifierProfile.set("platform", "Windows")
    ProxifierProfile.set("product_id", "0")
    ProxifierProfile.set("product_minver", "400")
    
    Options = ElementTree.SubElement(ProxifierProfile, "Options")
    
    Resolve = ElementTree.SubElement(Options, "Resolve")
    AutoModeDetection = ElementTree.SubElement(Resolve, "AutoModeDetection")
    AutoModeDetection.set("enabled", "true")
    ViaProxy = ElementTree.SubElement(Resolve, "ViaProxy")
    ViaProxy.set("enabled", "false")
    ExclusionList = ElementTree.SubElement(Resolve, "ExclusionList")
    ExclusionList.set("OnlyFromListMode", "false")
    ExclusionList.text = "%ComputerName%; localhost; *.local"
    DnsUdpMode = ElementTree.SubElement(Resolve, "DnsUdpMode")
    DnsUdpMode.text = "0"
    
    Encryption = ElementTree.SubElement(Options, "Encryption")
    Encryption.set("mode", 'basic')
    Encryption = ElementTree.SubElement(Options, "ConnectionLoopDetection")
    Encryption.set("enabled", 'true')
    Encryption.set("resolve", 'true')
    Encryption = ElementTree.SubElement(Options, "ProcessOtherUsers")
    Encryption.set("enabled", 'false')
    Encryption = ElementTree.SubElement(Options, "ProcessServices")
    Encryption.set("enabled", 'false')
    Encryption = ElementTree.SubElement(Options, "HandleDirectConnections")
    Encryption.set("enabled", 'false')
    Encryption = ElementTree.SubElement(Options, "HttpProxiesSupport")
    Encryption.set("enabled", 'false')

    ProxyList = ElementTree.SubElement(ProxifierProfile, "ProxyList")
    i = 99
    for temp in data:
        if temp['https']:
            i += 1
            Proxy = ElementTree.SubElement(ProxyList, "Proxy")
            Proxy.set("id", str(i))
            Proxy.set("type", "HTTPS")
            ProxyIDList.append(i)
        else:
            continue
            
        Options = ElementTree.SubElement(Proxy, "Options")
        Options.text = "48"
        
        Port = ElementTree.SubElement(Proxy, "Port")
        Port.text = temp['proxy'].split(":", 1)[1]
        
        Address = ElementTree.SubElement(Proxy, "Address")
        Address.text = temp['proxy'].split(":", 1)[0]

    ChainList = ElementTree.SubElement(ProxifierProfile, "ChainList")

    Chain = ElementTree.SubElement(ChainList, "Chain")
    Chain.set("id", str(i))
    Chain.set("type", "simple")

    RedundancyRecheckTime = ElementTree.SubElement(Chain, "RedundancyRecheckTime")
    RedundancyRecheckTime.text = "60"
    RedundancyRecheck = ElementTree.SubElement(Chain, "RedundancyRecheck")
    RedundancyRecheck.text = "true"
    RedundancyTryDirect = ElementTree.SubElement(Chain, "RedundancyTryDirect")
    RedundancyTryDirect.text = "false"
    RedundancyTimeout = ElementTree.SubElement(Chain, "RedundancyTimeout")
    RedundancyTimeout.text = "5"

    for temp_id in ProxyIDList:
        Proxy = ElementTree.SubElement(Chain, "Proxy")
        Proxy.set("enabled", "true")
        Proxy.text=str(temp_id)
        
    Name = ElementTree.SubElement(Chain, "Name")
    Name.text="AgentPool"

    RuleList = ElementTree.SubElement(ProxifierProfile, "RuleList")
    
    Rule = ElementTree.SubElement(RuleList, "Rule")
    Rule.set("enabled", "true")
    Action = ElementTree.SubElement(Rule,"Action")
    Targets = ElementTree.SubElement(Rule,"Targets")
    Name = ElementTree.SubElement(Rule,"Name")

    Action.set("type", "Direct")
    Targets.text="127.0.0.1; 192.168.1.*"
    Name.text="Proxy"
    
    Rule = ElementTree.SubElement(RuleList, "Rule")
    Rule.set("enabled", "true")
    Action = ElementTree.SubElement(Rule, "Action")
    Name = ElementTree.SubElement(Rule, "Name")

    Action.set("type", "Direct")
    Name.text = "Default"

    tree = ElementTree.ElementTree(ProxifierProfile)
    tree.write("ProxifierConf.ppx", encoding="UTF-8")
    with open("ProxifierConf.ppx", "r+") as file:
        content = file.read()
        file.seek(0, 0)
        file.write('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n' + content)
        
if __name__ == '__main__':
    proxy_data = RedisProxyGet()
    xmlOutputs(proxy_data)

    print("ProxifierConf.ppx配置文件创建完成....")

由于 http 的代理有时访问不到 https ,因此直接全部使用 https 的

0x03 Proxifier

双击生成的配置文件以打开代理,这里的配置文件默认的代理规则为 “Direct”

代理服务器配置界面,双击 AgentPool

在这里插入图片描述

配置自动切换代理

在这里插入图片描述

代理规则,Action 选择 Chain AgentPool ,这样就可以自动切换代理了。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正向全局代理(proxy_pool + Proxifier 4.01) 的相关文章

  • 多处理池内进程超时

    当我使用以下代码时 池结果总是返回超时 我在做的事情在逻辑上是否不正确 from multiprocessing import Pool Process cpu count def add num return num 1 def add
  • 无法更新公司防火墙后面的 conda 软件包。更新了 .condarc 文件,代理设置仍然要求代理用户名和密码

    我位于公司防火墙后面 我正在尝试通过运行以下命令来更新 conda 软件包 conda update all 这是要求我提供代理用户名和密码 https proxy username https proxy username Passwor
  • 如何在通过代理 (Tor) 浏览时阻止 Java 预解析我的主机?

    我目前正在开发一个java应用程序 它使用在本地主机上运行的tor代理来获取显示请求者ip的脚本 我希望这项工作主要由 Tor 代理完成 以便它在最 自然 的状态下工作 我当前的代码看起来与此类似 SocketAddress TorProx
  • 模拟器:模拟器:警告:无法连接到代理:::1:8080:未知错误! - 安卓

    模拟器 模拟器 警告 无法连接到代理 1 8080 未知错误 安卓 更新后我收到此错误Android Studio 2 3 2 to Android Studio 3 0 canary 2 由于此错误 互联网无法在模拟器中运行 Edit 我
  • 通过另一台服务器中继 PostgreSQL 连接

    我在远程服务器上使用 PostgreSQL 数据库 该服务器具有非常严格的防火墙 只允许来自我们的网络服务器的连接 这使得在我自己的工作站上开发东西变得非常困难 因为我无法直接连接到该服务器来测试我的代码 我想做的是在我们的网络服务器上设置
  • 在Python中将多个参数传递给pool.map()函数[重复]

    这个问题在这里已经有答案了 我需要某种方法来使用 pool map 中接受多个参数的函数 根据我的理解 pool map 的目标函数只能有一个可迭代作为参数 但有没有一种方法可以传递其他参数 在这种情况下 我需要传递一些配置变量 例如我的
  • 如何解决 flutter 的代理设置问题?

    我是颤振的新手 我们在网络中设置了代理 该代理已经应用于android studio并且运行良好 创建新应用程序时 它运行良好 但是 获取包不起作用 它返回 Could not resolve URL https pub dartlang
  • 如何从 Java 系统设置中获取代理设置

    我正在寻找如何在 Windows 下使用 Java 获取系统代理信息的方法 但我只找到了一种方法 但这对我不起作用 public static void main String args throws Throwable System se
  • 检测默认网络浏览器的代理设置

    MSDN样本 HttpWebRequest myWebRequest HttpWebRequest WebRequest Create http www microsoft com WebProxy myProxy new WebProxy
  • 代理 golang https

    我正在努力让一个人进来https www google com https www google com使用带有身份验证的代理 我已经传递了标头参数 代理授权 但代理服务器返回 需要代理身份验证 code package main impo
  • 通过代理服务器访问HTTPS站点

    我正在添加代码以使用代理服务器访问互联网 从正常 HTTP 位置请求文件时 该代码可以正常工作 但在访问安全位置 HTTPS 时则不起作用 这是运行良好的代码 URL http UnSecureSite net file xml Dim w
  • 无法拦截Android应用程序的流量

    最近 我正在尝试测试和拦截来自开发的应用程序的流量罗莫比尔 我设置了一个代理burp 当然 我已经在我的设备上安装了 burp 证书 因此我可以拦截设备上的其他应用程序 但我无法在 burp suite 上看到相关应用程序的流量 相反 该应
  • Delphi 有通用的“对象池”实现吗?

    我在寻找 Delphi 的数据库连接池实现时遇到了这个问题 对象池需要两个方法 get 从池中获取一个对象 如果池为空或者其大小尚未达到最大大小 这将创建一个新实例 此方法必须是线程安全的 以便两个线程不能同时获取一个对象同一时间 如果所有
  • Android WebView - 带有经过身份验证的代理

    我目前正在尝试调试围绕 WebView 构建的 Android 应用程序 我负责处理的开发网络环境 不是我的选择 这是 企业 安全决策 是WPA WiFi 代理服务器 代理身份验证 虽然a上的说明以前的答案非常有帮助 https stack
  • 多处理池 - 如果一个进程返回所需的结果,如何取消所有正在运行的进程?

    给出以下 Python 代码 import multiprocessing def unique somelist return len set somelist len somelist if name main somelist 1 2
  • 为什么 nginx 接受 Host 标头与 server_name 不匹配的请求?

    我有一个这样设置的站点 nginx 作为代理服务器 通过 UNIX 套接字代理为 Django 站点提供服务的 Gunicorn 实例的请求 这是我的 nginx 配置 server listen 80 server name api my
  • 无法在代理后面使用量角器运行 Angular > 2 e2e

    将不胜感激任何帮助 我在windows上运行 我在全球安装了量角器版本5 3 0 在更新网络驱动程序之前我运行 webdriver manager clean 并更新版本如下 webdriver manager 更新 ie32 proxyh
  • C#中如何通过Proxy访问互联网

    我正在使用 C 设计一个 Windows 窗体应用程序 当连接到互联网时 该应用程序可以顺利执行其功能 但当我们在学院尝试该应用程序时 真正的问题就开始了 我们的学院使用代理网关连接到网络 代理服务器是192 168 120 5和代理端口8
  • 使用 Connect 和 node-http-proxy 的 HTTP 代理

    在开发过程中 我需要一个 HTTP 代理来访问外部 API 以绕过跨域安全限制 我在这里找到了一些示例代码 http nthloop com blog local dev with nodejs proxy http nthloop com
  • Autowired spring bean 不是代理

    我正在开发一个连接到 MySQL 数据库的非常小的应用程序 我正在尝试创建表记录 但收到 没有正在进行的事务 我已经准备好了所有正确的东西 服务接口 MyService 及其实现 MyServiceImpl 我已经用 Service 注释了

随机推荐