Python PAC代理服务

Python PAC代理服务

技术杂谈小彩虹2021-07-11 10:00:2470A+A-

MedusaSorcerer的博客


1. P A C

PAC(Proxy auto-config) 意为代理自动配置服务, 主要是通过 Javascript 的文件解析你的域名信息来进行KX(科学)上网, 特点:

  • 匹配响应速度块
  • 可自定义需要代理的域名
  • 可自定义需要代理的域名
  • 拒绝访问的服务可绕过代理, 降低资源消耗以及加快响应
  • 还可以根据所请求的网站的主机/用户的IP地址/日期和时间等可获取的数据信息进行代理配置
function FindProxyForURL(url, host) {
    url = url.toLowerCase();
    host = host.toLowerCase();

    if (
        shExpMatch(url, "*youtube*") ||
        shExpMatch(url, "*google*")) {
        return "PROXY proxy_server";
    }
    return "DIRECT";
}

在上述 PAC 文件中定义了以下规则:

  • 请求地址包含 youtube 或者 google 的数据将使用代理
  • 其余的都不使用代理

注意:

  • HTTPS 请求默认会使用代理转发
  • HTTP 请求默认使用代理转发
  • 你需要将 proxy_server 替换成你的代理服务器地址字符串, 如 "127.0.0.1:9000"
  • 保存的文件你可以使用 file:/// 的本地方式作为代理 PAC 路径配置
  • 你也可以作为服务器文件返回的方式

2. F l a s k

#!/usr/bin/env python
# _*_ Coding: UTF-8 _*_

from flask import Flask, send_file

app = Flask(__name__, template_folder='./', static_folder="", static_url_path="")


@app.route('/')
def index():
    return send_file(r'./pac.js')


if __name__ == '__main__':
    host = '0.0.0.0'
    port = 2345
    debug = False
    app.run(debug=debug, host=host, port=port)

当然, 你可能需要在同一目录保存一个 pac.js 的 PAC 文件, 当你启动后你就可以使用服务地址配置 PAC 代理了。

3. w i n d o w s

我们可以在 windows 下使用改 PAC 代理服务:

  • 使用 win 召唤出开始菜单
  • 输入 代理
  • 选择 代理服务器设置
  • 自动设置代理 选项栏里将 使用脚本 打开, 并输入 PAC 服务地址在 脚本地址

至此配置完成, 你可以使用 PAC KX(科学)上网了。

点击这里复制本文地址 以上内容由权冠洲的博客整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

联系我们| 本站介绍| 留言建议 | 交换友链 | 域名展示
本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除

权冠洲的博客 © All Rights Reserved.  Copyright quanguanzhou.top All Rights Reserved
苏公网安备 32030302000848号   苏ICP备20033101号-1

联系我们