# AutoPAC **Repository Path**: EasyWord/auto-pac ## Basic Information - **Project Name**: AutoPAC - **Description**: 这个小程序是用来对ssr的pac规则做补充的,用来生成大陆白名单 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-22 - **Last Updated**: 2021-02-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 简介 我使用linux过程中使用electron-ssr的时候,发现PAC规则会失效,所以写了这个代码 他可以过滤掉国内的IP,让所有国外的IP全部走代理 (相当于白名单模式) 目前支持 http/https sock代理不支持 # 使用方法 ``` git clone https://gitee.com/EasyWord/auto-pac.git ``` 编辑`config.json`中的设置,主要是 `proxy_port`选项,它应该是你ssr客户端的端口。如果默认的`1219`端口被占用,你也可以修改 如果有必要,可以尝试配置成服务后台运行 如果你有需要代理的域名,把域名添加到 `black.txt` 就行了,比如新疆用不了`pan.baidu.com`那就可以手动添加进去 如果你明确有国外的域名不想要代理,把域名从 `black.txt` 中删除,添加到 `white.txt`文件中就行了 需要注意的是,**对文件进行修改的时候需要先关闭程序,否则你的修改会被覆盖导致修改无效** # Linux设置为服务 这个程序主要用于Linux(windows同样可用),因为windows已经有非常好用的软件了 我使用的是Manjaro Linux 服务管理器是systemctl,将程序后台的方法就是设置成服务。所有使用systemctl为服务管理的Linux应该都能使用这个方法 (并未测试) 下面的步骤需要一些Linux的使用基础,但是我寻思你有这个项目的使用需求就应该有这个基础 :P (然而我玩的也不6) 1. 复制克隆下来的文件到 `/usr/local/`目录下,这个目录用于保存用户自己的文件 2. 创建文件 `/etc/systemd/system/AutoPAC.service` 以此来创建服务 内容如下 (参考) ``` [Unit] Description=AutoPac的守护程序 After=network.target [Service] Type=simple WorkingDirectory=/usr/local/auto-pac/ ExecStart=/usr/bin/python /usr/local/auto-pac/autopac.py RestartSec=10s [Install] WantedBy=multi-user.target ``` 主要是看ExecStart那一项,Python程序的位置通过 `which python`查看 3. 然后执行命令 `sudo systemctl start AutoPAC` 就能尝试启动服务了 4. 通过命令 `systemctl status AutoPAC`查看是否工作正常 5. 如果正常就 通过命令`sudo systemctl enable AutoPAC` 设置为开机自启动服务,取消命令`sudo systemctl disable AutoPAC` 6. 如果不正常 欢迎下面留言 # 关于更新IP列表 + delegated-apnic-latest.txt 文件已经不用更新了,因为IPv4地址已经划分完了 + 如果你有什么域名是需要国内的,但它需要走代理,只需要添加到black.txt文件中就好了(一般他会被记录在white.txt中 复制过去即可) # TODO + 修复名单可能会复位的Bug # 文件说明 + white.txt + 里面的域名不会被代理 + black.txt + 里面的域名会被代理 + delegated-apnic-latest.txt + 保存了大陆划分的IP地址信息 + config.json + 配置文件 # 说明 随便写的,目前没有经过很多测试,可能会有一些问题。 如果有人使用,欢迎留言,我会更新代码