diff --git a/run.sh b/run.sh index 337eb40..9680cf0 100755 --- a/run.sh +++ b/run.sh @@ -22,6 +22,7 @@ usage() { # echo " --sst [port=443,]user=passwd,method=xxxx" echo " --ng-opt [p=443,]d=domain0.com[,d=domain1.com]" echo " --ng-proxy [d=domain0.com,][d=domain1.com][h=127.0.0.1,]p=port-backend,l=location,n=ws|grpc" + echo " -u|--user u=id0[:level[:email]][,u=id1...]" echo " -k|--hook [Optional] DDNS update or notifing URL to be hit" echo " -r|--request-domain [Optional] Domain name to request for letsencrypt cert" echo " -c|--cert-path [Optional] Reading TLS certs from folder //" @@ -29,7 +30,7 @@ usage() { echo " -d|--debug [Optional] Start in debug mode with verbose output" } -TEMP=`getopt -o k:r:c:di --long hook:,request-domain:,cert-path:,ltx:,ltt:,lttw:,ltpw:,mtt:,mttw:,mtpw:,ttt:,tttw:,ttpw:,lttg:,ltpg:,ssa:,sst:,ng-opt:,ng-proxy:,stdin,debug -n "$0" -- $@` +TEMP=`getopt -o u:k:r:c:di --long user:,hook:,request-domain:,cert-path:,ltx:,ltt:,lttw:,ltpw:,mtt:,mttw:,mtpw:,ttt:,tttw:,ttpw:,lttg:,ltpg:,ssa:,sst:,ng-opt:,ng-proxy:,stdin,debug -n "$0" -- $@` if [ $? != 0 ] ; then usage; exit 1 ; fi eval set -- "$TEMP" @@ -55,6 +56,10 @@ while true ; do DEBUG=1 shift 1 ;; + -u|--user) + UOPT+=("$2") + shift 2 + ;; --ltx|--ltt|--lttw|--ltpw|--lttg|--ltpg|--mtt|--mttw|--mtpw|--ttt|--tttw|--ttpw) SVC=`echo $1|tr -d '\-\-'` SVCMD+=("${DIR}server-${SVC}.sh $2") @@ -118,6 +123,10 @@ for cp in "${CERTPATH[@]}" do xopt="$xopt,certpath=$cp" done +for uopt in "${UOPT[@]}" +do + xopt="$xopt,$uopt" +done if [ -n "${SVCMD}" ]; then for svcmd in "${SVCMD[@]}" diff --git a/server-ltpg.sh b/server-ltpg.sh index 33e21b1..2400250 100755 --- a/server-ltpg.sh +++ b/server-ltpg.sh @@ -56,8 +56,8 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" 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:me@g.cn" + echo "Like: user=myid::me@g.cn" echo "Like: user=myid:0" echo "Like: user=myid" exit 1 @@ -65,9 +65,6 @@ do if [ -z "${uopt[1]}" ]; then uopt[1]=0 fi - if [ -z "${uopt[2]}" ]; then - uopt[2]="nobody@g.cn" - fi cat $XCONF |jq --arg port "${port}" --arg uid "${uopt[0]}" --arg level "${uopt[1]}" --arg email "${uopt[2]}" \ '( .inbounds[] | select(.port == ($port|tonumber)) | .settings.clients ) += [ {"id":$uid, "level":($level|tonumber), "email":$email} ] ' \ |sponge $XCONF diff --git a/server-ltpw.sh b/server-ltpw.sh index 5c8e5e8..6e4edf5 100755 --- a/server-ltpw.sh +++ b/server-ltpw.sh @@ -65,8 +65,8 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" 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:me@g.cn" + echo "Like: user=myid::me@g.cn" echo "Like: user=myid:0" echo "Like: user=myid" exit 1 @@ -74,9 +74,6 @@ do if [ -z "${uopt[1]}" ]; then uopt[1]=0 fi - if [ -z "${uopt[2]}" ]; then - uopt[2]="nobody@g.cn" - fi cat $XCONF |jq --arg port "${port}" --arg uid "${uopt[0]}" --arg level "${uopt[1]}" --arg email "${uopt[2]}" \ '( .inbounds[] | select(.port == ($port|tonumber)) | .settings.clients ) += [ {"id":$uid, "level":($level|tonumber), "email":$email} ] ' \ |sponge $XCONF diff --git a/server-ltt.sh b/server-ltt.sh index d1f272c..c3a9c77 100755 --- a/server-ltt.sh +++ b/server-ltt.sh @@ -74,8 +74,8 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" 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:me@g.cn" + echo "Like: user=myid::me@g.cn" echo "Like: user=myid:0" echo "Like: user=myid" exit 1 @@ -83,9 +83,6 @@ do if [ -z "${uopt[1]}" ]; then uopt[1]=0 fi - if [ -z "${uopt[2]}" ]; then - uopt[2]="nobody@g.cn" - fi cat $XCONF |jq --arg port "${port}" --arg uid "${uopt[0]}" --arg level "${uopt[1]}" --arg email "${uopt[2]}" \ '( .inbounds[] | select(.port == ($port|tonumber)) | .settings.clients ) += [ {"id":$uid, "level":($level|tonumber), "email":$email} ] ' \ |sponge $XCONF diff --git a/server-lttg.sh b/server-lttg.sh index bc844d3..8c558e7 100755 --- a/server-lttg.sh +++ b/server-lttg.sh @@ -74,8 +74,8 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" 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:me@g.cn" + echo "Like: user=myid::me@g.cn" echo "Like: user=myid:0" echo "Like: user=myid" exit 1 @@ -83,9 +83,6 @@ do if [ -z "${uopt[1]}" ]; then uopt[1]=0 fi - if [ -z "${uopt[2]}" ]; then - uopt[2]="nobody@g.cn" - fi cat $XCONF |jq --arg port "${port}" --arg uid "${uopt[0]}" --arg level "${uopt[1]}" --arg email "${uopt[2]}" \ '( .inbounds[] | select(.port == ($port|tonumber)) | .settings.clients ) += [ {"id":$uid, "level":($level|tonumber), "email":$email} ] ' \ |sponge $XCONF diff --git a/server-lttw.sh b/server-lttw.sh index 13e14cf..f9921fa 100755 --- a/server-lttw.sh +++ b/server-lttw.sh @@ -83,8 +83,8 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" 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:me@g.cn" + echo "Like: user=myid::me@g.cn" echo "Like: user=myid:0" echo "Like: user=myid" exit 1 @@ -92,9 +92,6 @@ do if [ -z "${uopt[1]}" ]; then uopt[1]=0 fi - if [ -z "${uopt[2]}" ]; then - uopt[2]="nobody@g.cn" - fi cat $XCONF |jq --arg port "${port}" --arg uid "${uopt[0]}" --arg level "${uopt[1]}" --arg email "${uopt[2]}" \ '( .inbounds[] | select(.port == ($port|tonumber)) | .settings.clients ) += [ {"id":$uid, "level":($level|tonumber), "email":$email} ] ' \ |sponge $XCONF diff --git a/server-ltx.sh b/server-ltx.sh index b410c8a..b31c320 100755 --- a/server-ltx.sh +++ b/server-ltx.sh @@ -74,8 +74,8 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" 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:me@g.cn" + echo "Like: user=myid::me@g.cn" echo "Like: user=myid:0" echo "Like: user=myid" exit 1 @@ -83,9 +83,6 @@ do if [ -z "${uopt[1]}" ]; then uopt[1]=0 fi - if [ -z "${uopt[2]}" ]; then - uopt[2]="nobody@g.cn" - fi cat $XCONF |jq --arg port "${port}" --arg uid "${uopt[0]}" --arg level "${uopt[1]}" --arg email "${uopt[2]}" \ '( .inbounds[] | select(.port == ($port|tonumber)) | .settings.clients ) += [ {"id":$uid, "flow":"xtls-rprx-direct", "level":($level|tonumber), "email":$email} ] ' \ |sponge $XCONF diff --git a/server-mtpw.sh b/server-mtpw.sh index 193eaeb..4d9d2b7 100755 --- a/server-mtpw.sh +++ b/server-mtpw.sh @@ -65,8 +65,8 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" 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:me@g.cn" + echo "Like: user=myid::me@g.cn" echo "Like: user=myid:0" echo "Like: user=myid" exit 1 @@ -74,9 +74,6 @@ do if [ -z "${uopt[1]}" ]; then uopt[1]=0 fi - if [ -z "${uopt[2]}" ]; then - uopt[2]="nobody@g.cn" - fi cat $XCONF |jq --arg port "${port}" --arg uid "${uopt[0]}" --arg level "${uopt[1]}" --arg email "${uopt[2]}" \ '( .inbounds[] | select(.port == ($port|tonumber)) | .settings.clients ) += [ {"id":$uid, "level":($level|tonumber), "email":$email} ] ' \ |sponge $XCONF diff --git a/server-mtt.sh b/server-mtt.sh index f7ec6a8..3ebef08 100755 --- a/server-mtt.sh +++ b/server-mtt.sh @@ -74,8 +74,8 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" 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:me@g.cn" + echo "Like: user=myid::me@g.cn" echo "Like: user=myid:0" echo "Like: user=myid" exit 1 @@ -83,9 +83,6 @@ do if [ -z "${uopt[1]}" ]; then uopt[1]=0 fi - if [ -z "${uopt[2]}" ]; then - uopt[2]="nobody@g.cn" - fi cat $XCONF |jq --arg port "${port}" --arg uid "${uopt[0]}" --arg level "${uopt[1]}" --arg email "${uopt[2]}" \ '( .inbounds[] | select(.port == ($port|tonumber)) | .settings.clients ) += [ {"id":$uid, "level":($level|tonumber), "email":$email} ] ' \ |sponge $XCONF diff --git a/server-mttw.sh b/server-mttw.sh index a4d89bd..0d87ea6 100755 --- a/server-mttw.sh +++ b/server-mttw.sh @@ -83,8 +83,8 @@ do if [ -z "${uopt[0]}" ]; then echo "Incorrect user format: ${xu}" 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:me@g.cn" + echo "Like: user=myid::me@g.cn" echo "Like: user=myid:0" echo "Like: user=myid" exit 1 @@ -92,9 +92,6 @@ do if [ -z "${uopt[1]}" ]; then uopt[1]=0 fi - if [ -z "${uopt[2]}" ]; then - uopt[2]="nobody@g.cn" - fi cat $XCONF |jq --arg port "${port}" --arg uid "${uopt[0]}" --arg level "${uopt[1]}" --arg email "${uopt[2]}" \ '( .inbounds[] | select(.port == ($port|tonumber)) | .settings.clients ) += [ {"id":$uid, "level":($level|tonumber), "email":$email} ] ' \ |sponge $XCONF diff --git a/server-ttpw.sh b/server-ttpw.sh index 7de3783..7e65785 100755 --- a/server-ttpw.sh +++ b/server-ttpw.sh @@ -74,9 +74,6 @@ do if [ -z "${uopt[1]}" ]; then uopt[1]=0 fi - 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 diff --git a/server-ttt.sh b/server-ttt.sh index 92624ed..f6ac8df 100755 --- a/server-ttt.sh +++ b/server-ttt.sh @@ -83,9 +83,6 @@ do if [ -z "${uopt[1]}" ]; then uopt[1]=0 fi - 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 diff --git a/server-tttw.sh b/server-tttw.sh index 1de6327..78fd361 100755 --- a/server-tttw.sh +++ b/server-tttw.sh @@ -92,9 +92,6 @@ do if [ -z "${uopt[1]}" ]; then uopt[1]=0 fi - 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