1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
{
"log": {
"loglevel": "debug",
"access": "/logs/xray-access.log",
"error": "/logs/xray-error.log",
"dnsLog": false
},
"stats": {},
"api": {
"tag": "api",
"services": [
"StatsService"
]
},
"policy": {
"levels": {
"0": {
"statsUserUplink": true,
"statsUserDownlink": true
}
}
},
"inbounds": [
{% if inventory_hostname in (groups['trojan']|default([])) + (groups['all_vpns']|default([])) %}
{
"listen": "0.0.0.0",
"port": {{ trojan_port|default(4436) }},
"protocol": "trojan",
"settings": {
"clients": []
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "behindthename.com:443",
"serverNames": [
"behindthename.com",
"www.behindthename.com"
],
"xver": 0,
"privateKey": "{{ xray_private_key }}",
"maxTimeDiff": 0,
"shortIds": [""]
}
}
},
{% endif %}
{% if inventory_hostname in (groups['vless']|default([])) + (groups['all_vpns']|default([])) %}
{
"listen": "0.0.0.0",
"port": {{ vless_port|default(4437) }},
"protocol": "vless",
"settings": {
"decryption": "none",
"clients": []
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "behindthename.com:443",
"serverNames": [
"behindthename.com",
"www.behindthename.com"
],
"xver": 0,
"privateKey": "{{ xray_private_key }}",
"maxTimeDiff": 0,
"shortIds": [""]
}
}
},
{% endif %}
{% if inventory_hostname in (groups['vmess']|default([])) + (groups['all_vpns']|default([])) %}
{
"listen": "0.0.0.0",
"port": {{ vmess_port|default(4438) }},
"protocol": "vmess",
"settings": {
"clients": []
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "behindthename.com:443",
"serverNames": [
"behindthename.com",
"www.behindthename.com"
],
"xver": 0,
"privateKey": "{{ xray_private_key }}",
"maxTimeDiff": 0,
"shortIds": [""]
}
}
},
{% endif %}
{
"listen": "127.0.0.1",
"port": 10085,
"protocol": "dokodemo-door",
"settings": {
"address": "127.0.0.1"
},
"tag": "api"
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
}
],
"routing": {
"rules": [
{
"inboundTag": [
"api"
],
"outboundTag": "api",
"type": "field"
}
]
}
}
|