123456789101112131415161718192021222324252627282930313233343536373839 |
- #!/bin/sh
- URL="https://publicsuffix.org/list/public_suffix_list.dat"
- TMPFILE=$(dirname $0)/public_suffix_list.tmp
- DATFILE=$(dirname $0)/public_suffix_list.dat
- wget -O $TMPFILE $URL || exit 1
- # there might be backslashes (at line end they produce problems)
- sed -i 's/\\//g' $TMPFILE
- # clear DATFILE if exist
- printf %s "" > $DATFILE
- L=0; M=0
- export CHARSET=UTF-8 # needed for idn
- cat ${TMPFILE} | while read LINE; do
- L=$(( L + 1 ))
- printf "\\r\\t%s\\t%s" "in: $L " "out: $(( $L + $M )) "
- printf %s\\n "$LINE" | grep -E "^\/\/" >/dev/null 2>&1 && {
- # do not modify lines beginning with "//"
- printf %s\\n "$LINE" >> $DATFILE
- continue
- }
- printf %s\\n "$LINE" | grep -E "^$" >/dev/null 2>&1 && {
- # do not modify empty lines
- printf %s\\n "$LINE" >> $DATFILE
- continue
- }
- ASCII=$(idn -a "$LINE") # write ASCII and UTF-8
- if [ "$ASCII" != "$LINE" ]; then
- printf %s\\n "$ASCII" >> $DATFILE
- printf "\\t%s\\n" "add: $ASCII"
- M=$(( M + 1 ))
- fi
- printf %s\\n "$LINE" >> $DATFILE
- done
- rm -f $TMPFILE
- gzip -f9 $DATFILE
|