HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/local/block_gov_sites/block_gov_sites.sh
#!/bin/bash
GOV_SITES_DIR='/usr/local/block_gov_sites'
GOV_SITES_LIST="$GOV_SITES_DIR/block_gov_sites.list"
GOV_SITES_IP_LIST="$GOV_SITES_DIR/block_gov_ip.list"
GOV_SITES_IP_DIFF_LIST="$GOV_SITES_DIR/block_gov_ip_diff.list"
IPSET_NAME='block_gov_out'
IPSET_IP_LIST="$GOV_SITES_DIR/block_gov_ipset.list"

if ! [ -x "$(command -v ipset)" ]; then
    echo 'Error: ipset is not installed.'
    exit 1
fi

while read -r line;
do
    dig +short -t a "$line";
done < "$GOV_SITES_LIST" | sort -n | uniq > "$GOV_SITES_IP_LIST";

if [  "$(ipset -q -L $IPSET_NAME | grep -o $IPSET_NAME)" != "$IPSET_NAME" ]; then
    ipset create "$IPSET_NAME" hash:net
    while read -r line;
    do
        ipset -exist -A "$IPSET_NAME" "$line";
    done < "$GOV_SITES_IP_LIST"
    echo "ipset $IPSET_NAME created"
    exit 0
else
    ipset list "$IPSET_NAME" | grep '^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+$' | sort -n > "$IPSET_IP_LIST"
fi

if ! diff "$IPSET_IP_LIST" "$GOV_SITES_IP_LIST" > "$GOV_SITES_IP_DIFF_LIST"; then
    ipset flush "$IPSET_NAME"
    while read -r line;
    do
        ipset -exist -A "$IPSET_NAME" "$line";
    done < "$GOV_SITES_IP_LIST"
    echo "ipset $IPSET_NAME recreated due to differences, see diff in $GOV_SITES_IP_DIFF_LIST"
else
    echo "ipset $IPSET_NAME is up to date"
fi