Skip to content

Commit 3be9228

Browse files
author
thomas
committed
1. 修复在某些curl版本下,导致请求没有反应问题。
2. 增加-t 显示当前token. 3. 修复请求路径重复问题 4. 检测系统是否存在nginx,不存在给出提示 5. 对于没有任何可用证书的,提示友好 6. 兼容配置中的特殊写法
1 parent a03b33e commit 3be9228

File tree

1 file changed

+49
-32
lines changed

1 file changed

+49
-32
lines changed

httpsok.sh

Lines changed: 49 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Try to run "bash -version" to check the version.
77
# Try to visit WIKI to find a solution.
88

9-
VER=1.8.0
9+
VER=1.8.1
1010

1111
PROJECT_NAME="httpsok"
1212
PROJECT_ENTRY="httpsok.sh"
@@ -19,7 +19,7 @@ PROJECT_LOG_FILE="$PROJECT_HOME/$PROJECT_NAME.log"
1919
HTTPSOK_TOKEN=""
2020

2121
HTTPSOK_HOME_URL="https://fposter.cn/"
22-
BASE_API_URL="https://fposter.cn/v1/nginx/"
22+
BASE_API_URL="https://fposter.cn/v1/nginx"
2323
SCRIPT_URL="https://fposter.cn/httpsok.sh"
2424

2525
latest_code=""
@@ -29,6 +29,7 @@ NGINX_VERSION=""
2929
NGINX_CONFIG=""
3030
NGINX_CONFIG_HOME=""
3131
TRACE_ID=""
32+
MODE="normal"
3233

