选中内容(绿色)时除了会搜索文章名,还会搜索文章内容
点击结果中的文章名进入文章界面后可以按Ctrl+F在页面内搜索
  • 版权:CC BY-SA 4.0
  • 创建:2019-10-13
  • 更新:2020-05-28
linux PAC 自动代理 规则设置及无法使用解决


背景

window和mac下的ss都有PAC功能,但linux下的GUI程序ss-qt5软件中却没有设置pac的功能,作者说没有时间做,当然也没有人去帮忙更新。所以只能手动设置系统PAC

所以很多同学使用ss-qt5时,使用系统的代理功能(设置—>网络—>代理设置),然后在浏览器用proxy插件来设置规则,虽然可用,但在浏览器中使用插件很麻烦,而且这样只对浏览器生效;

也可以使用系统的全局代理功能(即选择手动),但使用国外的代理地址代理过后访问国内的很慢;

所以最佳方法当然是使用系统的自动代理功能,这个功能要求输入一个URL,这个URL就是代理规则的文件,怎么来呢,用pac规则自动生成工具就行了,或者自己编写O(∩_∩)O哈哈~,下面用自动生成工具制作工具(直接使用现成的PAC文件见文章末尾)
生成PAC文件有以下两个工具:

这里使用第一个

使用genpac生成PAC文件步骤

  • 安装genpac
  • 命令行生成pac文件,需要使用一个被墙地址列表:https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
    1. genpac --pac-proxy="SOCKS5 127.0.0.1:1080" --gfwlist-proxy="SOCKS5 127.0.0.1:1080" -o autoproxy.pac --gfwlist-url="https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt"
  • 设置系统自动代理,在设置—>网络设置—>代理设置中选择自动代理,URL填写生成的PAC文件地址,file://文件路径/文件名(可以直接把文件拖到URL栏)

如果懒得自己生成的话,用我已经生成了的

  • 下载PAC文件 (根据需要改一下端口)
  • 设置系统自动代理,在设置—>网络设置—>代理设置中选择自动代理,URL填写生成的PAC文件地址,file://文件路径/文件名(可以直接把文件拖到URL栏),可能某些系统是file:///..../....pac,可以把文件拖到浏览器看地址

自动代理设置

无法使用的问题

在 Ubuntu18.04 及以上版本, 像上面使用本地文件可能无法使用, 需要使用web链接, 所以可以自己在本地搭一个web服务或者用别人在线的pac文件,

  • 比如如果你本地用的1088端口,可以用这个:
  1. https://raw.githubusercontent.com/Neutree/note/master/tool/pac/autoproxy_socks5_1088.pac
  • 或者自己在本地或者远程服务器使用NginxApache服务这个pac文件
    具体搭建方法请自行搜索, 比如Nginx安装后会自动生成/var/www/html文件夹,把文件放到这下面就能通过http://127.0.0.1/文件名访问了

  • 又或者用Python+Flask搭建一个简单的web服务, 然后填http://127.0.0.1:6789/proxy.pac:

  1. from flask import Flask, request, send_file
  2. import os
  3. app = Flask(__name__)
  4. @app.route("/proxy.pac")
  5. def proxy_pac():
  6. return send_file(os.path.join(os.path.dirname(__file__), "proxy.pac"), mimetype="application/x-ns-proxy-autoconfig")
  7. @app.route("/")
  8. def index():
  9. return "hello"
  10. if __name__ == "__main__":
  11. app.run("0.0.0.0", 6789)

然后运行

  1. pip3 install flask
  2. python3 proxy_pac_server.py

参考文档

参考文档

文章有误?有想法想讨论?查看或者发起勘误/讨论 主题
(发起评论需要先登录 github)

/wallpaper/wallhaven-rdyewm.jpg