mirror of
https://github.com/springzfx/cgproxy.git
synced 2026-04-23 10:11:04 +08:00
add v2ray config example
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,5 @@
|
|||||||
build
|
build
|
||||||
.directory
|
.directory
|
||||||
.vscode
|
.vscode
|
||||||
|
v2ray_config/proxy
|
||||||
|
v2ray_config/06_outbounds_proxy.json
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.10)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
|
|
||||||
project(cgproxy VERSION 3.4)
|
project(cgproxy VERSION 3.5)
|
||||||
add_executable(cgattach cgattach.cpp)
|
add_executable(cgattach cgattach.cpp)
|
||||||
|
|
||||||
install(TARGETS cgattach DESTINATION /usr/bin
|
install(TARGETS cgattach DESTINATION /usr/bin
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ sudo systemctl restart cgproxy.service
|
|||||||
## TIPS
|
## TIPS
|
||||||
|
|
||||||
- `systemd-cgls` to see the cgroup hierarchical tree.
|
- `systemd-cgls` to see the cgroup hierarchical tree.
|
||||||
|
- v2ray full config exmaple in [v2ray_buid](https://github.com/springzfx/cgproxy/tree/master/v2ray_buid), more to see [v2ray multi-file config](https://www.v2fly.org/chapter_02/multiple_config.html)
|
||||||
- Qv2ray config example
|
- Qv2ray config example
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
5
v2ray_config/00_log.json
Normal file
5
v2ray_config/00_log.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"loglevel": "debug"
|
||||||
|
}
|
||||||
|
}
|
||||||
10
v2ray_config/01_api.json
Normal file
10
v2ray_config/01_api.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"api": {
|
||||||
|
"services": [
|
||||||
|
"HandlerService",
|
||||||
|
"LoggerService",
|
||||||
|
"StatsService"
|
||||||
|
],
|
||||||
|
"tag": "API"
|
||||||
|
}
|
||||||
|
}
|
||||||
19
v2ray_config/02_dns.json
Normal file
19
v2ray_config/02_dns.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"dns": {
|
||||||
|
"servers": [
|
||||||
|
{
|
||||||
|
"address": "localhost",
|
||||||
|
"port": 53,
|
||||||
|
"domains": [
|
||||||
|
"geosite:cn"
|
||||||
|
],
|
||||||
|
"expectIPs": [
|
||||||
|
"geoip:cn"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"https+local://1.1.1.1/dns-query",
|
||||||
|
"223.6.6.6"
|
||||||
|
],
|
||||||
|
"tag": "dns_inbound"
|
||||||
|
}
|
||||||
|
}
|
||||||
60
v2ray_config/03_routing.json
Normal file
60
v2ray_config/03_routing.json
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
{
|
||||||
|
"routing": {
|
||||||
|
"domainStrategy": "IPIfNonMatch",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"outboundTag": "dns-out",
|
||||||
|
"port": "53",
|
||||||
|
"type": "field"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": [
|
||||||
|
"geosite:google",
|
||||||
|
"geosite:github",
|
||||||
|
"geosite:netflix",
|
||||||
|
"geosite:steam",
|
||||||
|
"geosite:telegram",
|
||||||
|
"geosite:tumblr",
|
||||||
|
"geosite:bbc"
|
||||||
|
],
|
||||||
|
"outboundTag": "outBound_PROXY",
|
||||||
|
"type": "field"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ip": [
|
||||||
|
"geoip:private"
|
||||||
|
],
|
||||||
|
"outboundTag": "outBound_DIRECT",
|
||||||
|
"type": "field"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": [
|
||||||
|
"geosite:category-ads-all"
|
||||||
|
],
|
||||||
|
"outboundTag": "outBound_BLACKHOLE",
|
||||||
|
"type": "field"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ip": [
|
||||||
|
"geoip:cn"
|
||||||
|
],
|
||||||
|
"outboundTag": "outBound_DIRECT",
|
||||||
|
"type": "field"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": [
|
||||||
|
"geosite:cn"
|
||||||
|
],
|
||||||
|
"outboundTag": "outBound_DIRECT",
|
||||||
|
"type": "field"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"inboundTag": [
|
||||||
|
"inbound_API"
|
||||||
|
],
|
||||||
|
"outboundTag": "API",
|
||||||
|
"type": "field"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
8
v2ray_config/04_policy.json
Normal file
8
v2ray_config/04_policy.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"policy": {
|
||||||
|
"system": {
|
||||||
|
"statsInboundDownlink": true,
|
||||||
|
"statsInboundUplink": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
14
v2ray_config/05_inbounds_api.json
Normal file
14
v2ray_config/05_inbounds_api.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"listen": "127.0.0.1",
|
||||||
|
"port": 15490,
|
||||||
|
"protocol": "dokodemo-door",
|
||||||
|
"settings": {
|
||||||
|
"address": "127.0.0.1"
|
||||||
|
},
|
||||||
|
"sniffing": {},
|
||||||
|
"tag": "inbound_API"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
13
v2ray_config/05_inbounds_http.json
Normal file
13
v2ray_config/05_inbounds_http.json
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"listen": "127.0.0.1",
|
||||||
|
"port": 8888,
|
||||||
|
"protocol": "http",
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
"tag": "http_IN"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
17
v2ray_config/05_inbounds_socks5.json
Normal file
17
v2ray_config/05_inbounds_socks5.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"listen": "127.0.0.1",
|
||||||
|
"port": 1080,
|
||||||
|
"protocol": "socks",
|
||||||
|
"settings": {
|
||||||
|
"auth": "noauth",
|
||||||
|
"userLevel": 0
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
"tag": "socks_IN"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
30
v2ray_config/05_inbounds_tproxy.json
Normal file
30
v2ray_config/05_inbounds_tproxy.json
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"listen": "0.0.0.0",
|
||||||
|
"port": 12345,
|
||||||
|
"protocol": "dokodemo-door",
|
||||||
|
"settings": {
|
||||||
|
"address": "",
|
||||||
|
"followRedirect": true,
|
||||||
|
"network": "tcp,udp",
|
||||||
|
"port": 0,
|
||||||
|
"timeout": 0,
|
||||||
|
"userLevel": 0
|
||||||
|
},
|
||||||
|
"sniffing": {
|
||||||
|
"destOverride": [
|
||||||
|
"http",
|
||||||
|
"tls"
|
||||||
|
],
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"sockopt": {
|
||||||
|
"tproxy": "tproxy"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tag": "tproxy_IN"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
19
v2ray_config/06_outbounds_blackhole.json
Normal file
19
v2ray_config/06_outbounds_blackhole.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "blackhole",
|
||||||
|
"sendThrough": "0.0.0.0",
|
||||||
|
"settings": {
|
||||||
|
"response": {
|
||||||
|
"type": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"sockopt": {
|
||||||
|
"mark": 255
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tag": "outBound_BLACKHOLE"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
13
v2ray_config/06_outbounds_dns.json
Normal file
13
v2ray_config/06_outbounds_dns.json
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "dns",
|
||||||
|
"streamSettings": {
|
||||||
|
"sockopt": {
|
||||||
|
"mark": 255
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tag": "dns-out"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
19
v2ray_config/06_outbounds_freedom.json
Normal file
19
v2ray_config/06_outbounds_freedom.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "freedom",
|
||||||
|
"sendThrough": "0.0.0.0",
|
||||||
|
"settings": {
|
||||||
|
"domainStrategy": "UseIP",
|
||||||
|
"redirect": ":0",
|
||||||
|
"userLevel": 0
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"sockopt": {
|
||||||
|
"mark": 255
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tag": "outBound_DIRECT"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
1
v2ray_config/06_outbounds_myproxy.json
Normal file
1
v2ray_config/06_outbounds_myproxy.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
1
v2ray_config/07_transport.json
Normal file
1
v2ray_config/07_transport.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
3
v2ray_config/08_stats.json
Normal file
3
v2ray_config/08_stats.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"stats": {}
|
||||||
|
}
|
||||||
1
v2ray_config/09_reverse.json
Normal file
1
v2ray_config/09_reverse.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
2
v2ray_config/merge.sh
Normal file
2
v2ray_config/merge.sh
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
jq -rs 'reduce .[] as $item ({}; . + $item + {inbounds: (.inbounds + $item.inbounds)} + {outbounds: ($item.outbounds + .outbounds)})' *.json |sudo tee /etc/v2ray/config.json
|
||||||
1
v2ray_config/readme.md
Normal file
1
v2ray_config/readme.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Fill `06_outbounds_myproxy.json` with your vmess proxy config with tag `outBound_PROXY`.
|
||||||
19
v2ray_config/v2ray.service
Normal file
19
v2ray_config/v2ray.service
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=V2Ray - A unified platform for anti-censorship
|
||||||
|
Documentation=https://v2ray.com https://guide.v2fly.org
|
||||||
|
After=network.target nss-lookup.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=nobody
|
||||||
|
#AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||||
|
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||||
|
NoNewPrivileges=yes
|
||||||
|
ExecStart=+/usr/lib/v2ray/v2ray -config /etc/v2ray/config.json
|
||||||
|
Restart=on-failure
|
||||||
|
# Don't restart in the case of configuration error
|
||||||
|
RestartPreventExitStatus=23
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
Reference in New Issue
Block a user