LINUX.ORG.RU

История изменений

Исправление KosmiK, (текущая версия) :

А если так?

#!/bin/bash
MYPATH="/home/scripts/dns-ip-convert"
cd "$MYPATH"

temp1=$(ifconfig tun0 2>&1 | grep -i "inet 10." | awk '{print $2}' | cut -d "." -f 2)
[ ! -z "$temp1" ] && defgw="$temp1" || defgw="96"
unset temp1

resolver() {
    while read -r strx; do
        nslookup $strx 2>&1 | grep "Address:\ " | grep -v "127.0.0.1" | awk '{print $2}' | grep -v "#" | grep -v "::" | sort -u -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n
    done
}

routeit() {
    while read -r ip; do
        route add -host $ip gw "10.$defgw.0.1" dev tun0 1>/dev/null 2>/dev/null
    done
}

for company in google origin steam bioware meduza adobe intel steelseries gitlab ubisoft other teamviewer ebay; do
    if [ -f "./names/$company.name.list" ]
    then
        resolver < ./names/$company.name.list >> /tmp/ip.temp
        cat ip/$company.ip.list /tmp/ip.temp | grep -v "::" | tr " " "\n" | sort -u -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n > /tmp/ip2.tmp

        if [[ $(sha512sum './ip/'$company'.ip.list' | awk '{print $1}') != $(sha512sum '/tmp/ip2.tmp' | awk '{print $1}') ]]
        then
            routeit < /tmp/ip2.tmp
            cp -f /tmp/ip2.tmp ./ip/$company.ip.list
            mv /tmp/ip2.tmp /etc/ppp/routing-hosts/$company.list
        fi
        rm -f /tmp/ip.temp 2>/dev/null 1>/dev/null

    fi
done

Исходная версия KosmiK, :

-=:=-

А если так?

#!/bin/bash
MYPATH="/home/scripts/dns-ip-convert"

resolver() {
    while read -r strx; do
        nslookup $strx 2>&1 | grep "Address:\ " | grep -v "127.0.0.1" | awk '{print $2}' | grep -v "#" | grep -v "::" | sort -u -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n
    done
}

temp1=$(ifconfig tun0 2>&1 | grep -i "inet 10." | awk '{print $2}' | cut -d "." -f 2)
[ ! -z "$temp1" ] && defgw="$temp1" || defgw="96"
unset temp1

cd "$MYPATH"

for company in google origin steam bioware meduza adobe intel steelseries gitlab ubisoft other teamviewer ebay; do
# List of routing ip's
#
    if [ -f "./names/$company.name.list" ]
    then
        resolver < ./names/$company.name.list >> /tmp/ip.temp
        cat ip/$company.ip.list /tmp/ip.temp | grep -v "::" | tr " " "\n" | sort -u -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n > /tmp/ip2.tmp

        if [[ $(sha512sum './ip/'$company'.ip.list' | awk '{print $1}') != $(sha512sum '/tmp/ip2.tmp' | awk '{print $1}') ]]
        then
            mv /tmp/ip2.tmp ./ip/$company.ip.list
            cp -f ./ip/$company.ip.list /etc/ppp/routing-hosts/$company.list
        fi
        rm -f /tmp/ip.temp 2>/dev/null 1>/dev/null

    fi
done

for ip in $(cat /etc/ppp/routing-hosts/* | sort -u -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n); do
    route add -host $ip gw "10.$defgw.0.1" dev tun0  1>/dev/null 2>/dev/null
done