{"id":13775830,"url":"https://github.com/linw1995/lightsocks-python","last_synced_at":"2026-01-30T11:36:23.033Z","repository":{"id":102528085,"uuid":"109812278","full_name":"linw1995/lightsocks-python","owner":"linw1995","description":"⚡️一个轻巧的网络混淆代理🌏","archived":false,"fork":false,"pushed_at":"2019-07-08T04:58:48.000Z","size":28,"stargazers_count":260,"open_issues_count":4,"forks_count":109,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-05-05T02:12:12.542Z","etag":null,"topics":["asyncio","gfw","proxy","shadowsocks","socks"],"latest_commit_sha":null,"homepage":null,"language":"Python","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/linw1995.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}},"created_at":"2017-11-07T09:12:34.000Z","updated_at":"2024-11-20T06:33:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"cc8f621f-e06b-43dc-bfd9-c35551e5886c","html_url":"https://github.com/linw1995/lightsocks-python","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/linw1995%2Flightsocks-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linw1995%2Flightsocks-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linw1995%2Flightsocks-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linw1995%2Flightsocks-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linw1995","download_url":"https://codeload.github.com/linw1995/lightsocks-python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253540437,"owners_count":21924521,"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":["asyncio","gfw","proxy","shadowsocks","socks"],"created_at":"2024-08-03T17:01:51.831Z","updated_at":"2026-01-30T11:36:23.005Z","avatar_url":"https://github.com/linw1995.png","language":"Python","funding_links":[],"categories":["\u003ca id=\"d03d494700077f6a65092985c06bf8e8\"\u003e\u003c/a\u003e工具","Python"],"sub_categories":["\u003ca id=\"57b8e953d394bbed52df2a6976d98dfa\"\u003e\u003c/a\u003eSocks"],"readme":"[![license](https://img.shields.io/github/license/linw1995/lightsocks-python.svg)](https://github.com/linw1995/lightsocks-python/blob/master/LICENSE)\n[![GitHub last commit](https://img.shields.io/github/last-commit/linw1995/lightsocks-python.svg)](https://github.com/linw1995/lightsocks-python)\n[![Build Status](https://travis-ci.org/linw1995/lightsocks-python.svg?branch=master)](https://travis-ci.org/linw1995/lightsocks-python)\n[![Coverage Status](https://coveralls.io/repos/github/linw1995/lightsocks-python/badge.svg)](https://coveralls.io/github/linw1995/lightsocks-python)\n\n# [Lightsocks-Python](https://github.com/linw1995/lightsocks-python)\n\n一个轻量级网络混淆代理，基于 SOCKS5 协议，可用来代替 Shadowsocks。\n\n- 只专注于混淆，用最简单高效的混淆算法达到目的；\n- Py3.6 asyncio实现；\n\n\u003e 本项目为 [你也能写个 Shadowsocks](https://github.com/gwuhaolin/blog/issues/12) 的 Python 实现\n\u003e 作者实现了 GO 版本 **[Lightsocks](https://github.com/gwuhaolin/lightsocks)**\n\n## 安装\n\npython版本为最新的3.6\n\n```bash\ngit clone https://github.com/linw1995/lightsocks-python\ncd lightsocks-python\npip install -r requirements.txt\n```\n\n## 使用\n\n### lsserver\n\n用于运行在代理服务器的客户端，会还原混淆数据\n\n```bash\n$ python lsserver.py -h\nusage: lsserver.py [-h] [--version] [--save CONFIG] [-c CONFIG]\n                   [-s SERVER_ADDR] [-p SERVER_PORT] [-k PASSWORD] [--random]\n\nA light tunnel proxy that helps you bypass firewalls\n\noptional arguments:\n  -h, --help      show this help message and exit\n  --version       show version information\n\nProxy options:\n  --save CONFIG   path to dump config\n  -c CONFIG       path to config file\n  -s SERVER_ADDR  server address, default: 0.0.0.0\n  -p SERVER_PORT  server port, default: 8388\n  -k PASSWORD     password\n  --random        generate a random password to use\n```\n\n```bash\n$ python lsserver.py --random --save config.json\ngenerate random password\ndump config file into 'config.json'\nListen to 0.0.0.0:8388\n\nPlease use:\n\nlslocal -u \"http://hostname:port/#vJjC3tW5l4nG7C3dHZ7hc77cIYrE2q0ikrWQw2MsRa9rqVlDU9vFTF5Hu6PX367kV6qRPU_z-Y_0sio4DAVV-1bmFrfoYoEHmmWkH9L1UDLZqOv8oYvPbe-miAg5Ow58aheFPitEeTX2bmhYC8nQFf1kA5lxpyc0Ljc2W2Du7TESlFIB8aJ7kz-DnczTXcsUv1oYlhpR-AbKf_DI8jMN_tRNdF-szgIJEQrqZ7alvfrNhCCVQNZ-EIIpSOOfXI7nnMC42B48h3egGzBsSpvpaXCNRhME4mEmePd2HFSrD0ty0SUAhjpvTv9BweUZgHrHKLG6Qi-zjLC0JEngI3VmfQ==\"\n\nto config lslocal\n```\n\n### lslocal\n\n用于运行在本地电脑的客户端，用于桥接本地浏览器和远程代理服务，传输前会混淆数据\n\n```bash\n$ python lslocal.py -h\nusage: lslocal.py [-h] [--version] [--save CONFIG] [-c CONFIG] [-u URL]\n                  [-s SERVER_ADDR] [-p SERVER_PORT] [-b LOCAL_ADDR]\n                  [-l LOCAL_PORT] [-k PASSWORD]\n\nA light tunnel proxy that helps you bypass firewalls\n\noptional arguments:\n  -h, --help      show this help message and exit\n  --version       show version information\n\nProxy options:\n  --save CONFIG   path to dump config\n  -c CONFIG       path to config file\n  -u URL          url contains server address, port and password\n  -s SERVER_ADDR  server address\n  -p SERVER_PORT  server port, default: 8388\n  -b LOCAL_ADDR   local binding address, default: 127.0.0.1\n  -l LOCAL_PORT   local port, default: 1080\n  -k PASSWORD     password\n```\n\n```bash\n$ python lslocal.py -u \"http://remoteAddr:remotePort/#password\" --save config.json\ndump config file into 'config.json'\nListen to 127.0.0.1:1080\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinw1995%2Flightsocks-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinw1995%2Flightsocks-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinw1995%2Flightsocks-python/lists"}