{"id":18450681,"url":"https://github.com/l-codes/ltproxy","last_synced_at":"2025-04-08T01:33:49.340Z","repository":{"id":40690981,"uuid":"427047005","full_name":"L-codes/LTProxy","owner":"L-codes","description":"Linux Transparent Proxy (Similar to Proxifiter)","archived":false,"fork":false,"pushed_at":"2024-11-27T05:09:47.000Z","size":26,"stargazers_count":31,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T04:11:47.135Z","etag":null,"topics":["linux-proxy","proxifier","proxychains","transparent-proxy"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/L-codes.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}},"created_at":"2021-11-11T15:17:54.000Z","updated_at":"2024-12-02T06:29:58.000Z","dependencies_parsed_at":"2024-02-04T10:48:29.087Z","dependency_job_id":"0d10d467-19f0-47a1-ae6e-48259a8331e0","html_url":"https://github.com/L-codes/LTProxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L-codes%2FLTProxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L-codes%2FLTProxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L-codes%2FLTProxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L-codes%2FLTProxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/L-codes","download_url":"https://codeload.github.com/L-codes/LTProxy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247760847,"owners_count":20991531,"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":["linux-proxy","proxifier","proxychains","transparent-proxy"],"created_at":"2024-11-06T07:26:07.477Z","updated_at":"2025-04-08T01:33:49.334Z","avatar_url":"https://github.com/L-codes.png","language":"Ruby","readme":"# LTPorxy\n\n**LTProxy** 是一个 Linux 上 **Proxifier** 的透明代理链替代方案 (基于 `iptables + proxychains4 + ipt2socks` 实现)\n\n\u003e 还在为不断 `proxychains4 cmd` 而感到苦恼吗? 还在为 golang 等程序无法使用 proxychains 而感到苦恼吗? 无感的透明代理最方便舒服! :)\n\n\n\u003e 此工具仅限于安全研究和教学，用户承担因使用此工具而导致的所有法律和相关责任！ 作者不承担任何法律和相关责任！\n\n\n## Version\n\n0.0.5 - [版本修改日志](CHANGELOG.md)\n\n\n## Features\n\n* 支持代理链\n* 支持规则路由\n* 采用易读改的 yaml 格式单文件配置\n\n## Dependencies\n* [**proxychains-ng**] - https://github.com/rofl0r/proxychains-ng\n* [**ipt2socks**] - https://github.com/zfl9/ipt2socks\n\n## Usage\n```ruby\n0. 需安装好 ruby、proxychains4 和 ipt2socks 的环境 (ruby 需要 3.0+)\n   $ command -v ruby proxychains4 ipt2socks  # 确保 shell 环境都能找到\n\n1. 配置 ltproxy.yml 文件 (具体配置示例与语法参考下面的 \"LTProxy Config File\")\n   配置文件会以下面顺序依次尝试读取配置文件\n     './ltproxy.yml' -\u003e '~/.ltproxy.yml' -\u003e '/etc/ltproxy.yml'\n   或启动时，通过 -f 参数指定配置文件\n   # cp config_demo.yml /etc/ltproxy.yml 即可快速编辑开始\n\n2. 启动 ltproxy 透明代理\n  ./ltproxy start  # ltproxy 需要以 root 权限运行\n                   # 并且初次运行会自动创建 ltproxy 用户给予 ipt2socks 使用\n\n  # 如更新 ltproxy.yml 配置文件则需要重新启动，如下\n  ./ltproxy restart # start 等价于 restart\n\n3. 关闭 ltproxy 透明代理\n  ./ltproxy stop\n```\n\n\u003e 注意当 `ltproxy` 和 `socks` 的服务运行在一个主机上的话，`socks` 的服务需要使用 `ltproxy` 用户运行，如: `sudo -u ltproxy ./socks5 -l xxxx`\n\n## LTProxy Config File\n\n#### Format\n- 规则和代理链的优先级自上往下\n```yaml\n# 语法格式\nrules:\n  - proxies:\n      - \u003csocks_type\u003e \u003chost\u003e \u003cport\u003e [username] [password]\n      - ...\n    target:\n      - \u003ctarget\u003e \u003cports\u003e\n      - ...\n\n  - ...\n\n# 字段解释\n# proxies\n    socks_type    代理的类型，目前支持 socks5/socks4/socks4a (最后一层代理目前仅支持 socks5)\n    host          代理地址\n    port          代理端口\n    username      如需认证可添上\n    password      如需认证可添上\n    # proxy 一列，也可以直接用 direct 表示跳过不走透明代理链\n# target\n    target        需要透明代理的目标地址，支持格式：192.168.*.* 10.0.0.0/8 192.168.1.1 等\n                  还支持别名 intranet extranet any，用于内网、外网和所有的选择\n    ports         可选默认 any, 支持格式：22,8000-9000 等\n```\n\n#### Example\n- 简单例子参考 `config_demo.yml` 文件\n- 为了展示目前支持的所有功能，下面是一个复杂的例子 :)\n- 建议每个项目目录下创建 `ltproxy.yml` 文件，即可保留使用的代理配置，并且 yaml 支持注释和标记引用等功能\n```yaml\nrules:\n  # 本地 192.168.12.0/24 跳过不走透明代理\n  - proxies:\n      - direct\n    target:\n      - 192.168.12.*\n\n  # 19.0.0.0/8、1.1.1.1、18.7.0.0/16、 172/168/10和内网网段的22/7000-9000端口走这个三层的代理链透明代理\n  - proxies:\n      - socks5 12.12.12.12 1080 twelve password\n      - socks4 172.16.1.2 1088\n      - socks5 19.128.1.2 8888 admin admin\n    target:\n      - 19.*.*.*\n      - 1.1.1.1\n      - intranet 22,7000-9000\n      - 18.7.0.0/16\n\n  # 其它外网的 IP 通过 socks5:21.21.21.21:1080 透明代理访问\n  - proxies:\n      - socks5 21.21.21.21 1080\n    target:\n      - extranet\n```\n\n## TODO\n\n * 使用 TPROXY 支持 UDP 透明代理\n\n * 考虑是否加入 uid/gid 等路由规则\n\n\u003e 目前太多任务，根据用户需求量调整优先级，TODO 的新功能设置了个闹钟，每 500 star 完成一个 TODO 任务! :)\n\n\n## License\n\nGPL 3.0\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl-codes%2Fltproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fl-codes%2Fltproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl-codes%2Fltproxy/lists"}