Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

dream-alpha / enigma2-plugin-extensions-vpnmanager   deb

Repository URL to install this package:

Version: 1.2.1 

/ usr / lib / enigma2 / python / Plugins / Extensions / VpnManager / resolv / update-resolv-conf

#!/bin/bash
# up /etc/openvpn/update-resolv-systemd-conf
# down /etc/openvpn/update-resolv-systemd-conf

CONNMAN_PREFIX=/var/run/connman
RESOLV_CONF="${CONNMAN_PREFIX}/resolv.conf"
VPN_DNS=/etc/openvpn/vpn_dns

if [ ! -d "$CONNMAN_PREFIX" ]; then
    echo "$CONNMAN_PREFIX doesn't exist" >&2
    exit 1
fi

if [ ! -f "$RESOLV_CONF" ]; then
    echo "$RESOLV_CONF doesn't exist" >&2
    exit 1
fi

IFNAME=$1
NAMESERVER_FILE="${CONNMAN_PREFIX}/nameserver.conf"

case $script_type in
up)
  for optionname in ${!foreign_option_*} ; do
    option="${!optionname}"
    echo $option >&2
    part1=$(echo "$option" | cut -d " " -f 1)
    if [ "$part1" == "dhcp-option" ] ; then
      part2=$(echo "$option" | cut -d " " -f 2)
      part3=$(echo "$option" | cut -d " " -f 3)
      if [ "$part2" == "DNS" ] ; then
        IF_DNS_NAMESERVERS="$IF_DNS_NAMESERVERS $part3"
      fi
      if [[ "$part2" == "DOMAIN" || "$part2" == "DOMAIN-SEARCH" ]] ; then
        IF_DNS_SEARCH="$IF_DNS_SEARCH $part3"
      fi
    fi
  done

  echo "IF_DNS_NAMESERVERS=$IF_DNS_NAMESERVERS" >&2
  echo "IF_DNS_SEARCH=$IF_DNS_SEARCH" >&2
  echo "IF_TUN=$IFNAME"
  if [ -f "$VPN_DNS" ]; then
      nameservers="$(cat $VPN_DNS | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}')"
  else
      nameservers="$(echo $IF_DNS_NAMESERVERS | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}')"
  fi
  if [ ! "$nameservers" = "" ]; then
     if [ -f "$NAMESERVER_FILE" ]; then
        sed -i '/nameserver/d' $NAMESERVER_FILE
     fi
     while read line
     do
        if [[ "$line" = "nameserver "* ]]; then echo $line >> $NAMESERVER_FILE; fi
     done < $RESOLV_CONF
     sed -i '/nameserver/d' $RESOLV_CONF
     while read -r line; do echo "nameserver $line" >> "$RESOLV_CONF" ;done < <(printf '%s\n' "$nameservers")
  else
     echo "Error no nameserver found"
  fi
  ;;
down)
  if [ -f "$NAMESERVER_FILE" ]; then
      sed -i '/nameserver/d' $RESOLV_CONF
      while read line; do echo $line >> $RESOLV_CONF ; done < $NAMESERVER_FILE
  fi
  ;;
esac