|
@ -1,20 +1,35 @@ |
|
|
XRAY_DIR="/etc/xray" |
|
|
XRAY_DIR="/etc/xray" |
|
|
LOG_DIR="$XRAY_DIR/expose/log" |
|
|
LOG_DIR="$XRAY_DIR/expose/log" |
|
|
|
|
|
CONFIG_DIR="$XRAY_DIR/expose/config" |
|
|
|
|
|
|
|
|
|
|
|
load_log(){ |
|
|
|
|
|
log_level=`cat $LOG_DIR/level` |
|
|
|
|
|
legal=false |
|
|
|
|
|
[ "$log_level" == "debug" ] && legal=true |
|
|
|
|
|
[ "$log_level" == "info" ] && legal=true |
|
|
|
|
|
[ "$log_level" == "warning" ] && legal=true |
|
|
|
|
|
[ "$log_level" == "error" ] && legal=true |
|
|
|
|
|
[ "$log_level" == "none" ] && legal=true |
|
|
|
|
|
[ "$legal" == false ] && log_level="warning" |
|
|
|
|
|
cat>$XRAY_DIR/config/log.json<<EOF |
|
|
|
|
|
{ |
|
|
|
|
|
"log": { |
|
|
|
|
|
"loglevel": "$log_level", |
|
|
|
|
|
"access": "$LOG_DIR/access.log", |
|
|
|
|
|
"error": "$LOG_DIR/error.log" |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
EOF |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
load_inbounds(){ |
|
|
load_inbounds(){ |
|
|
cat>$XRAY_DIR/conf/inbounds.json<<EOF |
|
|
cat>$XRAY_DIR/config/inbounds.json<<EOF |
|
|
{ |
|
|
{ |
|
|
"inbounds": [ |
|
|
"inbounds": [ |
|
|
{ |
|
|
{ |
|
|
"tag": "tproxy", |
|
|
"tag": "tproxy", |
|
|
"port": 7288, |
|
|
"port": 7288, |
|
|
"protocol": "dokodemo-door", |
|
|
"protocol": "dokodemo-door", |
|
|
"sniffing": { |
|
|
|
|
|
"enabled": true, |
|
|
|
|
|
"destOverride": [ |
|
|
|
|
|
"http", |
|
|
|
|
|
"tls" |
|
|
|
|
|
] |
|
|
|
|
|
}, |
|
|
|
|
|
"settings": { |
|
|
"settings": { |
|
|
"network": "tcp,udp", |
|
|
"network": "tcp,udp", |
|
|
"followRedirect": true |
|
|
"followRedirect": true |
|
@ -82,28 +97,8 @@ cat>$XRAY_DIR/conf/inbounds.json<<EOF |
|
|
EOF |
|
|
EOF |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
load_log(){ |
|
|
|
|
|
log_level=`cat $LOG_DIR/level` |
|
|
|
|
|
legal=false |
|
|
|
|
|
[ "$log_level" == "debug" ] && legal=true |
|
|
|
|
|
[ "$log_level" == "info" ] && legal=true |
|
|
|
|
|
[ "$log_level" == "warning" ] && legal=true |
|
|
|
|
|
[ "$log_level" == "error" ] && legal=true |
|
|
|
|
|
[ "$log_level" == "none" ] && legal=true |
|
|
|
|
|
[ "$legal" == false ] && log_level="warning" |
|
|
|
|
|
cat>$XRAY_DIR/conf/log.json<<EOF |
|
|
|
|
|
{ |
|
|
|
|
|
"log": { |
|
|
|
|
|
"loglevel": "$log_level", |
|
|
|
|
|
"access": "$LOG_DIR/access.log", |
|
|
|
|
|
"error": "$LOG_DIR/error.log" |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
EOF |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
load_outbounds(){ |
|
|
load_outbounds(){ |
|
|
cat>$XRAY_DIR/expose/outbounds.json<<EOF |
|
|
cat>$CONFIG_DIR/outbounds.json<<EOF |
|
|
{ |
|
|
{ |
|
|
"outbounds": [ |
|
|
"outbounds": [ |
|
|
{ |
|
|
{ |
|
@ -116,10 +111,10 @@ EOF |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
load_routing(){ |
|
|
load_routing(){ |
|
|
cat>$XRAY_DIR/expose/routing.json<<EOF |
|
|
cat>$CONFIG_DIR/routing.json<<EOF |
|
|
{ |
|
|
{ |
|
|
"routing": { |
|
|
"routing": { |
|
|
"domainStrategy": "IPIfNonMatch", |
|
|
"domainStrategy": "AsIs", |
|
|
"rules": [ |
|
|
"rules": [ |
|
|
{ |
|
|
{ |
|
|
"type": "field", |
|
|
"type": "field", |
|
@ -141,12 +136,11 @@ EOF |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
load_dns(){ |
|
|
load_dns(){ |
|
|
cat>$XRAY_DIR/expose/dns.json<<EOF |
|
|
cat>$CONFIG_DIR/dns.json<<EOF |
|
|
{ |
|
|
{ |
|
|
"dns": { |
|
|
"dns": { |
|
|
"servers": [ |
|
|
"servers": [ |
|
|
"223.5.5.5", |
|
|
"localhost" |
|
|
"119.29.29.29" |
|
|
|
|
|
] |
|
|
] |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -170,18 +164,20 @@ FF00::/8 |
|
|
EOF |
|
|
EOF |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
mkdir -p $XRAY_DIR/conf |
|
|
mkdir -p $XRAY_DIR/config |
|
|
mkdir -p $XRAY_DIR/expose/segment |
|
|
mkdir -p $XRAY_DIR/expose/segment |
|
|
mkdir -p $LOG_DIR |
|
|
mkdir -p $LOG_DIR |
|
|
|
|
|
mkdir -p $CONFIG_DIR |
|
|
|
|
|
|
|
|
[ ! -s "$LOG_DIR/access.log" ] && touch $LOG_DIR/access.log |
|
|
[ ! -s "$LOG_DIR/access.log" ] && touch $LOG_DIR/access.log |
|
|
[ ! -s "$LOG_DIR/error.log" ] && touch $LOG_DIR/error.log |
|
|
[ ! -s "$LOG_DIR/error.log" ] && touch $LOG_DIR/error.log |
|
|
load_inbounds |
|
|
|
|
|
load_log |
|
|
load_log |
|
|
[ ! -s "$XRAY_DIR/expose/outbounds.json" ] && load_outbounds |
|
|
load_inbounds |
|
|
[ ! -s "$XRAY_DIR/expose/routing.json" ] && load_routing |
|
|
[ ! -s "$CONFIG_DIR/outbounds.json" ] && load_outbounds |
|
|
[ ! -s "$XRAY_DIR/expose/dns.json" ] && load_dns |
|
|
[ ! -s "$CONFIG_DIR/routing.json" ] && load_routing |
|
|
cp $XRAY_DIR/expose/outbounds.json $XRAY_DIR/conf/ |
|
|
[ ! -s "$CONFIG_DIR/dns.json" ] && load_dns |
|
|
cp $XRAY_DIR/expose/routing.json $XRAY_DIR/conf/ |
|
|
cp $CONFIG_DIR/*.json $XRAY_DIR/config/ |
|
|
cp $XRAY_DIR/expose/dns.json $XRAY_DIR/conf/ |
|
|
|
|
|
[ ! -s "$XRAY_DIR/expose/segment/ipv4" ] && load_ipv4 |
|
|
[ ! -s "$XRAY_DIR/expose/segment/ipv4" ] && load_ipv4 |
|
|
[ ! -s "$XRAY_DIR/expose/segment/ipv6" ] && load_ipv6 |
|
|
[ ! -s "$XRAY_DIR/expose/segment/ipv6" ] && load_ipv6 |
|
|