{"id":13494520,"url":"https://github.com/sower-proxy/sower","last_synced_at":"2026-01-20T05:08:15.258Z","repository":{"id":38726324,"uuid":"158938180","full_name":"sower-proxy/sower","owner":"sower-proxy","description":"Sower is a cross-platform intelligent transparent proxy solution.","archived":false,"fork":false,"pushed_at":"2026-01-09T06:28:22.000Z","size":527,"stargazers_count":441,"open_issues_count":0,"forks_count":48,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-01-15T07:20:04.932Z","etag":null,"topics":["cross-platform","dns","proxy","router","sock5","sower","trojan"],"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/sower-proxy.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,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2018-11-24T13:19:02.000Z","updated_at":"2026-01-09T06:28:24.000Z","dependencies_parsed_at":"2023-07-13T12:47:10.917Z","dependency_job_id":"441f6ebd-0755-4d26-ae8e-d50e3c7c3660","html_url":"https://github.com/sower-proxy/sower","commit_stats":null,"previous_names":["wweir/sower"],"tags_count":71,"template":false,"template_full_name":null,"purl":"pkg:github/sower-proxy/sower","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sower-proxy%2Fsower","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sower-proxy%2Fsower/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sower-proxy%2Fsower/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sower-proxy%2Fsower/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sower-proxy","download_url":"https://codeload.github.com/sower-proxy/sower/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sower-proxy%2Fsower/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28596087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cross-platform","dns","proxy","router","sock5","sower","trojan"],"created_at":"2024-07-31T19:01:25.732Z","updated_at":"2026-01-20T05:08:15.244Z","avatar_url":"https://github.com/sower-proxy.png","language":"Go","readme":"# sower\n\n[![GitHub release](http://img.shields.io/github/release/sower-proxy/sower.svg?style=popout)](https://github.com/sower-proxy/sower/releases)\n[![Actions Status](https://github.com/sower-proxy/sower/workflows/Go/badge.svg)](https://github.com/sower-proxy/sower/actions)\n[![GitHub issue](https://img.shields.io/github/issues/sower-proxy/sower.svg?style=popout)](https://github.com/sower-proxy/sower/issues)\n[![GitHub star](https://img.shields.io/github/stars/sower-proxy/sower.svg?style=popout)](https://github.com/sower-proxy/sower/stargazers)\n[![GitHub license](https://img.shields.io/github/license/sower-proxy/sower.svg?style=popout)](LICENSE)\n\n中文介绍见 [Wiki](https://github.com/sower-proxy/sower/wiki)\n\nSower is a cross-platform intelligent transparent proxy tool. It provides both socks5 proxy and DNS-based proxy. All these kinds of proxies support intelligent routing.\n\nIf you already have another proxy solution, you can use its socks5(h) service as a parent proxy to enjoy sower's intelligent routing.\n\n## Installation\n\nTo enjoy sower, you need to deploy sower on both server-side(sowerd) and client-side(sower).\n\n## Sowerd\n\n_If you want to use sower as a secondary proxy to provide intelligent routing, you can skip sowerd._\n\nOn the server-side, sowerd runs just like a web server proxy. It will bind two ports `80` / `443`.\n\nYou can use your own certificate or the certificate automatically applied for by sowerd from [`Let's Encrypt`](https://letsencrypt.org/).\n\nThere are two ways to run the sowerd service:\n\n1. Run the command with root permission\n\n   ```shell\n   # sowerd -password XXX -fake_site 127.0.0.1:8080\n   ```\n\n2. Install as a systemd service\n\n   ```service\n   [Unit]\n   Description=sower server service\n   After=network.target\n\n   [Service]\n   Type=simple\n   ExecStart=/usr/local/bin/sowerd\n   Environment=\"FAKE_SITE=127.0.0.1:8080\"\n   Environment=\"PASSWORD=XXX\"\n\n   [Install]\n   WantedBy=multi-user.target\n   ```\n\n## Sower\n\nA config file is required on the sower client side. [Here](https://github.com/sower-proxy/sower/wiki/sower.hcl) is a usable example in China.\n\n`Sower` will bind 4 ports by default with root permission. They are: `udp(53)` / `tcp(80)` / `tcp(443)` / `tcp(1080)`.\n\nAfter doing the next three steps, you can enjoy the intelligent transparent proxy solution:\n\n1. Run the command with root permission:\n\n   ```shell\n   # sower -f sower.hcl\n   ```\n\n2. Change your DNS server to `127.0.0.1`.\n\n3. Set your proxy to `socks5h://127.0.0.1:1080`.\n\n## Architecture\n\n![Architecture diagram](./sower.drawio.svg)\n","funding_links":[],"categories":["Go","proxy"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsower-proxy%2Fsower","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsower-proxy%2Fsower","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsower-proxy%2Fsower/lists"}