From 7362665c09d0e0dce7bcc5d05821976ca3199ba6 Mon Sep 17 00:00:00 2001 From: Samuel Huang Date: Sun, 29 Aug 2021 13:55:45 +1000 Subject: [PATCH] Change trojan user into u=psw[:level[:email]] --- README.md | 24 ++++++++++++++++-------- run.sh | 14 +++++++------- server-ltt.sh | 10 +++++----- server-lttg.sh | 10 +++++----- server-lttw.sh | 10 +++++----- server-ltx.sh | 10 +++++----- server-mtt.sh | 10 +++++----- server-mttw.sh | 10 +++++----- server-ttt.sh | 19 ++++++++++++------- server-tttw.sh | 19 ++++++++++++------- 10 files changed, 77 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index 48f91c4..3ca2f5f 100644 --- a/README.md +++ b/README.md @@ -32,14 +32,14 @@ server-xray -- [-r|--request-domain [Optional] Reading TLS certs from folder //. Multiple allowed -i|--stdin [Optional] Read config from stdin instead of auto generation -d|--debug [Optional] Start in debug mode with verbose output - --ltx [p=443,]d=domain.com,u=id[:level[:email]][,f=[fallback-host]:fb-port:[fb-path]] - --ltt [p=443,]d=domain.com,u=id[:level[:email]][,f=[fallback-host]:fb-port:[fb-path]] - --lttw [p=443,]d=domain.com,u=id[:level[:email]][,f=[fallback-host]:fb-port:[fb-path]],w=/webpath + --ltx [p=443,]d=domain.com,u=id[:level[:email]][,f=[fb-host]:fb-port:[fb-path]] + --ltt [p=443,]d=domain.com,u=id[:level[:email]][,f=[fb-host]:fb-port:[fb-path]] + --lttw [p=443,]d=domain.com,u=id[:level[:email]][,f=[fb-host]:fb-port:[fb-path]],w=/webpath --lttg [p=443,]d=domain.com,u=id[:level[:email]],s=/svcpath,g=grpcport - --mtt [p=443,]d=domain.com,u=id[:level[:email]][,f=[fallback-host]:fb-port:[fb-path]] - --mttw [p=443,]d=domain.com,u=id[:level[:email]][,f=[fallback-host]:fb-port:[fb-path]],w=/webpath - --ttt [p=443,]d=domain.com,u=passwd[:email][,f=[fallback-host]:fb-port:[fb-path]] - --tttw [p=443,]d=domain.com,u=passwd[:email][,f=[fallback-host]:fb-port:[fb-path]],w=/webpath + --mtt [p=443,]d=domain.com,u=id[:level[:email]][,f=[fb-host]:fb-port:[fb-path]] + --mttw [p=443,]d=domain.com,u=id[:level[:email]][,f=[fb-host]:fb-port:[fb-path]],w=/webpath + --ttt [p=443,]d=domain.com,u=psw[:level[:email]][,f=[fb-host]:fb-port:[fb-path]] + --tttw [p=443,]d=domain.com,u=psw[:level[:email]][,f=[fb-host]:fb-port:[fb-path]],w=/webpath $ docker run --name server-xray -p 80:80 -p 443:2443 -d samuelhbne/server-xray \ --ltx p=2443,d=mydomain.duckdns.org,u=myid,f=:8080 \ @@ -64,9 +64,17 @@ Try to connect the server from Xray compatible mobile app like [v2rayNG](https:/ ```shell $ docker run --rm samuelhbne/proxy-xray -proxy-xray -- [connect options] [-i|--stdin] [-d|--debug] +proxy-xray -i|--stdin [Optional] Read config from stdin instead of auto generation -d|--debug [Optional] Start in debug mode with verbose output + --dns [Optional] Designated upstream DNS server ip, 1.1.1.1 will be applied by default + --china-direct [Optional] Add routing rules to avoid domain and ip located in China being proxied + --domain-direct [Optional] Add a domain rule for direct routing, likegeosite:geosite:geolocation-cn + --domain-proxy [Optional] Add a domain rule for proxy routing, like twitter.com or geosite:google-cn + --domain-block [Optional] Add a domain rule for block routing, like geosite:category-ads-all + --ip-direct [Optional] Add a ip-addr rule for direct routing, like 114.114.114.114/32 or geoip:cn + --ip-proxy [Optional] Add a ip-addr rule for proxy routing, like 1.1.1.1/32 or geoip:netflix + --ip-block [Optional] Add a ip-addr rule for block routing, like geoip:private --ltx id@host:port --ltt id@host:port --lttw id@host:port:/webpath diff --git a/run.sh b/run.sh index 7ffda57..a34d215 100755 --- a/run.sh +++ b/run.sh @@ -11,14 +11,14 @@ usage() { echo " -c|--cert-path [Optional] Reading TLS certs from folder //. Multiple allowed" echo " -i|--stdin [Optional] Read config from stdin instead of auto generation" echo " -d|--debug [Optional] Start in debug mode with verbose output" - echo " --ltx [p=443,]d=domain.com,u=id[:level[:email]][,f=[fallback-host]:fb-port:[fb-path]]" - echo " --ltt [p=443,]d=domain.com,u=id[:level[:email]][,f=[fallback-host]:fb-port:[fb-path]]" - echo " --lttw [p=443,]d=domain.com,u=id[:level[:email]][,f=[fallback-host]:fb-port:[fb-path]],w=/webpath" + echo " --ltx [p=443,]d=domain.com,u=id[:level[:email]][,f=[fb-host]:fb-port:[fb-path]]" + echo " --ltt [p=443,]d=domain.com,u=id[:level[:email]][,f=[fb-host]:fb-port:[fb-path]]" + echo " --lttw [p=443,]d=domain.com,u=id[:level[:email]][,f=[fb-host]:fb-port:[fb-path]],w=/webpath" echo " --lttg [p=443,]d=domain.com,u=id[:level[:email]],s=/svcpath,g=grpcport" - echo " --mtt [p=443,]d=domain.com,u=id[:level[:email]][,f=[fallback-host]:fb-port:[fb-path]]" - echo " --mttw [p=443,]d=domain.com,u=id[:level[:email]][,f=[fallback-host]:fb-port:[fb-path]],w=/webpath" - echo " --ttt [p=443,]d=domain.com,u=passwd[:email][,f=[fallback-host]:fb-port:[fb-path]]" - echo " --tttw [p=443,]d=domain.com,u=passwd[:email][,f=[fallback-host]:fb-port:[fb-path]],w=/webpath" + echo " --mtt [p=443,]d=domain.com,u=id[:level[:email]][,f=[fb-host]:fb-port:[fb-path]]" + echo " --mttw [p=443,]d=domain.com,u=id[:level[:email]][,f=[fb-host]:fb-port:[fb-path]],w=/webpath" + echo " --ttt [p=443,]d=domain.com,u=psw[:level[:email]][,f=[fb-host]:fb-port:[fb-path]]" + echo " --tttw [p=443,]d=domain.com,u=psw[:level[:email]][,f=[fb-host]:fb-port:[fb-path]],w=/webpath" # echo " --ssa [port=443,]user=password1:method1[,user=password2:method2]" # echo " --sst [port=443,]user=passwd,method=xxxx" } diff --git a/server-ltt.sh b/server-ltt.sh index 44f872b..4ab1168 100755 --- a/server-ltt.sh +++ b/server-ltt.sh @@ -71,11 +71,11 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" - echo "Correct user format: user=[:level:email]" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962:0:me@g.cn" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962::me@g.cn" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962:0" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962" + echo "Correct user format: user=[:level:email]" + echo "Like: user=myid:0:nobody@g.cn" + echo "Like: user=myid::nobody@g.cn" + echo "Like: user=myid:0" + echo "Like: user=myid" exit 1 fi if [ -z "${uopt[1]}" ]; then diff --git a/server-lttg.sh b/server-lttg.sh index 9466fab..4e05a65 100755 --- a/server-lttg.sh +++ b/server-lttg.sh @@ -81,11 +81,11 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" - echo "Correct user format: user=[:level:email]" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962:0:me@g.cn" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962::me@g.cn" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962:0" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962" + echo "Correct user format: user=[:level:email]" + echo "Like: user=myid:0:nobody@g.cn" + echo "Like: user=myid::nobody@g.cn" + echo "Like: user=myid:0" + echo "Like: user=myid" exit 1 fi if [ -z "${uopt[1]}" ]; then diff --git a/server-lttw.sh b/server-lttw.sh index 2fc7a76..d7778ab 100755 --- a/server-lttw.sh +++ b/server-lttw.sh @@ -80,11 +80,11 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" - echo "Correct user format: user=[:level:email]" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962:0:me@g.cn" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962::me@g.cn" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962:0" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962" + echo "Correct user format: user=[:level:email]" + echo "Like: user=myid:0:nobody@g.cn" + echo "Like: user=myid::nobody@g.cn" + echo "Like: user=myid:0" + echo "Like: user=myid" exit 1 fi if [ -z "${uopt[1]}" ]; then diff --git a/server-ltx.sh b/server-ltx.sh index 035c1f9..b33104f 100755 --- a/server-ltx.sh +++ b/server-ltx.sh @@ -71,11 +71,11 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" - echo "Correct user format: user=[:level:email]" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962:0:me@g.cn" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962::me@g.cn" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962:0" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962" + echo "Correct user format: user=[:level:email]" + echo "Like: user=myid:0:nobody@g.cn" + echo "Like: user=myid::nobody@g.cn" + echo "Like: user=myid:0" + echo "Like: user=myid" exit 1 fi if [ -z "${uopt[1]}" ]; then diff --git a/server-mtt.sh b/server-mtt.sh index 41e689a..bd93843 100755 --- a/server-mtt.sh +++ b/server-mtt.sh @@ -71,11 +71,11 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" - echo "Correct user format: user=[:level:email]" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962:0:me@g.cn" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962::me@g.cn" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962:0" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962" + echo "Correct user format: user=[:level:email]" + echo "Like: user=myid:0:nobody@g.cn" + echo "Like: user=myid::nobody@g.cn" + echo "Like: user=myid:0" + echo "Like: user=myid" exit 1 fi if [ -z "${uopt[1]}" ]; then diff --git a/server-mttw.sh b/server-mttw.sh index 3536ab9..9ca57da 100755 --- a/server-mttw.sh +++ b/server-mttw.sh @@ -80,11 +80,11 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" - echo "Correct user format: user=[:level:email]" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962:0:me@g.cn" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962::me@g.cn" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962:0" - echo "Like: user=805b2209-c26f-48d6-ba52-07b7d894f962" + echo "Correct user format: user=[:level:email]" + echo "Like: user=myid:0:nobody@g.cn" + echo "Like: user=myid::nobody@g.cn" + echo "Like: user=myid:0" + echo "Like: user=myid" exit 1 fi if [ -z "${uopt[1]}" ]; then diff --git a/server-ttt.sh b/server-ttt.sh index 36ad36d..550a378 100755 --- a/server-ttt.sh +++ b/server-ttt.sh @@ -1,7 +1,7 @@ #!/bin/bash usage() { - echo "Usage: server-ttt ,,,,[,fallback=www.baidu.com:443:/html][,fallback=:2443:/websocket2]" + echo "Usage: server-ttt ,,,,[,fallback=www.baidu.com:443:/html][,fallback=:2443:/websocket2]" } options=(`echo $1 |tr ',' ' '`) @@ -71,16 +71,21 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" - echo "Correct user format: user=[:email]" - echo "Like: user=trojan_pass:me@g.cn" - echo "Like: user=trojan_pass" + echo "Correct user format: user=password[:level[:email]" + echo "Like: user=mypass:0:me@g.cn" + echo "Like: user=mypass::me@g.cn" + echo "Like: user=mypass:0" + echo "Like: user=mypass" exit 1 fi if [ -z "${uopt[1]}" ]; then - uopt[1]="nobody@g.cn" + uopt[1]=0 fi - cat $XCONF |jq --arg port "${port}" --arg password "${uopt[0]}" --arg email "${uopt[1]}" \ - '( .inbounds[] | select(.port == ($port|tonumber)) | .settings.clients ) += [ {"password":$password, "email":$email} ] ' \ + if [ -z "${uopt[2]}" ]; then + uopt[2]="nobody@g.cn" + fi + cat $XCONF |jq --arg port "${port}" --arg pass "${uopt[0]}" --arg level "${uopt[1]}" --arg email "${uopt[2]}" \ + '( .inbounds[] | select(.port == ($port|tonumber)) | .settings.clients ) += [ {"password":$pass, "level":($level|tonumber), "email":$email} ] ' \ |sponge $XCONF done diff --git a/server-tttw.sh b/server-tttw.sh index f83be53..62513fa 100755 --- a/server-tttw.sh +++ b/server-tttw.sh @@ -1,7 +1,7 @@ #!/bin/bash usage() { - echo "Usage: server-tttw ,,,,,[,fallback=www.baidu.com:443:/html][,fallback=:2443:/websocket2]" + echo "Usage: server-tttw ,,,,[,fallback=www.baidu.com:443:/html][,fallback=:2443:/websocket2]" } options=(`echo $1 |tr ',' ' '`) @@ -80,16 +80,21 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" - echo "Correct user format: user=[:email]" - echo "Like: user=trojan_pass:me@g.cn" - echo "Like: user=trojan_pass" + echo "Correct user format: user=password[:level[:email]" + echo "Like: user=mypass:0:me@g.cn" + echo "Like: user=mypass::me@g.cn" + echo "Like: user=mypass:0" + echo "Like: user=mypass" exit 1 fi if [ -z "${uopt[1]}" ]; then - uopt[1]="nobody@g.cn" + uopt[1]=0 fi - cat $XCONF |jq --arg port "${port}" --arg password "${uopt[0]}" --arg email "${uopt[1]}" \ - '( .inbounds[] | select(.port == ($port|tonumber)) | .settings.clients ) += [ {"password":$password, "email":$email} ] ' \ + if [ -z "${uopt[2]}" ]; then + uopt[2]="nobody@g.cn" + fi + cat $XCONF |jq --arg port "${port}" --arg pass "${uopt[0]}" --arg level "${uopt[1]}" --arg email "${uopt[2]}" \ + '( .inbounds[] | select(.port == ($port|tonumber)) | .settings.clients ) += [ {"password":$pass, "level":($level|tonumber), "email":$email} ] ' \ |sponge $XCONF done