7
This commit is contained in:
parent
9ec57b82b9
commit
14b53fba2d
@ -1,10 +1,26 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
DEBUG="0"
|
DEBUG="0"
|
||||||
DRY_RUN="1"
|
DRY_RUN="0"
|
||||||
CLEANUP_AFTER="1"
|
CLEANUP_AFTER="1"
|
||||||
REGEX_FLAG_ENABLED="0"
|
REGEX_FLAG_ENABLED="0"
|
||||||
|
|
||||||
|
if [ -f "debug" ];then
|
||||||
|
DEBUG="1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "dry-run" ];then
|
||||||
|
DRY_RUN="1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "cleanup-after" ];then
|
||||||
|
CLEANUP_AFTER="1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "add-regex-flag" ];then
|
||||||
|
REGEX_FLAG_ENABLED="1"
|
||||||
|
fi
|
||||||
|
|
||||||
function dstdomain_to_regex() {
|
function dstdomain_to_regex() {
|
||||||
|
|
||||||
prefix="\."
|
prefix="\."
|
||||||
@ -48,8 +64,18 @@ function dstdomain_to_regex() {
|
|||||||
|
|
||||||
|
|
||||||
APP_NAME="$1"
|
APP_NAME="$1"
|
||||||
|
URL="$2"
|
||||||
|
|
||||||
URL="https://gist.githubusercontent.com/elico/249034a199d17ce52524f47fad49964f/raw/bdd95d87232f8173185acc14540d58bfb2c9ff79/010-GeneralTLSInspectionBypass.dstdom"
|
if [ -f "dst-domain-url" ];then
|
||||||
|
echo "Overriding URL with a local dst-domain-url file"
|
||||||
|
DST_DOM_URL_FILE_SIZE=$(cat dst-domain-url |wc -l)
|
||||||
|
if [ "${DST_DOM_URL_FILE_SIZE}" -gt "0" ];then
|
||||||
|
URl=$( head -n1 dst-domain-url )
|
||||||
|
else
|
||||||
|
echo "dst-domain-url is empty"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -z "${APP_NAME}" ];then
|
if [ -z "${APP_NAME}" ];then
|
||||||
echo "Missing App Name"
|
echo "Missing App Name"
|
||||||
@ -82,9 +108,11 @@ TMP_CURRENT_CONFIG_FILE=$( mktemp )
|
|||||||
|
|
||||||
TMP_CLISH_TRANSACTION_FILE=$( mktemp )
|
TMP_CLISH_TRANSACTION_FILE=$( mktemp )
|
||||||
|
|
||||||
|
TMP_DIFF_FILE=$( mktemp )
|
||||||
|
|
||||||
clish -c "show configuration"|egrep "^set application application-name \"${APP_NAME}\"" > ${TMP_CURRENT_CONFIG_FILE}
|
clish -c "show configuration"|egrep "^set application application-name \"${APP_NAME}\"" > ${TMP_CURRENT_CONFIG_FILE}
|
||||||
|
|
||||||
CURRENT_APP_CONTENT=$( cat ${TMP_CURRENT_CONFIG_FILE}| awk '{print $7}' )
|
CURRENT_APP_CONTENT=$( cat ${TMP_CURRENT_CONFIG_FILE}| awk 'BEGIN { FS = " add url " } ; { print $2}' )
|
||||||
|
|
||||||
while IFS= read -r line
|
while IFS= read -r line
|
||||||
do
|
do
|
||||||
@ -111,7 +139,15 @@ do
|
|||||||
|
|
||||||
done < ${TMP_DOWNLOAD_FILE}
|
done < ${TMP_DOWNLOAD_FILE}
|
||||||
|
|
||||||
|
cat "${TMP_CURRENT_CONFIG_FILE}" |sort > "${TMP_CURRENT_CONFIG_FILE}.in"
|
||||||
|
mv -v -f "${TMP_CURRENT_CONFIG_FILE}.in" "${TMP_CURRENT_CONFIG_FILE}"
|
||||||
|
|
||||||
|
cat "${TMP_CLISH_UPDATE_FILE}" |sort > "${TMP_CLISH_UPDATE_FILE}.in"
|
||||||
|
mv -v -f "${TMP_CLISH_UPDATE_FILE}.in" "${TMP_CLISH_UPDATE_FILE}"
|
||||||
|
|
||||||
DIFF=$(diff "${TMP_CURRENT_CONFIG_FILE}" "${TMP_CLISH_UPDATE_FILE}" )
|
DIFF=$(diff "${TMP_CURRENT_CONFIG_FILE}" "${TMP_CLISH_UPDATE_FILE}" )
|
||||||
|
echo "DIFF CMD: diff ${TMP_CURRENT_CONFIG_FILE} ${TMP_CLISH_UPDATE_FILE}"
|
||||||
|
echo "${DIFF}" > "${TMP_DIFF_FILE}"
|
||||||
|
|
||||||
if [ "${DEBUG}" -gt "0" ];then
|
if [ "${DEBUG}" -gt "0" ];then
|
||||||
echo "DIFF Size: $(echo "${DIFF}"|wc -l)"
|
echo "DIFF Size: $(echo "${DIFF}"|wc -l)"
|
||||||
@ -121,12 +157,16 @@ fi
|
|||||||
DELETE_OBJECTS=$(echo "${DIFF}" |egrep "^-set " |awk '{print $7}')
|
DELETE_OBJECTS=$(echo "${DIFF}" |egrep "^-set " |awk '{print $7}')
|
||||||
|
|
||||||
for object in ${DELETE_OBJECTS}; do
|
for object in ${DELETE_OBJECTS}; do
|
||||||
|
# LOCAL_OBJECT=$( echo ${object}| sed -e "s@\.@\\\.@g" -e "s@\-@\\\-@g" -e "s@\_@\\\_@g" )
|
||||||
echo "set application application-name \"${APP_NAME}\" remove url ${object}" >> ${TMP_CLISH_TRANSACTION_FILE}
|
echo "set application application-name \"${APP_NAME}\" remove url ${object}" >> ${TMP_CLISH_TRANSACTION_FILE}
|
||||||
|
# echo "set application application-name \"${APP_NAME}\" remove url ${LOCAL_OBJECT}" >> ${TMP_CLISH_TRANSACTION_FILE}
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "${DIFF}" |egrep "^\+set " |sed -e "s@^\+set @set @g" >> ${TMP_CLISH_TRANSACTION_FILE}
|
echo "${DIFF}" |egrep "^\+set " |sed -e "s@^\+set @set @g" >> ${TMP_CLISH_TRANSACTION_FILE}
|
||||||
|
|
||||||
cat "${TMP_CLISH_TRANSACTION_FILE}"
|
#cat "${TMP_CLISH_TRANSACTION_FILE}"
|
||||||
|
|
||||||
|
sed -i -e 's@\\@\\\\\\@g' "${TMP_CLISH_TRANSACTION_FILE}"
|
||||||
|
|
||||||
if [ "${DRY_RUN}" -eq "0" ];then
|
if [ "${DRY_RUN}" -eq "0" ];then
|
||||||
clish -f "${TMP_CLISH_TRANSACTION_FILE}"
|
clish -f "${TMP_CLISH_TRANSACTION_FILE}"
|
||||||
@ -139,11 +179,14 @@ if [ "${CLEANUP_AFTER}" -eq "1" ];then
|
|||||||
rm -v "${TMP_DOWNLOAD_FILE}"
|
rm -v "${TMP_DOWNLOAD_FILE}"
|
||||||
rm -v "${TMP_CLISH_UPDATE_FILE}"
|
rm -v "${TMP_CLISH_UPDATE_FILE}"
|
||||||
rm -v "${TMP_CURRENT_CONFIG_FILE}"
|
rm -v "${TMP_CURRENT_CONFIG_FILE}"
|
||||||
|
rm -v "${TMP_DIFF_FILE}"
|
||||||
rm -v "${TMP_CLISH_TRANSACTION_FILE}"
|
rm -v "${TMP_CLISH_TRANSACTION_FILE}"
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "Don't forget to cleanup the files:"
|
echo "Don't forget to cleanup the files:"
|
||||||
echo "${TMP_DOWNLOAD_FILE}"
|
echo "${TMP_DOWNLOAD_FILE}"
|
||||||
echo "${TMP_CLISH_UPDATE_FILE}"
|
echo "${TMP_CLISH_UPDATE_FILE}"
|
||||||
echo "${TMP_CURRENT_CONFIG_FILE}"
|
echo "${TMP_CURRENT_CONFIG_FILE}"
|
||||||
|
echo "${TMP_DIFF_FILE}"
|
||||||
echo "${TMP_CLISH_TRANSACTION_FILE}"
|
echo "${TMP_CLISH_TRANSACTION_FILE}"
|
||||||
fi
|
fi
|
||||||
|
1
dst-domain-url
Normal file
1
dst-domain-url
Normal file
@ -0,0 +1 @@
|
|||||||
|
https://raw.githubusercontent.com/elico/cp-tls-inspection-application-update-cron/master/010-GeneralTLSInspectionBypass.dstdom
|
Loading…
Reference in New Issue
Block a user