{"id":22924380,"url":"https://github.com/lawndoc/pia-socks","last_synced_at":"2026-05-17T04:38:11.599Z","repository":{"id":110805524,"uuid":"307604689","full_name":"lawndoc/pia-socks","owner":"lawndoc","description":"Custom container and deployment configuration for a VPN reverse proxy. Eventually I plan to add compatibility with other VPN providers.","archived":false,"fork":false,"pushed_at":"2020-11-16T18:10:22.000Z","size":12,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-01T15:19:59.788Z","etag":null,"topics":["containers","dante","docker","docker-compose","dockerfile","pia","privacy","socks5-proxy","vpn"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lawndoc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2020-10-27T06:24:48.000Z","updated_at":"2024-12-18T09:12:36.000Z","dependencies_parsed_at":"2023-03-18T19:59:18.067Z","dependency_job_id":null,"html_url":"https://github.com/lawndoc/pia-socks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lawndoc/pia-socks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawndoc%2Fpia-socks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawndoc%2Fpia-socks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawndoc%2Fpia-socks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawndoc%2Fpia-socks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lawndoc","download_url":"https://codeload.github.com/lawndoc/pia-socks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lawndoc%2Fpia-socks/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268157898,"owners_count":24204763,"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","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["containers","dante","docker","docker-compose","dockerfile","pia","privacy","socks5-proxy","vpn"],"created_at":"2024-12-14T08:28:51.713Z","updated_at":"2025-10-31T12:02:24.733Z","avatar_url":"https://github.com/lawndoc.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A socks5 reverse proxy for Private Internet Access VPN.\n\nAn [Alpine](https://alpinelinux.org/) Linux container running a socks5 proxy (using [dante](https://www.inet.no/dante/)) via Private Internet Access (OpenVPN).\n\nYou will need a [PrivateInternetAccess](https://www.privateinternetaccess.com/pages/how-it-works) account.\nIf you don't have one, you can [sign up here](https://www.privateinternetaccess.com/pages/buy-vpn) for one.\n\n\n## Starting the VPN Proxy\n\n```sh\ndocker-compose up -d --build\n```\n\nSubstitute the environment variables for `REGION`, `USERNAME`, `PASSWORD` as indicated in the docker-compose.yml file. Or, better yet, set them in your deployment environment to reduce risk of committing them to a public repo :)\n\n\n### Environment Variables\n\n`REGION` is optional. The default region is set to `US Houston`. The spelling/formatting for`REGION` should match the corresponding `.opvn` config name for that region.\n\nSee the [PIA VPN Tunnel Network page](https://www.privateinternetaccess.com/pages/network) for details.\nUse the `Location` value for your `REGION`.\n\n`USERNAME` / `PASSWORD` - Credentials to connect to PIA. It is recommended to set environment variables on the host machine rather than in the docker-compose.yml file.\n\n\n### Test connection\n\n- curl:\n\n```shell\n# socks5h so the dns is done over the socks proxy\n$ curl -x socks5h://\u003cip_of_host\u003e:1080 ifconfig.me\n```\n\n## Credits\n\n- [OneOfOne/pia-socks-proxy](https://github.com/oneofone/pia-socks-proxy) I borrowed a lot from this repo. It was unmaintained and no longer working (broken dependency), so I broke out the DNSSEC service (unbound) into its own container to adopt a microservices model. I have reworked the Dante config file a little and heavily modified both the docker-compose.yml provided and the Dockerfile. But even then, most of the work was already done for me, so props to OneOfOne for his cool container.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flawndoc%2Fpia-socks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flawndoc%2Fpia-socks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flawndoc%2Fpia-socks/lists"}