{"id":21071591,"url":"https://github.com/esrrhs/socksfilter","last_synced_at":"2025-12-28T08:54:07.717Z","repository":{"id":57706094,"uuid":"298563161","full_name":"esrrhs/socksfilter","owner":"esrrhs","description":"socks5过滤器。socks5 server with filtering and forwarding","archived":false,"fork":false,"pushed_at":"2025-08-09T12:35:21.000Z","size":1982,"stargazers_count":6,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-09T14:32:08.867Z","etag":null,"topics":["golang","socks5-server"],"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/esrrhs.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":"2020-09-25T12:14:07.000Z","updated_at":"2025-08-09T12:35:24.000Z","dependencies_parsed_at":"2024-06-19T11:15:29.450Z","dependency_job_id":"58649f4d-412d-400c-97c5-620a6cb63c4f","html_url":"https://github.com/esrrhs/socksfilter","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/esrrhs/socksfilter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esrrhs%2Fsocksfilter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esrrhs%2Fsocksfilter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esrrhs%2Fsocksfilter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esrrhs%2Fsocksfilter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/esrrhs","download_url":"https://codeload.github.com/esrrhs/socksfilter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esrrhs%2Fsocksfilter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270742043,"owners_count":24637504,"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-16T02:00:11.002Z","response_time":91,"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":["golang","socks5-server"],"created_at":"2024-11-19T18:53:41.420Z","updated_at":"2025-12-28T08:54:07.706Z","avatar_url":"https://github.com/esrrhs.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# socksfilter\n\n[\u003cimg src=\"https://img.shields.io/github/license/esrrhs/socksfilter\"\u003e](https://github.com/esrrhs/socksfilter)\n[\u003cimg src=\"https://img.shields.io/github/languages/top/esrrhs/socksfilter\"\u003e](https://github.com/esrrhs/socksfilter)\n[![Go Report Card](https://goreportcard.com/badge/github.com/esrrhs/socksfilter)](https://goreportcard.com/report/github.com/esrrhs/socksfilter)\n[\u003cimg src=\"https://img.shields.io/github/v/release/esrrhs/socksfilter\"\u003e](https://github.com/esrrhs/socksfilter/releases)\n[\u003cimg src=\"https://img.shields.io/github/downloads/esrrhs/socksfilter/total\"\u003e](https://github.com/esrrhs/socksfilter/releases)\n[\u003cimg src=\"https://img.shields.io/docker/pulls/esrrhs/socksfilter\"\u003e](https://hub.docker.com/repository/docker/esrrhs/socksfilter)\n[\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/esrrhs/socksfilter/go.yml?branch=master\"\u003e](https://github.com/esrrhs/socksfilter/actions)\n\nsocks5过滤器\n\n# 特性\n* 监听端口（默认1080），对外提供socks5服务，支持用户密码\n* 使用阿里云DNS判断目标IP归属所在国家，内置LRU缓存减少查询\n* 根据目标IP所在国家过滤（默认CN），命中直连，非命中走后端socks5 server\n* 后端聚合多个socks5 server，选择方式：遍历（默认）/随机/Hash，同时跳过无效的\n\n# 使用\n* 监听本机1080端口，绕过CN地区，非CN地区，转发到后端的socks5 server\n```\n# ./socksfilter -s \"yourserver1:1080 yourserver2:1080 yourserver3:1080\"\n```\n* 也可以使用docker\n```\n# docker run --name socksfilter -d --restart=always --network host esrrhs/socksfilter ./socksfilter -s \"yourserver1:1080 yourserver2:1080 yourserver3:1080\"\n```\n* 更多命令参考-h\n```\nUsage of ./socksfilter:\n  -cache_expire int\n    \tcache expire seconds for dns (default 604800)\n  -cache_size int\n    \tcache size for dns (default 10000)\n  -file string\n    \tip file (default \"GeoLite2-Country.mmdb\")\n  -l string\n    \tlisten addr (default \":1080\")\n  -loglevel string\n    \tlog level (default \"info\")\n  -nolog int\n    \twrite log file\n  -noprint int\n    \tprint stdout\n  -password string\n    \tpassword\n  -s string\n    \tserver addr (default \"server1 server2 server3\")\n  -select string\n    \tselect server robin/rand/hash_by_dst_ip/hash_by_src_ip/hash_all (default \"robin\")\n  -skip string\n    \tskip country (default \"CN\")\n  -username string\n    \tusername\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesrrhs%2Fsocksfilter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesrrhs%2Fsocksfilter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesrrhs%2Fsocksfilter/lists"}