From df21ce64fa2a9d33cd6c19c9ec7bdbde21f5a04e Mon Sep 17 00:00:00 2001 From: arraykeys Date: Thu, 8 Jun 2023 12:49:19 +0800 Subject: [PATCH] update --- README.md | 93 ++++++++++++++++++++++++++-------------- README_ZH.md | 8 ++-- docs/manual/manual.md | 93 ++++++++++++++++++++++++++-------------- docs/manual/zh/manual.md | 8 ++-- docs/sitemap.xml | 12 +++--- docs/tags/cdn/index.html | 4 +- docs/tags/cdn/index.xml | 4 +- docs/tags/index.xml | 2 +- 8 files changed, 143 insertions(+), 81 deletions(-) diff --git a/README.md b/README.md index bde5150..8f334fe 100644 --- a/README.md +++ b/README.md @@ -817,7 +817,10 @@ Host: the IP or domain name of the proxy Port: the port of the proxy ### 2.7 Specify Outgoing IP -When the TCP proxy is a superior type (parameter: -T) is tcp, it supports the specified outgoing IP. Using the `--bind-listen` parameter, you can open the client to connect with the portal IP, and use the portal IP as the outgoing IP to access the target website. If an incorrect IP is bound, the proxy will not work, the proxy will try to bind the target without binding the IP, and the log will prompt. +When the TCP proxy is a superior type (parameter: -T) is tcp, it supports the specified outgoing IP. Using +the `--bind-listen` parameter, you can open the client to connect with the portal IP, and use the portal IP as the +outgoing IP to access the target website. If an incorrect IP is bound, the proxy will not work, the proxy will try to +bind the target without binding the IP, and the log will prompt. `proxy tcp -p ":33080" -T tcp -P" 192.168.22.33:22" -B` @@ -835,9 +838,13 @@ Then the client access port `7777`, the outgoing IP is `5.5.5.5`, access port ` In addition, the `IP` part of the `--bind-ip` parameter supports specifying the `network interface name`, `wildcards`, and more than one can be specified. The detailed description is as follows: - Specify the network interface name, such as: `--bind-ip eth0:7777`, then the client accesses the `7777` port, and the egress IP is the IP of the eth0 network interface. -- The network interface name supports wildcards, for example: `--bind-ip eth0.*:7777`, then the client accesses the `7777` port, and the egress IP is a randomly selected one of the network interface IPs starting with `eth0.`. -- IP supports wildcards, such as: `--bind-ip 192.168.?.*:7777`, then the client accesses the `7777` port, and the outgoing IP is all the IPs of the machine, matching the IP of `192.168.?.*` A randomly selected one. -- It can also be multiple combinations of network interface name and IP, separated by half-width commas, such as: `--bind-ip pppoe??,192.168.?.*:7777`, then the client accesses the port `7777`, The outgoing IP is the machine's network interface name matching `pppoe??` +- The network interface name supports wildcards, for example: `--bind-ip eth0.*:7777`, then the client accesses + the `7777` port, and the egress IP is a randomly selected one of the network interface IPs starting with `eth0.`. +- IP supports wildcards, such as: `--bind-ip 192.168.?.*:7777`, then the client accesses the `7777` port, and the + outgoing IP is all the IPs of the machine, matching the IP of `192.168.?.*` A randomly selected one. +- It can also be multiple combinations of network interface name and IP, separated by half-width commas, such + as: `--bind-ip pppoe??,192.168.?.*:7777`, then the client accesses the port `7777`, The outgoing IP is the machine's + network interface name matching `pppoe??` It is a randomly selected one among all IPs of the machine that matches `192.168.?.*`. - The wildcard character `*` represents 0 to any number of characters, and `?` represents 1 character. - If the IP of the network interface changes, it will take effect in real time. @@ -1364,9 +1371,13 @@ Then the client access port `7777`, the outgoing IP is `5.5.5.5`, access port ` In addition, the `IP` part of the `--bind-ip` parameter supports specifying the `network interface name`, `wildcards`, and more than one. The details are as follows: - Specify the network interface name, such as: `--bind-ip eth0:7777`, then the client accesses the `7777` port, and the egress IP is the IP of the eth0 network interface. -- The network interface name supports wildcards, for example: `--bind-ip eth0.*:7777`, then the client accesses the `7777` port, and the egress IP is a randomly selected one of the network interface IPs starting with `eth0.`. -- IP supports wildcards, such as: `--bind-ip 192.168.?.*:7777`, then the client accesses the `7777` port, and the outgoing IP is all the IPs of the machine, matching the IP of `192.168.?.*` A randomly selected one. -- It can also be multiple combinations of network interface name and IP, separated by half-width commas, such as: `--bind-ip pppoe??,192.168.?.*:7777`, then the client accesses the port `7777`, The outgoing IP is the machine's network interface name matching `pppoe??` +- The network interface name supports wildcards, for example: `--bind-ip eth0.*:7777`, then the client accesses + the `7777` port, and the egress IP is a randomly selected one of the network interface IPs starting with `eth0.`. +- IP supports wildcards, such as: `--bind-ip 192.168.?.*:7777`, then the client accesses the `7777` port, and the + outgoing IP is all the IPs of the machine, matching the IP of `192.168.?.*` A randomly selected one. +- It can also be multiple combinations of network interface name and IP, separated by half-width commas, such + as: `--bind-ip pppoe??,192.168.?.*:7777`, then the client accesses the port `7777`, The outgoing IP is the machine's + network interface name matching `pppoe??` It is a randomly selected one among all IPs of the machine that matches `192.168.?.*`. - The wildcard character `*` represents 0 to any number of characters, and `?` represents 1 character. - If the IP of the network interface changes, it will take effect in real time. @@ -1645,9 +1656,13 @@ Then the client access port `7777`, the outgoing IP is `5.5.5.5`, access port ` In addition, the `IP` part of the `--bind-ip` parameter supports specifying the `network interface name`, `wildcards`, and more than one. The details are as follows: - Specify the network interface name, such as: `--bind-ip eth0:7777`, then the client accesses the `7777` port, and the egress IP is the IP of the eth0 network interface. -- The network interface name supports wildcards, for example: `--bind-ip eth0.*:7777`, then the client accesses the `7777` port, and the egress IP is a randomly selected one of the network interface IPs starting with `eth0.`. -- IP supports wildcards, such as: `--bind-ip 192.168.?.*:7777`, then the client accesses the `7777` port, and the outgoing IP is all the IPs of the machine, matching the IP of `192.168.?.*` A randomly selected one. -- It can also be multiple combinations of network interface name and IP, separated by half-width commas, such as: `--bind-ip pppoe??,192.168.?.*:7777`, then the client accesses the port `7777`, The outgoing IP is the machine's network interface name matching `pppoe??` +- The network interface name supports wildcards, for example: `--bind-ip eth0.*:7777`, then the client accesses + the `7777` port, and the egress IP is a randomly selected one of the network interface IPs starting with `eth0.`. +- IP supports wildcards, such as: `--bind-ip 192.168.?.*:7777`, then the client accesses the `7777` port, and the + outgoing IP is all the IPs of the machine, matching the IP of `192.168.?.*` A randomly selected one. +- It can also be multiple combinations of network interface name and IP, separated by half-width commas, such + as: `--bind-ip pppoe??,192.168.?.*:7777`, then the client accesses the port `7777`, The outgoing IP is the machine's + network interface name matching `pppoe??` It is a randomly selected one among all IPs of the machine that matches `192.168.?.*`. - The wildcard character `*` represents 0 to any number of characters, and `?` represents 1 character. - If the IP of the network interface changes, it will take effect in real time. @@ -1955,35 +1970,49 @@ if($ok){ ``` #### HTTP HEADER Explanation + `userconns`: The maximum number of connections for the user, not limited to 0 or not set this header. `ipconns`: The maximum number of connections for the user IP, not limited to 0 or not set this header. `userrate`: User's single TCP connection rate limit, in bytes/second, is not limited to 0 or does not set this header. -`iprate`: The single TCP connection rate limit of the client IP, in bytes/second, not limited to 0 or not set this header. +`iprate`: The single TCP connection rate limit of the client IP, in bytes/second, not limited to 0 or not set this +header. `userqps`: The maximum number of connections per second (QPS) for the user, not limited to 0 or not set this header. -`ipqps`: The maximum number of connections per second (QPS) for the client IP, not limited to 0 or not set this header. +`ipqps`: The maximum number of connections per second (QPS) for the client IP, not limited to 0 or not set this +header. `upstream`: The upstream used, not empty, or not set this header. -`outgoing`: The outgoing IP used. This setting is only effective when the upstream is empty. - The IP set here must be owned by the machine where the proxy is located, otherwise, the proxy will not function properly. - Starting from version `v13.2`, `outgoing` supports multiple subnet formats separated by commas. The proxy will randomly - select an IP from the subnet as the outgoing IP. This randomness will also be maintained when authentication cache is enabled. - The following formats are supported for subnets: - 1. Format: `192.168.1.1`, Description: Single IP, IPv4 - 1. Format: `3001:cb2::`, Description: Single IP, IPv6 - 1. Format: `192.168.1.1/24`, Description: CIDR format subnet, IPv4 - 1. Format: `3001:cb2::/126`, Description: CIDR format subnet, IPv6 - 1. Format: `192.168.1.1-192.168.1.200`, Description: IP range, IPv4 - 1. Format: `3001:cb2::/126`, Description: IP range, IPv6 +`outgoing`: The outgoing IP used. This setting is only effective when the upstream is empty. +The IP set here must be owned by the machine where the proxy is located, otherwise, the proxy will not function +properly. +Starting from version `v13.2`, `outgoing` supports multiple subnet formats separated by commas. The proxy will randomly +select an IP from the subnet as the outgoing IP. This randomness will also be keep when authentication cache is +enabled. +The following formats are supported for subnets: - Example: `192.16.1.1,192.161.1.2,192.168.1.2-192.168.1.255` +1. Format: `192.168.1.1`, Description: Single IP, IPv4 +1. Format: `3001:cb2::`, Description: Single IP, IPv6 +1. Format: `192.168.1.1/24`, Description: CIDR format subnet, IPv4 +1. Format: `3001:cb2::/126`, Description: CIDR format subnet, IPv6 +1. Format: `192.168.1.1-192.168.1.200`, Description: IP range, IPv4 +1. Format: `3001:cb2::/126`, Description: IP range, IPv6 -`userTotalRate`: Limit the `user` total bandwidth speed (bytes per second), unit is byte, not limited to 0 or not set this header. -`ipTotalRate`:Limit the `client ip` total bandwidth speed (bytes per second), unit is byte, not limited to 0 or not set this header. -`portTotalRate`:Limit the `server port` total bandwidth speed (bytes per second), unit is byte, not limited to 0 or not set this header. -`RotationTime`: `(requires version >= v13.2)` Controls the time interval, in seconds, for randomly selecting the outgoing IP. - Leave it blank or unset this header if not needed.When the outgoing returned by the API is a subnet, and if you don't want the proxy - to randomly select a new IP for each client connection, you can use this parameter to control the time interval for random IP selection. - If within the interval period, the previously selected IP will be used. If the API does not return the `RotationTime` header - or if `RotationTime` is set to 0, the proxy will randomly select an IP from the outgoing subnet as the outgoing IP for each client connection. +Example: `192.16.1.1,192.161.1.2,192.168.1.2-192.168.1.255` + +`userTotalRate`: Limit the `user` total bandwidth speed (bytes per second), unit is byte, not limited to 0 or not set +this header. +`ipTotalRate`:Limit the `client ip` total bandwidth speed (bytes per second), unit is byte, not limited to 0 or not set +this header. +`portTotalRate`:Limit the `server port` total bandwidth speed (bytes per second), unit is byte, not limited to 0 or not +set this header. +`RotationTime`: `(requires version >= v13.2)` Controls the time interval, in seconds, for randomly selecting the +outgoing IP. +Leave it blank or unset this header if not needed.When the outgoing returned by the API is a subnet, and if you don't +want the proxy +to randomly select a new IP for each client connection, you can use this parameter to control the time interval for +random IP selection. +If within the interval period, the previously selected IP will be used. If the API does not return the `RotationTime` +header +or if `RotationTime` is set to 0, the proxy will randomly select an IP from the outgoing subnet as the outgoing IP for +each client connection. #### Details of total bandwidth speed limitation 1. `userrate`、`iprate` and `userTotalRate`、`ipTotalRate`、`portTotalRate` can be set at same time, diff --git a/README_ZH.md b/README_ZH.md index a25e0d1..6fd2c2e 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -2162,12 +2162,14 @@ if($ok){ 如果在间隔周期内,则使用上一次随机选择的IP。 如果API没有返回头部参数 RotationTime,或者RotationTime是0, 那么每次客户端连接,proxy都随机选择一个outgoing网段里面的一个IP作为出口。 - #### 限速详细说明 + 1. 单个tcp限速(`userrate`、`iprate`)和总带宽速度(`userTotalRate`、`ipTotalRate`、`portTotalRate`)可以同时设置, 比如:设置用户总带宽速度是1M/s(`userTotalRate`设置1024000),还可以同时设置单个tcp速度是100K/s(`userrate`设置102400) -2. 如果同时设置了`userTotalRate`、`ipTotalRate` 、`portTotalRate`,有效优先级是:`userTotalRate` -> `ipTotalRate` -> `portTotalRate` -3. 如果同时设置了`userTotalRate`、`portTotalRate`,而且设置了`--auth-nouser`,那么所有没有发用户名的客户端会被认为是`同一个空用户名用户`,共用同一个限制。 +2. 如果同时设置了`userTotalRate`、`ipTotalRate` 、`portTotalRate` + ,有效优先级是:`userTotalRate` -> `ipTotalRate` -> `portTotalRate` +3. 如果同时设置了`userTotalRate`、`portTotalRate`,而且设置了`--auth-nouser` + ,那么所有没有发用户名的客户端会被认为是`同一个空用户名用户`,共用同一个限制。 #### 提示 diff --git a/docs/manual/manual.md b/docs/manual/manual.md index aa1e8aa..72fb88c 100644 --- a/docs/manual/manual.md +++ b/docs/manual/manual.md @@ -626,7 +626,10 @@ Host: the IP or domain name of the proxy Port: the port of the proxy ### 2.7 Specify Outgoing IP -When the TCP proxy is a superior type (parameter: -T) is tcp, it supports the specified outgoing IP. Using the `--bind-listen` parameter, you can open the client to connect with the portal IP, and use the portal IP as the outgoing IP to access the target website. If an incorrect IP is bound, the proxy will not work, the proxy will try to bind the target without binding the IP, and the log will prompt. +When the TCP proxy is a superior type (parameter: -T) is tcp, it supports the specified outgoing IP. Using +the `--bind-listen` parameter, you can open the client to connect with the portal IP, and use the portal IP as the +outgoing IP to access the target website. If an incorrect IP is bound, the proxy will not work, the proxy will try to +bind the target without binding the IP, and the log will prompt. `proxy tcp -p ":33080" -T tcp -P" 192.168.22.33:22" -B` @@ -644,9 +647,13 @@ Then the client access port `7777`, the outgoing IP is `5.5.5.5`, access port ` In addition, the `IP` part of the `--bind-ip` parameter supports specifying the `network interface name`, `wildcards`, and more than one can be specified. The detailed description is as follows: - Specify the network interface name, such as: `--bind-ip eth0:7777`, then the client accesses the `7777` port, and the egress IP is the IP of the eth0 network interface. -- The network interface name supports wildcards, for example: `--bind-ip eth0.*:7777`, then the client accesses the `7777` port, and the egress IP is a randomly selected one of the network interface IPs starting with `eth0.`. -- IP supports wildcards, such as: `--bind-ip 192.168.?.*:7777`, then the client accesses the `7777` port, and the outgoing IP is all the IPs of the machine, matching the IP of `192.168.?.*` A randomly selected one. -- It can also be multiple combinations of network interface name and IP, separated by half-width commas, such as: `--bind-ip pppoe??,192.168.?.*:7777`, then the client accesses the port `7777`, The outgoing IP is the machine's network interface name matching `pppoe??` +- The network interface name supports wildcards, for example: `--bind-ip eth0.*:7777`, then the client accesses + the `7777` port, and the egress IP is a randomly selected one of the network interface IPs starting with `eth0.`. +- IP supports wildcards, such as: `--bind-ip 192.168.?.*:7777`, then the client accesses the `7777` port, and the + outgoing IP is all the IPs of the machine, matching the IP of `192.168.?.*` A randomly selected one. +- It can also be multiple combinations of network interface name and IP, separated by half-width commas, such + as: `--bind-ip pppoe??,192.168.?.*:7777`, then the client accesses the port `7777`, The outgoing IP is the machine's + network interface name matching `pppoe??` It is a randomly selected one among all IPs of the machine that matches `192.168.?.*`. - The wildcard character `*` represents 0 to any number of characters, and `?` represents 1 character. - If the IP of the network interface changes, it will take effect in real time. @@ -1173,9 +1180,13 @@ Then the client access port `7777`, the outgoing IP is `5.5.5.5`, access port ` In addition, the `IP` part of the `--bind-ip` parameter supports specifying the `network interface name`, `wildcards`, and more than one. The details are as follows: - Specify the network interface name, such as: `--bind-ip eth0:7777`, then the client accesses the `7777` port, and the egress IP is the IP of the eth0 network interface. -- The network interface name supports wildcards, for example: `--bind-ip eth0.*:7777`, then the client accesses the `7777` port, and the egress IP is a randomly selected one of the network interface IPs starting with `eth0.`. -- IP supports wildcards, such as: `--bind-ip 192.168.?.*:7777`, then the client accesses the `7777` port, and the outgoing IP is all the IPs of the machine, matching the IP of `192.168.?.*` A randomly selected one. -- It can also be multiple combinations of network interface name and IP, separated by half-width commas, such as: `--bind-ip pppoe??,192.168.?.*:7777`, then the client accesses the port `7777`, The outgoing IP is the machine's network interface name matching `pppoe??` +- The network interface name supports wildcards, for example: `--bind-ip eth0.*:7777`, then the client accesses + the `7777` port, and the egress IP is a randomly selected one of the network interface IPs starting with `eth0.`. +- IP supports wildcards, such as: `--bind-ip 192.168.?.*:7777`, then the client accesses the `7777` port, and the + outgoing IP is all the IPs of the machine, matching the IP of `192.168.?.*` A randomly selected one. +- It can also be multiple combinations of network interface name and IP, separated by half-width commas, such + as: `--bind-ip pppoe??,192.168.?.*:7777`, then the client accesses the port `7777`, The outgoing IP is the machine's + network interface name matching `pppoe??` It is a randomly selected one among all IPs of the machine that matches `192.168.?.*`. - The wildcard character `*` represents 0 to any number of characters, and `?` represents 1 character. - If the IP of the network interface changes, it will take effect in real time. @@ -1454,9 +1465,13 @@ Then the client access port `7777`, the outgoing IP is `5.5.5.5`, access port ` In addition, the `IP` part of the `--bind-ip` parameter supports specifying the `network interface name`, `wildcards`, and more than one. The details are as follows: - Specify the network interface name, such as: `--bind-ip eth0:7777`, then the client accesses the `7777` port, and the egress IP is the IP of the eth0 network interface. -- The network interface name supports wildcards, for example: `--bind-ip eth0.*:7777`, then the client accesses the `7777` port, and the egress IP is a randomly selected one of the network interface IPs starting with `eth0.`. -- IP supports wildcards, such as: `--bind-ip 192.168.?.*:7777`, then the client accesses the `7777` port, and the outgoing IP is all the IPs of the machine, matching the IP of `192.168.?.*` A randomly selected one. -- It can also be multiple combinations of network interface name and IP, separated by half-width commas, such as: `--bind-ip pppoe??,192.168.?.*:7777`, then the client accesses the port `7777`, The outgoing IP is the machine's network interface name matching `pppoe??` +- The network interface name supports wildcards, for example: `--bind-ip eth0.*:7777`, then the client accesses + the `7777` port, and the egress IP is a randomly selected one of the network interface IPs starting with `eth0.`. +- IP supports wildcards, such as: `--bind-ip 192.168.?.*:7777`, then the client accesses the `7777` port, and the + outgoing IP is all the IPs of the machine, matching the IP of `192.168.?.*` A randomly selected one. +- It can also be multiple combinations of network interface name and IP, separated by half-width commas, such + as: `--bind-ip pppoe??,192.168.?.*:7777`, then the client accesses the port `7777`, The outgoing IP is the machine's + network interface name matching `pppoe??` It is a randomly selected one among all IPs of the machine that matches `192.168.?.*`. - The wildcard character `*` represents 0 to any number of characters, and `?` represents 1 character. - If the IP of the network interface changes, it will take effect in real time. @@ -1764,35 +1779,49 @@ if($ok){ ``` #### HTTP HEADER Explanation + `userconns`: The maximum number of connections for the user, not limited to 0 or not set this header. `ipconns`: The maximum number of connections for the user IP, not limited to 0 or not set this header. `userrate`: User's single TCP connection rate limit, in bytes/second, is not limited to 0 or does not set this header. -`iprate`: The single TCP connection rate limit of the client IP, in bytes/second, not limited to 0 or not set this header. +`iprate`: The single TCP connection rate limit of the client IP, in bytes/second, not limited to 0 or not set this +header. `userqps`: The maximum number of connections per second (QPS) for the user, not limited to 0 or not set this header. -`ipqps`: The maximum number of connections per second (QPS) for the client IP, not limited to 0 or not set this header. +`ipqps`: The maximum number of connections per second (QPS) for the client IP, not limited to 0 or not set this +header. `upstream`: The upstream used, not empty, or not set this header. -`outgoing`: The outgoing IP used. This setting is only effective when the upstream is empty. - The IP set here must be owned by the machine where the proxy is located, otherwise, the proxy will not function properly. - Starting from version `v13.2`, `outgoing` supports multiple subnet formats separated by commas. The proxy will randomly - select an IP from the subnet as the outgoing IP. This randomness will also be maintained when authentication cache is enabled. - The following formats are supported for subnets: - 1. Format: `192.168.1.1`, Description: Single IP, IPv4 - 1. Format: `3001:cb2::`, Description: Single IP, IPv6 - 1. Format: `192.168.1.1/24`, Description: CIDR format subnet, IPv4 - 1. Format: `3001:cb2::/126`, Description: CIDR format subnet, IPv6 - 1. Format: `192.168.1.1-192.168.1.200`, Description: IP range, IPv4 - 1. Format: `3001:cb2::/126`, Description: IP range, IPv6 +`outgoing`: The outgoing IP used. This setting is only effective when the upstream is empty. +The IP set here must be owned by the machine where the proxy is located, otherwise, the proxy will not function +properly. +Starting from version `v13.2`, `outgoing` supports multiple subnet formats separated by commas. The proxy will randomly +select an IP from the subnet as the outgoing IP. This randomness will also be keep when authentication cache is +enabled. +The following formats are supported for subnets: - Example: `192.16.1.1,192.161.1.2,192.168.1.2-192.168.1.255` +1. Format: `192.168.1.1`, Description: Single IP, IPv4 +1. Format: `3001:cb2::`, Description: Single IP, IPv6 +1. Format: `192.168.1.1/24`, Description: CIDR format subnet, IPv4 +1. Format: `3001:cb2::/126`, Description: CIDR format subnet, IPv6 +1. Format: `192.168.1.1-192.168.1.200`, Description: IP range, IPv4 +1. Format: `3001:cb2::/126`, Description: IP range, IPv6 -`userTotalRate`: Limit the `user` total bandwidth speed (bytes per second), unit is byte, not limited to 0 or not set this header. -`ipTotalRate`:Limit the `client ip` total bandwidth speed (bytes per second), unit is byte, not limited to 0 or not set this header. -`portTotalRate`:Limit the `server port` total bandwidth speed (bytes per second), unit is byte, not limited to 0 or not set this header. -`RotationTime`: `(requires version >= v13.2)` Controls the time interval, in seconds, for randomly selecting the outgoing IP. - Leave it blank or unset this header if not needed.When the outgoing returned by the API is a subnet, and if you don't want the proxy - to randomly select a new IP for each client connection, you can use this parameter to control the time interval for random IP selection. - If within the interval period, the previously selected IP will be used. If the API does not return the `RotationTime` header - or if `RotationTime` is set to 0, the proxy will randomly select an IP from the outgoing subnet as the outgoing IP for each client connection. +Example: `192.16.1.1,192.161.1.2,192.168.1.2-192.168.1.255` + +`userTotalRate`: Limit the `user` total bandwidth speed (bytes per second), unit is byte, not limited to 0 or not set +this header. +`ipTotalRate`:Limit the `client ip` total bandwidth speed (bytes per second), unit is byte, not limited to 0 or not set +this header. +`portTotalRate`:Limit the `server port` total bandwidth speed (bytes per second), unit is byte, not limited to 0 or not +set this header. +`RotationTime`: `(requires version >= v13.2)` Controls the time interval, in seconds, for randomly selecting the +outgoing IP. +Leave it blank or unset this header if not needed.When the outgoing returned by the API is a subnet, and if you don't +want the proxy +to randomly select a new IP for each client connection, you can use this parameter to control the time interval for +random IP selection. +If within the interval period, the previously selected IP will be used. If the API does not return the `RotationTime` +header +or if `RotationTime` is set to 0, the proxy will randomly select an IP from the outgoing subnet as the outgoing IP for +each client connection. #### Details of total bandwidth speed limitation 1. `userrate`、`iprate` and `userTotalRate`、`ipTotalRate`、`portTotalRate` can be set at same time, diff --git a/docs/manual/zh/manual.md b/docs/manual/zh/manual.md index 68c6874..a78ce4d 100644 --- a/docs/manual/zh/manual.md +++ b/docs/manual/zh/manual.md @@ -1941,12 +1941,14 @@ if($ok){ 如果在间隔周期内,则使用上一次随机选择的IP。 如果API没有返回头部参数 RotationTime,或者RotationTime是0, 那么每次客户端连接,proxy都随机选择一个outgoing网段里面的一个IP作为出口。 - #### 限速详细说明 + 1. 单个tcp限速(`userrate`、`iprate`)和总带宽速度(`userTotalRate`、`ipTotalRate`、`portTotalRate`)可以同时设置, 比如:设置用户总带宽速度是1M/s(`userTotalRate`设置1024000),还可以同时设置单个tcp速度是100K/s(`userrate`设置102400) -2. 如果同时设置了`userTotalRate`、`ipTotalRate` 、`portTotalRate`,有效优先级是:`userTotalRate` -> `ipTotalRate` -> `portTotalRate` -3. 如果同时设置了`userTotalRate`、`portTotalRate`,而且设置了`--auth-nouser`,那么所有没有发用户名的客户端会被认为是`同一个空用户名用户`,共用同一个限制。 +2. 如果同时设置了`userTotalRate`、`ipTotalRate` 、`portTotalRate` + ,有效优先级是:`userTotalRate` -> `ipTotalRate` -> `portTotalRate` +3. 如果同时设置了`userTotalRate`、`portTotalRate`,而且设置了`--auth-nouser` + ,那么所有没有发用户名的客户端会被认为是`同一个空用户名用户`,共用同一个限制。 #### 提示 diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 5ae94c9..9facd59 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -17,6 +17,12 @@ 2019-06-14T16:29:13+08:00 + + https://snail007.host900.com/goproxy/tags/cdn/ + 2019-07-05T08:20:48+08:00 + 0 + + https://snail007.host900.com/goproxy/categories/ 2019-07-05T08:20:48+08:00 @@ -41,12 +47,6 @@ 0 - - https://snail007.host900.com/goproxy/tags/cdn/ - 2019-07-05T08:20:48+08:00 - 0 - - https://snail007.host900.com/goproxy/tags/cloudflare/ 2019-07-05T08:20:48+08:00 diff --git a/docs/tags/cdn/index.html b/docs/tags/cdn/index.html index e9d7646..a7beca7 100644 --- a/docs/tags/cdn/index.html +++ b/docs/tags/cdn/index.html @@ -14,7 +14,7 @@ - cdn - GOPROXY IN ACTION + CDN - GOPROXY IN ACTION @@ -77,7 +77,7 @@ diff --git a/docs/tags/cdn/index.xml b/docs/tags/cdn/index.xml index ab1a975..cb5d91a 100644 --- a/docs/tags/cdn/index.xml +++ b/docs/tags/cdn/index.xml @@ -1,9 +1,9 @@ - cdn on GOPROXY IN ACTION + CDN on GOPROXY IN ACTION https://snail007.host900.com/goproxy/tags/cdn/ - Recent content in cdn on GOPROXY IN ACTION + Recent content in CDN on GOPROXY IN ACTION Hugo -- gohugo.io zh-CN Fri, 05 Jul 2019 08:20:48 +0800 diff --git a/docs/tags/index.xml b/docs/tags/index.xml index 311e588..cd84ea7 100644 --- a/docs/tags/index.xml +++ b/docs/tags/index.xml @@ -12,7 +12,7 @@ - cdn + CDN https://snail007.host900.com/goproxy/tags/cdn/ Fri, 05 Jul 2019 08:20:48 +0800