3334
_upper_case() {
3435
tr '[a-z]' '[A-Z]'
@@ -106,7 +107,7 @@ showWelcome() {
106107
echo -e "\033[1;36mHttpsok make SSL easy. $HTTPSOK_HOME_URL \033[0m"
107108
echo -e "\033[1;36mversion: $VER\033[0m"
108109
echo -e "\033[1;36mTraceID: $TRACE_ID\033[0m"
109-
echo "home: $PROJECT_HOME"
110+
# echo "home: $PROJECT_HOME"
110111
echo
111112
}
112113

@@ -125,8 +126,8 @@ _initpath() {
125126

126127
_no_nginx_here(){
127128
echo
128-
_err "未检测到nginx命令\n"
129-
_err "请您先确认系统是否已经成功安装nginx服务 "
129+
_err "Can’t detected nginx\n"
130+
_err "Please confirm that nginx has been successfully installed on your system"
130131
echo
131132
echo
132133
exit
@@ -158,7 +159,7 @@ _initparams() {
158159
pid=$(ps -e | grep nginx | grep -v 'grep' | head -n 1 | awk '{print $1}')
159160
if [ -n "$pid" ]; then
160161
nginx_bin=$(readlink -f /proc/"$pid"/exe)
161-
echo ">>> nginx_bin=$nginx_bin"
162+
# echo "nginx_bin=$nginx_bin"
162163
# again to verify
163164
$nginx_bin -V > /dev/null 2>&1
164165
if [ $? -ne 0 ]; then
@@ -196,34 +197,35 @@ _inithttp() {
196197
_H5="nginx-config-home: $NGINX_CONFIG_HOME"
197198
_H6="nginx-config: $NGINX_CONFIG"
198199
_H7="trace-id: $TRACE_ID"
200+
_H8="mode: $MODE"
199201
}
200202

201203
_post() {
202204
_inithttp
203205
url="${BASE_API_URL}$1"
204206
body="$2"
205-
curl -s -X POST -H "$_H0" -H "$_H1" -H "$_H2" -H "$_H3" -H "$_H4" -H "$_H5" -H "$_H6" -H "$_H7" --data-binary "$body" "$url"
207+
curl -s -X POST -H "$_H0" -H "$_H1" -H "$_H2" -H "$_H3" -H "$_H4" -H "$_H5" -H "$_H6" -H "$_H7" -H "$_H8" --data-binary "$body" "$url"
206208
}
207209

208210
_get() {
209211
_inithttp
210212
url="${BASE_API_URL}$1"
211-
curl -s -H "$_H0" -H "$_H1" -H "$_H2" -H "$_H3" -H "$_H4" -H "$_H5" -H "$_H6" -H "$_H7" "$url"
213+
curl -s -H "$_H0" -H "$_H1" -H "$_H2" -H "$_H3" -H "$_H4" -H "$_H5" -H "$_H6" -H "$_H7" -H "$_H8" "$url"
212214
}
213215

214216
_upload() {
215217
_inithttp
216218
url="${BASE_API_URL}/upload?code=$1"
217219
_F1="cert=@\"$2\""
218220
_F2="certKey=@\"$3\""
219-
curl -s -X POST -H "Content-Type: multipart/form-data" -H "$_H1" -H "$_H2" -H "$_H3" -H "$_H4" -H "$_H5" -H "$_H6" -H "$_H7" -F $_F1 -F $_F2 "$url" 2>&1
221+
curl -s -X POST -H "Content-Type: multipart/form-data" -H "$_H1" -H "$_H2" -H "$_H3" -H "$_H4" -H "$_H5" -H "$_H6" -H "$_H7" -H "$_H8" -F $_F1 -F $_F2 "$url" 2>&1
220222
}
221223

222224
_put() {
223225
_inithttp
224226
url="${BASE_API_URL}$1"
225227
body="$2"
226-
curl -s -X PUT -H "$_H0" -H "$_H1" -H "$_H2" -H "$_H3" -H "$_H4" -H "$_H5" -H "$_H6" -H "$_H7" --data-binary "$body" "$url"
228+
curl -s -X PUT -H "$_H0" -H "$_H1" -H "$_H2" -H "$_H3" -H "$_H4" -H "$_H5" -H "$_H6" -H "$_H7" -H "$_H8" --data-binary "$body" "$url"
227229
}
228230

229231
_remote_log() {
@@ -320,6 +322,11 @@ _load_token() {
320322
fi
321323
}
322324

325+
_show_token() {
326+
_load_token
327+
echo -e "Your token is: \033[1;36m$HTTPSOK_TOKEN\033[0m"
328+
}
329+
323330
_check_token() {
324331
_token="$1"
325332
if [ ! "$_token" = "" ]; then
@@ -331,8 +338,10 @@ _check_token() {
331338
fi
332339
status=$(_get "/status")
333340
if [ "$status" != "ok" ]; then
334-
_err "Invalid token: $HTTPSOK_TOKEN Please copy your token from '$HTTPSOK_HOME_URL' "
335-
_err "$status"
341+
# echo -e "\033[1;36mTraceID: $TRACE_ID\033[0m"
342+
_err "Invalid token: \033[1;36m$HTTPSOK_TOKEN\033[0m"
343+
_info "Please copy your token from '$HTTPSOK_HOME_URL'"
344+
echo
336345
exit 4
337346
fi
338347
return 0
@@ -699,14 +708,14 @@ installcronjob() {
699708
fi
700709
$_CRONTAB -l | {
701710
cat
702-
echo "$random_minute $random_hour * * * '$PROJECT_ENTRY_BIN' -r >> '$PROJECT_LOG_FILE' 2>&1"
711+
echo "$random_minute $random_hour * * * '$PROJECT_ENTRY_BIN' -m -r >> '$PROJECT_LOG_FILE' 2>&1"
703712
} | $_CRONTAB_STDIN
704713
_suc "Install cron job complete."
705714
fi
706715
if [ "$?" != "0" ]; then
707716
_err "Install cron job failed. You can add cronjob by yourself."
708717
_err "Or you can add cronjob by yourself:"
709-
_err "$random_minute $random_hour * * * '$PROJECT_ENTRY_BIN' -r >> '$PROJECT_LOG_FILE' 2>&1"
718+
_err "$random_minute $random_hour * * * '$PROJECT_ENTRY_BIN' -m -r >> '$PROJECT_LOG_FILE' 2>&1"
710719
return 1
711720
fi
712721
}
@@ -777,8 +786,8 @@ _run() {
777786
_load_token
778787
_check_token
779788
if ! _preparse ; then
780-
_err "未检测到SSL证书。\n "
781-
_info "请您先进行基本配置,配置请参考 https://fposter.cn/doc/reference/nginx-config.html "
789+
_err "No SSL certificate was detected.\n "
790+
_info "Please refer to resolve the issue. https://fposter.cn/doc/reference/nginx-config.html "
782791
echo ""
783792
return 4
784793
fi
@@ -800,26 +809,33 @@ _process() {
800809
version
801810
return
802811
;;
803-
--install | -i)
804-
_install
805-
return
806-
;;
807-
--uninstall | -u)
808-
_uninstall
809-
return
810-
;;
811-
--token | -t)
812-
_save_token "$2"
813-
shift 1
814-
;;
815812
--run | -r)
816813
_run
817814
;;
818815
--setup | -s)
819816
_save_token "$2"
820817
_install
821818
_run
822-
shift 1
819+
return
820+
;;
821+
--token | -t)
822+
if [ "$2" ]; then
823+
_save_token "$2"
824+
else
825+
_show_token
826+
fi
827+
return
828+
;;
829+
--mode | -m)
830+
MODE="crontab"
831+
;;
832+
--install | -i)
833+
_install
834+
return
835+
;;
836+
--uninstall | -u)
837+
_uninstall
838+
return
823839
;;
824840
*)
825841
echo "Unknown parameter : $1 $2"
@@ -836,11 +852,12 @@ showhelp() {
836852
Commands:
837853
-h, --help Show this help message.
838854
-v, --version Show version info.
839-
-i, --install Install $PROJECT_NAME to your system.
840-
-u, --uninstall Uninstall $PROJECT_NAME in your system.
841-
-t, --token Set the token.
842855
-r, --run Run the $PROJECT_NAME
843856
-s, --setup Install and run (Recommend first time use it).
857+
-t, --token Set or show the token.
858+
-m, --mode Mode of normal or crontab.
859+
-i, --install Install $PROJECT_NAME to your system.
860+
-u, --uninstall Uninstall $PROJECT_NAME in your system.
844861
"
845862
showWelcome
846863
}

0 commit comments

Comments
 (0)