Standalone client for proxies of Opera VPN

opera-proxy

opera-proxy

Standalone Opera VPN client. Younger brother of hola-proxy.

Just run it and it'll start a plain HTTP proxy server forwarding traffic through "Opera VPN" proxies of your choice. By default the application listens on 127.0.0.1:18080.

Features

  • Cross-platform (Windows/Mac OS/Linux/Android (via shell)/*BSD)
  • Uses TLS for secure communication with upstream proxies
  • Zero configuration
  • Simple and straightforward

Installation

Binaries

Pre-built binaries are available here.

Build from source

Alternatively, you may install opera-proxy from source. Run the following within the source directory:

make install

Docker

A docker image is available as well. Here is an example of running opera-proxy as a background service:

docker run -d \
    --security-opt no-new-privileges \
    -p 127.0.0.1:18080:18080 \
    --restart unless-stopped \
    --name opera-proxy \
    yarmak/opera-proxy

Snap Store

Get it from the Snap Store

sudo snap install opera-proxy

Usage

List available countries:

$ ./opera-proxy -list-countries
country code,country name
EU,Europe
AS,Asia
AM,Americas

Run proxy via country of your choice:

$ ./opera-proxy -country EU

Also it is possible to export proxy addresses and credentials:

$ ./opera-proxy -country EU -list-proxies
Proxy login: ABCF206831D0BDC0C8C3AE5283F99EF6726444B3
Proxy password: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VudHJ5IjoidWEiLCJpYXQiOjE2MTY4MDkxMTIsImlkIjoic2UwMzE2LTYweGY3aTBxMGhoOWQ1MWF0emd0IiwiaXAiOiI3Ny4xMTEuMjQ3LjE3IiwidnBuX2xvZ2luIjoiSzJYdmJ5R0tUb3JLbkpOaDNtUGlGSTJvSytyVTA5bXMraGt2c2UwRWJBcz1Ac2UwMzE2LmJlc3QudnBuIn0.ZhqqzVyKmc3hZG6VVwWfn4nvVIPuZvaEfOLXfTppyvo
Proxy-Authorization: Basic QUJDRjIwNjgzMUQwQkRDMEM4QzNBRTUyODNGOTlFRjY3MjY0NDRCMzpleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKamIzVnVkSEo1SWpvaWRXRWlMQ0pwWVhRaU9qRTJNVFk0TURreE1USXNJbWxrSWpvaWMyVXdNekUyTFRZd2VHWTNhVEJ4TUdob09XUTFNV0YwZW1kMElpd2lhWEFpT2lJM055NHhNVEV1TWpRM0xqRTNJaXdpZG5CdVgyeHZaMmx1SWpvaVN6SllkbUo1UjB0VWIzSkxia3BPYUROdFVHbEdTVEp2U3l0eVZUQTViWE1yYUd0MmMyVXdSV0pCY3oxQWMyVXdNekUyTG1KbGMzUXVkbkJ1SW4wLlpocXF6VnlLbWMzaFpHNlZWd1dmbjRudlZJUHVadmFFZk9MWGZUcHB5dm8=

host,ip_address,port
eu0.sec-tunnel.com,77.111.244.26,443
eu1.sec-tunnel.com,77.111.244.67,443
eu2.sec-tunnel.com,77.111.247.51,443
eu3.sec-tunnel.com,77.111.244.22,443

List of arguments

Argument Type Description
api-address String override IP address of api.sec-tunnel.com
api-login String SurfEasy API login (default "se0316")
api-password String SurfEasy API password (default "SILrMEPBmJuhomxWkfm3JalqHX2Eheg1YhlEZiMh8II")
bind-address String HTTP proxy listen address (default "127.0.0.1:18080")
bootstrap-dns String DNS/DoH/DoT/DoQ resolver for initial discovering of SurfEasy API address. See https://github.com/ameshkov/dnslookup/ for upstream DNS URL format. Examples: https://1.1.1.1/dns-query, quic://dns.adguard.com
country String desired proxy location (default "EU")
list-countries - list available countries and exit
list-proxies - output proxy list and exit
proxy String sets base proxy to use for all dial-outs. Format: <http|https|socks5|socks5h>://[login:password@]host[:port] Examples: http://user:[email protected]:3128, socks5://10.0.0.1:1080
refresh Duration login refresh interval (default 4h0m0s)
timeout Duration timeout for network operations (default 10s)
verbosity Number logging verbosity (10 - debug, 20 - info, 30 - warning, 40 - error, 50 - critical) (default 20)
version - show program version and exit
Owner
Systems Architect (His Majesty/His Majesty's)
null
Comments
  • Connect to proxy curl C++ help...

    Connect to proxy curl C++ help...

    Привет, я использовал opera-proxy.windows-amd64.exe, всё работает. Написал программу для получения логина и пароля по твоему примеру на GO. Но я не могу подключится к прокси, посмотри код пожалуйста, уже неделю голову ломаю, не могу подключится и всё.

    void test_proxy() { CURL* curl; CURLcode res; struct curl_slist* host = NULL; char resolve[100];

    curl = curl_easy_init();
    if (curl)
    {	
    	sprintf(resolve, "eu0.sec-tunnel.com:%s:%s", find_opera_ips[0].port, find_opera_ips[0].ip);
    	host = curl_slist_append(host, resolve);
    	curl_easy_setopt(curl, CURLOPT_RESOLVE, host);
    	curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
    	curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
    	curl_easy_setopt(curl, CURLOPT_USERAGENT, userAgent);
    	curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
    	curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
    	curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
    	curl_easy_setopt(curl, CURLOPT_PROXY, "eu0.sec-tunnel.com:443");
    	curl_easy_setopt(curl, CURLOPT_PROXYUSERNAME, login);
    	curl_easy_setopt(curl, CURLOPT_PROXYPASSWORD, device_password);
    	curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
    
    	res = curl_easy_perform(curl);
    }
            curl_easy_cleanup(curl);
    
    	if (res == CURLE_OK)
    	{
    		printf("Error code: %d\n", res);
    		return;
    	}
    

    }

    Вывод с консоли :

    • Added eu0.sec-tunnel.com:443:77.111.247.55 to DNS cache
    • timeout on name lookup is not supported
    • Hostname eu0.sec-tunnel.com was found in DNS cache
    • Trying 77.111.247.55:443...
    • Connected to eu0.sec-tunnel.com (77.111.247.55) port 443 (#0)
    • allocate connect buffer!
    • Establish HTTP proxy tunnel to example.com:443
    • Proxy auth using Basic with user 'C5AE7A2438BE4559F244A937F1C319D23E16F960'

    CONNECT example.com:443 HTTP/1.1 Host: example.com:443 Proxy-Authorization: Basic QzVBRTdBMjQzOEJFNDU1OUYyNDRBOTM3RjFDMzE5RDIzRTE2Rjk2MDpleUpoYkdjaU9pSkZRMFJJTFVWVEswRXlOVFpMVnlJc0ltTjBlU0k2SWtwWFZDSXNJbVZ1WXlJNklrRXlOVFpIUTAwaUxDSmxjR3NpT25zaWEzUjVJam9pUlVNaUxDSmpjbllpT2lKUUxUSTFOaUlzSW5naU9pSkdXVVJVTkZsRFpWUnZRVU5YTW1weFdGUm1abk4yYVZkdE1ETmxkekZDTlROMWVEQkRZMWRJWldaRklpd2llU0k2SW1sV1NUZFlkVkZ0TjNJNVUzcFFXVkYyYlVjMFYxcEdSMVp1VjFFeU5sUk5PRE5uWlZoS01uQXdRbGtpZlgwLkU5dC1EbzBDdUQ0V3dOd3VDSkFrRjUxRXk4NnNNZTN2UFNZVEEtWWZUNnNpTC1lTE9OdlJWZy45TWJIM2hEeTZxU2xkZ3M5LnJrRXUzcWNBZjI2ekp1TmdjTEJkaVZZaHp5ZHJjWlIzV2tvTy1LQ2gtWkxtZF9EWHdhMjMwMWYxVUJjY2Y2NjdLLWJ1TmEwWGdOYTVCdTI4alU5YU1jVDlmQVRGNHNXMkJRMm04bmhrNWR5cVBmbU9tUEQ1UUo4ckN5clhlcmhGRi1PdkFjUi1UQ181QUNoRE8zb1lvMlBBMmNkZmR0alFKTXJ2b2lGa2I3eVcwQ2ZHdmVuRl9lMVJkdU05Wm00aFcxOVJVM0swbVNmZnhYSVhsUHA1UGFpWWxoSzBMdER0emxWMFp5ZVNNdi00OFpEM3p3N01RUGJ5QTZMeWc0cnNHR00yQm5IQjFSUE53ejBoN00yU2VVcUxpa2xhVHI0XzBtN3pjcHlheHVYVFNIcUh0QUFtUWRsbmlJal84RTJKQ09HUVY2QlN4VG1aaklEbnZUQ0NtSlNjREFBNHJYdTJDaVFpb29pX18teWZZZVVYZXNOMGVRSnBEWm15dC1zZEFQOFBXZElXb2lMdE5EN3JiZ29mVE5jaDkzRm5FOUt2SmpubW9hc2JzT1hGa3hWaU9NS0pwd0JSN3NvcmVKWmxib1IyREZ3Lk1pUXk3aWhZVWtENmJYNmZUclctd2c= User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.192 Safari/537.36 OPR/74.0.3911.232 Proxy-Connection: Keep-Alive

    • Recv failure: Connection was reset
    • Received HTTP code 0 from proxy after CONNECT
    • CONNECT phase completed!
    • Closing connection 0
  • How to refresh IP Address ?

    How to refresh IP Address ?

    First of all, great app. Logging to the proxy via CURL is not working. How can we refresh the IP address when we run the HTTP server? like refresh each 5 sec I tested ./opera-proxy -refresh 0h0m5s

    but it does not work!

    Regards

  • How to properly use the exported proxies?

    How to properly use the exported proxies?

    Hi!

    I wanted to use the opera proxies for a python project.

    So, I downloaded the exe for windows, and did opera-proxy.windows-amd64.exe -country EU -list-proxies. Everything worked as expected, I got the proxy list and the credentials.

    But when trying to use the proxies in python, I would get: Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', RemoteDisconnected('Remote end closed connection without response'))).

    When trying to use the hostname instead of the proxy ip, I get this: Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x11105990>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))) - probably can't resolve the ip for the hostname.

    I also thought that maybe those are secure web proxies, but it still failed: Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: IP address mismatch, certificate is not valid for '77.111.244.65'. (_ssl.c:1056)")))

    Is there something specific about connecting to the opera proxies?

  • Помощь с запуском в фоне

    Помощь с запуском в фоне

    Я не разобрался как запустить в фоне, что-бы окно терминала не мешало. На посте в Хабр упоминается запуск с помощью "планировщика задач" но даже с ним окно все равно видно. Как делать все эти аргументы я тоже не понял, хоть и очень интересно. Кроме этих деталей, работает идеально.

    Использую opera-proxy.windows-amd64.exe, запускаю через планировщик задач при входе в систему.

  • Snawoot нужна помощь!

    Snawoot нужна помощь!

    Привет!!! Как вы используете свой локальный прокси? Помогите пожалуйста, хоть чем-нить. Например: Я делаю прокси сервер, принимаю соединение от клиента "CONNECT example.com:443 HTTP/1.1\r\nHost: example.com:443\r\nProxy-Connection: Keep-Alive\r\n\r\n", редактирую добавляю Proxy-Authorization: Basic, дальше соединяюсь к https прокси через openssl, посылаю клиенту "HTTP/1.1 200 OK\r\n\r\n", и дальше обрабатываю сокеты как обычное tcp?

    1. Вот так:

               if (FD_ISSET(socket_client, &readfds))
               {
                   int recvd = recv(socket_client, buf, sizeof(buf), 0);
                   if (recvd <= 0)           
                   send(proxy_socket, buf, recvd, 0);                
               }
      
               if (FD_ISSET(proxy_socket, &readfds))
               {
                 int recvd = recv(proxy_socket, buf, sizeof(buf), 0);
                   if (recvd <= 0)
                       break;
                    send(socket_client, buf, recvd, 0);     
               }
      

    Или принимаю соединение SSL_accept, расшифровываю данные от клиента, и создаю новое ssl соединение, и отправляю данные к прокси и потом к клиенту? 2. Вот так:

                if (FD_ISSET(socket_client, &readfds))
                {
                   int recvd = SSL_read(ssl_client, buf, sizeof(buf));
                    if (recvd <= 0)
                        break;                   
                   SSL_write(ssl_conn, buf, recvd);               
                }
    
                if (FD_ISSET(proxy_socket, &readfds))
                {
                   int recvd = SSL_read(ssl_conn, buf, sizeof(buf));
                    if (recvd <= 0)
                        break;
                    SSL_write(ssl_client, buf, recvd);             
                }
    

    В первом случае не получается, во втором получается, но у клиента сертификат в инфо, показывает моего сервера. А Когда я использую ваш прокси то показывает сертификат куда я подключаюсь например example.com, Второй вариант это mitm получается? Или как я должен делать? может в ответ клиенту я должен отправить сертификат который мне прислал прокси? Или как? Не подскажите как вы это сделали? Хотя бы на словах объясните пожалуйста. Я просто в Go плохо разбираюсь. Буду рад любой помощи.

  • PROXY   : 2022/04/27 17:58:26 handler.go:39: ERROR    Can't satisfy CONNECT request: socks connect tcp ... : i/o timeout

    PROXY : 2022/04/27 17:58:26 handler.go:39: ERROR Can't satisfy CONNECT request: socks connect tcp ... : i/o timeout

    I'm using opera-proxy thru TOR on snap like so:

    snap run opera-proxy -proxy socks5://127.0.0.1:9050 -country EU -bind-address 127.0.0.1:33333 -verbosity 30 -timeout 360s

    I get theses errors:

    PROXY : 2022/04/27 17:58:26 handler.go:39: ERROR Can't satisfy CONNECT request: socks connect tcp 127.0.0.1:9050->77.111.247.182:443: read tcp 127.0.0.1:58226->127.0.0.1:9050: i/o timeout

    PROXY : 2022/04/27 18:00:48 handler.go:78: ERROR HTTP fetch error: EOF

    I thought that the '-timeout 360s' would solve the errors. It seems that TOR is too slow for opera-proxy.

  • Docker build error

    Docker build error

    Got an error while building container

    Log below

    ` Building opera-proxy Step 1/17 : FROM golang AS build ---> 1b8b0ceece59 Step 2/17 : ARG GIT_DESC=undefined ---> Using cache ---> 2405fc5bf4ec Step 3/17 : WORKDIR /go/src/github.com/Snawoot/opera-proxy ---> Running in 8dda67de6a20 Removing intermediate container 8dda67de6a20 ---> f521b30c36bf Step 4/17 : COPY . . ---> 2bfd4c278f65 Step 5/17 : RUN CGO_ENABLED=0 go build -a -tags netgo -ldflags '-s -w -extldflags "-static" -X main.version='"$GIT_DESC" ---> Running in 7667f03d75a8 go: downloading github.com/AdguardTeam/dnsproxy v0.36.0 go: downloading github.com/miekg/dns v1.1.35 go: downloading github.com/Snawoot/go-http-digest-auth-client v1.1.3 go: downloading golang.org/x/net v0.0.0-20210324205630-d1beb07c2056 go: downloading github.com/joomcode/errorx v1.0.3 go: downloading github.com/lucas-clemente/quic-go v0.19.3 go: downloading github.com/AdguardTeam/golibs v0.4.4 go: downloading github.com/ameshkov/dnscrypt/v2 v2.0.1 go: downloading github.com/ameshkov/dnsstamps v1.0.3 go: downloading golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9 go: downloading golang.org/x/sys v0.0.0-20210324051608-47abb6519492 go: downloading github.com/cheekybits/genny v1.0.0 go: downloading golang.org/x/text v0.3.4 go: downloading github.com/marten-seemann/qtls-go1-15 v0.1.1 go: downloading github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da go: downloading github.com/aead/poly1305 v0.0.0-20180717145839-3fee0db0b635 '# github.com/Snawoot/go-http-digest-auth-client /go/pkg/mod/github.com/!snawoot/[email protected]/authorization.go:109:15: undefined: io.NopCloser /go/pkg/mod/github.com/!snawoot/[email protected]/digest_auth_client.go:49:18: undefined: io.NopCloser /go/pkg/mod/github.com/!snawoot/[email protected]/digest_auth_client.go:59:21: undefined: io.NopCloser note: module requires Go 1.16 ERROR: Service 'opera-proxy' failed to build: The command '/bin/sh -c CGO_ENABLED=0 go build -a -tags netgo -ldflags '-s -w -extldflags "-static" -X main.version='"$GIT_DESC"' returned a non-zero code: 2

    `

  • I think there is a problem with country selection

    I think there is a problem with country selection

    When using this command opera-proxy -country AM to use the USA country, I got this IP address on ip2location.com 2001:67c:2628:647:12::162 which is in Sweden [SE].

    But when I use Opera browser and set the VPN to America I got this IP address on ip2location.com 2001:67c:2628:647:12::3e which is in USA

  • How protect server ip form getting banned by opera

    How protect server ip form getting banned by opera

    Dear support. I want to connect to opera proxy via TOR proxy, I have rotated tor proxy. How can I connect to opera-proxy and pass my TOR proxy to it? export http_proxy=[tor_proxy] ./opera-proxydoes not work.

    Reards

  • OpenSSL

    OpenSSL

    Hi!

    Curl example all works fine only except all asian proxy addresses and credentials.

    curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to as1.sec-tunnel.com:443

    Tested on different servers, the problem persists.

    If I run opera-proxy -country AS on the same server everything works fine

    Google did not give useful answers, please give an answer to what could be the problem?

  • Ability to connect directly to some hosts, bypassing opera proxy

    Ability to connect directly to some hosts, bypassing opera proxy

    Some clients were unable to filter the requests they want to forward to the proxy server. One approach is to filter requests on the proxy side. I'm not a golang expert, but I've added a PoC variant of this filtering at https://github.com/dmitry-j-mikhin/opera-proxy/commit/11331bc92c8e6a11a1183a93d924520fe33bbbcd

  • "Opera Mini"'s proxies ?

    Opera Mini has a very wide range of proxies and those are still unused by us, do you want to expand our list ?

    APK: https://play.google.com/store/apps/details?id=com.opera.mini.native Test IP: https://httpbin.org/ip Test Headers: https://httpbin.org/headers

    global-turbo2.opera-mini.net global-turbo2-1.opera-mini.net mini5.opera-mini.net mini5-1.opera-mini.net

    { "headers": { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9,image/webp", "Accept-Encoding": "gzip, deflate", "Accept-Language": "en-US,en;q=0.9", "Host": "httpbin.org", "Save-Data": "on", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Linux; U; Android 5.1; A1601 Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36 OPR/66.1.2254.64111", "X-Amzn-Trace-Id": "Root=1-6386bfe8-197ce0d93c7bf32c59f3d7d0" } }

  • How to properly use the exported proxies? in Python

    How to properly use the exported proxies? in Python

    curl --proxy 'https://833A1BB8865EDD8753A3DEA69F790EF2C2A6E59B:eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImN0eSI6IkpXVCIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiItTFRlWVo3dUtTTkp5WjBoY3l6NmJ0b3VvZWFhb2RZcGI0R3haNGMzVGVJIiwieSI6ImpFb3JzYklWNDJDS0ozR0FDWXRERWI4eW83THhPR1RmcVZxRlNNSENlR0UifX0.CmlrkFWCUO9-Gd5FcebsbrXlQewq1WcKp21Xx7lwlyFwzf1ToX4_tA.Wu0vwkZkET3gmwxw.Fd3ERaa0-pvvHK4JdlDLuZFBDWpjw_8zalVjSTd953Bk8YaStshgdJ4FoN1VJoaacS-DNVon7N8WTIcHiLiLJl008DUObM_dCHUTUEqNf2i2O5OSJjuAWhl1rC0XSpGvYLQ7RGLsCPLbAoCXkF90tzegsZy_gTeoRz55Azp2JmIhcIypqoSo8a1lcDSZSbOq5LWhLfowIhP9MgE7v0BpnJCu320m1J1IkbXTVJj5jSi1eb1nFoDt1vWrnMB2vib3xCrPrPCbvTnMn4upkUIovYzPF71E348ckXGWYB35c5v-mzCn8p4-llWxtj6cMYC_tgJY7apBGQytsafQbm36deAOCIR0sd02yqzHz0JyOWk_V4wgtok94ifrjwwqnIvPVVRV_O-LSpqK32BGRqvhndrUltoGE6Oy_v8vWBxRwPTq_P6XSCogm7N19m6vszkdk-hyA9kasDe6S8g.pyLIA8f7kazBymuXti0gVA@eu0.sec-tunnel.com' --resolve eu0.sec-tunnel.com:443:77.111.247.241 https://api.ipify.org

    How can i convert same things into python script anyone have any idea ??

Standalone client for proxies of Windscribe browser extension

windscribe-proxy Standalone Windscribe proxy client. Younger brother of opera-proxy. Just run it and it'll start a plain HTTP proxy server forwarding

Dec 29, 2022
Smart VPN client

Smart VPN client Performs all the standard functions of a VPN client, i.e. manages a connection to a VPN headend. The "smart" functionality includes:

Sep 2, 2022
Decentralized VPN in golang
Decentralized VPN in golang

LCVPN - Light decentralized VPN in golang Originally this repo was just an answer on a question "how much time it'll take to write my own simple VPN i

Dec 28, 2022
SonicWall VPN-SSL Exploit* using Golang
SonicWall VPN-SSL Exploit* using Golang

goshock SonicWall VPN-SSL Exploit* using Golang ( * and other targets vulnerable to shellshock ).

Jul 6, 2022
A fork of the simple WireGuard VPN server GUI community maintained
A fork of the simple WireGuard VPN server GUI community maintained

Subspace - A simple WireGuard VPN server GUI Subspace - A simple WireGuard VPN server GUI Slack Screenshots Features Contributing Setup 1. Get a serve

Dec 25, 2022
Decentralized VPN
Decentralized VPN

Decentralized VPN The RadVPN doesn't need any central point as it connects to other nodes directly (full mesh) it has built-in router that helps packe

Jan 8, 2023
SplitVPN - Split Internet and VPN routing

SplitVPN - Split Internet and VPN routing

Jul 15, 2022
⛵ EdgeVPN: the immutable, decentralized, statically built VPN. NO central server!

⛵ EdgeVPN Fully Decentralized. Immutable. Portable. Easy to use Statically compiled VPN Usage Generate a config: ./edgevpn -g > config.yaml Run it on

Jan 3, 2023
A Lightweight VPN Built on top of Libp2p for Truly Distributed Networks.
A Lightweight VPN Built on top of Libp2p for Truly Distributed Networks.

Hyprspace A Lightweight VPN Built on top of Libp2p for Truly Distributed Networks. demo.mp4 Table of Contents A Bit of Backstory Use Cases A Digital N

Dec 29, 2022
A Wireguard VPN Server Manager and API to add and remove clients

Wireguard Manager And API A manager and API to add, remove clients as well as other features such as an auto reapplier which deletes and adds back a c

Dec 22, 2022
Terraform Provider for Pritunl VPN Server
 Terraform Provider for Pritunl VPN Server

Terraform Provider for Pritunl VPN Server Website: https://www.terraform.io Pritunl VPN Server: https://pritunl.com/ Provider: disc/pritunl Requiremen

Dec 24, 2022
CLI to drive SAML based auth for Global Protect VPN

GlobalProtect VPN Helper This tool is a CLI friendly tool used to perform POST based SAML authentication for GlobalProtect VPN. It displays a browser

Aug 28, 2022
A VPN Proxy Helper

VPN Proxy Helper Sometimes, VPN clients do not change the routing table of the computer but it still exists the VPN interface. Sometimes, you don't wa

Aug 19, 2022
IP2Proxy Go package allows users to query an IP address to determine if it was being used as open proxy, web proxy, VPN anonymizer and TOR exits.

IP2Proxy Go Package This package allows user to query an IP address if it was being used as VPN anonymizer, open proxies, web proxies, Tor exits, data

Sep 15, 2022
A memory-safe SSH server, focused on listening only on VPN networks such as Tailscale

Features Is tested to work with SCP Integrates well with systemd Quickstart Download binary for your architecture. We only support Linux. If you don't

Jun 10, 2022
KeeneticRouteToVpn is simple app updating Keenetic Router rules for some hosts to go through VPN interface.

KeeneticRouteToVpn KeeneticRouteToVpn is simple app updating Keenetic Router rules for some hosts to go through VPN interface. It has defaults values

Oct 8, 2022
gproxy is a tiny service/library for creating lets-encrypt/acme secured gRPC and http reverse proxies
gproxy is a tiny service/library for creating lets-encrypt/acme secured gRPC and http reverse proxies

gproxy is a reverse proxy service AND library for creating flexible, expression-based, lets-encrypt/acme secured gRPC/http reverse proxies GProxy as a

Sep 11, 2022
HTTP proxy written in Go. COW can automatically identify blocked sites and use parent proxies to access.

COW (Climb Over the Wall) proxy COW 是一个简化穿墙的 HTTP 代理服务器。它能自动检测被墙网站,仅对这些网站使用二级代理。 English README. 当前版本:0.9.8 CHANGELOG 欢迎在 develop branch 进行开发并发送 pull

Jan 9, 2023
A server that proxies requests and uses fhttp & my fork of CycleTLS to modify your clienthello and prevent your requests from being fingerprinted.

TLS-Fingerprint-API A server that proxies requests and uses my fork of CycleTLS & fhttp (fork of net/http) to prevent your requests from being fingerp

Jan 7, 2023