Update README
This commit is contained in:
parent
dd126b5172
commit
54e328534a
52
README.md
52
README.md
@ -1,68 +1,68 @@
|
|||||||
# proxy.pac
|
# proxy.pac
|
||||||
|
|
||||||
This project is designed to help you generate a `proxy.pac` file that can be used for configuring browser or system-wide proxy settings. You can define custom rules to route traffic based on the domains specified in your configuration files.
|
这个项目用来生成代理自动配置 `proxy.pac` 文件,可以用于配置浏览器或系统级的代理设置。你可以自定义规则,根据配置文件中指定的域名来路由流量。
|
||||||
|
|
||||||
## Usage
|
## 使用方法
|
||||||
|
|
||||||
1. **Domain Rules Configuration**
|
1. **域名规则配置**
|
||||||
|
|
||||||
The project includes several example configuration files:
|
项目包含一些示例配置文件:
|
||||||
|
|
||||||
- `domain-rules-blocked.txt.example`
|
- `domain-rules-blocked.txt.example`
|
||||||
- `domain-rules-direct.txt.example`
|
- `domain-rules-direct.txt.example`
|
||||||
- `domain-rules-proxy.txt.example`
|
- `domain-rules-proxy.txt.example`
|
||||||
|
|
||||||
To use these, create your own versions of these files without the `.example` extension. Each file represents a different proxy behavior:
|
要使用这些文件,去掉 `.example` 扩展名。每个文件代表不同的代理行为:
|
||||||
|
|
||||||
- **Blocked**: Domains added to `domain-rules-blocked.txt` will be blocked.
|
- **Blocked**:添加到 `domain-rules-blocked.txt` 中的域名将被阻止访问。
|
||||||
- **Direct**: Domains added to `domain-rules-direct.txt` will bypass the proxy and connect directly.
|
- **Direct**:添加到 `domain-rules-direct.txt` 中的域名将绕过代理,直接连接。
|
||||||
- **Proxy**: Domains added to `domain-rules-proxy.txt` will use the default proxy.
|
- **Proxy**:添加到 `domain-rules-proxy.txt` 中的域名将使用默认代理。
|
||||||
|
|
||||||
Add your domains to the appropriate files, with each domain on a new line. Lines starting with `#` are treated as comments. For example:
|
将你的域名添加到合适的文件中,每个域名一行。以 `#` 开头的行被视为注释。例如:
|
||||||
|
|
||||||
```
|
```
|
||||||
# Direct connection domains
|
# 直连域名
|
||||||
google.com
|
google.com
|
||||||
example.org
|
example.org
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also create your own custom rule files. The file name should follow the format `domain-rules-<rule_name>.txt`. For example, `domain-rules-companyProxy.txt` will make all domains in that file use the `companyProxy` setting defined in the `proxy.pac`.
|
你也可以创建自己的自定义规则文件,文件名应遵循 `domain-rules-<rule_name>.txt` 的格式。例如,`domain-rules-companyProxy.txt` 将使该文件中的所有域名使用 `proxy.pac` 中定义的 `companyProxy` 设置。
|
||||||
|
|
||||||
2. **Build the `proxy.pac` File**
|
2. **生成 `proxy.pac` 文件**
|
||||||
|
|
||||||
Run the build script to generate the `proxy.pac` file:
|
运行脚本生成 `proxy.pac` 文件:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./build.sh
|
./build.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
This will create the `proxy.pac` file in the project root directory.
|
在项目根目录中会自动生成 `proxy.pac` 文件。
|
||||||
|
|
||||||
3. **Proxy Configuration**
|
3. **代理配置**
|
||||||
|
|
||||||
The generated `proxy.pac` file uses the following default proxy configurations (note that the default proxy server is `SOCKS5 127.0.0.1:1080`):
|
生成的 `proxy.pac` 文件使用以下默认的代理配置(注意默认代理服务器是 `SOCKS5 127.0.0.1:1080`):
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
var proxyBehaviors = {
|
var proxyBehaviors = {
|
||||||
proxy: "SOCKS5 127.0.0.1:1080", // the default proxy
|
proxy: "SOCKS5 127.0.0.1:1080", // 默认代理
|
||||||
direct: DIRECT,
|
direct: DIRECT,
|
||||||
blocked: "PROXY 0.0.0.0:0",
|
blocked: "PROXY 0.0.0.0:0",
|
||||||
"http_proxy": "PROXY 127.0.0.1:3128",
|
"http_proxy": "PROXY 127.0.0.1:3128",
|
||||||
"companyProxy": "PROXY 192.168.1.1:8080", // domains list in `domain-rules-companyProxy.txt` will use this proxy setting
|
"companyProxy": "PROXY 192.168.1.1:8080", // `domain-rules-companyProxy.txt` 中的域名将使用此代理设置
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
You can modify these values in the `proxy.pac` file after it's generated, or customize them directly in the script if you need different default settings. Please adjust these proxy settings to match your actual environment and requirements.
|
你可以在生成 `proxy.pac` 后修改这些值,或者直接在原始脚本 `proxy.js` 中进行自定义,以便使用不同的默认设置。请根据实际环境和需求调整这些代理设置。
|
||||||
|
|
||||||
4. **Test**
|
4. **测试**
|
||||||
|
|
||||||
If you have Node.js installed, you can run a test to verify your configuration by using the following command:
|
如果安装了 Node.js,可以使用以下命令运行测试以验证配置:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
node proxy.pac test
|
node proxy.pac test
|
||||||
```
|
```
|
||||||
|
|
||||||
The test code is located at the end of the `proxy.pac` file, for example:
|
测试代码位于 `proxy.pac` 文件的末尾,例如:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
assertVisitHostWithProxy("com.google");
|
assertVisitHostWithProxy("com.google");
|
||||||
@ -73,17 +73,17 @@ This project is designed to help you generate a `proxy.pac` file that can be use
|
|||||||
assertBlockedHost("www.whitehouse.com");
|
assertBlockedHost("www.whitehouse.com");
|
||||||
```
|
```
|
||||||
|
|
||||||
## Example
|
## 示例
|
||||||
|
|
||||||
To add a domain to be blocked, simply edit `domain-rules-blocked.txt`:
|
要添加一个需要被阻止的域名,只需编辑 `domain-rules-blocked.txt` 文件:
|
||||||
|
|
||||||
```
|
```
|
||||||
# Blocked domains
|
# 被阻止的域名
|
||||||
example.com
|
example.com
|
||||||
ads.example.net
|
ads.example.net
|
||||||
```
|
```
|
||||||
|
|
||||||
After running `./build.sh`, the generated `proxy.pac` will block access to `example.com` and `ads.example.net`.
|
运行 `./build.sh` 重新生成的 `proxy.pac` 将阻止访问 `example.com` 和 `ads.example.net`。
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user