{"id":13776028,"url":"https://github.com/ehco1996/v2scar","last_synced_at":"2025-09-23T22:18:30.583Z","repository":{"id":49758238,"uuid":"203800967","full_name":"Ehco1996/v2scar","owner":"Ehco1996","description":"sidecar for V2ray","archived":false,"fork":false,"pushed_at":"2022-10-09T01:21:28.000Z","size":59,"stargazers_count":123,"open_issues_count":2,"forks_count":89,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-08-12T15:54:10.600Z","etag":null,"topics":["sidecar","sspanel","v2ray"],"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/Ehco1996.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}},"created_at":"2019-08-22T13:28:20.000Z","updated_at":"2025-01-08T19:27:19.000Z","dependencies_parsed_at":"2023-01-19T16:31:42.538Z","dependency_job_id":null,"html_url":"https://github.com/Ehco1996/v2scar","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/Ehco1996/v2scar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ehco1996%2Fv2scar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ehco1996%2Fv2scar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ehco1996%2Fv2scar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ehco1996%2Fv2scar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ehco1996","download_url":"https://codeload.github.com/Ehco1996/v2scar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ehco1996%2Fv2scar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271402264,"owners_count":24753262,"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-20T02:00:09.606Z","response_time":69,"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":["sidecar","sspanel","v2ray"],"created_at":"2024-08-03T17:01:57.841Z","updated_at":"2025-09-23T22:18:28.597Z","avatar_url":"https://github.com/Ehco1996.png","language":"Go","funding_links":[],"categories":["\u003ca id=\"d03d494700077f6a65092985c06bf8e8\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"dbc310300d300ae45b04779281fe6ec8\"\u003e\u003c/a\u003eV2Ray"],"readme":"# v2scar\n\nSidecar For V2ray\n\n![go-releaser](https://github.com/Ehco1996/v2scar/workflows/go-releaser/badge.svg)\n\n## 视频安装教程\n\n* 面板视频安装教程: [地址](https://youtu.be/BRHcdGeufvY)\n\n* 后端对接视频教程: [地址](https://youtu.be/QNbnya1HHU0)\n\n* 隧道对接视频教程: [地址](https://youtu.be/R4U0NZaMUeY)\n\n## 原理介绍\n\n该项目需要以 `sidecar` 的形式和 `v2ray` 部署在一台机器上\n\n他通过grpc接口动态添加/删除V2ray的 `Vmess/Trojan` 用户, 并统计流量\n\n通过接入 `django-sspanel` 的api，可以动态调节v2ray的Vmess/Trojan用户\n\n目前实现了以下几个接口：\n\n* AddInboundUser\n* RemoveInboundUser\n* GetAndResetUserTraffic\n\n## 使用说明\n\n* 可以直接以cli的形式运行:\n\n `./v2scar --api-endpoint=\"xxx\" --grpc-endpoint=\"127.0.0.1:8080\" --sync-time=60`\n\n* 或者通过配置环境变量来运行:\n\n``` bash\nexport V2SCAR_SYNC_TIME=60 # 和django-sspanel同步的时间间隔\nexport V2SCAR_API_ENDPOINT=\"xxxx\" # 这个是django-sspanel的sync api 地址\nexport V2SCAR_GRPC_ENDPOINT=\"127.0.0.1:8080\" # 这个是机器上v2ray开放的grpc地址\n```\n\n## 配置V2ray:\n\n\u003e 这只是一份参考的配置，\n\u003e 关键的部分在于 `stats/api/policy/routing`\n\n\u003e 另外如果需要对接 django-sspanel的话，配置里的inbound的 `port/tag/level` 必须和面板后台里的配置相同\n\n``` json\n{\n    \"stats\": {},\n    \"api\": {\n        \"tag\": \"api\",\n        \"services\": [\n            \"HandlerService\",\n            \"StatsService\"\n        ]\n    },\n    \"log\": {\n        \"loglevel\": \"warning\"\n    },\n    \"policy\": {\n        \"levels\": {\n            \"0\": {\n                \"statsUserUplink\": true,\n                \"statsUserDownlink\": true\n            }\n        },\n        \"system\": {\n            \"statsInboundUplink\": true,\n            \"statsInboundDownlink\": true\n        }\n    },\n    \"inbounds\": [\n        {\n            \"tag\": \"proxy\",\n            \"port\": 10086,\n            \"protocol\": \"vmess\",\n            \"settings\": {\n                \"clients\": []\n            }\n        },\n        {\n            \"listen\": \"127.0.0.1\",\n            \"port\": 8080,\n            \"protocol\": \"dokodemo-door\",\n            \"settings\": {\n                \"address\": \"127.0.0.1\"\n            },\n            \"tag\": \"api\"\n        }\n    ],\n    \"outbounds\": [\n        {\n            \"protocol\": \"freedom\",\n            \"settings\": {}\n        }\n    ],\n    \"routing\": {\n        \"settings\": {\n            \"rules\": [\n                {\n                    \"inboundTag\": [\n                        \"api\"\n                    ],\n                    \"outboundTag\": \"api\",\n                    \"type\": \"field\"\n                }\n            ]\n        },\n        \"strategy\": \"rules\"\n    }\n}\n```\n\n## dev\n\ngo get v2ray的时候需要 `export GONOSUMDB=v2ray.com/core,github.com/v2fly/v2ray-core`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fehco1996%2Fv2scar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fehco1996%2Fv2scar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fehco1996%2Fv2scar/lists"}