{"id":21814318,"url":"https://github.com/snawoot/opera-proxy","last_synced_at":"2026-01-06T14:13:54.267Z","repository":{"id":39977697,"uuid":"350494541","full_name":"Snawoot/opera-proxy","owner":"Snawoot","description":"Standalone client for proxies of Opera VPN","archived":false,"fork":false,"pushed_at":"2025-04-11T20:55:57.000Z","size":163,"stargazers_count":751,"open_issues_count":0,"forks_count":71,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-05-15T05:06:10.204Z","etag":null,"topics":["http-proxy","https-proxy","opera","opera-vpn","proxy","secure-communication","standalone-client"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Snawoot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-03-22T21:28:18.000Z","updated_at":"2025-05-13T16:52:28.000Z","dependencies_parsed_at":"2024-01-17T00:18:25.074Z","dependency_job_id":"8f0ab5c6-0c9e-41c2-8f1c-22d821e5923a","html_url":"https://github.com/Snawoot/opera-proxy","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snawoot%2Fopera-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snawoot%2Fopera-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snawoot%2Fopera-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snawoot%2Fopera-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Snawoot","download_url":"https://codeload.github.com/Snawoot/opera-proxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254276447,"owners_count":22043867,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["http-proxy","https-proxy","opera","opera-vpn","proxy","secure-communication","standalone-client"],"created_at":"2024-11-27T14:37:38.311Z","updated_at":"2026-01-06T14:13:54.261Z","avatar_url":"https://github.com/Snawoot.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"opera-proxy\n===========\n\n[![opera-proxy](https://snapcraft.io//opera-proxy/badge.svg)](https://snapcraft.io/opera-proxy)\n\n\u003cimg align=\"left\" width=\"100\" height=\"100\" src=\"https://github.com/user-attachments/assets/aac4d29a-32b3-4e00-957c-3c7168228edc\"\u003e\n\nStandalone Opera VPN client.\n\nJust run it and it'll start a plain HTTP proxy server forwarding traffic through \"Opera VPN\" proxies of your choice.\nBy default the application listens on 127.0.0.1:18080.\n\n## Features\n\n* Cross-platform (Windows/Mac OS/Linux/Android (via shell)/\\*BSD)\n* Uses TLS for secure communication with upstream proxies\n* Zero configuration\n* Simple and straightforward\n\n## Installation\n\n#### Binaries\n\nPre-built binaries are available [here](https://github.com/Snawoot/opera-proxy/releases/latest).\n\n#### Build from source\n\nAlternatively, you may install opera-proxy from source. Run the following within the source directory:\n\n```\nmake install\n```\n\n#### Docker\n\nA docker image is available as well. Here is an example of running opera-proxy as a background service:\n\n```sh\ndocker run -d \\\n    --security-opt no-new-privileges \\\n    -p 127.0.0.1:18080:18080 \\\n    --restart unless-stopped \\\n    --name opera-proxy \\\n    yarmak/opera-proxy\n```\n\n#### Snap Store\n\n[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/opera-proxy)\n\n```bash\nsudo snap install opera-proxy\n```\n\n## Usage\n\nList available countries:\n\n```\n$ ./opera-proxy -list-countries\ncountry code,country name\nEU,Europe\nAS,Asia\nAM,Americas\n```\n\nRun proxy via country of your choice:\n\n```\n$ ./opera-proxy -country EU\n```\n\nAlso it is possible to export proxy addresses and credentials:\n\n```\n$ ./opera-proxy -country EU -list-proxies\nProxy login: ABCF206831D0BDC0C8C3AE5283F99EF6726444B3\nProxy password: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VudHJ5IjoidWEiLCJpYXQiOjE2MTY4MDkxMTIsImlkIjoic2UwMzE2LTYweGY3aTBxMGhoOWQ1MWF0emd0IiwiaXAiOiI3Ny4xMTEuMjQ3LjE3IiwidnBuX2xvZ2luIjoiSzJYdmJ5R0tUb3JLbkpOaDNtUGlGSTJvSytyVTA5bXMraGt2c2UwRWJBcz1Ac2UwMzE2LmJlc3QudnBuIn0.ZhqqzVyKmc3hZG6VVwWfn4nvVIPuZvaEfOLXfTppyvo\nProxy-Authorization: Basic QUJDRjIwNjgzMUQwQkRDMEM4QzNBRTUyODNGOTlFRjY3MjY0NDRCMzpleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKamIzVnVkSEo1SWpvaWRXRWlMQ0pwWVhRaU9qRTJNVFk0TURreE1USXNJbWxrSWpvaWMyVXdNekUyTFRZd2VHWTNhVEJ4TUdob09XUTFNV0YwZW1kMElpd2lhWEFpT2lJM055NHhNVEV1TWpRM0xqRTNJaXdpZG5CdVgyeHZaMmx1SWpvaVN6SllkbUo1UjB0VWIzSkxia3BPYUROdFVHbEdTVEp2U3l0eVZUQTViWE1yYUd0MmMyVXdSV0pCY3oxQWMyVXdNekUyTG1KbGMzUXVkbkJ1SW4wLlpocXF6VnlLbWMzaFpHNlZWd1dmbjRudlZJUHVadmFFZk9MWGZUcHB5dm8=\n\nhost,ip_address,port\neu0.sec-tunnel.com,77.111.244.26,443\neu1.sec-tunnel.com,77.111.244.67,443\neu2.sec-tunnel.com,77.111.247.51,443\neu3.sec-tunnel.com,77.111.244.22,443\n```\n\n## List of arguments\n\n| Argument | Type | Description |\n| -------- | ---- | ----------- |\n| api-address | String | override IP address of api2.sec-tunnel.com |\n| api-client-type | String | client type reported to SurfEasy API (default \"se0316\") |\n| api-client-version | String | client version reported to SurfEasy API (default \"Stable 114.0.5282.21\") |\n| api-login | String | SurfEasy API login (default \"se0316\") |\n| api-password | String | SurfEasy API password (default \"SILrMEPBmJuhomxWkfm3JalqHX2Eheg1YhlEZiMh8II\") |\n| api-proxy | String | additional proxy server used to access SurfEasy API |\n| 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\") |\n| bind-address | String | proxy listen address (default \"127.0.0.1:18080\") |\n| 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/`) |\n| cafile | String | use custom CA certificate bundle file |\n| certchain-workaround | Boolean | add bundled cross-signed intermediate cert to certchain to make it check out on old systems (default true) |\n| config | String | read configuration from file with space-separated keys and values |\n| country | String | desired proxy location (default \"EU\") |\n| dp-export | - | export configuration for dumbproxy |\n| fake-SNI | String | domain name to use as SNI in communications with servers |\n| init-retries | Number | number of attempts for initialization steps, zero for unlimited retry |\n| init-retry-interval | Duration | delay between initialization retries (default 5s) |\n| list-countries | - | list available countries and exit |\n| list-proxies | - | output proxy list and exit |\n| override-proxy-address | string | use fixed proxy address instead of server address returned by SurfEasy API |\n| proxy | String | sets base proxy to use for all dial-outs. Format: `\u003chttp\\|https\\|socks5\\|socks5h\u003e://[login:password@]host[:port]` Examples: `http://user:password@192.168.1.1:3128`, `socks5://10.0.0.1:1080` |\n| refresh | Duration | login refresh interval (default 4h0m0s) |\n| refresh-retry | Duration | login refresh retry interval (default 5s) |\n| server-selection | Enum | server selection policy (first/random/fastest) (default fastest) |\n| server-selection-dl-limit | Number | restrict amount of downloaded data per connection by fastest server selection |\n| 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`) |\n| server-selection-timeout | Duration | timeout given for server selection function to produce result (default 30s) |\n| timeout | Duration | timeout for network operations (default 10s) |\n| verbosity | Number | logging verbosity (10 - debug, 20 - info, 30 - warning, 40 - error, 50 - critical) (default 20) |\n| version | - | show program version and exit |\n| socks-mode | - | listen for SOCKS requests instead of HTTP |\n\n## See also\n\n* [Project wiki](https://github.com/Snawoot/opera-proxy/wiki)\n* [Community in Telegram](https://t.me/alternative_proxy)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnawoot%2Fopera-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnawoot%2Fopera-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnawoot%2Fopera-proxy/lists"}