Browse Source

refactor: new file structure

master
dnomd343 3 years ago
parent
commit
decf5da1c2
  1. 2
      Dockerfile
  2. 80
      load.sh

2
Dockerfile

@ -9,7 +9,7 @@ COPY --from=asset /tmp/asset/ /etc/xray/asset/
COPY --from=asset /tmp/xray/xray /usr/bin/ COPY --from=asset /tmp/xray/xray /usr/bin/
ENV XRAY_LOCATION_ASSET=/etc/xray/asset ENV XRAY_LOCATION_ASSET=/etc/xray/asset
RUN apk --update add --no-cache iptables ip6tables && \ RUN apk --update add --no-cache iptables ip6tables && \
mkdir -p /etc/xray/conf && \ mkdir -p /etc/xray/config && \
mkdir -p /etc/xray/expose/log && \ mkdir -p /etc/xray/expose/log && \
mkdir -p /etc/xray/expose/segment && \ mkdir -p /etc/xray/expose/segment && \
mv /etc/xray/tproxy.sh / mv /etc/xray/tproxy.sh /

80
load.sh

@ -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

Loading…
Cancel
Save