diff options
author | Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> | 2023-06-08 16:52:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-08 16:52:55 +0200 |
commit | 3e673e91a943f88d02215cef1020983587907739 (patch) | |
tree | 0e2f4d08055c003e6273723e0b6c66f0143e13ca /utils | |
parent | 7dcceb4daf1600915cb508ba7eff872699526a93 (diff) |
ProtonVPN: add basic detection (#2006)
Diffstat (limited to 'utils')
-rwxr-xr-x | utils/common.sh | 2 | ||||
-rwxr-xr-x | utils/protonvpn_ip_addresses_download.sh | 31 | ||||
-rwxr-xr-x | utils/update_every_lists.sh | 2 |
3 files changed, 34 insertions, 1 deletions
diff --git a/utils/common.sh b/utils/common.sh index 415d6fe87..67087484a 100755 --- a/utils/common.sh +++ b/utils/common.sh @@ -21,7 +21,7 @@ function is_file_empty() exit 1 fi - if [ `cat "${file}" | wc -l` -eq 0 ]; then + if [ `cat "${file}" | wc -c` -eq 0 ]; then printf '%s error: %s\n' "${0}" "file ${file} empty!" >&2 exit 1 fi diff --git a/utils/protonvpn_ip_addresses_download.sh b/utils/protonvpn_ip_addresses_download.sh new file mode 100755 index 000000000..fef5a2167 --- /dev/null +++ b/utils/protonvpn_ip_addresses_download.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +set -e + +cd "$(dirname "${0}")" || exit 1 +. ./common.sh || exit 1 + +DEST=../src/lib/inc_generated/ndpi_protonvpn_match.c.inc +TMP=/tmp/proton.json +LIST=/tmp/proton.list +LIST_MERGED=/tmp/proton.list.merged +ORIGIN=https://api.protonmail.ch/vpn/logicals + + +echo "(1) Downloading file..." +http_response=$(curl -s -o $TMP -w "%{http_code}" ${ORIGIN}) +check_http_response "${http_response}" +is_file_empty "${TMP}" + +echo "(2) Processing IP addresses..." +#Not sure if we should use EntryIP or ExitIP: use both, for the time being and let see what happens... +jq -r '.LogicalServers[].Servers[].EntryIP' $TMP > $LIST # TODO: ipv6 +jq -r '.LogicalServers[].Servers[].ExitIP' $TMP >> $LIST # TODO: ipv6 +is_file_empty "${LIST}" +./mergeipaddrlist.py $LIST > $LIST_MERGED +./ipaddr2list.py $LIST_MERGED NDPI_PROTOCOL_PROTONVPN > $DEST +rm -f $TMP $LIST $LIST_MERGED +is_file_empty "${DEST}" + +echo "(3) ProtonVPN IPs are available in $DEST" +exit 0 diff --git a/utils/update_every_lists.sh b/utils/update_every_lists.sh index ab35d6485..95f72476e 100755 --- a/utils/update_every_lists.sh +++ b/utils/update_every_lists.sh @@ -36,6 +36,8 @@ RETVAL=$(( RETVAL + $? )) ./gambling_sites_download.sh RETVAL=$(( RETVAL + $? )) +./protonvpn_ip_addresses_download.sh +RETVAL=$(( RETVAL + $? )) test ${RETVAL} -ne 0 && printf '%s: %s\n' "${0}" "${RETVAL} script(s) failed" exit ${RETVAL} |