mirror of
https://github.com/Alexey71/opera-proxy.git
synced 2026-05-13 14:11:00 +00:00
Update readme/x509roots
This commit is contained in:
@@ -87,7 +87,7 @@ $ ./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.
|
You can free download proxy servers (default `https://advanced.name/freeproxy`) 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
|
$ ./opera-proxy -fetch-freeproxy-out proxies.txt
|
||||||
@@ -131,7 +131,7 @@ If SurfEasy discover returns API error `801`, the app also automatically tries `
|
|||||||
| -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 |
|
||||||
| -fetch-freeproxy-out | - | Downloads free proxies. Examples: `-fetch-freeproxy-out proxies.txt` or `-fetch-freeproxy-out D:\myproxy.txt` |
|
| -fetch-freeproxy-out | - | download proxy list from `https://advanced.name/freeproxy` and save it as a text file with one ip:port per line. Examples: `-fetch-freeproxy-out proxies.txt` or `-fetch-freeproxy-out D:\myproxy.txt` |
|
||||||
| -fake-SNI | String | domain name to use as SNI in outbound TLS and in tunneled TLS ClientHello when possible |
|
| -fake-SNI | String | domain name to use as SNI in outbound TLS and in tunneled TLS ClientHello when possible |
|
||||||
| -init-retries | Number | number of attempts for initialization steps, zero for unlimited retry |
|
| -init-retries | Number | number of attempts for initialization steps, zero for unlimited retry |
|
||||||
| -init-retry-interval | Duration | delay between initialization retries (default 5s) |
|
| -init-retry-interval | Duration | delay between initialization retries (default 5s) |
|
||||||
|
|||||||
@@ -9,6 +9,6 @@ require (
|
|||||||
github.com/Alexey71/go-multierror v1.1.3
|
github.com/Alexey71/go-multierror v1.1.3
|
||||||
github.com/ncruces/go-dns v1.3.3
|
github.com/ncruces/go-dns v1.3.3
|
||||||
github.com/things-go/go-socks5 v0.1.1
|
github.com/things-go/go-socks5 v0.1.1
|
||||||
golang.org/x/crypto/x509roots/fallback v0.0.0-20260423152011-b9e53593a607
|
golang.org/x/crypto/x509roots/fallback v0.0.0-20260501174432-fd0b90d21f9a
|
||||||
golang.org/x/net v0.53.0
|
golang.org/x/net v0.53.0
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu
|
|||||||
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
||||||
github.com/things-go/go-socks5 v0.1.1 h1:48hy9cHEXPKeG91G/g4n8zW4uynzPUQy/FkcrJ7r5AY=
|
github.com/things-go/go-socks5 v0.1.1 h1:48hy9cHEXPKeG91G/g4n8zW4uynzPUQy/FkcrJ7r5AY=
|
||||||
github.com/things-go/go-socks5 v0.1.1/go.mod h1:1YBHVYG7Oli5ae+Pwkp630cPAwY1pjUPmohO1n0Emg0=
|
github.com/things-go/go-socks5 v0.1.1/go.mod h1:1YBHVYG7Oli5ae+Pwkp630cPAwY1pjUPmohO1n0Emg0=
|
||||||
golang.org/x/crypto/x509roots/fallback v0.0.0-20260423152011-b9e53593a607 h1:WlWLkLEVGjGS9LziRuLo1Ut+UkpzbXxFQh94eUUVjeg=
|
golang.org/x/crypto/x509roots/fallback v0.0.0-20260501174432-fd0b90d21f9a h1:8O35NEY188n08Gmz2lkDFUfw0nNuaHhwI8HdBVGnZwg=
|
||||||
golang.org/x/crypto/x509roots/fallback v0.0.0-20260423152011-b9e53593a607/go.mod h1:+UoQFNBq2p2wO+Q6ddVtYc25GZ6VNdOMyyrd4nrqrKs=
|
golang.org/x/crypto/x509roots/fallback v0.0.0-20260501174432-fd0b90d21f9a/go.mod h1:+UoQFNBq2p2wO+Q6ddVtYc25GZ6VNdOMyyrd4nrqrKs=
|
||||||
golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA=
|
golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA=
|
||||||
golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs=
|
golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs=
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
|
|||||||
+3
-3
@@ -44,18 +44,18 @@ type ProxyHandler struct {
|
|||||||
fakeSNI string
|
fakeSNI string
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewProxyHandler(d dialer.ContextDialer, logger *clog.CondLogger, fakeSNI string) *ProxyHandler {
|
func NewProxyHandler(dialer dialer.ContextDialer, logger *clog.CondLogger, fakeSNI string) *ProxyHandler {
|
||||||
httptransport := &http.Transport{
|
httptransport := &http.Transport{
|
||||||
MaxIdleConns: TRANSPORT_MAX_IDLE_CONNS,
|
MaxIdleConns: TRANSPORT_MAX_IDLE_CONNS,
|
||||||
MaxIdleConnsPerHost: TRANSPORT_MAX_IDLE_CONNS_PER_HOST,
|
MaxIdleConnsPerHost: TRANSPORT_MAX_IDLE_CONNS_PER_HOST,
|
||||||
IdleConnTimeout: TRANSPORT_IDLE_CONN_TIMEOUT,
|
IdleConnTimeout: TRANSPORT_IDLE_CONN_TIMEOUT,
|
||||||
TLSHandshakeTimeout: 10 * time.Second,
|
TLSHandshakeTimeout: 10 * time.Second,
|
||||||
ExpectContinueTimeout: 1 * time.Second,
|
ExpectContinueTimeout: 1 * time.Second,
|
||||||
DialContext: d.DialContext,
|
DialContext: dialer.DialContext,
|
||||||
}
|
}
|
||||||
return &ProxyHandler{
|
return &ProxyHandler{
|
||||||
logger: logger,
|
logger: logger,
|
||||||
dialer: d,
|
dialer: dialer,
|
||||||
httptransport: httptransport,
|
httptransport: httptransport,
|
||||||
fakeSNI: fakeSNI,
|
fakeSNI: fakeSNI,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user