{"id":39469378,"url":"https://github.com/atorrescogollo/mtlsocks5","last_synced_at":"2026-01-18T04:53:13.725Z","repository":{"id":234478320,"uuid":"788014146","full_name":"atorrescogollo/mtlsocks5","owner":"atorrescogollo","description":"Transparent SOCKS5 proxy implementation over mTLS","archived":false,"fork":false,"pushed_at":"2025-12-18T11:10:50.000Z","size":43,"stargazers_count":2,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-21T17:50:17.500Z","etag":null,"topics":["forward-proxy","go","golang","mtls","proxy","proxy-server","socks5","socks5-proxy"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atorrescogollo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-17T16:02:15.000Z","updated_at":"2024-10-11T13:42:20.000Z","dependencies_parsed_at":"2024-04-19T14:41:56.251Z","dependency_job_id":"8769e8e0-a47e-4162-b868-88f181f081c3","html_url":"https://github.com/atorrescogollo/mtlsocks5","commit_stats":null,"previous_names":["atorrescogollo/mtlsocks5"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/atorrescogollo/mtlsocks5","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atorrescogollo%2Fmtlsocks5","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atorrescogollo%2Fmtlsocks5/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atorrescogollo%2Fmtlsocks5/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atorrescogollo%2Fmtlsocks5/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atorrescogollo","download_url":"https://codeload.github.com/atorrescogollo/mtlsocks5/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atorrescogollo%2Fmtlsocks5/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28530410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"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":["forward-proxy","go","golang","mtls","proxy","proxy-server","socks5","socks5-proxy"],"created_at":"2026-01-18T04:53:13.118Z","updated_at":"2026-01-18T04:53:13.714Z","avatar_url":"https://github.com/atorrescogollo.png","language":"Go","readme":"# mtlsocks5\nTransparent SOCKS5 proxy implementation over mTLS\n\n![mtlsocks5](./docs/mtlsocks5.svg)\n\n### TL;DR\n```bash\n# Serve SOCKS5 proxy over mTLS\nmtlsocks5 server -l :1080\n# Serve SOCKS5 proxy that forwards to the server\nmtlsocks5 forwarder -l :1081 -s localhost:1080\n# Test the proxy (forwarder socks5 -\u003e mTLS client -\u003e mTLS server -\u003e server socks5 -\u003e google.com)\ncurl --socks5-hostname localhost:1081 https://google.com\n```\n\n\n## Installation\n### From releases\n1. Download the binary from the [releases page](https://github.com/atorrescogollo/mtlsocks5/releases)\n2. Make it executable\n```bash\nchmod +x mtlsocks5\n```\n3. Move it to a directory in your PATH (optional)\n```bash\nmv mtlsocks5 /usr/local/bin\n```\n4. Test the installation\n```bash\nmtlsocks5 --help\n```\n\n### From source\n\u003eNOTE: You need to have Go installed in your system. Check the version in the [go.mod](./go.mod#L3) file.\n1. Clone the repository\n```bash\ngit clone https://github.com/atorrescogollo/mtlsocks5.git\ncd mtlsocks5\n```\n2. Build the binary\n```bash\ngo build -o dist/mtlsocks5 .\n```\n3. Test the binary\n```bash\n./dist/mtlsocks5 --help\n```\n\n## Usage\n1. Setup the certificates\n```bash\nmtlsocks5 mgmt new-ca\nmtlsocks5 mgmt new-server -n localhost # The CN of the certificate\n\n# Server certificate and key\nln -s localhost.crt certs/server.crt\nln -s localhost.key certs/server.key\n\n# Forwarder certificate and key\nln -s localhost.crt certs/forwarder.crt\nln -s localhost.key certs/forwarder.key\n```\n```bash\n$ tree certs/\ncerts/\n├── ca.crt\n├── ca.key\n├── forwarder.crt -\u003e localhost.crt\n├── forwarder.key -\u003e localhost.key\n├── localhost.crt\n├── localhost.key\n├── server.crt -\u003e localhost.crt\n└── server.key -\u003e localhost.key\n\n0 directories, 8 files\n```\n\n2. Run the server\n```bash\nmtlsocks5 server -l :1080\n```\n\n3. Run the forwarder\n```bash\nmtlsocks5 forwarder -l :1081 -s localhost:1080 # Use same domain as in the certificate\n```\n\n4. Test the proxy\n```bash\ncurl --socks5-hostname localhost:1081 https://google.com\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatorrescogollo%2Fmtlsocks5","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatorrescogollo%2Fmtlsocks5","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatorrescogollo%2Fmtlsocks5/lists"}