Update readme

This commit is contained in:
Alexey71
2026-04-26 20:02:03 +03:00
parent 91ea01b43b
commit b99a41e040
+50 -37
View File
@@ -83,11 +83,23 @@ You can also download the proxy list from a URL. If the download fails, the app
``` ```
$ ./opera-proxy -api-proxy-list-url https://example.com/proxies.txt -country EU $ ./opera-proxy -api-proxy-list-url https://example.com/proxies.txt -country EU
``` ```
``` ```
$ ./opera-proxy -api-proxy-list-url https://example.com/proxies.txt -api-proxy-file proxies.txt -country EU $ ./opera-proxy -api-proxy-list-url https://example.com/proxies.txt -api-proxy-file proxies.txt -country EU
``` ```
You can free download proxy servers into a file named `proxies.txt`, use `-fetch-freeproxy-out`. The file name and path can be anything (`D:\myproxy.txt`, `xxxxx.txt`). By default, the `proxies.txt` file is created alongside the `opera-proxy` binary.
```
$ ./opera-proxy -fetch-freeproxy-out proxies.txt
```
You can also run two commands sequentially. The first command will download the proxies and save them to proxies.txt. The second command will launch opera-proxy using the proxies you downloaded.
```
$ ./opera-proxy -fetch-freeproxy-out proxies.txt
$ ./opera-proxy -api-proxy-file proxies.txt -country EU
```
If you want selected destinations to go directly instead of through the Opera proxy, use `-proxy-bypass`. It accepts a comma-separated list of host or URL patterns and supports `*` in hostnames: If you want selected destinations to go directly instead of through the Opera proxy, use `-proxy-bypass`. It accepts a comma-separated list of host or URL patterns and supports `*` in hostnames:
``` ```
@@ -102,40 +114,41 @@ If SurfEasy discover returns API error `801`, the app also automatically tries `
| Argument | Type | Description | | Argument | Type | Description |
| -------- | ---- | ----------- | | -------- | ---- | ----------- |
| api-address | String | override IP address of api2.sec-tunnel.com | | -api-address | String | override IP address of api2.sec-tunnel.com |
| api-client-type | String | client type reported to SurfEasy API (default "se0316") | | -api-client-type | String | client type reported to SurfEasy API (default "se0316") |
| api-client-version | String | client version reported to SurfEasy API (default "Stable 114.0.5282.21") | | -api-client-version | String | client version reported to SurfEasy API (default "Stable 114.0.5282.21") |
| api-login | String | SurfEasy API login (default "se0316") | | -api-login | String | SurfEasy API login (default "se0316") |
| api-password | String | SurfEasy API password (default "SILrMEPBmJuhomxWkfm3JalqHX2Eheg1YhlEZiMh8II") | | -api-password | String | SurfEasy API password (default "SILrMEPBmJuhomxWkfm3JalqHX2Eheg1YhlEZiMh8II") |
| api-proxy | String | additional proxy server used to access SurfEasy API | | -api-proxy | String | additional proxy server used to access SurfEasy API |
| api-proxy-file | String | path to text file with candidate proxy servers for SurfEasy API access, one per line; proxies are tried in order until init/discover succeeds | | -api-proxy-file | String | path to text file with candidate proxy servers for SurfEasy API access, one per line; proxies are tried in order until init/discover succeeds |
| api-proxy-list-url | String | URL of a text file with candidate proxy servers for SurfEasy API access; falls back to `-api-proxy-file` if download fails | | -api-proxy-list-url | String | URL of a text file with candidate proxy servers for SurfEasy API access; falls back to `-api-proxy-file` if download fails |
| api-proxy-parallel | Number | number of API proxy candidates tested in parallel when `-api-proxy-file` is used (default 5) | | -api-proxy-parallel | Number | number of API proxy candidates tested in parallel when `-api-proxy-file` is used (default 5) |
| api-user-agent | String | user agent reported to SurfEasy API (default "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 OPR/114.0.0.0") | | -api-user-agent | String | user agent reported to SurfEasy API (default "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 OPR/114.0.0.0") |
| bind-address | String | proxy listen address (default "127.0.0.1:18080") | | -bind-address | String | proxy listen address (default "127.0.0.1:18080") |
| bootstrap-dns | String | Comma-separated list of DNS/DoH/DoT resolvers for initial discovery of SurfEasy API address. Supported schemes are: `dns://`, `https://`, `tls://`, `tcp://`. Examples: `https://1.1.1.1/dns-query`, `tls://9.9.9.9:853` (default `https://1.1.1.3/dns-query,https://8.8.8.8/dns-query,https://dns.google/dns-query,https://security.cloudflare-dns.com/dns-query,https://fidelity.vm-0.com/q,https://wikimedia-dns.org/dns-query,https://dns.adguard-dns.com/dns-query,https://dns.quad9.net/dns-query,https://doh.cleanbrowsing.org/doh/adult-filter/`) | | -bootstrap-dns | String | Comma-separated list of DNS/DoH/DoT resolvers for initial discovery of SurfEasy API address. Supported schemes are: `dns://`, `https://`, `tls://`, `tcp://`. Examples: `https://1.1.1.1/dns-query`, `tls://9.9.9.9:853` (default `https://1.1.1.3/dns-query,https://8.8.8.8/dns-query,https://dns.google/dns-query,https://security.cloudflare-dns.com/dns-query,https://fidelity.vm-0.com/q,https://wikimedia-dns.org/dns-query,https://dns.adguard-dns.com/dns-query,https://dns.quad9.net/dns-query,https://doh.cleanbrowsing.org/doh/adult-filter/`) |
| cafile | String | use custom CA certificate bundle file | | -cafile | String | use custom CA certificate bundle file |
| config | String | read configuration from file with space-separated keys and values | | -config | String | read configuration from file with space-separated keys and values |
| country | String | desired proxy location (default "EU") | | -country | String | desired proxy location (default "EU") |
| discover-csv | String | read proxy endpoints from CSV instead of SurfEasy discover API | | -discover-csv | String | read proxy endpoints from CSV instead of SurfEasy discover API |
| dp-export | - | export configuration for dumbproxy | | -dp-export | - | export configuration for dumbproxy |
| fake-SNI | String | domain name to use as SNI in outbound TLS and in tunneled TLS ClientHello when possible | | -fetch-freeproxy-out | - | Downloads free proxies. Examples: `-fetch-freeproxy-out proxies.txt` or `-fetch-freeproxy-out D:\myproxy.txt` |
| init-retries | Number | number of attempts for initialization steps, zero for unlimited retry | | -fake-SNI | String | domain name to use as SNI in outbound TLS and in tunneled TLS ClientHello when possible |
| init-retry-interval | Duration | delay between initialization retries (default 5s) | | -init-retries | Number | number of attempts for initialization steps, zero for unlimited retry |
| list-countries | - | list available countries and exit | | -init-retry-interval | Duration | delay between initialization retries (default 5s) |
| list-proxies | - | output proxy list and exit | | -list-countries | - | list available countries and exit |
| override-proxy-address | string | use fixed proxy address instead of server address returned by SurfEasy API | | -list-proxies | - | output proxy list and exit |
| proxy-bypass | String | comma-separated list of destination host or URL patterns that should bypass proxying and connect directly; matching is case-insensitive and supports `*` in hostnames; if omitted, `proxy-bypass.txt` from the current working directory is loaded automatically when present | | -override-proxy-address | string | use fixed proxy address instead of server address returned by SurfEasy API |
| proxy-blacklist | String | path to file with blacklisted proxy addresses, one `host[:port]` per line | | -proxy | String | sets base proxy to use for all dial-outs. Format: `<http\|https\|socks5\|socks5h>://[login:password@]host[:port]` Examples: `http://user:password@192.168.1.1:3128`, `socks5://10.0.0.1:1080` |
| proxy | String | sets base proxy to use for all dial-outs. Format: `<http\|https\|socks5\|socks5h>://[login:password@]host[:port]` Examples: `http://user:password@192.168.1.1:3128`, `socks5://10.0.0.1:1080` | | -proxy-bypass | String | comma-separated list of destination host or URL patterns that should bypass proxying and connect directly; matching is case-insensitive and supports `*` in hostnames; if omitted, `proxy-bypass.txt` from the current working directory is loaded automatically when present |
| refresh | Duration | login refresh interval (default 4h0m0s) | | -proxy-blacklist | String | path to file with blacklisted proxy addresses, one `host[:port]` per line |
| refresh-retry | Duration | login refresh retry interval (default 5s) | | -refresh | Duration | login refresh interval (default 4h0m0s) |
| server-selection | Enum | server selection policy (first/random/fastest) (default fastest) | | -refresh-retry | Duration | login refresh retry interval (default 5s) |
| server-selection-dl-limit | Number | restrict amount of downloaded data per connection by fastest server selection | | -server-selection | Enum | server selection policy (first/random/fastest) (default fastest) |
| server-selection-test-url | String | URL used for download benchmark by fastest server selection policy (default `https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js`) | | -server-selection-dl-limit | Number | restrict amount of downloaded data per connection by fastest server selection |
| server-selection-timeout | Duration | timeout given for server selection function to produce result (default 30s) | | -server-selection-test-url | String | URL used for download benchmark by fastest server selection policy (default `https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js`) |
| timeout | Duration | timeout for network operations (default 10s) | | -server-selection-timeout | Duration | timeout given for server selection function to produce result (default 30s) |
| verbosity | Number | logging verbosity (10 - debug, 20 - info, 30 - warning, 40 - error, 50 - critical) (default 20) | | -socks-mode | - | listen for SOCKS requests instead of HTTP |
| version | - | show program version and exit | | -timeout | Duration | timeout for network operations (default 10s) |
| socks-mode | - | listen for SOCKS requests instead of HTTP | | -verbosity | Number | logging verbosity (10 - debug, 20 - info, 30 - warning, 40 - error, 50 - critical) (default 20) |
| -version | - | show program version and exit |