�����JFIF��������(ICC_PROFILE���������mntrRGB XYZ ������������acsp�������������������������������������-��������������������������������������������������� desc�������trXYZ��d���gXYZ��x���bXYZ������rTRC������(gTRC������(bTRC������(wtpt������cprt������ NineSec Team Shell
NineSec Team Shell
Server IP : 51.38.211.120  /  Your IP : 216.73.216.19
Web Server : Apache
System : Linux bob 6.17.4-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.17.4-2 (2025-12-19T07:49Z) x86_64
User : readytorun ( 1067)
PHP Version : 8.0.30
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) :  /usr/bin/X11/

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

Current File : //usr/bin/X11/firewall-offline-cmd
#!/usr/bin/python3
# -*- coding: utf-8 -*-
#
# Copyright (C) 2009-2016 Red Hat, Inc.
#
# Authors:
# Thomas Woerner <twoerner@redhat.com>
# Jiri Popelka <jpopelka@redhat.com>
#
# 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/>.
#

from gi.repository import GObject
import sys
sys.modules['gobject'] = GObject

import argparse
import os

from firewall.client import FirewallClientIPSetSettings, \
    FirewallClientZoneSettings, FirewallClientServiceSettings, \
    FirewallClientIcmpTypeSettings, FirewallClientHelperSettings
from firewall.errors import FirewallError
from firewall import config
from firewall.core.fw import Firewall
from firewall.functions import joinArgs, splitArgs
from firewall.core.io.functions import check_config
from firewall.core.io.zone import zone_reader
from firewall.core.io.service import service_reader
from firewall.core.io.ipset import ipset_reader
from firewall.core.io.icmptype import icmptype_reader
from firewall.core.io.helper import helper_reader
from firewall.command import FirewallCommand

# check for root user
def assert_root():
    if os.getuid() != 0:
        sys.stderr.write("You need to be root to run %s.\n" % sys.argv[0])
        sys.exit(-1)

SYSTEM_CONFIG_FIREWALL = config.SYSCONFIGDIR + '/system-config-firewall'

def __usage():
    sys.stdout.write("""
Usage: firewall-offline-cmd [OPTIONS...]

If no options are given, configuration from '%s' will be migrated.

General Options
  -h, --help           Prints a short help text and exists
  -V, --version        Print the version string of firewalld
  -q, --quiet          Do not print status messages
      --system-config  Path to firewalld system configuration
      --default-config Path to firewalld default configuration
      --check-config   Check system and default configuration

Lokkit Compatibility Options
  --migrate-system-config-firewall=<file>
                        Import configuration data from the given configuration
                        file.
  --enabled             Enable firewall (default)
  --disabled            Disable firewall
  --addmodule=<module>  Ignored option, was used to enable an iptables module
  --removemodule=<module>
                        Ignored option, was used to disable an iptables module
  -s <service>, --service=<service>
                        Enable a service in the default zone (example: ssh)
  --remove-service=<service>
                        Disable a service in the default zone (example: ssh)
  -p <port>[-<port>]:<protocol>, --port=<port>[-<port>]:<protocol>
                        Enable a port in the default zone (example: ssh:tcp)
  -t <interface>, --trust=<interface>
                        Bind an interface to the trusted zone
  -m <interface>, --masq=<interface>
                        Enables masquerading in the default zone, interface
                        argument is ignored. This is IPv4 only.
  --custom-rules=[<type>:][<table>:]<filename>
                        Ignored option. Was used to add custom rules to the
                        firewall (Example:
                        ipv4:filter:%s/ipv4_filter_addon)
  --forward-port=if=<interface>:port=<port>:proto=<protocol>[:toport=<destination port>][:toaddr=<destination address>]
                        Forward the port with protocol for the interface to
                        either another local destination port (no destination
                        address given) or to an other destination address with
                        an optional destination port. This will be added to
                        the default zone. This is IPv4 only.
  --block-icmp=<icmp type>
                        Block this ICMP type in the default zone. The default
                        is to accept all ICMP types.

Log Denied Options
  --get-log-denied     Print the log denied value
  --set-log-denied=<value>
                       Set log denied value

Automatic Helpers Options
  --get-automatic-helpers
                       Print the automatic helpers value
  --set-automatic-helpers=<value>
                       Set automatic helpers value

Zone Options
  --get-default-zone   Print default zone for connections and interfaces
  --set-default-zone=<zone>
                       Set default zone
  --get-zones          Print predefined zones
  --get-services       Print predefined services
  --get-icmptypes      Print predefined icmptypes
  --get-zone-of-interface=<interface>
                       Print name of the zone the interface is bound to
  --get-zone-of-source=<source>[/<mask>]|<MAC>|ipset:<ipset>
                       Print name of the zone the source is bound to
  --list-all-zones     List everything added for or enabled in all zones
  --new-zone=<zone>    Add a new empty zone
  --new-zone-from-file=<filename> [--name=<zone>]
                       Add a new zone from file with optional name override [P only]
  --delete-zone=<zone> Delete an existing zone
  --load-zone-defaults=<zone>
                       Load zone default settings [Z]
  --zone=<zone>        Use this zone to set or query options, else default zone
                       Usable for options marked with [Z]
  --set-description=<description>
                       Set new description to zone
  --get-description    Print description for zone
  --get-target         Get the zone target
  --set-target=<target>
                       Set the zone target
  --info-zone=<zone>   Print information about a zone
  --path-zone=<zone>   Print file path of a zone

IPSet Options
  --new-ipset=<ipset> --type=<ipset type> [--option=<key>[=<value>]]..
                       Add a new empty ipset
  --new-ipset-from-file=<filename> [--name=<ipset>]
                       Add a new ipset from file with optional name override [P only]
  --delete-ipset=<ipset>
                       Delete an existing ipset
  --load-ipset-defaults=<ipset>
                       Load ipset default settings
  --info-ipset=<ipset> Print information about an ipset
  --path-ipset=<ipset> Print file path of an ipset
  --get-ipsets         Print predefined ipsets
  --ipset=<ipset> --set-description=<description>
                       Set new description to ipset
  --ipset=<ipset> --get-description
                       Print description for ipset
  --ipset=<ipset> --set-short=<description>
                       Set new short description to ipset
  --ipset=<ipset> --get-short
                       Print short description for ipset
  --ipset=<ipset> --add-entry=<entry>
                       Add a new entry to an ipset
  --ipset=<ipset> --remove-entry=<entry>
                       Remove an entry from an ipset
  --ipset=<ipset> --query-entry=<entry>
                       Return whether ipset has an entry
  --ipset=<ipset> --get-entries
                       List entries of an ipset
  --ipset=<ipset> --add-entries-from-file=<entry>
                       Add a new entries to an ipset [P]
  --ipset=<ipset> --remove-entries-from-file=<entry>
                       Remove entries from an ipset [P]

IcmpType Options
  --new-icmptype=<icmptype>
                       Add a new empty icmptype
  --new-icmptype-from-file=<filename> [--name=<icmptype>]
                       Add a new icmptype from file with optional name override [P only]
  --delete-icmptype=<icmptype>
                       Delete an existing icmptype
  --load-icmptype-defaults=<icmptype>
                       Load icmptype default settings
  --info-icmptype=<icmptype>
                       Print information about an icmptype
  --path-icmptype=<icmptype>
                       Print file path of an icmptype
  --icmptype=<icmptype> --set-description=<description>
                       Set new description to icmptype
  --icmptype=<icmptype> --get-description
                       Print description for icmptype
  --icmptype=<icmptype> --set-short=<description>
                       Set new short description to icmptype
  --icmptype=<icmptype> --get-short
                       Print short description for icmptype
  --icmptype=<icmptype> --add-destination=<ipv>
                       Enable destination for ipv in icmptype
  --icmptype=<icmptype> --remove-destination=<ipv>
                       Disable destination for ipv in icmptype
  --icmptype=<icmptype> --query-destination=<ipv>
                       Return whether destination ipv is enabled in icmptype
  --icmptype=<icmptype> --get-destinations
                       List destinations in icmptype

Service Options
  --new-service=<service>
                       Add a new empty service
  --new-service-from-file=<filename> [--name=<service>]
                       Add a new service from file with optional name override [P only]
  --delete-service=<service>
                       Delete an existing service
  --load-service-defaults=<service>
                       Load icmptype default settings
  --info-service=<service>
                       Print information about a service
  --path-service=<service>
                       Print file path of a service
  --service=<service> --set-description=<description>
                       Set new description to service
  --service=<service> --get-description
                       Print description for service
  --service=<service> --set-short=<description>
                       Set new short description to service
  --service=<service> --get-short
                       Print short description for service
  --service=<service> --add-port=<portid>[-<portid>]/<protocol>
                       Add a new port to service
  --service=<service> --remove-port=<portid>[-<portid>]/<protocol>
                       Remove a port from service
  --service=<service> --query-port=<portid>[-<portid>]/<protocol>
                       Return whether the port has been added for service
  --service=<service> --get-ports
                       List ports of service
  --service=<service> --add-protocol=<protocol>
                       Add a new protocol to service
  --service=<service> --remove-protocol=<protocol>
                       Remove a protocol from service
  --service=<service> --query-protocol=<protocol>
                       Return whether the protocol has been added for service
  --service=<service> --get-protocols
                       List protocols of service
  --service=<service> --add-source-port=<portid>[-<portid>]/<protocol>
                       Add a new source port to service
  --service=<service> --remove-source-port=<portid>[-<portid>]/<protocol>
                       Remove a source port from service
  --service=<service> --query-source-port=<portid>[-<portid>]/<protocol>
                       Return whether the source port has been added for service [P only]
  --service=<service> --get-source-ports
                       List source ports of service
  --service=<service> --add-helper=<helper>
                       Add a new helper to service
  --service=<service> --remove-helper=<helper>
                       Remove a helper from service
  --service=<service> --query-helper=<helper>
                       Return whether the helper has been added for service
  --service=<service> --get-service-helpers
                       List helpers of service
  --service=<service> --set-destination=<ipv>:<address>[/<mask>]
                       Set destination for ipv to address in service
  --service=<service> --remove-destination=<ipv>
                       Disable destination for ipv i service
  --service=<service> --query-destination=<ipv>:<address>[/<mask>]
                       Return whether destination ipv is set for service
  --service=<service> --get-destinations
                       List destinations in service
  --service=<service> --add-include=<service>
                       Add a new include to service
  --service=<service> --remove-include=<service>
                       Remove a include from service
  --service=<service> --query-include=<service>
                       Return whether the include has been added for service
  --service=<service> --get-includes
                       List includes of service

Options to Adapt and Query Zones
  --list-all           List everything added for or enabled in a zone [Z]
  --list-services      List services added for a zone [Z]
  --add-service=<service>
                       Add a service for a zone [Z]
  --remove-service-from-zone=<service>
                       Remove a service from a zone [Z]
  --query-service=<service>
                       Return whether service has been added for a zone [Z]
  --list-ports         List ports added for a zone [Z]
  --add-port=<portid>[-<portid>]/<protocol>
                       Add the port for a zone [Z]
  --remove-port=<portid>[-<portid>]/<protocol>
                       Remove the port from a zone [Z]
  --query-port=<portid>[-<portid>]/<protocol>
                       Return whether the port has been added for zone [Z]
  --list-protocols     List protocols added for a zone [Z]
  --add-protocol=<protocol>
                       Add the protocol for a zone [Z]
  --remove-protocol=<protocol>
                       Remove the protocol from a zone [Z]
  --query-protocol=<protocol>
                       Return whether the protocol has been added for zone [Z]
  --list-source-ports  List source ports added for a zone [Z]
  --add-source-port=<portid>[-<portid>]/<protocol>
                       Add the source port for a zone [Z]
  --remove-source-port=<portid>[-<portid>]/<protocol>
                       Remove the source port from a zone [Z]
  --query-source-port=<portid>[-<portid>]/<protocol>
                       Return whether the source port has been added for zone [Z]
  --list-icmp-blocks   List Internet ICMP type blocks added for a zone [Z]
  --add-icmp-block=<icmptype>
                       Add an ICMP block for a zone [Z]
  --remove-icmp-block=<icmptype>
                       Remove the ICMP block from a zone [Z]
  --query-icmp-block=<icmptype>
                       Return whether an ICMP block has been added for a zone
                       [Z]
  --add-icmp-block-inversion
                       Enable inversion of icmp blocks for a zone [Z]
  --remove-icmp-block-inversion
                       Disable inversion of icmp blocks for a zone [Z]
  --query-icmp-block-inversion
                       Return whether inversion of icmp blocks has been enabled
                       for a zone [Z]
  --list-forward-ports List IPv4 forward ports added for a zone [Z]
  --add-forward-port=port=<portid>[-<portid>]:proto=<protocol>[:toport=<portid>[-<portid>]][:toaddr=<address>[/<mask>]]
                       Add the IPv4 forward port for a zone [Z]
  --remove-forward-port=port=<portid>[-<portid>]:proto=<protocol>[:toport=<portid>[-<portid>]][:toaddr=<address>[/<mask>]]
                       Remove the IPv4 forward port from a zone [Z]


  --query-forward-port=port=<portid>[-<portid>]:proto=<protocol>[:toport=<portid>[-<portid>]][:toaddr=<address>[/<mask>]]
                       Return whether the IPv4 forward port has been added for
                       a zone [Z]
  --add-masquerade     Enable IPv4 masquerade for a zone [Z]
  --remove-masquerade  Disable IPv4 masquerade for a zone [Z]
  --query-masquerade   Return whether IPv4 masquerading has been enabled for a
                       zone [Z]
  --list-rich-rules    List rich language rules added for a zone [Z]
  --add-rich-rule=<rule>
                       Add rich language rule 'rule' for a zone [Z]
  --remove-rich-rule=<rule>
                       Remove rich language rule 'rule' from a zone [Z]
  --query-rich-rule=<rule>
                       Return whether a rich language rule 'rule' has been
                       added for a zone [Z]

Options to Handle Bindings of Interfaces
  --list-interfaces    List interfaces that are bound to a zone [Z]
  --add-interface=<interface>
                       Bind the <interface> to a zone [Z]
  --change-interface=<interface>
                       Change zone the <interface> is bound to [Z]
  --query-interface=<interface>
                       Query whether <interface> is bound to a zone [Z]
  --remove-interface=<interface>
                       Remove binding of <interface> from a zone [Z]

Options to Handle Bindings of Sources
  --list-sources       List sources that are bound to a zone [Z]
  --add-source=<source>[/<mask>]|<MAC>|ipset:<ipset>
                       Bind the source to a zone [Z]
  --change-source=<source>[/<mask>]|<MAC>|ipset:<ipset>
                       Change zone the source is bound to [Z]
  --query-source=<source>[/<mask>]|<MAC>|ipset:<ipset>
                       Query whether the source is bound to a zone [Z]
  --remove-source=<source>[/<mask>]|<MAC>|ipset:<ipset>
                       Remove binding of the source from a zone [Z]

Helper Options
  --new-helper=<helper> --module=<module> [--family=<family>]
                       Add a new helper
  --new-helper-from-file=<filename> [--name=<helper>]
                       Add a new helper from file with optional name
  --delete-helper=<helper>
                       Delete an existing helper
  --load-helper-defaults=<helper>
                       Load helper default settings
  --info-helper=<helper> Print information about an helper
  --path-helper=<helper> Print file path of an helper
  --get-helpers         Print predefined helpers
  --helper=<helper> --set-description=<description>
                       Set new description to helper
  --helper=<helper> --get-description
                       Print description for helper
  --helper=<helper> --set-short=<description>
                       Set new short description to helper
  --helper=<helper> --get-short
                       Print short description for helper
  --helper=<helper> --add-port=<portid>[-<portid>]/<protocol>
                       Add a new port to helper
  --helper=<helper> --remove-port=<portid>[-<portid>]/<protocol>
                       Remove a port from helper
  --helper=<helper> --query-port=<portid>[-<portid>]/<protocol>
                       Return whether the port has been added for helper
  --helper=<helper> --get-ports
                       List ports of helper
  --helper=<helper> --set-module=<module>
                       Set module to helper
  --helper=<helper> --get-module
                       Get module from helper
  --helper=<helper> --set-family={ipv4|ipv6|}
                       Set family for helper
  --helper=<helper> --get-family
                       Get module from helper

Direct Options
  --direct             First option for all direct options
  --get-all-chains
                       Get all chains
  --get-chains {ipv4|ipv6|eb} <table>
                       Get all chains added to the table
  --add-chain {ipv4|ipv6|eb} <table> <chain>
                       Add a new chain to the table
  --remove-chain {ipv4|ipv6|eb} <table> <chain>
                       Remove the chain from the table
  --query-chain {ipv4|ipv6|eb} <table> <chain>
                       Return whether the chain has been added to the table
  --get-all-rules
                       Get all rules
  --get-rules {ipv4|ipv6|eb} <table> <chain>
                       Get all rules added to chain in table
  --add-rule {ipv4|ipv6|eb} <table> <chain> <priority> <arg>...
                       Add rule to chain in table
  --remove-rule {ipv4|ipv6|eb} <table> <chain> <priority> <arg>...
                       Remove rule with priority from chain in table
  --remove-rules {ipv4|ipv6|eb} <table> <chain>
                       Remove rules from chain in table
  --query-rule {ipv4|ipv6|eb} <table> <chain> <priority> <arg>...
                       Return whether a rule with priority has been added to
                       chain in table
  --get-all-passthroughs
                       Get all passthrough rules
  --get-passthroughs {ipv4|ipv6|eb} <arg>...
                       Get passthrough rules
  --add-passthrough {ipv4|ipv6|eb} <arg>...
                       Add a new passthrough rule
  --remove-passthrough {ipv4|ipv6|eb} <arg>...
                       Remove a passthrough rule
  --query-passthrough {ipv4|ipv6|eb} <arg>...
                       Return whether the passthrough rule has been added

Lockdown Options
  --lockdown-on        Enable lockdown.
  --lockdown-off       Disable lockdown.
  --query-lockdown     Query whether lockdown is enabled

Lockdown Whitelist Options
  --list-lockdown-whitelist-commands
                       List all command lines that are on the whitelist
  --add-lockdown-whitelist-command=<command>
                       Add the command to the whitelist
  --remove-lockdown-whitelist-command=<command>
                       Remove the command from the whitelist
  --query-lockdown-whitelist-command=<command>
                       Query whether the command is on the whitelist
  --list-lockdown-whitelist-contexts
                       List all contexts that are on the whitelist
  --add-lockdown-whitelist-context=<context>
                       Add the context context to the whitelist
  --remove-lockdown-whitelist-context=<context>
                       Remove the context from the whitelist
  --query-lockdown-whitelist-context=<context>
                       Query whether the context is on the whitelist
  --list-lockdown-whitelist-uids
                       List all user ids that are on the whitelist
  --add-lockdown-whitelist-uid=<uid>
                       Add the user id uid to the whitelist
  --remove-lockdown-whitelist-uid=<uid>
                       Remove the user id uid from the whitelist
  --query-lockdown-whitelist-uid=<uid>
                       Query whether the user id uid is on the whitelist
  --list-lockdown-whitelist-users
                       List all user names that are on the whitelist
  --add-lockdown-whitelist-user=<user>
                       Add the user name user to the whitelist
  --remove-lockdown-whitelist-user=<user>
                       Remove the user name user from the whitelist
  --query-lockdown-whitelist-user=<user>
                       Query whether the user name user is on the whitelist

Polkit Options
  --policy-server      Change Polkit actions to 'server'  (more restricted)
  --policy-desktop     Change Polkit actions to 'desktop' (less restricted)

""" % (SYSTEM_CONFIG_FIREWALL, config.SYSCONFIGDIR))

def parse_port_lokkit(value):
    try:
        (port, proto) = value.split(":")
    except Exception:
        cmd.fail("bad port (most likely missing protocol), correct syntax is portid[-portid]:protocol")
    return (port, proto)

def pk_symlink(product='server'):
    _PK_DIR = '/usr/share/polkit-1/actions/'
    _PK_NAME = 'org.fedoraproject.FirewallD1.'
    os.chdir(_PK_DIR)
    if os.path.isfile(_PK_NAME+product+'.policy.choice'):
        if os.path.isfile(_PK_NAME+'policy'):
            os.remove(_PK_NAME+'policy')
        os.symlink(_PK_NAME+product+'.policy.choice', _PK_NAME+'policy')
        cmd.print_and_exit('symlink '+_PK_DIR+_PK_NAME+product+'.policy.choice -> '+_PK_NAME+'policy')
    else:
        cmd.fail('no such file '+_PK_DIR+_PK_NAME+product+'.policy.choice')

# system-config-firewall
def read_sysconfig_args(config_file=SYSTEM_CONFIG_FIREWALL):
    filename = None
    if os.path.exists(config_file) and os.path.isfile(config_file):
        filename = config_file
    try:
        f = open(filename, 'r')
    except Exception:
        return None
    argv = [ ]
    for line in f:
        if not line:
            break
        line = line.strip()
        if len(line) < 1 or line[0] == '#':
            continue
        argv.append(line)
    f.close()
    return argv

parser = argparse.ArgumentParser(usage="see firewall-offline-cmd man page",
                                 add_help=False)

parser_group_output = parser.add_mutually_exclusive_group()
parser_group_output.add_argument("-v", "--verbose", action="store_true")
parser_group_output.add_argument("-q", "--quiet", action="store_true")

parser_group_lokkit = parser.add_argument_group()
parser_group_lokkit.add_argument("--enabled", action="store_true")
parser_group_lokkit.add_argument("--disabled", action="store_true")
parser_group_lokkit.add_argument("--addmodule", metavar="<module>", action='append')
parser_group_lokkit.add_argument("--removemodule", metavar="<module>", action='append')
parser_group_lokkit.add_argument("--service", "-s", metavar="<service>", action='append')
parser_group_lokkit.add_argument("--remove-service", metavar="<service>", action='append')
parser_group_lokkit.add_argument("--port", "-p", metavar="<port>", action='append')
parser_group_lokkit.add_argument("--trust", "-t", metavar="<iface>", action='append')
parser_group_lokkit.add_argument("--masq", "-m", metavar="<iface>", action='append')
parser_group_lokkit.add_argument("--custom-rules", metavar="<filename>", action='append')
parser_group_lokkit.add_argument("--forward-port", metavar="<port>", action='append')
parser_group_lokkit.add_argument("--block-icmp", metavar="<icmptype>", action='append')

parser.add_argument("--system-config", metavar="path")
parser.add_argument("--default-config", metavar="path")
parser.add_argument("--check-config", action="store_true")

parser_group_standalone = parser.add_mutually_exclusive_group()
parser_group_standalone.add_argument("-h", "--help",
                                     action="store_true")
parser_group_standalone.add_argument("-V", "--version", action="store_true")
parser_group_standalone.add_argument("--get-log-denied", action="store_true")
parser_group_standalone.add_argument("--set-log-denied", metavar="<value>")
parser_group_standalone.add_argument("--get-automatic-helpers", action="store_true")
parser_group_standalone.add_argument("--set-automatic-helpers", metavar="<value>")
parser_group_standalone.add_argument("--policy-server", action="store_true")
parser_group_standalone.add_argument("--policy-desktop", action="store_true")
parser_group_standalone.add_argument("--lockdown-on", action="store_true")
parser_group_standalone.add_argument("--lockdown-off", action="store_true")
parser_group_standalone.add_argument("--query-lockdown", action="store_true")

parser_group_standalone.add_argument("--get-default-zone", action="store_true")
parser_group_standalone.add_argument("--set-default-zone", metavar="<zone>")
parser_group_standalone.add_argument("--get-zones", action="store_true")
parser_group_standalone.add_argument("--get-services", action="store_true")
parser_group_standalone.add_argument("--get-icmptypes", action="store_true")
parser_group_standalone.add_argument("--get-zone-of-interface", metavar="<iface>", action='append')
parser_group_standalone.add_argument("--get-zone-of-source", metavar="<source>", action='append')
parser_group_standalone.add_argument("--list-all-zones", action="store_true")

parser_group_standalone.add_argument("--info-zone", metavar="<zone>")
parser_group_standalone.add_argument("--info-service", metavar="<service>")
parser_group_standalone.add_argument("--info-icmptype", metavar="<icmptype>")
parser_group_standalone.add_argument("--info-ipset", metavar="<ipset>")
parser_group_standalone.add_argument("--info-helper", metavar="<helper>")

parser_group_config = parser.add_mutually_exclusive_group()
parser_group_config.add_argument("--new-icmptype", metavar="<icmptype>")
parser_group_config.add_argument("--new-icmptype-from-file", metavar="<filename>")
parser_group_config.add_argument("--delete-icmptype", metavar="<icmptype>")
parser_group_config.add_argument("--load-icmptype-defaults",
                                 metavar="<icmptype>")
parser_group_config.add_argument("--new-service", metavar="<service>")
parser_group_config.add_argument("--new-service-from-file", metavar="<filename>")
parser_group_config.add_argument("--delete-service", metavar="<service>")
parser_group_config.add_argument("--load-service-defaults", metavar="<service>")
parser_group_config.add_argument("--new-zone", metavar="<zone>")
parser_group_config.add_argument("--new-zone-from-file", metavar="<filename>")
parser_group_config.add_argument("--delete-zone", metavar="<zone>")
parser_group_config.add_argument("--load-zone-defaults", metavar="<zone>")
parser_group_config.add_argument("--new-ipset", metavar="<ipset>")
parser_group_config.add_argument("--new-ipset-from-file", metavar="<filename>")
parser_group_config.add_argument("--delete-ipset", metavar="<ipset>")
parser_group_config.add_argument("--load-ipset-defaults", metavar="<ipset>")
parser_group_config.add_argument("--new-helper", metavar="<helper>")
parser_group_config.add_argument("--new-helper-from-file", metavar="<filename>")
parser_group_config.add_argument("--delete-helper", metavar="<helper>")
parser_group_config.add_argument("--load-helper-defaults", metavar="<helper>")

parser_group_config.add_argument("--path-zone", metavar="<zone>")
parser_group_config.add_argument("--path-service", metavar="<service>")
parser_group_config.add_argument("--path-icmptype", metavar="<icmptype>")
parser_group_config.add_argument("--path-ipset", metavar="<ipset>")
parser_group_config.add_argument("--path-helper", metavar="<helper>")

parser.add_argument("--name", default="", metavar="<name>")

parser_group_lockdown_whitelist = parser.add_mutually_exclusive_group()
parser_group_lockdown_whitelist.add_argument("--list-lockdown-whitelist-commands", action="store_true")
parser_group_lockdown_whitelist.add_argument("--add-lockdown-whitelist-command", metavar="<command>", action='append')
parser_group_lockdown_whitelist.add_argument("--remove-lockdown-whitelist-command", metavar="<command>", action='append')
parser_group_lockdown_whitelist.add_argument("--query-lockdown-whitelist-command", metavar="<command>", action='append')

parser_group_lockdown_whitelist.add_argument("--list-lockdown-whitelist-contexts", action="store_true")
parser_group_lockdown_whitelist.add_argument("--add-lockdown-whitelist-context", metavar="<context>", action='append')
parser_group_lockdown_whitelist.add_argument("--remove-lockdown-whitelist-context", metavar="<context>", action='append')
parser_group_lockdown_whitelist.add_argument("--query-lockdown-whitelist-context", metavar="<context>", action='append')

parser_group_lockdown_whitelist.add_argument("--list-lockdown-whitelist-uids", action="store_true")
parser_group_lockdown_whitelist.add_argument("--add-lockdown-whitelist-uid", metavar="<uid>", type=int, action='append')
parser_group_lockdown_whitelist.add_argument("--remove-lockdown-whitelist-uid", metavar="<uid>", type=int, action='append')
parser_group_lockdown_whitelist.add_argument("--query-lockdown-whitelist-uid", metavar="<uid>", type=int, action='append')

parser_group_lockdown_whitelist.add_argument("--list-lockdown-whitelist-users", action="store_true")
parser_group_lockdown_whitelist.add_argument("--add-lockdown-whitelist-user", metavar="<user>", action='append')
parser_group_lockdown_whitelist.add_argument("--remove-lockdown-whitelist-user", metavar="<user>", action='append')
parser_group_lockdown_whitelist.add_argument("--query-lockdown-whitelist-user", metavar="<user>", action='append')

parser.add_argument("--zone", default="", metavar="<zone>")

parser_group_zone = parser.add_mutually_exclusive_group()
parser_group_zone.add_argument("--add-interface", metavar="<iface>", action='append')
parser_group_zone.add_argument("--remove-interface", metavar="<iface>", action='append')
parser_group_zone.add_argument("--query-interface", metavar="<iface>", action='append')
parser_group_zone.add_argument("--change-interface", "--change-zone", metavar="<iface>", action='append')
parser_group_zone.add_argument("--list-interfaces", action="store_true")
parser_group_zone.add_argument("--add-source", metavar="<source>", action='append')
parser_group_zone.add_argument("--remove-source", metavar="<source>", action='append')
parser_group_zone.add_argument("--query-source", metavar="<source>", action='append')
parser_group_zone.add_argument("--change-source", metavar="<source>", action='append')
parser_group_zone.add_argument("--list-sources", action="store_true")
parser_group_zone.add_argument("--add-rich-rule", metavar="<rule>", action='append')
parser_group_zone.add_argument("--remove-rich-rule", metavar="<rule>", action='append')
parser_group_zone.add_argument("--query-rich-rule", metavar="<rule>", action='append')
parser_group_zone.add_argument("--add-service", metavar="<service>", action='append')
parser_group_zone.add_argument("--remove-service-from-zone", metavar="<zone>", action='append')
parser_group_zone.add_argument("--query-service", metavar="<zone>", action='append')
parser_group_zone.add_argument("--add-port", metavar="<port>", action='append')
parser_group_zone.add_argument("--remove-port", metavar="<port>", action='append')
parser_group_zone.add_argument("--query-port", metavar="<port>", action='append')
parser_group_zone.add_argument("--add-protocol", metavar="<protocol>", action='append')
parser_group_zone.add_argument("--remove-protocol", metavar="<protocol>", action='append')
parser_group_zone.add_argument("--query-protocol", metavar="<protocol>", action='append')
parser_group_zone.add_argument("--add-source-port", metavar="<port>", action='append')
parser_group_zone.add_argument("--remove-source-port", metavar="<port>", action='append')
parser_group_zone.add_argument("--query-source-port", metavar="<port>", action='append')
parser_group_zone.add_argument("--add-masquerade", action="store_true")
parser_group_zone.add_argument("--remove-masquerade", action="store_true")
parser_group_zone.add_argument("--query-masquerade", action="store_true")
parser_group_zone.add_argument("--add-icmp-block", metavar="<icmptype>", action='append')
parser_group_zone.add_argument("--remove-icmp-block", metavar="<icmptype>", action='append')
parser_group_zone.add_argument("--query-icmp-block", metavar="<icmptype>", action='append')
parser_group_zone.add_argument("--add-icmp-block-inversion", action="store_true")
parser_group_zone.add_argument("--remove-icmp-block-inversion", action="store_true")
parser_group_zone.add_argument("--query-icmp-block-inversion", action="store_true")
parser_group_zone.add_argument("--add-forward-port", metavar="<port>", action='append')
parser_group_zone.add_argument("--remove-forward-port", metavar="<port>", action='append')
parser_group_zone.add_argument("--query-forward-port", metavar="<port>", action='append')
parser_group_zone.add_argument("--list-rich-rules", action="store_true")
parser_group_zone.add_argument("--list-services", action="store_true")
parser_group_zone.add_argument("--list-ports", action="store_true")
parser_group_zone.add_argument("--list-protocols", action="store_true")
parser_group_zone.add_argument("--list-icmp-blocks", action="store_true")
parser_group_zone.add_argument("--list-forward-ports", action="store_true")
parser_group_zone.add_argument("--list-source-ports", action="store_true")
parser_group_zone.add_argument("--list-all", action="store_true")
parser_group_zone.add_argument("--get-target", action="store_true")
parser_group_zone.add_argument("--set-target", metavar="<target>")

parser.add_argument("--option", metavar="<key>[=<value>]", action='append')
parser.add_argument("--type", metavar="<ipsettype>")
parser.add_argument("--ipset", metavar="<ipset>")

parser_ipset = parser.add_mutually_exclusive_group()
#parser_ipset.add_argument("--add-option", metavar="<key>[=<value>]")
#parser_ipset.add_argument("--remove-option", metavar="<key>[=<value>]")
#parser_ipset.add_argument("--query-option", metavar="<key>[=<value>]")
#parser_ipset.add_argument("--get-options", action="store_true")

parser_ipset.add_argument("--get-ipsets", action="store_true")
parser_ipset.add_argument("--add-entry", metavar="<entry>", action='append')
parser_ipset.add_argument("--remove-entry", metavar="<entry>", action='append')
parser_ipset.add_argument("--query-entry", metavar="<entry>", action='append')
parser_ipset.add_argument("--get-entries", action="store_true")
parser_ipset.add_argument("--add-entries-from-file", metavar="<filename>", action='append')
parser_ipset.add_argument("--remove-entries-from-file", metavar="<filename>", action='append')

parser.add_argument("--icmptype", metavar="<icmptype>")

parser_icmptype = parser.add_mutually_exclusive_group()
parser_icmptype.add_argument("--add-destination", metavar="<ipv>", action='append')
parser_icmptype.add_argument("--remove-destination", metavar="<ipv>", action='append')
parser_icmptype.add_argument("--query-destination", metavar="<ipv>", action='append')
parser_icmptype.add_argument("--get-destinations", action="store_true")

parser_service = parser.add_mutually_exclusive_group()
parser_service.add_argument("--get-ports", action="store_true")
parser_service.add_argument("--get-source-ports", action="store_true")
parser_service.add_argument("--get-protocols", action="store_true")

parser_service.add_argument("--add-module", metavar="<module>", action='append')
parser_service.add_argument("--remove-module", metavar="<module>", action='append')
parser_service.add_argument("--query-module", metavar="<module>", action='append')
parser_service.add_argument("--get-modules", action="store_true")

parser_service.add_argument("--add-helper", metavar="<helper>", action='append')
parser_service.add_argument("--remove-helper", metavar="<helper>", action='append')
parser_service.add_argument("--query-helper", metavar="<helper>", action='append')
parser_service.add_argument("--get-service-helpers", action="store_true")

parser_service.add_argument("--add-include", metavar="<service>", action='append')
parser_service.add_argument("--remove-include", metavar="<service>", action='append')
parser_service.add_argument("--query-include", metavar="<service>", action='append')
parser_service.add_argument("--get-includes", action="store_true")

parser_service.add_argument("--set-destination", metavar="<destination>", action='append')
parser_service.add_argument("--get-destination", action="store_true")

parser_service.add_argument("--set-description", metavar="<description>")
parser_service.add_argument("--get-description", action="store_true")

parser_service.add_argument("--set-short", metavar="<description>")
parser_service.add_argument("--get-short", action="store_true")

parser.add_argument("--helper", metavar="<helper>")
parser.add_argument("--family", metavar="<family>")
parser.add_argument("--module", metavar="<module>")

parser_helper = parser.add_mutually_exclusive_group()
#parser_helper.add_argument("--get-ports", action="store_true")
parser_helper.add_argument("--get-helpers", action="store_true")
parser_helper.add_argument("--set-module", metavar="<module>")
parser_helper.add_argument("--get-module", action="store_true")
#parser_helper.add_argument("--query-module", metavar="<module>")
parser_helper.add_argument("--set-family", metavar="<family>|''", nargs="*")
parser_helper.add_argument("--get-family", action="store_true")

parser.add_argument("--direct", action="store_true")

# not possible to have sequences of options here
parser_direct = parser.add_mutually_exclusive_group()
parser_direct.add_argument("--add-passthrough", nargs=argparse.REMAINDER,
                           metavar=("{ ipv4 | ipv6 | eb }", "<args>"))
parser_direct.add_argument("--remove-passthrough", nargs=argparse.REMAINDER,
                           metavar=("{ ipv4 | ipv6 | eb }", "<args>"))
parser_direct.add_argument("--query-passthrough", nargs=argparse.REMAINDER,
                           metavar=("{ ipv4 | ipv6 | eb }", "<args>"))
parser_direct.add_argument("--get-passthroughs", nargs=1,
                           metavar=("{ ipv4 | ipv6 | eb }"))
parser_direct.add_argument("--get-all-passthroughs", action="store_true")
parser_direct.add_argument("--add-chain", nargs=3,
                           metavar=("{ ipv4 | ipv6 | eb }", "<table>", "<chain>"))
parser_direct.add_argument("--remove-chain", nargs=3,
                           metavar=("{ ipv4 | ipv6 | eb }", "<table>", "<chain>"))
parser_direct.add_argument("--query-chain", nargs=3,
                           metavar=("{ ipv4 | ipv6 | eb }", "<table>", "<chain>"))
parser_direct.add_argument("--get-all-chains", action="store_true")
parser_direct.add_argument("--get-chains", nargs=2,
                           metavar=("{ ipv4 | ipv6 | eb }", "<table>"))
parser_direct.add_argument("--add-rule", nargs=argparse.REMAINDER,
                           metavar=("{ ipv4 | ipv6 | eb }", "<table> <chain> <priority> <args>"))
parser_direct.add_argument("--remove-rule", nargs=argparse.REMAINDER,
                           metavar=("{ ipv4 | ipv6 | eb }", "<table> <chain> <priority> <args>"))
parser_direct.add_argument("--remove-rules", nargs=3,
                           metavar=("{ ipv4 | ipv6 | eb }", "<table> <chain>"))
parser_direct.add_argument("--query-rule", nargs=argparse.REMAINDER,
                           metavar=("{ ipv4 | ipv6 | eb }", "<table> <chain> <priority> <args>"))
parser_direct.add_argument("--get-rules", nargs=3,
                           metavar=("{ ipv4 | ipv6 | eb }", "<table>", "<chain>"))
parser_direct.add_argument("--get-all-rules", action="store_true")

##############################################################################

cmd = FirewallCommand()

def myexcepthook(exctype, value, traceback):
    cmd.exception_handler(str(value))
sys.excepthook = myexcepthook

if len(sys.argv) > 1 and \
   any('--migrate-system-config-firewall' in arg for arg in sys.argv):
    args = sys.argv[1:]
    migration_parser = argparse.ArgumentParser(
        usage="see firewall-offline-cmd man page", add_help=False)
    migration_parser.add_argument("-h", "--help", action="store_true")
    migration_parser.add_argument("-v", "--verbose", action="store_true")
    migration_parser.add_argument("-q", "--quiet", action="store_true")
    migration_parser.add_argument("--migrate-system-config-firewall",
                                  metavar="<file>", action='store')
    a,unknown = migration_parser.parse_known_args(args)
    cmd.set_quiet(a.quiet)
    cmd.set_verbose(a.verbose)
    if a.help:
        __usage()
        sys.exit(0)
    else:
        assert_root()
    if a.quiet:
        # it makes no sense to use --quiet with these options
        a.quiet = False
        cmd.set_quiet(a.quiet)
        cmd.fail("-q/--quiet can't be used with this option(s)")
    if a.migrate_system_config_firewall:
        args = read_sysconfig_args(a.migrate_system_config_firewall)
        if not args:
            cmd.fail("Opening of '%s' failed, exiting." % \
                     a.migrate_system_config_firewall)
        args += unknown
elif len(sys.argv) > 1:
    i = -1
    args = sys.argv[1:]
    if '--add-passthrough' in args:
        i = args.index('--add-passthrough') + 1
    elif '--remove-passthrough' in args:
        i = args.index('--remove-passthrough') + 1
    elif '--query-passthrough' in args:
        i = args.index('--query-passthrough') + 1
    elif '--add-rule' in args:
        i = args.index('--add-rule') + 4
    elif '--remove-rule' in args:
        i = args.index('--remove-rule') + 4
    elif '--query-rule' in args:
        i = args.index('--query-rule') + 4
    # join <args> into one argument to prevent parser from parsing each iptables
    # option, because they can conflict with firewall-cmd options
    # # e.g. --delete (iptables) and --delete-* (firewall-cmd)
    if (i > -1) and (i < len(args) - 1):
        aux_args = args[:]
        args = aux_args[:i+1] # all but not <args>
        args.append(joinArgs(aux_args[i+1:])) # add <args> as one arg
else:
    assert_root()
    # migrate configuration from SYSTEM_CONFIG_FIREWALL
    args = read_sysconfig_args()
    if not args:
        cmd.fail("Opening of '%s' failed, exiting." % SYSTEM_CONFIG_FIREWALL)

a = parser.parse_args(args)

options_lokkit = a.enabled or a.disabled or a.addmodule or a.removemodule or \
                 a.trust or a.masq or a.custom_rules or \
                 a.service or a.remove_service or a.port or \
                 a.trust or a.masq or a.forward_port or a.block_icmp

options_standalone = a.help or a.version or \
    a.policy_server or a.policy_desktop or \
    a.lockdown_on or a.lockdown_off or a.query_lockdown or \
    a.get_default_zone or a.set_default_zone or \
    a.get_log_denied or a.set_log_denied or \
    a.get_automatic_helpers or a.set_automatic_helpers

options_desc_xml_file = a.set_description or a.get_description or \
                        a.set_short or a.get_short

options_lockdown_whitelist = \
    a.list_lockdown_whitelist_commands or a.add_lockdown_whitelist_command or \
    a.remove_lockdown_whitelist_command or \
    a.query_lockdown_whitelist_command or \
    a.list_lockdown_whitelist_contexts or a.add_lockdown_whitelist_context or \
    a.remove_lockdown_whitelist_context or \
    a.query_lockdown_whitelist_context or \
    a.list_lockdown_whitelist_uids or a.add_lockdown_whitelist_uid is not None or \
    a.remove_lockdown_whitelist_uid is not None or \
    a.query_lockdown_whitelist_uid is not None or \
    a.list_lockdown_whitelist_users or a.add_lockdown_whitelist_user or \
    a.remove_lockdown_whitelist_user or \
    a.query_lockdown_whitelist_user

options_config = a.get_zones or a.get_services or a.get_icmptypes or \
                 options_lockdown_whitelist or a.list_all_zones or \
                 a.get_zone_of_interface or a.get_zone_of_source or \
                 a.info_zone or a.info_icmptype or a.info_service or \
                 a.info_ipset or a.get_ipsets or a.info_helper or \
                 a.get_helpers

options_zone_action_action = \
    a.add_service or a.remove_service_from_zone or a.query_service or \
    a.add_port or a.remove_port or a.query_port or \
    a.add_protocol or a.remove_protocol or a.query_protocol or \
    a.add_source_port or a.remove_source_port or a.query_source_port or \
    a.add_icmp_block or a.remove_icmp_block or a.query_icmp_block or \
    a.add_forward_port or a.remove_forward_port or a.query_forward_port

options_zone_interfaces_sources = \
    a.list_interfaces or a.change_interface or \
    a.add_interface or a.remove_interface or a.query_interface or \
    a.list_sources or a.change_source or \
    a.add_source or a.remove_source or a.query_source

options_zone_adapt_query = \
    a.add_rich_rule or a.remove_rich_rule or a.query_rich_rule or \
    a.add_masquerade or a.remove_masquerade or a.query_masquerade or \
    a.list_services or a.list_ports or a.list_protocols or \
    a.list_source_ports or \
    a.list_icmp_blocks or a.list_forward_ports or a.list_rich_rules or \
    a.add_icmp_block_inversion or a.remove_icmp_block_inversion or \
    a.query_icmp_block_inversion or \
    a.list_all or a.get_target or a.set_target

options_zone_ops = options_zone_interfaces_sources or \
                   options_zone_action_action or options_zone_adapt_query

options_zone = a.zone or options_zone_ops or options_desc_xml_file

options_ipset = a.add_entry or a.remove_entry or a.query_entry or \
                a.get_entries or a.add_entries_from_file or \
                a.remove_entries_from_file or options_desc_xml_file

options_icmptype = a.add_destination or a.remove_destination or \
                   a.query_destination or a.get_destinations or \
                   options_desc_xml_file

options_service = a.add_port or a.remove_port or a.query_port or \
                  a.get_ports or \
                  a.add_protocol or a.remove_protocol or a.query_protocol or \
                  a.get_protocols or \
                  a.add_source_port or a.remove_source_port or \
                  a.query_source_port or a.get_source_ports or \
                  a.add_module or a.remove_module or a.query_module or \
                  a.get_modules or \
                  a.set_destination or a.remove_destination or \
                  a.query_destination or a.get_destinations or \
                  options_desc_xml_file or \
                  a.add_include or a.remove_include or a.query_include or \
                  a.get_includes or \
                  a.add_helper or a.remove_helper or a.query_helper or \
                  a.get_service_helpers

options_helper = a.add_port or a.remove_port or a.query_port or \
                  a.get_ports or a.set_module or a.get_module or \
                  a.set_family or a.get_family or \
                  options_desc_xml_file

options_permanent = options_config or options_zone or \
                    a.new_icmptype or a.delete_icmptype or \
                    a.new_icmptype_from_file or \
                    a.load_icmptype_defaults or \
                    a.new_service or a.delete_service or \
                    a.new_service_from_file or \
                    a.load_service_defaults or \
                    a.new_zone or a.delete_zone or \
                    a.new_zone_from_file or \
                    a.load_zone_defaults or \
                    a.new_helper or a.delete_helper or \
                    a.new_helper_from_file or \
                    a.load_helper_defaults or \
                    a.new_ipset or a.delete_ipset or \
                    a.new_ipset_from_file or \
                    a.load_ipset_defaults or \
                    a.ipset or options_ipset or \
                    (a.icmptype and options_icmptype) or \
                    (a.service and options_service) or \
                    (a.helper and options_helper) or \
                    a.path_zone or a.path_icmptype or a.path_service or \
                    a.path_ipset or a.path_helper

options_direct = \
           a.add_chain or a.remove_chain or a.query_chain or \
           a.get_chains or a.get_all_chains or \
           a.add_rule or a.remove_rule or a.remove_rules or a.query_rule or \
           a.get_rules or a.get_all_rules or \
           a.add_passthrough or a.remove_passthrough or a.query_passthrough or \
           a.get_passthroughs or a.get_all_passthroughs

# these are supposed to only write out some output
options_list_get = a.help or a.version or a.list_all or a.list_all_zones or \
 a.list_lockdown_whitelist_commands or a.list_lockdown_whitelist_contexts or \
 a.list_lockdown_whitelist_uids or a.list_lockdown_whitelist_users or \
 a.list_services or a.list_ports or a.list_protocols or a.list_icmp_blocks or \
 a.list_forward_ports or a.list_rich_rules or a.list_interfaces or \
 a.list_sources or a.get_default_zone or \
 a.get_zone_of_interface or a.get_zone_of_source or a.get_zones or \
 a.get_services or a.get_icmptypes or a.get_target or \
 a.info_zone or a.info_icmptype or a.info_service or \
 a.info_ipset or a.get_ipsets or a.get_entries or \
 a.info_helper or a.get_helpers or \
 a.get_destinations or a.get_description

# Set quiet and verbose

cmd.set_quiet(a.quiet)
cmd.set_verbose(a.verbose)

# Check various impossible combinations of options

if not (options_standalone or options_ipset or \
        options_lokkit or \
        options_icmptype or options_service or options_helper or \
        options_permanent or options_direct or options_desc_xml_file or \
        a.check_config):
    cmd.fail(parser.format_usage() + "No option specified.")

if options_lokkit and (options_standalone or \
                       options_permanent or options_direct) and \
                       not (options_service and a.service):
    cmd.fail(parser.format_usage() +
             "Can't use lokkit options with other options.")

if options_standalone and (options_permanent or \
                           options_direct or options_ipset):
    cmd.fail(parser.format_usage() +
             "Can't use stand-alone options with other options.")

if options_ipset and not options_desc_xml_file and not a.ipset:
    cmd.fail(parser.format_usage() + "No ipset specified.")

if (options_icmptype and not a.icmptype) and \
   not (options_service and a.service) and not options_desc_xml_file:
    cmd.fail(parser.format_usage() + "No icmptype specified.")

if options_service and a.service and len(a.service) > 0:
    if len(a.service) > 1:
        cmd.fail(parser.format_usage() + "More than one service specified.")
    # use the first entry in the array only
    a.service = a.service[0]

if (options_helper and not a.helper) and \
   not (options_service and a.service) and \
   not options_zone and not options_desc_xml_file:
    cmd.fail(parser.format_usage() + "No helper specified.")

if options_direct and options_zone:
    cmd.fail(parser.format_usage() +
             "Can't use 'direct' options with other options.")

if (a.direct and not options_direct) or (options_direct and not a.direct):
    cmd.fail(parser.format_usage() +
             "Wrong usage of 'direct' options.")

if a.name and not (a.new_zone_from_file or a.new_service_from_file or \
                   a.new_ipset_from_file or a.new_icmptype_from_file or \
                   a.new_helper_from_file):
    cmd.fail(parser.format_usage() + "Wrong usage of '--name' option.")

if options_config and options_zone:
    cmd.fail(parser.format_usage() +
             "Wrong usage of --get-zones | --get-services | --get-icmptypes.")

if a.quiet and options_list_get:
    # it makes no sense to use --quiet with these options
    a.quiet = False
    cmd.set_quiet(a.quiet)
    cmd.fail("-q/--quiet can't be used with this option(s)")

if a.help:
    __usage()
    sys.exit(0)

assert_root()

if a.system_config:
    config.set_system_config_paths(a.system_config)
if a.default_config:
    config.set_default_config_paths(a.default_config)
if a.check_config:
    try:
        fw = Firewall(offline=True)
        fw.start()
        check_config(fw)
    except FirewallError as error:
        cmd.print_and_exit("Configuration error: %s" % error, error.code)
    except Exception as msg:
        cmd.fail("Configuration error: %s" % msg)
    sys.exit(0)

zone = a.zone
fw = Firewall(offline=True)
fw.start()

try:
    # Lokkit Compatibility Options
    if options_lokkit and not (options_service and a.service):
        trusted_zone = "trusted"
        default_zone = fw.get_default_zone()
        fw_zone = fw.config.get_zone(default_zone)
        fw_settings = FirewallClientZoneSettings(
            list(fw.config.get_zone_config(fw_zone)))

        if a.enabled:
            # Enable firewall (default)
            os.system("systemctl enable firewalld.service")
        if a.disabled:
            # Disable firewall
            os.system("systemctl disable firewalld.service")
        if a.addmodule:
            for m in a.addmodule:
                cmd.print_msg("Ignoring addmodule '%s'" % m)
        if a.removemodule:
            for m in a.removemodule:
                cmd.print_msg("Ignoring removemodule '%s'" % m)
        if a.custom_rules:
            for c in a.custom_rules:
                cmd.print_msg("Ignoring custom-rule '%s'" % c)
        if a.service:
            for s in a.service:
                cmd.print_msg("Adding service '%s' to default zone." % s)
                if not fw_settings.queryService(s):
                    fw_settings.addService(s)
                else:
                    cmd.print_msg("ALREADY_ENABLED: %s" % s)
        if a.remove_service:
            for s in a.remove_service:
                cmd.print_msg("Removing service '%s' from default zone." % s)
                if fw_settings.queryService(s):
                    fw_settings.removeService(s)
                else:
                    cmd.print_msg("NOT_ENABLED: %s" % s)
        if a.port:
            for port_proto in a.port:
                (port, proto) = parse_port_lokkit(port_proto)
                cmd.print_msg("Adding port '%s/%s' to default zone." % (port, proto))
                if not fw_settings.queryPort(port, proto):
                    fw_settings.addPort(port, proto)
                else:
                    cmd.print_msg("ALREADY_ENABLED: %s" % port_proto)
        if a.trust:
            if default_zone != trusted_zone:
                fw_trusted = fw.config.get_zone("trusted")
                fw_trusted_settings = FirewallClientZoneSettings(
                    list(fw.config.get_zone_config(fw_trusted)))
                # Bind an interface to the trusted zone
                for i in a.trust:
                    cmd.print_msg("Interface '%s' will be bound to zone '%s'." % \
                            (i, trusted_zone))
                    if not fw_trusted_settings.queryInterface(i):
                        fw_trusted_settings.addInterface(i)
                    else:
                        cmd.print_msg("ALREADY_ENABLED: %s" % i)
                fw.config.set_zone_config(fw_trusted, fw_trusted_settings.settings)
            else:
                for i in a.trust:
                    cmd.print_msg("Interface '%s' will be bound to zone '%s'." % \
                            (i, trusted_zone))
                    if not fw_settings.queryInterface(i):
                        fw_settings.addInterface(i)
                    else:
                        cmd.print_msg("ALREADY_ENABLED: %s" % i)
        if a.masq:
            # Enables masquerading in the default zone, interface argument is ignored
            cmd.print_msg("Enabling masquerade for the default zone.")
            fw_settings.setMasquerade(True)
        if a.forward_port:
            for fp in a.forward_port:
                (port, protocol, toport, toaddr) = cmd.parse_forward_port(
                    fp, compat=True)
                cmd.print_msg("Adding forward port %s:%s:%s:%s to default zone." % \
                      (port, protocol, toport, toaddr))
                if not fw_settings.queryForwardPort(port, protocol, toport,
                                                    toaddr):
                    fw_settings.addForwardPort(port, protocol, toport, toaddr)
                else:
                    cmd.print_msg("ALREADY_ENABLED: %s" % fp)
        if a.block_icmp:
            for ib in a.block_icmp:
                cmd.print_msg("Adding icmpblock '%s' to default zone." % ib)
                if not fw_settings.queryIcmpBlock(ib):
                    fw_settings.addIcmpBlock(ib)
                else:
                    cmd.print_msg("ALREADY_ENABLED: %s" % ib)

        fw.config.set_zone_config(fw_zone, fw_settings.settings)

    elif a.version:
        cmd.print_and_exit(config.VERSION)

    elif a.get_log_denied:
        cmd.print_and_exit(fw.get_log_denied())
    elif a.set_log_denied:
        fw.set_log_denied(a.set_log_denied)

    elif a.get_automatic_helpers:
        cmd.print_and_exit(fw.get_automatic_helpers())
    elif a.set_automatic_helpers:
        fw.set_automatic_helpers(a.set_automatic_helpers)

    elif a.policy_server:
        pk_symlink('server')
    elif a.policy_desktop:
        pk_symlink('desktop')

    # options from firewall-cmd
    elif a.get_default_zone:
        cmd.print_and_exit(fw.get_default_zone())
    elif a.set_default_zone:
        fw.set_default_zone(a.set_default_zone)

    # lockdown
    elif a.lockdown_on:
        fw.enable_lockdown()
    elif a.lockdown_off:
        fw.disable_lockdown()
    elif a.query_lockdown:
        cmd.print_query_result(fw.policies.query_lockdown())

    # zones
    elif a.get_zones:
        zones = fw.config.get_zones()
        cmd.print_and_exit(" ".join(zones))

    elif a.new_zone:
        fw.config.new_zone(a.new_zone, FirewallClientZoneSettings().settings)

    elif a.new_zone_from_file:
        filename = os.path.basename(a.new_zone_from_file)
        dirname = os.path.dirname(a.new_zone_from_file)
        if dirname == "":
            dirname = "./"
        try:
            obj = zone_reader(filename, dirname)
        except FirewallError as msg:
            cmd.print_and_exit("Failed to load zone file '%s': %s" % \
                               (a.new_zone_from_file, msg), msg.code)
        except IOError as msg:
            cmd.fail("Failed to load zone file: %s" % msg)

        if a.name:
            obj.name = a.name

        fw.config.new_zone(obj.name, obj.export_config())

    elif a.delete_zone:
        obj = fw.config.get_zone(a.delete_zone)
        fw.config.remove_zone(obj)

    elif a.load_zone_defaults:
        obj = fw.config.get_zone(a.load_zone_defaults)
        fw.config.load_zone_defaults(obj)

    elif a.info_zone:
        zone = fw.config.get_zone(a.info_zone)
        settings = FirewallClientZoneSettings(
            list(fw.config.get_zone_config(zone)))
        cmd.print_zone_info(a.info_zone, settings, True)
        sys.exit(0)

    elif a.path_zone:
        obj = fw.config.get_zone(a.path_zone)
        cmd.print_and_exit("%s/%s" % (obj.path, obj.filename))

    # services
    elif a.get_services:
        services = fw.config.get_services()
        cmd.print_and_exit(" ".join(services))

    elif a.new_service:
        fw.config.new_service_dict(a.new_service,
                        FirewallClientServiceSettings().getSettingsDict())

    elif a.new_service_from_file:
        filename = os.path.basename(a.new_service_from_file)
        dirname = os.path.dirname(a.new_service_from_file)
        if dirname == "":
            dirname = "./"
        try:
            obj = service_reader(filename, dirname)
        except FirewallError as msg:
            cmd.print_and_exit("Failed to load service file '%s': %s" % \
                               (a.new_service_from_file, msg), msg.code)
        except IOError as msg:
            cmd.fail("Failed to load service file: %s" % msg)

        if a.name:
            obj.name = a.name

        fw.config.new_service(obj.name, obj.export_config())

    elif a.delete_service:
        obj = fw.config.get_service(a.delete_service)
        fw.config.remove_service(obj)

        # remove service from all zones
        zones = fw.config.get_zones()
        for zone in zones:
            _zone = fw.config.get_zone(zone)
            _settings = FirewallClientZoneSettings(
                list(fw.config.get_zone_config(_zone)))
            if _settings.queryService(a.delete_service):
                _settings.removeService(a.delete_service)
                fw.config.set_zone_config(_zone, _settings.settings)

    elif a.load_service_defaults:
        obj = fw.config.get_service(a.load_service_defaults)
        fw.config.load_service_defaults(obj)

    elif a.info_service:
        service = fw.config.get_service(a.info_service)
        settings = FirewallClientServiceSettings(
                        fw.config.get_service_config_dict(service))
        cmd.print_service_info(a.info_service, settings)
        sys.exit(0)

    elif a.path_service:
        obj = fw.config.get_service(a.path_service)
        cmd.print_and_exit("%s/%s" % (obj.path, obj.filename))

    # icmptypes
    elif a.get_icmptypes:
        icmptypes = fw.config.get_icmptypes()
        cmd.print_and_exit(" ".join(icmptypes))

    elif a.new_icmptype:
        fw.config.new_icmptype(a.new_icmptype,
                               FirewallClientIcmpTypeSettings().settings)

    elif a.new_icmptype_from_file:
        filename = os.path.basename(a.new_icmptype_from_file)
        dirname = os.path.dirname(a.new_icmptype_from_file)
        if dirname == "":
            dirname = "./"
        try:
            obj = icmptype_reader(filename, dirname)
        except FirewallError as msg:
            cmd.print_and_exit("Failed to load icmptype file '%s': %s" % \
                               (a.new_icmptype_from_file, msg), msg.code)
        except IOError as msg:
            cmd.fail("Failed to load icmptype file: %s" % msg)

        if a.name:
            obj.name = a.name

        fw.config.new_icmptype(obj.name, obj.export_config())

    elif a.delete_icmptype:
        obj = fw.config.get_icmptype(a.delete_icmptype)
        fw.config.remove_icmptype(obj)

        # remove icmpyte from all zones
        zones = fw.config.get_zones()
        for zone in zones:
            _zone = fw.config.get_zone(zone)
            _settings = FirewallClientZoneSettings(
                list(fw.config.get_zone_config(_zone)))
            if _settings.queryIcmpBlock(a.delete_icmptype):
                _settings.removeIcmpBlock(a.delete_icmptype)
                fw.config.set_zone_config(_zone, _settings.settings)

    elif a.load_icmptype_defaults:
        obj = fw.config.get_icmptype(a.load_icmptype_defaults)
        fw.config.load_icmptype_defaults(obj)

    elif a.info_icmptype:
        icmptype = fw.config.get_icmptype(a.info_icmptype)
        settings = FirewallClientIcmpTypeSettings(
            list(fw.config.get_icmptype_config(icmptype)))

        cmd.print_icmptype_info(a.info_icmptype, settings)
        sys.exit(0)

    elif a.path_icmptype:
        obj = fw.config.get_icmptype(a.path_icmptype)
        cmd.print_and_exit("%s/%s" % (obj.path, obj.filename))

    elif a.icmptype and options_icmptype:
        icmptype = fw.config.get_icmptype(a.icmptype)
        settings = FirewallClientIcmpTypeSettings(
            list(fw.config.get_icmptype_config(icmptype)))

        if a.add_destination:
            cmd.add_sequence(a.add_destination, settings.addDestination,
                             settings.queryDestination,
                             cmd.check_destination_ipv, "'%s'")
            fw.config.set_icmptype_config(icmptype, settings.settings)

        elif a.remove_destination:
            cmd.remove_sequence(a.remove_destination,
                                settings.removeDestination,
                                settings.queryDestination,
                                cmd.check_destination_ipv, "'%s'")
            fw.config.set_icmptype_config(icmptype, settings.settings)

        elif a.query_destination:
            cmd.query_sequence(a.query_destination, settings.queryDestination,
                               cmd.check_destination_ipv , "'%s'")

        elif a.get_destinations:
            l = settings.getDestinations()
            if len(l) == 0:
                l = [ "ipv4", "ipv6" ]
            cmd.print_and_exit("\n".join(l))

        elif a.set_description:
            settings.setDescription(a.set_description)
            fw.config.set_icmptype_config(icmptype, settings.settings)

        elif a.get_description:
            cmd.print_and_exit(settings.getDescription())

        elif a.set_short:
            settings.setShort(a.set_short)
            fw.config.set_icmptype_config(icmptype, settings.settings)

        elif a.get_short:
            cmd.print_and_exit(settings.getShort())

        else:
            cmd.fail(parser.format_usage() + "Unknown option")

        cmd.print_and_exit("success")

    elif a.service and options_service:
        service = fw.config.get_service(a.service)
        settings = FirewallClientServiceSettings(
                        fw.config.get_service_config_dict(service))

        if a.add_port:
            cmd.add_sequence(a.add_port, settings.addPort,
                             settings.queryPort, cmd.parse_port, "%s/%s")
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.remove_port:
            cmd.remove_sequence(a.remove_port, settings.removePort,
                                settings.queryPort, cmd.parse_port, "%s/%s")
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.query_port:
            cmd.query_sequence(a.query_port, settings.queryPort,
                               cmd.parse_port, "%s/%s")

        elif a.get_ports:
            l = settings.getPorts()
            cmd.print_and_exit(" ".join(["%s/%s" % (port[0], port[1]) for port in l]))

        elif a.add_protocol:
            cmd.add_sequence(a.add_protocol, settings.addProtocol,
                             settings.queryProtocol, None, "'%s'")
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.remove_protocol:
            cmd.remove_sequence(a.remove_protocol, settings.removeProtocol,
                                settings.queryProtocol, None, "'%s'")
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.query_protocol:
            cmd.query_sequence(a.query_protocol, settings.queryProtocol,
                               None, "'%s'")

        elif a.get_protocols:
            l = settings.getProtocols()
            cmd.print_and_exit(" ".join(["%s" % protocol for protocol in l]))

        elif a.add_source_port:
            cmd.add_sequence(a.add_source_port, settings.addSourcePort,
                             settings.querySourcePort, cmd.parse_port, "%s/%s")
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.remove_source_port:
            cmd.remove_sequence(a.remove_source_port, settings.removeSourcePort,
                                settings.querySourcePort, cmd.parse_port,
                                "%s/%s")
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.query_source_port:
            cmd.query_sequence(a.query_source_port, settings.querySourcePort,
                               cmd.parse_port, "%s/%s")

        elif a.get_source_ports:
            l = settings.getSourcePorts()
            cmd.print_and_exit(" ".join(["%s/%s" % (port[0], port[1]) for port in l]))

        elif a.add_module:
            cmd.add_sequence(a.add_module, settings.addModule,
                             settings.queryModule, None, "'%s'")
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.remove_module:
            cmd.remove_sequence(a.remove_module, settings.removeModule,
                                settings.queryModule, None, "'%s'")
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.query_module:
            cmd.query_sequence(a.query_module, settings.queryModule,
                               None, "'%s'")

        elif a.get_modules:
            l = settings.getModules()
            cmd.print_and_exit(" ".join(["%s" % module for module in l]))

        elif a.set_destination:
            cmd.add_sequence(a.set_destination, settings.setDestination,
                             settings.queryDestination,
                             cmd.parse_service_destination, "%s:%s")
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.remove_destination:
            # special case for removeDestination: Only ipv, no address
            for ipv in a.remove_destination:
                cmd.check_destination_ipv(ipv)
                if ipv not in settings.getDestinations():
                    if len(a.remove_destination) > 1:
                        cmd.print_warning("Warning: NOT_ENABLED: '%s'" % ipv)
                    else:
                        code = FirewallError.get_code("NOT_ENABLED")
                        cmd.print_and_exit("Error: NOT_ENABLED: '%s'" % ipv,
                                           code)
                else:
                    settings.removeDestination(ipv)
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.query_destination:
            cmd.query_sequence(a.query_destination, settings.queryDestination,
                               cmd.parse_service_destination, "'%s'")

        elif a.get_destinations:
            l = settings.getDestinations()
            cmd.print_and_exit(" ".join(["%s:%s" % (dest[0], dest[1]) for dest in l.items()]))

        elif a.add_include:
            cmd.add_sequence(a.add_include, settings.addInclude,
                             settings.queryInclude, None, "'%s'")
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.remove_include:
            cmd.remove_sequence(a.remove_include, settings.removeInclude,
                                settings.queryInclude, None, "'%s'")
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.query_include:
            cmd.query_sequence(a.query_include, settings.queryInclude,
                               None, "'%s'")

        elif a.get_includes:
            l = settings.getIncludes()
            cmd.print_and_exit(" ".join(["%s" % include for include in sorted(l)]))

        elif a.add_helper:
            cmd.add_sequence(a.add_helper, settings.addHelper,
                             settings.queryHelper, None, "'%s'")
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.remove_helper:
            cmd.remove_sequence(a.remove_helper, settings.removeHelper,
                                settings.queryHelper, None, "'%s'")
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.query_helper:
            cmd.query_sequence(a.query_helper, settings.queryHelper,
                               None, "'%s'")

        elif a.get_service_helpers:
            l = settings.getHelpers()
            cmd.print_and_exit(" ".join(["%s" % helper for helper in sorted(l)]))

        elif a.set_description:
            settings.setDescription(a.set_description)
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.get_description:
            cmd.print_and_exit(settings.getDescription())

        elif a.set_short:
            settings.setShort(a.set_short)
            fw.config.set_service_config_dict(service, settings.getSettingsDict())

        elif a.get_short:
            cmd.print_and_exit(settings.getShort())

        else:
            cmd.fail(parser.format_usage() + "Unknown option")

        cmd.print_and_exit("success")

    # ipsets
    if a.get_ipsets:
        ipsets = fw.config.get_ipsets()
        cmd.print_and_exit(" ".join(sorted(ipsets)))

    elif a.new_ipset:
        if not a.type:
            cmd.fail(parser.format_usage() + "No type specified.")

        settings = FirewallClientIPSetSettings()
        settings.setType(a.type)
        if a.option:
            for opt in a.option:
                settings.addOption(*cmd.parse_ipset_option(opt))
        fw.config.new_ipset(a.new_ipset, settings.settings)

    elif a.new_ipset_from_file:
        filename = os.path.basename(a.new_ipset_from_file)
        dirname = os.path.dirname(a.new_ipset_from_file)
        if dirname == "":
            dirname = "./"
        try:
            obj = ipset_reader(filename, dirname)
        except FirewallError as msg:
            cmd.print_and_exit("Failed to load ipset file '%s': %s" % \
                               (a.new_ipset_from_file, msg), msg.code)
        except IOError as msg:
            cmd.fail("Failed to load ipset file: %s" % msg)

        if a.name:
            obj.name = a.name

        fw.config.new_ipset(obj.name, obj.export_config())

    elif a.delete_ipset:
        ipset = fw.config.get_ipset(a.delete_ipset)
        fw.config.remove_ipset(ipset)

    elif a.load_ipset_defaults:
        obj = fw.config.get_ipset(a.load_ipset_defaults)
        fw.config.load_ipset_defaults(obj)

    elif a.info_ipset:
        ipset = fw.config.get_ipset(a.info_ipset)
        settings = FirewallClientIPSetSettings(
            list(fw.config.get_ipset_config(ipset)))
        cmd.print_ipset_info(a.info_ipset, settings)
        sys.exit(0)

    elif a.path_ipset:
        obj = fw.config.get_ipset(a.path_ipset)
        cmd.print_and_exit("%s/%s" % (obj.path, obj.filename))

    elif a.ipset:
        if a.add_entry:
            ipset = fw.config.get_ipset(a.ipset)
            settings = FirewallClientIPSetSettings(
                list(fw.config.get_ipset_config(ipset)))
            cmd.add_sequence(a.add_entry, settings.addEntry,
                             settings.queryEntry, None, "'%s'")
            fw.config.set_ipset_config(ipset, settings.settings)

        elif a.remove_entry:
            ipset = fw.config.get_ipset(a.ipset)
            settings = FirewallClientIPSetSettings(
                list(fw.config.get_ipset_config(ipset)))
            cmd.remove_sequence(a.remove_entry, settings.removeEntry,
                                settings.queryEntry, None, "'%s'")
            fw.config.set_ipset_config(ipset, settings.settings)

        elif a.query_entry:
            ipset = fw.config.get_ipset(a.ipset)
            settings = FirewallClientIPSetSettings(
                list(fw.config.get_ipset_config(ipset)))
            cmd.query_sequence(a.query_entry, settings.queryEntry, None, "'%s'")

        elif a.get_entries:
            ipset = fw.config.get_ipset(a.ipset)
            settings = FirewallClientIPSetSettings(
                list(fw.config.get_ipset_config(ipset)))
            l = settings.getEntries()
            cmd.print_and_exit("\n".join(l))

        elif a.add_entries_from_file:
            ipset = fw.config.get_ipset(a.ipset)
            settings = FirewallClientIPSetSettings(
                list(fw.config.get_ipset_config(ipset)))
            changed = False

            for filename in a.add_entries_from_file:
                try:
                    entries = cmd.get_ipset_entries_from_file(filename)
                except IOError as msg:
                    message = "Failed to read file '%s': %s" % (filename,
                                                                msg)
                    if len(a.add_entries_from_file) > 1:
                        cmd.print_warning(message)
                    else:
                        cmd.print_and_exit(message)
                else:
                    old_entries = settings.getEntries()
                    entries_set = set()
                    for entry in old_entries:
                        entries_set.add(entry)
                    for entry in entries:
                        if entry not in entries_set:
                            old_entries.append(entry)
                            entries_set.add(entry)
                            changed = True
                        else:
                            cmd.print_if_verbose(
                                "Warning: ALREADY_ENABLED: %s" % entry)
                    if changed:
                        settings.setEntries(old_entries)
            if changed:
                fw.config.set_ipset_config(ipset, settings.settings)

        elif a.remove_entries_from_file:
            ipset = fw.config.get_ipset(a.ipset)
            settings = FirewallClientIPSetSettings(
                list(fw.config.get_ipset_config(ipset)))
            changed = False

            for filename in a.remove_entries_from_file:
                try:
                    entries = cmd.get_ipset_entries_from_file(filename)
                except IOError as msg:
                    message = "Failed to read file '%s': %s" % (filename, msg)
                    if len(a.remove_entries_from_file) > 1:
                        cmd.print_warning(message)
                    else:
                        cmd.print_and_exit(message)
                else:
                    old_entries = settings.getEntries()
                    entries_set = set()
                    for entry in old_entries:
                        entries_set.add(entry)
                    for entry in entries:
                        if entry in entries_set:
                            old_entries.remove(entry)
                            entries_set.discard(entry)
                            changed = True
                        else:
                            cmd.print_if_verbose("Warning: NOT_ENABLED: %s" % \
                                                 entry)
                    if changed:
                        settings.setEntries(old_entries)
            if changed:
                fw.config.set_ipset_config(ipset, settings.settings)

        elif a.set_description:
            ipset = fw.config.get_ipset(a.ipset)
            settings = FirewallClientIPSetSettings(
                list(fw.config.get_ipset_config(ipset)))
            settings.setDescription(a.set_description)

            fw.config.set_ipset_config(ipset, settings.settings)

        elif a.get_description:
            ipset = fw.config.get_ipset(a.ipset)
            settings = FirewallClientIPSetSettings(
                list(fw.config.get_ipset_config(ipset)))

            cmd.print_and_exit(settings.getDescription())

        elif a.set_short:
            ipset = fw.config.get_ipset(a.ipset)
            settings = FirewallClientIPSetSettings(
                list(fw.config.get_ipset_config(ipset)))
            settings.setShort(a.set_short)

            fw.config.set_ipset_config(ipset, settings.settings)

        elif a.get_short:
            ipset = fw.config.get_ipset(a.ipset)
            settings = FirewallClientIPSetSettings(
                list(fw.config.get_ipset_config(ipset)))

            cmd.print_and_exit(settings.getShort())

        else:
            cmd.fail(parser.format_usage() + "Unknown option")

        cmd.print_and_exit("success")

    # helper

    elif a.get_helpers:
        cmd.print_and_exit(" ".join(sorted(fw.config.get_helpers())))

    elif a.new_helper:
        if not a.module:
            cmd.fail(parser.format_usage() + "No module specified.")

        settings = FirewallClientHelperSettings()
        settings.setModule(a.module)
        if a.family:
            settings.setFamily(a.family)
        fw.config.new_helper(a.new_helper, settings.settings)

    elif a.new_helper_from_file:
        filename = os.path.basename(a.new_helper_from_file)
        dirname = os.path.dirname(a.new_helper_from_file)
        if dirname == "":
            dirname = "./"
        try:
            obj = helper_reader(filename, dirname)
        except FirewallError as msg:
            cmd.print_and_exit("Failed to load helper file '%s': %s" % \
                               (a.new_helper_from_file, msg), msg.code)
        except IOError as msg:
            cmd.fail("Failed to load helper file: %s" % msg)

        if a.name:
            obj.name = a.name

        fw.config.new_helper(obj.name, obj.export_config())

    elif a.delete_helper:
        obj = fw.config.get_helper(a.delete_helper)
        fw.config.remove_helper(obj)

    elif a.load_helper_defaults:
        obj = fw.config.get_helper(a.load_helper_defaults)
        fw.config.load_helper_defaults(obj)

    elif a.info_helper:
        obj = fw.config.get_helper(a.info_helper)
        settings = FirewallClientHelperSettings(
            list(fw.config.get_helper_config(obj)))
        cmd.print_helper_info(a.info_helper, settings)
        sys.exit(0)

    elif a.path_helper:
        obj = fw.config.get_helper(a.path_helper)
        cmd.print_and_exit("%s/%s" % (obj.path, obj.filename))

    elif a.helper:
        obj = fw.config.get_helper(a.helper)
        settings = FirewallClientHelperSettings(
            list(fw.config.get_helper_config(obj)))

        if a.add_port:
            cmd.add_sequence(a.add_port, settings.addPort,
                             settings.queryPort, cmd.parse_port, "%s/%s")
            fw.config.set_helper_config(obj, settings.settings)

        elif a.remove_port:
            cmd.remove_sequence(a.remove_port, settings.removePort,
                                settings.queryPort, cmd.parse_port, "%s/%s")
            fw.config.set_helper_config(obj, settings.settings)

        elif a.query_port:
            cmd.query_sequence(a.query_port, settings.queryPort,
                               cmd.parse_port, "%s/%s")

        elif a.get_ports:
            l = settings.getPorts()
            cmd.print_and_exit(" ".join(["%s/%s" % (port[0], port[1]) for port in l]))

        elif a.get_module:
            cmd.print_and_exit(settings.getModule())

        elif a.set_module:
            settings.setModule(cmd.check_module(a.set_module))
            fw.config.set_helper_config(obj, settings.settings)

        elif a.get_family:
            cmd.print_and_exit(settings.getFamily())

        elif a.set_family:
            settings.setFamily(cmd.check_helper_family(a.set_family[0]))
            fw.config.set_helper_config(obj, settings.settings)

        elif a.set_description:
            settings.setDescription(a.set_description)

            fw.config.set_helper_config(obj, settings.settings)

        elif a.get_description:
            cmd.print_and_exit(settings.getDescription())

        elif a.set_short:
            settings.setShort(a.set_short)

            fw.config.set_helper_config(obj, settings.settings)

        elif a.get_short:
            cmd.print_and_exit(settings.getShort())

        else:
            cmd.fail(parser.format_usage() + "Unknown option")

    # lockdown whitelist

    elif options_lockdown_whitelist:
        whitelist = fw.config.get_policies().lockdown_whitelist

        # commands
        if a.list_lockdown_whitelist_commands:
            l = whitelist.get_commands()
            cmd.print_and_exit("\n".join(l))
        elif a.add_lockdown_whitelist_command:
            cmd.add_sequence(a.add_lockdown_whitelist_command,
                             whitelist.add_command,
                             whitelist.has_command, None, "'%s'")
        elif a.remove_lockdown_whitelist_command:
            cmd.remove_sequence(a.remove_lockdown_whitelist_command,
                                whitelist.remove_command,
                                whitelist.has_command, None, "'%s'")
        elif a.query_lockdown_whitelist_command:
            cmd.query_sequence(a.query_lockdown_whitelist_command,
                               whitelist.has_command, None, "'%s'")

        # contexts
        elif a.list_lockdown_whitelist_contexts:
            l = whitelist.get_contexts()
            cmd.print_and_exit("\n".join(l))
        elif a.add_lockdown_whitelist_context:
            cmd.add_sequence(a.add_lockdown_whitelist_context,
                             whitelist.add_context,
                             whitelist.has_context, None, "'%s'")
        elif a.remove_lockdown_whitelist_context:
            cmd.remove_sequence(a.remove_lockdown_whitelist_context,
                                whitelist.remove_context,
                                whitelist.has_context, None, "'%s'")
        elif a.query_lockdown_whitelist_context:
            cmd.query_sequence(a.query_lockdown_whitelist_context,
                               whitelist.has_context, None, "'%s'")

        # uids
        elif a.list_lockdown_whitelist_uids:
            l = whitelist.get_uids()
            cmd.print_and_exit(" ".join(map(str, l)))
        elif a.add_lockdown_whitelist_uid:
            cmd.add_sequence(a.add_lockdown_whitelist_uid,
                             whitelist.add_uid,
                             whitelist.has_uid, None, "'%s'")
        elif a.remove_lockdown_whitelist_uid:
            cmd.remove_sequence(a.remove_lockdown_whitelist_uid,
                                whitelist.remove_uid,
                                whitelist.has_uid, None, "'%s'")
        elif a.query_lockdown_whitelist_uid:
            cmd.query_sequence(a.query_lockdown_whitelist_uid,
                               whitelist.has_uid, None, "'%s'")

        # users
        elif a.list_lockdown_whitelist_users:
            l = whitelist.get_users()
            cmd.print_and_exit("\n".join(l))
        elif a.add_lockdown_whitelist_user:
            cmd.add_sequence(a.add_lockdown_whitelist_user,
                             whitelist.add_user,
                             whitelist.has_user, None, "'%s'")
        elif a.remove_lockdown_whitelist_user:
            cmd.remove_sequence(a.remove_lockdown_whitelist_user,
                                whitelist.remove_user,
                                whitelist.has_user, None, "'%s'")
        elif a.query_lockdown_whitelist_user:
            cmd.query_sequence(a.query_lockdown_whitelist_user,
                               whitelist.has_user, None, "'%s'")

        # apply whitelist changes
        whitelist.write()

    elif options_direct:
        obj = fw.config.get_direct()

        if a.add_passthrough:
            if len(a.add_passthrough) < 2:
                cmd.fail("usage: --direct --add-passthrough { ipv4 | ipv6 | eb } <args>")
            cmd.print_msg(
                obj.add_passthrough(cmd.check_ipv(a.add_passthrough[0]),
                                    splitArgs(a.add_passthrough[1])))

        elif a.remove_passthrough:
            if len(a.remove_passthrough) < 2:
                cmd.fail("usage: --direct --remove-passthrough { ipv4 | ipv6 | eb } <args>")
            obj.remove_passthrough(cmd.check_ipv(a.remove_passthrough[0]),
                                   splitArgs(a.remove_passthrough[1]))
        elif a.query_passthrough:
            if len(a.query_passthrough) < 2:
                cmd.fail("usage: --direct --query-passthrough { ipv4 | ipv6 | eb } <args>")
            cmd.print_query_result(
                obj.query_passthrough(cmd.check_ipv(a.query_passthrough[0]),
                                      splitArgs(a.query_passthrough[1])))
            sys.exit(0)
        elif a.get_passthroughs:
            rules = obj.get_passthroughs(cmd.check_ipv(a.get_passthroughs[0]))
            for rule in rules:
                cmd.print_msg(joinArgs(rule))
            sys.exit(0)
        elif a.get_all_passthroughs:
            rules = obj.get_all_passthroughs()
            for ipv in rules:
                for rule in rules[ipv]:
                    cmd.print_msg("%s %s" % (ipv, joinArgs(rule)))
            sys.exit(0)

        elif a.add_chain:
            obj.add_chain(cmd.check_ipv(a.add_chain[0]),
                          a.add_chain[1], a.add_chain[2])
        elif a.remove_chain:
            obj.remove_chain(cmd.check_ipv(a.remove_chain[0]),
                             a.remove_chain[1], a.remove_chain[2])
        elif a.query_chain:
            cmd.print_query_result(
                obj.query_chain(cmd.check_ipv(a.query_chain[0]),
                                a.query_chain[1], a.query_chain[2]))
            sys.exit(0)
        elif a.get_chains:
            cmd.print_and_exit(
                " ".join(obj.get_chains(cmd.check_ipv(a.get_chains[0]),
                                        a.get_chains[1])))
            sys.exit(0)
        elif a.get_all_chains:
            chains = obj.get_all_chains()
            for (ipv, table) in chains:
                for chain in chains[(ipv, table)]:
                    cmd.print_msg("%s %s %s" % (ipv, table, chain))
            sys.exit(0)

        elif a.add_rule:
            if len(a.add_rule) < 5:
                cmd.fail("usage: --direct --add-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>")
            try:
                priority = int(a.add_rule[3])
            except ValueError:
                cmd.fail("wrong priority\nusage: --direct --add-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>")
            obj.add_rule(cmd.check_ipv(a.add_rule[0]), a.add_rule[1],
                         a.add_rule[2], priority, splitArgs(a.add_rule[4]))
        elif a.remove_rule:
            if len(a.remove_rule) < 5:
                cmd.fail("usage: --direct --remove-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>")
            try:
                priority = int(a.remove_rule[3])
            except ValueError:
                cmd.fail("usage: --direct --remove-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>")
            obj.remove_rule(cmd.check_ipv(a.remove_rule[0]), a.remove_rule[1],
                            a.remove_rule[2], priority, splitArgs(a.remove_rule[4]))
        elif a.remove_rules:
            if len(a.remove_rules) < 3:
                cmd.fail("usage: --direct --remove-rules { ipv4 | ipv6 | eb } <table> <chain>")
            obj.remove_rules(cmd.check_ipv(a.remove_rules[0]),
                             a.remove_rules[1], a.remove_rules[2])
        elif a.query_rule:
            if len(a.query_rule) < 5:
                cmd.fail("usage: --direct --query-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>")
            try:
                priority = int(a.query_rule[3])
            except ValueError:
                cmd.fail("usage: --direct --query-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>")
            cmd.print_query_result(
                obj.query_rule(cmd.check_ipv(a.query_rule[0]),
                               a.query_rule[1], a.query_rule[2],
                               priority, splitArgs(a.query_rule[4])))
            sys.exit(0)
        elif a.get_rules:
            rules = obj.get_rules(cmd.check_ipv(a.get_rules[0]),
                                  a.get_rules[1], a.get_rules[2])
            for (priority, rule) in rules:
                cmd.print_msg("%d %s" % (priority, joinArgs(rule)))
            sys.exit(0)
        elif a.get_all_rules:
            rules = obj.get_all_rules()
            for (ipv, table, chain) in rules:
                for (priority, rule) in rules[(ipv, table, chain)]:
                    cmd.print_msg("%s %s %s %d %s" % \
                                  (ipv, table, chain, priority,
                                   joinArgs(rule)))
            sys.exit(0)

        obj.write()

    else:
        if zone == "":
            zone = fw.get_default_zone()
        fw_zone = fw.config.get_zone(zone)
        fw_settings = FirewallClientZoneSettings(
            list(fw.config.get_zone_config(fw_zone))) # convert to list, for setMasquerade

        # interface
        if a.list_interfaces:
            l = fw_settings.getInterfaces()
            cmd.print_and_exit(" ".join(l))
        elif a.get_zone_of_interface:
            for interface in a.get_zone_of_interface:
                ret = [ ]
                for zone in fw.config.get_zones():
                    obj = fw.config.get_zone(zone)
                    if interface in obj.interfaces:
                        ret.append(obj.name)
                if len(ret) > 1:
                    # Even it shouldn't happen, it's actually possible that
                    # the same interface is in several zone XML files
                    cmd.print_warning(" ".join(ret) + "  (ERROR: interface '%s' is in %s zone XML files, can be only in one)" % (interface, len(ret)))
                if len(ret) == 1:
                    if len(a.get_zone_of_interface) > 1:
                        cmd.print_warning("%s: %s" % (interface, ret[0]))
                    else:
                        cmd.print_and_exit(ret[0])
                else:
                    if len(a.get_zone_of_interface) > 1:
                        cmd.print_warning("%s: no zone" % interface)
                    else:
                        cmd.print_and_exit("no zone", 2)
        elif a.change_interface:
            for interface in a.change_interface:
                for old_zone in fw.config.get_zones():
                    old_zone_obj = fw.config.get_zone(old_zone)
                    if interface in old_zone_obj.interfaces:
                        if old_zone_obj.name != zone:
                            old_zone_settings = FirewallClientZoneSettings(
                                fw.config.get_zone_config(old_zone_obj))

                            old_zone_settings.removeInterface(interface) # remove from old
                            fw.config.set_zone_config(old_zone_obj, old_zone_settings.settings)
                fw_settings.addInterface(interface)              # add to new
        elif a.add_interface:
            cmd.add_sequence(a.add_interface, fw_settings.addInterface,
                             fw_settings.queryInterface, None, "'%s'")
        elif a.remove_interface:
            cmd.remove_sequence(a.remove_interface, fw_settings.removeInterface,
                                fw_settings.queryInterface, None, "'%s'")
        elif a.query_interface:
            cmd.query_sequence(a.query_interface, fw_settings.queryInterface,
                               None, "'%s'")

        # source
        if a.list_sources:
            sources = fw_settings.getSources()
            cmd.print_and_exit(" ".join(sources))
        elif a.get_zone_of_source:
            for source in a.get_zone_of_source:
                ret = [ ]
                for zone in fw.config.get_zones():
                    obj = fw.config.get_zone(zone)
                    if source in obj.sources:
                        ret.append(obj.name)
                if len(ret) > 1:
                    # Even it shouldn't happen, it's actually possible that
                    # the same source is in several zone XML files
                    cmd.print_warning(" ".join(ret) + "  (ERROR: source '%s' is in %s zone XML files, can be only in one)" % (source, len(ret)))
                if len(ret) == 1:
                    if len(a.get_zone_of_source) > 1:
                        cmd.print_warning("%s: %s" % (source, ret[0]))
                    else:
                        cmd.print_and_exit(ret[0])
                else:
                    if len(a.get_zone_of_source) > 1:
                        cmd.print_warning("%s: no zone" % source)
                    else:
                        cmd.print_and_exit("no zone", 2)
        elif a.change_source:
            for source in a.change_source:
                for old_zone in fw.config.get_zones():
                    old_zone_obj = fw.config.get_zone(old_zone)
                    if source in old_zone_obj.sources:
                        if old_zone_obj.name != zone:
                            old_zone_settings = FirewallClientZoneSettings(
                                fw.config.get_zone_config(old_zone_obj))

                            old_zone_settings.removeSource(source) # remove from old
                            fw.config.set_zone_config(old_zone_obj, old_zone_settings.settings)
                fw_settings.addSource(source)              # add to new
        elif a.add_source:
            cmd.add_sequence(a.add_source, fw_settings.addSource,
                             fw_settings.querySource, None, "'%s'")
        elif a.remove_source:
            cmd.remove_sequence(a.remove_source, fw_settings.removeSource,
                                fw_settings.querySource, None, "'%s'")
        elif a.query_source:
            cmd.query_sequence(a.query_source, fw_settings.querySource,
                               None, "'%s'")

        # rich rules
        if a.list_rich_rules:
            l = fw_settings.getRichRules()
            cmd.print_and_exit("\n".join(l))
        elif a.add_rich_rule:
            cmd.add_sequence(a.add_rich_rule, fw_settings.addRichRule,
                             fw_settings.queryRichRule, None, "'%s'")
        elif a.remove_rich_rule:
            cmd.remove_sequence(a.remove_rich_rule, fw_settings.removeRichRule,
                                fw_settings.queryRichRule, None, "'%s'")
        elif a.query_rich_rule:
            cmd.query_sequence(a.query_rich_rule, fw_settings.queryRichRule,
                               None, "'%s'")

        # service
        if a.list_services:
            l = fw_settings.getServices()
            cmd.print_and_exit(" ".join(sorted(l)))
        elif a.add_service:
            cmd.add_sequence(a.add_service, fw_settings.addService,
                             fw_settings.queryService, None, "'%s'")
        elif a.remove_service_from_zone:
            cmd.remove_sequence(a.remove_service_from_zone,
                                fw_settings.removeService,
                                fw_settings.queryService, None, "'%s'")
        elif a.query_service:
            cmd.query_sequence(a.query_service, fw_settings.queryService,
                               None, "'%s'")

        # port
        elif a.list_ports:
            l = fw_settings.getPorts()
            cmd.print_and_exit(" ".join(["%s/%s" % (port[0], port[1]) for port in l]))
        elif a.add_port:
            cmd.add_sequence(a.add_port, fw_settings.addPort,
                             fw_settings.queryPort, cmd.parse_port, "%s/%s")
        elif a.remove_port:
            cmd.remove_sequence(a.remove_port, fw_settings.removePort,
                                fw_settings.queryPort, cmd.parse_port, "%s/%s")
        elif a.query_port:
            cmd.query_sequence(a.query_port, fw_settings.queryPort,
                               cmd.parse_port, "%s/%s")

        # protocol
        elif a.list_protocols:
            l = fw_settings.getProtocols()
            cmd.print_and_exit(" ".join(sorted(l)))
        elif a.add_protocol:
            cmd.add_sequence(a.add_protocol, fw_settings.addProtocol,
                             fw_settings.queryProtocol, None, "'%s'")
        elif a.remove_protocol:
            cmd.remove_sequence(a.remove_protocol, fw_settings.removeProtocol,
                                fw_settings.queryProtocol, None, "'%s'")
        elif a.query_protocol:
            cmd.query_sequence(a.query_protocol, fw_settings.queryProtocol,
                               None, "'%s'")

        # source port
        elif a.list_source_ports:
            l = fw_settings.getSourcePorts()
            cmd.print_and_exit(" ".join(["%s/%s" % (port[0], port[1]) for port in l]))
        elif a.add_source_port:
            cmd.add_sequence(a.add_source_port, fw_settings.addSourcePort,
                             fw_settings.querySourcePort, cmd.parse_port,
                             "%s/%s")
        elif a.remove_source_port:
            cmd.remove_sequence(a.remove_source_port,
                                fw_settings.removeSourcePort,
                                fw_settings.querySourcePort, cmd.parse_port,
                                "%s/%s")
        elif a.query_source_port:
            cmd.query_sequence(a.query_source_port, fw_settings.querySourcePort,
                               cmd.parse_port, "%s/%s")

        # masquerade
        elif a.add_masquerade:
            fw_settings.setMasquerade(True)
        elif a.remove_masquerade:
            fw_settings.setMasquerade(False)
        elif a.query_masquerade:
            cmd.print_query_result(fw_settings.getMasquerade())

        # forward port
        elif a.list_forward_ports:
            l = fw_settings.getForwardPorts()
            cmd.print_and_exit("\n".join(["port=%s:proto=%s:toport=%s:toaddr=%s" % (_port, _protocol, _toport, _toaddr) for (_port, _protocol, _toport, _toaddr) in l]))
        elif a.add_forward_port:
            cmd.add_sequence(a.add_forward_port, fw_settings.addForwardPort,
                             fw_settings.queryForwardPort,
                             cmd.parse_forward_port,
                             "port=%s:proto=%s:toport=%s:toaddr=%s")
        elif a.remove_forward_port:
            cmd.remove_sequence(a.remove_forward_port,
                                fw_settings.removeForwardPort,
                                fw_settings.queryForwardPort,
                                cmd.parse_forward_port,
                                "port=%s:proto=%s:toport=%s:toaddr=%s")
        elif a.query_forward_port:
            cmd.query_sequence(a.query_forward_port,
                               fw_settings.queryForwardPort,
                               cmd.parse_forward_port,
                               "port=%s:proto=%s:toport=%s:toaddr=%s")

        # block icmp
        elif a.list_icmp_blocks:
            l = fw_settings.getIcmpBlocks()
            cmd.print_and_exit(" ".join(l))
        elif a.add_icmp_block:
            cmd.add_sequence(a.add_icmp_block, fw_settings.addIcmpBlock,
                             fw_settings.queryIcmpBlock, None, "'%s'")
        elif a.remove_icmp_block:
            cmd.remove_sequence(a.remove_icmp_block,
                                fw_settings.removeIcmpBlock,
                                fw_settings.queryIcmpBlock, None, "'%s'")
        elif a.query_icmp_block:
            cmd.query_sequence(a.query_icmp_block, fw_settings.queryIcmpBlock,
                               None, "'%s'")

        # icmp block inversion
        elif a.add_icmp_block_inversion:
            fw_settings.addIcmpBlockInversion()
        elif a.remove_icmp_block_inversion:
            fw_settings.removeIcmpBlockInversion()
        elif a.query_icmp_block_inversion:
            cmd.print_query_result(fw_settings.queryIcmpBlockInversion())

        # zone target
        elif a.get_target:
            cmd.print_and_exit(fw_settings.getTarget())
        elif a.set_target:
            fw_settings.setTarget(a.set_target)

        # list all zone settings
        elif a.list_all:
            cmd.print_zone_info(zone if zone else fw.get_default_zone(),
                                fw_settings)
            sys.exit(0)

        # list everything
        elif a.list_all_zones:
            zones = fw.config.get_zones()
            for zone in zones:
                fw_zone = fw.config.get_zone(zone)
                fw_settings = FirewallClientZoneSettings(list(fw.config.get_zone_config(fw_zone)))
                cmd.print_zone_info(zone, fw_settings)
                cmd.print_msg("")
            sys.exit(0)

        elif a.set_description:
            fw_settings.setDescription(a.set_description)

        elif a.get_description:
            cmd.print_and_exit(fw_settings.getDescription())

        elif a.set_short:
            fw_settings.setShort(a.set_short)

        elif a.get_short:
            cmd.print_and_exit(fw_settings.getShort())

        fw.config.set_zone_config(fw_zone, fw_settings.settings)

        cmd.print_and_exit("success")

except FirewallError as msg:
    cmd.print_and_exit("%s" % msg, msg.code)
except Exception as msg:
    cmd.fail("%s" % msg)
else:
    cmd.print_and_exit("success")

NineSec Team - 2022
Name
Size
Last Modified
Owner
Permissions
Options
..
--
March 29 2022 11:10:06
root
0755
X11
--
April 08 2025 12:08:09
root
0755
7zr
0.039 KB
August 09 2019 9:00:38
root
0755
GET
15.82 KB
November 29 2019 4:16:23
root
0755
HEAD
15.82 KB
November 29 2019 4:16:23
root
0755
Mail
110.242 KB
August 08 2018 11:12:01
root
0755
POST
15.82 KB
November 29 2019 4:16:23
root
0755
[
58.336 KB
September 05 2019 12:38:40
root
0755
ab
58.336 KB
October 26 2023 3:54:09
root
0755
add-apt-repository
7.241 KB
March 21 2023 4:23:10
root
0755
addpart
30.227 KB
May 30 2023 5:42:35
root
0755
addr2line
34.703 KB
January 02 2024 4:48:50
root
0755
appres
14.305 KB
February 29 2020 7:29:50
root
0755
apropos
55.211 KB
February 25 2020 6:13:45
root
0755
apt
18.383 KB
October 06 2023 11:42:30
root
0755
apt-add-repository
7.241 KB
March 21 2023 4:23:10
root
0755
apt-cache
86.461 KB
October 06 2023 11:42:30
root
0755
apt-cdrom
30.461 KB
October 06 2023 11:42:30
root
0755
apt-config
26.383 KB
October 06 2023 11:42:30
root
0755
apt-extracttemplates
26.469 KB
October 06 2023 11:42:30
root
0755
apt-ftparchive
274.469 KB
October 06 2023 11:42:30
root
0755
apt-get
46.461 KB
October 06 2023 11:42:30
root
0755
apt-key
27.276 KB
October 06 2023 11:42:30
root
0755
apt-mark
62.461 KB
October 06 2023 11:42:30
root
0755
apt-sortpkgs
46.391 KB
October 06 2023 11:42:30
root
0755
ar
66.43 KB
January 02 2024 4:48:50
root
0755
arch
38.367 KB
September 05 2019 12:38:40
root
0755
arpaname
14.297 KB
September 19 2023 1:22:19
root
0755
as
680.297 KB
January 02 2024 4:48:50
root
0755
aspell
166.5 KB
July 22 2021 8:20:06
root
0755
aspell-import
1.996 KB
July 22 2021 8:20:06
root
0755
atobm
14.297 KB
February 29 2020 12:10:29
root
0755
atop
290.258 KB
January 25 2019 5:41:25
root
0755
atopconvert
24.156 KB
January 25 2019 5:41:25
root
0755
atopsar
290.258 KB
January 25 2019 5:41:25
root
0755
awk
158.742 KB
February 16 2020 8:41:09
root
0755
awstats
669.616 KB
February 27 2023 9:27:24
root
0755
b2sum
58.367 KB
September 05 2019 12:38:40
root
0755
base32
42.336 KB
September 05 2019 12:38:40
root
0755
base64
42.336 KB
September 05 2019 12:38:40
root
0755
basename
38.336 KB
September 05 2019 12:38:40
root
0755
bashbug
6.635 KB
April 18 2022 11:14:46
root
0755
bitmap
106.391 KB
February 29 2020 12:10:29
root
0755
bmtoa
14.32 KB
February 29 2020 12:10:29
root
0755
bootctl
62.344 KB
November 21 2023 10:10:21
root
0755
broadwayd
118.383 KB
February 15 2022 6:50:52
root
0755
bsd-from
14.148 KB
March 30 2020 11:26:14
root
0755
bsd-mailx
110.242 KB
August 08 2018 11:12:01
root
0755
bsd-write
14.148 KB
March 30 2020 11:26:14
root
2755
bundle2.7
0.517 KB
July 06 2023 12:57:08
root
0755
bundler2.7
0.519 KB
July 06 2023 12:57:08
root
0755
busctl
86.344 KB
November 21 2023 10:10:21
root
0755
c++
1.1 MB
October 24 2022 11:28:06
root
0755
c++filt
30.266 KB
January 02 2024 4:48:50
root
0755
c89
0.418 KB
May 07 2006 11:28:01
root
0755
c89-gcc
0.418 KB
May 07 2006 11:28:01
root
0755
c99
0.443 KB
April 11 2011 9:54:37
root
0755
c99-gcc
0.443 KB
April 11 2011 9:54:37
root
0755
c_rehash
6.646 KB
January 31 2024 9:45:27
root
0755
cal
36.945 KB
March 30 2020 11:26:14
root
0755
calendar
34.633 KB
March 30 2020 11:26:14
root
0755
captoinfo
90.414 KB
May 16 2023 8:47:48
root
0755
catchsegv
3.253 KB
November 22 2023 2:32:50
root
0755
catman
38.688 KB
February 25 2020 6:13:45
root
0755
cautious-launcher
0.833 KB
October 19 2019 1:05:50
root
0755
cc
1.1 MB
October 24 2022 11:28:06
root
0755
cct
30.148 KB
February 13 2020 4:29:49
root
0755
certbot
0.376 KB
October 26 2020 3:42:45
root
0755
cgi-fcgi
18.148 KB
March 22 2020 4:45:46
root
0755
chage
82.531 KB
November 29 2022 12:53:10
root
2755
chardet3
0.38 KB
December 17 2019 1:31:30
root
0755
chardetect3
0.38 KB
December 17 2019 1:31:30
root
0755
chattr
14.313 KB
June 02 2022 2:59:32
root
0755
chcon
70.336 KB
September 05 2019 12:38:40
root
0755
check-language-support
2.706 KB
September 27 2020 10:07:12
root
0755
checkgid
14.148 KB
October 26 2023 3:54:09
root
0755
chfn
83.07 KB
November 29 2022 12:53:10
root
4755
choom
50.227 KB
May 30 2023 5:42:35
root
0755
chrt
38.227 KB
May 30 2023 5:42:35
root
0755
chsh
51.797 KB
November 29 2022 12:53:10
root
4755
ckbcomp
146.391 KB
March 27 2020 11:10:06
root
0755
cksum
38.336 KB
September 05 2019 12:38:40
root
0755
clear
14.313 KB
May 16 2023 8:47:48
root
0755
clear_console
14.227 KB
April 18 2022 11:14:46
root
0755
cmp
50.094 KB
April 08 2019 2:04:00
root
0755
codepage
13.992 KB
May 09 2019 5:22:51
root
0755
col
18.148 KB
March 30 2020 11:26:14
root
0755
colcrt
14.148 KB
March 30 2020 11:26:14
root
0755
colrm
14.148 KB
March 30 2020 11:26:14
root
0755
column
14.164 KB
March 30 2020 11:26:14
root
0755
comm
42.367 KB
September 05 2019 12:38:40
root
0755
compose
18.054 KB
October 19 2019 1:05:50
root
0755
corelist
14.734 KB
November 23 2023 4:02:19
root
0755
corepack
2.08 MB
March 28 2023 10:16:29
root
0755
cpan
7.964 KB
November 23 2023 4:02:19
root
0755
cpan5.30-x86_64-linux-gnu
7.984 KB
November 23 2023 4:02:19
root
0755
cpp
1.1 MB
October 24 2022 11:28:06
root
0755
cpp-9
1.1 MB
October 24 2022 11:28:06
root
0755
crontab
42.695 KB
February 13 2020 9:44:42
root
2755
cs2cs
26.25 KB
February 13 2020 4:29:49
root
0755
csplit
54.367 KB
September 05 2019 12:38:40
root
0755
ctstat
30.508 KB
February 13 2020 6:21:59
root
0755
curl
234.227 KB
November 29 2023 8:26:14
root
0755
cut
46.367 KB
September 05 2019 12:38:40
root
0755
cvtsudoers
266.695 KB
April 04 2023 1:56:28
root
0755
daemon
236.984 KB
September 05 2019 12:47:28
root
0755
db5.3_archive
14.023 KB
March 21 2020 1:26:50
root
0755
db5.3_checkpoint
14.023 KB
March 21 2020 1:26:50
root
0755
db5.3_deadlock
14.023 KB
March 21 2020 1:26:50
root
0755
db5.3_dump
18.023 KB
March 21 2020 1:26:50
root
0755
db5.3_hotbackup
18.023 KB
March 21 2020 1:26:50
root
0755
db5.3_load
34.023 KB
March 21 2020 1:26:50
root
0755
db5.3_log_verify
14.023 KB
March 21 2020 1:26:50
root
0755
db5.3_printlog
34.023 KB
March 21 2020 1:26:50
root
0755
db5.3_recover
14.023 KB
March 21 2020 1:26:50
root
0755
db5.3_replicate
18.023 KB
March 21 2020 1:26:50
root
0755
db5.3_stat
18.023 KB
March 21 2020 1:26:50
root
0755
db5.3_upgrade
14.023 KB
March 21 2020 1:26:50
root
0755
db5.3_verify
14.023 KB
March 21 2020 1:26:50
root
0755
db_archive
14.023 KB
March 21 2020 1:26:50
root
0755
db_checkpoint
14.023 KB
March 21 2020 1:26:50
root
0755
db_deadlock
14.023 KB
March 21 2020 1:26:50
root
0755
db_dump
18.023 KB
March 21 2020 1:26:50
root
0755
db_hotbackup
18.023 KB
March 21 2020 1:26:50
root
0755
db_load
34.023 KB
March 21 2020 1:26:50
root
0755
db_log_verify
14.023 KB
March 21 2020 1:26:50
root
0755
db_printlog
34.023 KB
March 21 2020 1:26:50
root
0755
db_recover
14.023 KB
March 21 2020 1:26:50
root
0755
db_replicate
18.023 KB
March 21 2020 1:26:50
root
0755
db_stat
18.023 KB
March 21 2020 1:26:50
root
0755
db_upgrade
14.023 KB
March 21 2020 1:26:50
root
0755
db_verify
14.023 KB
March 21 2020 1:26:50
root
0755
dbilogstrip
1.348 KB
July 30 2021 1:22:12
root
0755
dbiprof
6.061 KB
July 30 2021 1:22:12
root
0755
dbiproxy
5.268 KB
July 30 2021 1:22:12
root
0755
dbus-cleanup-sockets
14.141 KB
October 25 2022 3:09:26
root
0755
dbus-daemon
243.195 KB
October 25 2022 3:09:26
root
0755
dbus-monitor
30.141 KB
October 25 2022 3:09:26
root
0755
dbus-run-session
14.141 KB
October 25 2022 3:09:26
root
0755
dbus-send
30.141 KB
October 25 2022 3:09:26
root
0755
dbus-update-activation-environment
14.141 KB
October 25 2022 3:09:26
root
0755
dbus-uuidgen
14.141 KB
October 25 2022 3:09:26
root
0755
deallocvt
14.07 KB
May 09 2019 5:22:51
root
0755
deb-systemd-helper
20.828 KB
June 21 2019 8:56:55
root
0755
deb-systemd-invoke
4.326 KB
June 21 2019 8:56:55
root
0755
debconf
2.792 KB
August 03 2019 12:51:13
root
0755
debconf-apt-progress
11.271 KB
August 03 2019 12:51:13
root
0755
debconf-communicate
0.594 KB
August 03 2019 12:51:13
root
0755
debconf-copydb
1.679 KB
August 03 2019 12:51:13
root
0755
debconf-escape
0.632 KB
August 03 2019 12:51:13
root
0755
debconf-set-selections
2.866 KB
August 03 2019 12:51:13
root
0755
debconf-show
1.784 KB
August 03 2019 12:51:13
root
0755
debian-distro-info
22.891 KB
April 25 2023 3:57:38
root
0755
delaunay
22.383 KB
February 03 2017 11:04:42
root
0755
delpart
30.227 KB
May 30 2023 5:42:35
root
0755
delv
48.391 KB
September 19 2023 1:22:19
root
0755
dh_bash-completion
2.389 KB
January 26 2020 4:42:18
root
0755
dh_perl_dbi
1.04 KB
July 30 2021 1:22:12
root
0755
dh_perl_openssl
1.363 KB
February 03 2020 12:05:01
root
0755
dh_python3-ply
2.281 KB
June 01 2021 5:05:04
root
0755
diff
214.336 KB
April 08 2019 2:04:00
root
0755
diff3
66.211 KB
April 08 2019 2:04:00
root
0755
dig
134.797 KB
September 19 2023 1:22:19
root
0755
dircolors
46.344 KB
September 05 2019 12:38:40
root
0755
dirmngr
569.859 KB
July 04 2022 6:20:36
root
0755
dirmngr-client
119.063 KB
July 04 2022 6:20:36
root
0755
dirname
38.336 KB
September 05 2019 12:38:40
root
0755
distro-info
22.891 KB
April 25 2023 3:57:38
root
0755
dkimproxy-sign
3.896 KB
February 08 2020 7:07:01
root
0755
dkimproxy-verify
2.248 KB
February 08 2020 7:07:01
root
0755
do-release-upgrade
9.987 KB
March 14 2023 1:29:22
root
0755
dotlockfile
22.148 KB
October 11 2019 7:55:06
root
2755
doveadm
637.016 KB
July 07 2022 7:17:38
root
0755
doveconf
180.68 KB
July 07 2022 7:17:38
root
0755
dpkg
302.68 KB
May 25 2022 1:14:20
root
0755
dpkg-architecture
12.551 KB
May 25 2022 1:14:20
root
0755
dpkg-buildflags
7.388 KB
May 25 2022 1:14:20
root
0755
dpkg-buildpackage
29.893 KB
May 25 2022 1:14:20
root
0755
dpkg-checkbuilddeps
7.445 KB
May 25 2022 1:14:20
root
0755
dpkg-deb
174.539 KB
May 25 2022 1:14:20
root
0755
dpkg-distaddfile
2.717 KB
May 25 2022 1:14:20
root
0755
dpkg-divert
150.594 KB
May 25 2022 1:14:20
root
0755
dpkg-genbuildinfo
16.401 KB
May 25 2022 1:14:20
root
0755
dpkg-genchanges
17.082 KB
May 25 2022 1:14:20
root
0755
dpkg-gencontrol
13.866 KB
May 25 2022 1:14:20
root
0755
dpkg-gensymbols
10.646 KB
May 25 2022 1:14:20
root
0755
dpkg-maintscript-helper
20.033 KB
May 25 2022 1:14:20
root
0755
dpkg-mergechangelogs
8.347 KB
May 25 2022 1:14:20
root
0755
dpkg-name
6.63 KB
May 25 2022 1:14:20
root
0755
dpkg-parsechangelog
4.46 KB
May 25 2022 1:14:20
root
0755
dpkg-query
162.586 KB
May 25 2022 1:14:20
root
0755
dpkg-scanpackages
8.494 KB
May 25 2022 1:14:20
root
0755
dpkg-scansources
8.952 KB
May 25 2022 1:14:20
root
0755
dpkg-shlibdeps
30.68 KB
May 25 2022 1:14:20
root
0755
dpkg-source
22.482 KB
May 25 2022 1:14:20
root
0755
dpkg-split
122.484 KB
May 25 2022 1:14:20
root
0755
dpkg-statoverride
62.266 KB
May 25 2022 1:14:20
root
0755
dpkg-trigger
82.492 KB
May 25 2022 1:14:20
root
0755
dpkg-vendor
3.186 KB
May 25 2022 1:14:20
root
0755
dsync
637.016 KB
July 07 2022 7:17:38
root
0755
du
106.367 KB
September 05 2019 12:38:40
root
0755
dumpkeys
174.523 KB
May 09 2019 5:22:51
root
0755
dvipdf
0.983 KB
October 12 2023 3:06:46
root
0755
dwp
1.95 MB
January 02 2024 4:48:50
root
0755
edit
18.054 KB
October 19 2019 1:05:50
root
0755
editor
312.633 KB
April 10 2020 4:12:30
root
0755
editres
72.703 KB
February 29 2020 7:29:50
root
0755
eject
34.844 KB
July 08 2019 10:40:51
root
0755
elfedit
42.672 KB
January 02 2024 4:48:50
root
0755
enc2xs
41.124 KB
November 23 2023 4:02:19
root
0755
encguess
2.994 KB
November 23 2023 4:02:19
root
0755
enchant-2
22.375 KB
November 05 2020 3:13:12
root
0755
enchant-lsmod-2
14.305 KB
November 05 2020 3:13:12
root
0755
env
42.336 KB
September 05 2019 12:38:40
root
0755
envsubst
42.227 KB
March 22 2020 4:42:12
root
0755
eps2eps
0.624 KB
October 12 2023 3:06:46
root
0755
eqn
201.5 KB
March 21 2020 1:27:30
root
0755
erb
4.944 KB
July 06 2023 12:57:08
root
0755
erb2.7
4.944 KB
July 06 2023 12:57:08
root
0755
etckeeper
2.806 KB
March 30 2020 12:24:10
root
0755
ex
1.29 MB
December 07 2023 4:42:49
root
0755
expand
42.367 KB
September 05 2019 12:38:40
root
0755
expiry
30.578 KB
November 29 2022 12:53:10
root
2755
expr
54.336 KB
September 05 2019 12:38:40
root
0755
factor
78.367 KB
September 05 2019 12:38:40
root
0755
fail2ban-client
1.386 KB
March 02 2020 2:20:11
root
0755
fail2ban-python
5.21 MB
November 22 2023 11:22:35
root
0755
fail2ban-regex
1.25 KB
March 02 2020 2:20:11
root
0755
fail2ban-server
1.384 KB
March 02 2020 2:20:11
root
0755
fail2ban-testcases
2.231 KB
March 02 2020 2:20:11
root
0755
faillog
22.594 KB
November 29 2022 12:53:10
root
0755
faked-sysv
34.266 KB
September 07 2019 12:48:18
root
0755
faked-tcp
34.25 KB
September 07 2019 12:48:18
root
0755
fakeroot
3.761 KB
September 07 2019 12:48:18
root
0755
fakeroot-sysv
3.761 KB
September 07 2019 12:48:18
root
0755
fakeroot-tcp
3.756 KB
September 07 2019 12:48:18
root
0755
fallocate
34.227 KB
May 30 2023 5:42:35
root
0755
fc-cache
22.227 KB
April 06 2020 12:09:42
root
0755
fc-cat
18.227 KB
April 06 2020 12:09:42
root
0755
fc-conflist
14.227 KB
April 06 2020 12:09:42
root
0755
fc-list
14.227 KB
April 06 2020 12:09:42
root
0755
fc-match
14.227 KB
April 06 2020 12:09:42
root
0755
fc-pattern
14.227 KB
April 06 2020 12:09:42
root
0755
fc-query
14.227 KB
April 06 2020 12:09:42
root
0755
fc-scan
14.227 KB
April 06 2020 12:09:42
root
0755
fc-validate
14.227 KB
April 06 2020 12:09:42
root
0755
fcgistarter
14.148 KB
October 26 2023 3:54:09
root
0755
file
26.469 KB
January 16 2020 9:39:11
root
0755
fincore
34.273 KB
May 30 2023 5:42:35
root
0755
find
312.656 KB
February 18 2020 2:05:59
root
0755
firefox
2.604 KB
February 06 2024 2:59:08
root
0755
firewall-cmd
115.96 KB
April 04 2020 7:50:39
root
0755
firewall-offline-cmd
104.194 KB
April 04 2020 7:50:39
root
0755
flock
34.305 KB
May 30 2023 5:42:35
root
0755
fmt
46.336 KB
September 05 2019 12:38:40
root
0755
fold
42.336 KB
September 05 2019 12:38:40
root
0755
formail
42.148 KB
November 16 2017 11:42:36
root
0755
free
26.234 KB
October 31 2023 12:35:56
root
0755
from
14.148 KB
March 30 2020 11:26:14
root
0755
ftp
106.695 KB
February 24 2019 2:39:21
root
0755
ftpcount
23.445 KB
February 27 2020 8:34:56
root
0755
ftpdctl
98.273 KB
February 27 2020 8:34:56
root
0755
ftptop
27.164 KB
February 27 2020 8:34:56
root
0755
ftpwho
39.586 KB
February 27 2020 8:34:56
root
0755
funzip
26.148 KB
October 07 2022 7:09:47
root
0755
futurize
0.375 KB
January 25 2023 9:33:14
root
0755
g++
1.1 MB
October 24 2022 11:28:06
root
0755
g++-9
1.1 MB
October 24 2022 11:28:06
root
0755
gapplication
22.383 KB
June 08 2023 4:20:31
root
0755
gcc
1.1 MB
October 24 2022 11:28:06
root
0755
gcc-9
1.1 MB
October 24 2022 11:28:06
root
0755
gcc-ar
34.633 KB
October 24 2022 11:28:06
root
0755
gcc-ar-9
34.633 KB
October 24 2022 11:28:06
root
0755
gcc-nm
34.633 KB
October 24 2022 11:28:06
root
0755
gcc-nm-9
34.633 KB
October 24 2022 11:28:06
root
0755
gcc-ranlib
34.633 KB
October 24 2022 11:28:06
root
0755
gcc-ranlib-9
34.633 KB
October 24 2022 11:28:06
root
0755
gcov
656.234 KB
October 24 2022 11:28:06
root
0755
gcov-9
656.234 KB
October 24 2022 11:28:06
root
0755
gcov-dump
528.133 KB
October 24 2022 11:28:06
root
0755
gcov-dump-9
528.133 KB
October 24 2022 11:28:06
root
0755
gcov-tool
544.195 KB
October 24 2022 11:28:06
root
0755
gcov-tool-9
544.195 KB
October 24 2022 11:28:06
root
0755
gdbus
50.383 KB
June 08 2023 4:20:31
root
0755
gdk-pixbuf-csource
14.328 KB
September 07 2022 5:05:42
root
0755
gdk-pixbuf-pixdata
14.313 KB
September 07 2022 5:05:42
root
0755
gdk-pixbuf-thumbnailer
18.391 KB
September 07 2022 5:05:42
root
0755
gem
0.532 KB
July 06 2023 12:57:08
root
0755
gem2.7
0.532 KB
July 06 2023 12:57:08
root
0755
gen-auth
14.428 KB
February 15 2022 9:03:43
root
0755
gencat
26.367 KB
November 22 2023 2:32:50
root
0755
geod
22.164 KB
February 13 2020 4:29:49
root
0755
geqn
201.5 KB
March 21 2020 1:27:30
root
0755
getconf
34.289 KB
November 22 2023 2:32:50
root
0755
getent
38.648 KB
November 22 2023 2:32:50
root
0755
getkeycodes
14.07 KB
May 09 2019 5:22:51
root
0755
getopt
22.227 KB
May 30 2023 5:42:35
root
0755
gettext
42.227 KB
March 22 2020 4:42:12
root
0755
gettext.sh
4.521 KB
March 22 2020 4:42:12
root
0755
ghostscript
14.148 KB
October 12 2023 3:06:46
root
0755
gie
42.375 KB
February 13 2020 4:29:49
root
0755
ginstall-info
115.242 KB
October 11 2019 12:32:01
root
0755
gio
90.398 KB
June 08 2023 4:20:31
root
0755
gio-querymodules
14.305 KB
June 08 2023 4:20:31
root
0755
git
2.98 MB
April 26 2023 2:52:23
root
0755
git-receive-pack
2.98 MB
April 26 2023 2:52:23
root
0755
git-shell
1.71 MB
April 26 2023 2:52:23
root
0755
git-upload-archive
2.98 MB
April 26 2023 2:52:23
root
0755
git-upload-pack
2.98 MB
April 26 2023 2:52:23
root
0755
glib-compile-schemas
50.375 KB
June 08 2023 4:20:31
root
0755
gnome-www-browser
2.604 KB
February 06 2024 2:59:08
root
0755
gold
2.21 MB
January 02 2024 4:48:50
root
0755
gpasswd
86.391 KB
November 29 2022 12:53:10
root
4755
gpg
1.02 MB
July 04 2022 6:20:36
root
0755
gpg-agent
409.039 KB
July 04 2022 6:20:36
root
0755
gpg-connect-agent
163.156 KB
July 04 2022 6:20:36
root
0755
gpg-wks-server
203.195 KB
July 04 2022 6:20:36
root
0755
gpg-zip
3.434 KB
July 04 2022 6:20:36
root
0755
gpgcompose
874.289 KB
July 04 2022 6:20:36
root
0755
gpgconf
174.656 KB
July 04 2022 6:20:36
root
0755
gpgparsemail
34.375 KB
July 04 2022 6:20:36
root
0755
gpgsm
507.242 KB
July 04 2022 6:20:36
root
0755
gpgsplit
86.758 KB
July 04 2022 6:20:36
root
0755
gpgtar
151.625 KB
July 04 2022 6:20:36
root
0755
gpgv
447.148 KB
July 04 2022 6:20:36
root
0755
gpic
216.344 KB
March 21 2020 1:27:30
root
0755
gprof
99.883 KB
January 02 2024 4:48:50
root
0755
gresource
22.305 KB
June 08 2023 4:20:31
root
0755
groff
121.531 KB
March 21 2020 1:27:30
root
0755
grog
2.711 KB
March 21 2020 1:27:30
root
0755
grops
181.938 KB
March 21 2020 1:27:30
root
0755
grotty
129.563 KB
March 21 2020 1:27:30
root
0755
groups
38.336 KB
September 05 2019 12:38:40
root
0755
gs
14.148 KB
October 12 2023 3:06:46
root
0755
gsbj
0.342 KB
October 12 2023 3:06:46
root
0755
gsdj
0.344 KB
October 12 2023 3:06:46
root
0755
gsdj500
0.344 KB
October 12 2023 3:06:46
root
0755
gsettings
30.383 KB
June 08 2023 4:20:31
root
0755
gslj
0.345 KB
October 12 2023 3:06:46
root
0755
gslp
0.342 KB
October 12 2023 3:06:46
root
0755
gsnd
0.271 KB
October 12 2023 3:06:46
root
0755
gtbl
138.508 KB
March 21 2020 1:27:30
root
0755
gtk-builder-tool
34.734 KB
February 15 2022 6:50:52
root
0755
gtk-encode-symbolic-svg
18.414 KB
February 15 2022 6:50:52
root
0755
gtk-launch
18.461 KB
February 15 2022 6:50:52
root
0755
gtk-query-settings
14.305 KB
February 15 2022 6:50:52
root
0755
gtk-update-icon-cache
38.625 KB
February 15 2022 6:50:52
root
0755
gts-config
2.585 KB
February 03 2017 11:04:42
root
0755
gts2dxf
9.867 KB
February 03 2017 11:04:42
root
0755
gts2oogl
26.727 KB
February 03 2017 11:04:42
root
0755
gts2stl
10.008 KB
February 03 2017 11:04:42
root
0755
gts2xyz
9.867 KB
February 03 2017 11:04:42
root
0755
gtscheck
9.977 KB
February 03 2017 11:04:42
root
0755
gtscompare
22.164 KB
February 03 2017 11:04:42
root
0755
gtstemplate
5.967 KB
February 03 2017 11:04:42
root
0755
h2ph
28.539 KB
November 23 2023 4:02:19
root
0755
h2xs
59.439 KB
November 23 2023 4:02:19
root
0755
hd
34.25 KB
March 30 2020 11:26:14
root
0755
head
46.367 KB
September 05 2019 12:38:40
root
0755
helpztags
2.455 KB
January 30 2020 12:11:47
root
0755
hexdump
34.25 KB
March 30 2020 11:26:14
root
0755
host
102.766 KB
September 19 2023 1:22:19
root
0755
hostid
38.336 KB
September 05 2019 12:38:40
root
0755
hostnamectl
26.219 KB
November 21 2023 10:10:21
root
0755
htcacheclean
38.156 KB
October 26 2023 3:54:09
root
0755
htdbm
26.148 KB
October 26 2023 3:54:09
root
0755
htdigest
14.148 KB
October 26 2023 3:54:09
root
0755
htpasswd
26.148 KB
October 26 2023 3:54:09
root
0755
hwe-support-status
10.576 KB
November 15 2023 11:28:54
root
0755
i386
26.5 KB
May 30 2023 5:42:35
root
0755
ibd2sdi
6.48 MB
January 17 2024 9:13:42
root
0755
iceauth
38.117 KB
March 18 2018 11:19:30
root
0755
ico
50.438 KB
February 29 2020 12:10:29
root
0755
iconv
66.406 KB
November 22 2023 2:32:50
root
0755
id
46.367 KB
September 05 2019 12:38:40
root
0755
info
309.742 KB
October 11 2019 12:32:01
root
0755
infobrowser
309.742 KB
October 11 2019 12:32:01
root
0755
infocmp
62.383 KB
May 16 2023 8:47:48
root
0755
infotocap
90.414 KB
May 16 2023 8:47:48
root
0755
innochecksum
6.37 MB
January 17 2024 9:13:42
root
0755
inotifywait
30.305 KB
August 06 2019 6:42:10
root
0755
inotifywatch
30.305 KB
August 06 2019 6:42:10
root
0755
install
154.406 KB
September 05 2019 12:38:40
root
0755
install-info
115.242 KB
October 11 2019 12:32:01
root
0755
instmodsh
4.268 KB
November 23 2023 4:02:19
root
0755
invgeod
22.164 KB
February 13 2020 4:29:49
root
0755
invproj
26.164 KB
February 13 2020 4:29:49
root
0755
ionice
30.227 KB
May 30 2023 5:42:35
root
0755
ipcmk
34.297 KB
May 30 2023 5:42:35
root
0755
ipcrm
34.227 KB
May 30 2023 5:42:35
root
0755
ipcs
66.227 KB
May 30 2023 5:42:35
root
0755
iptables-xml
96.969 KB
May 09 2023 8:39:57
root
0755
irb
0.495 KB
July 06 2023 12:57:08
root
0755
irb2.7
0.495 KB
July 06 2023 12:57:08
root
0755
ischroot
14.195 KB
December 07 2019 3:13:44
root
0755
ispell-wrapper
7.053 KB
November 15 2018 4:24:46
root
0755
jk_uchroot
30.469 KB
November 11 2019 5:23:32
root
4755
join
54.367 KB
September 05 2019 12:38:40
root
0755
json_pp
4.558 KB
November 23 2023 4:02:19
root
0755
json_xs
6.849 KB
October 19 2019 10:04:01
root
0755
kbdinfo
14.07 KB
May 09 2019 5:22:51
root
0755
kbxutil
174.969 KB
July 04 2022 6:20:36
root
0755
kernel-install
5.069 KB
April 01 2020 7:23:42
root
0755
killall
31.273 KB
November 12 2019 12:16:21
root
0755
l4p-tmpl
1.803 KB
August 01 2017 10:39:59
root
0755
last
46.227 KB
May 30 2023 5:42:35
root
0755
lastb
46.227 KB
May 30 2023 5:42:35
root
0755
lastlog
31.656 KB
November 29 2022 12:53:10
root
0755
lcf
7.604 KB
December 14 2018 9:51:14
root
0755
ld
1.66 MB
January 02 2024 4:48:50
root
0755
ld.bfd
1.66 MB
January 02 2024 4:48:50
root
0755
ld.gold
2.21 MB
January 02 2024 4:48:50
root
0755
ldd
5.301 KB
November 22 2023 2:32:50
root
0755
less
175.844 KB
July 02 2020 1:25:13
root
0755
lessecho
14.313 KB
July 02 2020 1:25:13
root
0755
lessfile
8.363 KB
September 03 2019 6:41:52
root
0755
lesskey
23.719 KB
July 02 2020 1:25:13
root
0755
lesspipe
8.363 KB
September 03 2019 6:41:52
root
0755
letsencrypt
0.376 KB
October 26 2020 3:42:45
root
0755
lexgrog
98.945 KB
February 25 2020 6:13:45
root
0755
libnetcfg
15.405 KB
November 23 2023 4:02:19
root
0755
link
38.336 KB
September 05 2019 12:38:40
root
0755
linux32
26.5 KB
May 30 2023 5:42:35
root
0755
linux64
26.5 KB
May 30 2023 5:42:35
root
0755
listres
14.727 KB
February 29 2020 7:29:50
root
0755
lnstat
30.508 KB
February 13 2020 6:21:59
root
0755
loadkeys
210.57 KB
May 09 2019 5:22:51
root
0755
loadunimap
34.133 KB
May 09 2019 5:22:51
root
0755
locale
57.563 KB
November 22 2023 2:32:50
root
0755
locale-check
14.156 KB
January 02 2024 6:12:43
root
0755
localectl
26.219 KB
November 21 2023 10:10:21
root
0755
localedef
326.961 KB
November 22 2023 2:32:50
root
0755
lockfile
17.875 KB
November 16 2017 11:42:36
root
2755
logger
50.82 KB
May 30 2023 5:42:35
root
0755
logname
38.336 KB
September 05 2019 12:38:40
root
0755
logresolve
14.156 KB
October 26 2023 3:54:09
root
0755
look
14.383 KB
March 30 2020 11:26:14
root
0755
lorder
2.817 KB
March 30 2020 11:26:14
root
0755
lsattr
14.313 KB
June 02 2022 2:59:32
root
0755
lsb_release
3.553 KB
August 25 2019 11:11:20
root
0755
lscpu
98.227 KB
May 30 2023 5:42:35
root
0755
lshw
841.195 KB
December 17 2020 10:34:41
root
0755
lsipc
94.227 KB
May 30 2023 5:42:35
root
0755
lslocks
38.555 KB
May 30 2023 5:42:35
root
0755
lslogins
66.227 KB
May 30 2023 5:42:35
root
0755
lsmem
66.227 KB
May 30 2023 5:42:35
root
0755
lsns
50.234 KB
May 30 2023 5:42:35
root
0755
lsof
171.625 KB
December 25 2020 5:57:35
root
0755
lspci
91.953 KB
April 01 2021 12:55:11
root
0755
lspgpot
1.056 KB
August 28 2017 12:22:54
root
0755
lsusb
242.508 KB
October 01 2019 11:03:11
root
0755
ltrace
301.328 KB
February 01 2019 1:10:30
root
0755
luit
52.422 KB
February 29 2020 7:29:50
root
0755
lwp-download
10.051 KB
November 29 2019 4:16:23
root
0755
lwp-dump
2.647 KB
November 29 2019 4:16:23
root
0755
lwp-mirror
2.356 KB
November 29 2019 4:16:23
root
0755
lwp-request
15.82 KB
November 29 2019 4:16:23
root
0755
lynx
1.85 MB
February 28 2020 3:28:01
root
0755
lzcat
78.5 KB
April 08 2022 2:56:10
root
0755
lzcmp
6.477 KB
April 08 2022 2:56:10
root
0755
lzdiff
6.477 KB
April 08 2022 2:56:10
root
0755
lzegrep
5.764 KB
April 08 2022 2:56:10
root
0755
lzfgrep
5.764 KB
April 08 2022 2:56:10
root
0755
lzgrep
5.764 KB
April 08 2022 2:56:10
root
0755
lzless
1.76 KB
April 08 2022 2:56:10
root
0755
lzma
78.5 KB
April 08 2022 2:56:10
root
0755
lzmainfo
14.227 KB
April 08 2022 2:56:10
root
0755
lzmore
2.11 KB
April 08 2022 2:56:10
root
0755
mail
110.242 KB
August 08 2018 11:12:01
root
0755
maildirmake.dovecot
0.509 KB
April 11 2021 5:50:21
root
0755
mailq
34.305 KB
January 29 2024 9:49:03
root
0755
mailstat
5.722 KB
November 16 2017 11:42:36
root
0755
mailx
110.242 KB
August 08 2018 11:12:01
root
0755
make
225.555 KB
July 28 2018 12:07:31
root
0755
make-first-existing-target
4.79 KB
July 28 2018 12:07:31
root
0755
man
116.828 KB
February 25 2020 6:13:45
root
0755
man-recode
26.898 KB
February 25 2020 6:13:45
root
0755
mandb
139.094 KB
February 25 2020 6:13:45
root
0755
manpath
38.703 KB
February 25 2020 6:13:45
root
0755
mapscrn
26.133 KB
May 09 2019 5:22:51
root
0755
mawk
158.742 KB
February 16 2020 8:41:09
root
0755
mcookie
34.297 KB
May 30 2023 5:42:35
root
0755
md5sum
46.367 KB
September 05 2019 12:38:40
root
0755
md5sum.textutils
46.367 KB
September 05 2019 12:38:40
root
0755
mdig
50.398 KB
September 19 2023 1:22:19
root
0755
mesg
14.227 KB
May 30 2023 5:42:35
root
0755
migrate-pubring-from-classic-gpg
2.988 KB
January 06 2021 7:10:35
root
0755
mk_modmap
15.784 KB
May 09 2019 5:22:51
root
0755
mkfifo
66.336 KB
September 05 2019 12:38:40
root
0755
mkpasswd
26.227 KB
February 16 2020 10:25:51
root
0755
mlock
14.148 KB
August 26 2019 10:52:52
root
2755
mtr
80.25 KB
August 20 2019 11:26:21
root
0755
mtr-packet
38.375 KB
August 20 2019 11:26:21
root
0755
mtrace
6.346 KB
November 22 2023 2:32:50
root
0755
my_print_defaults
6.29 MB
January 17 2024 9:13:42
root
0755
myisam_ftdump
6.58 MB
January 17 2024 9:13:42
root
0755
myisamchk
6.69 MB
January 17 2024 9:13:42
root
0755
myisamlog
6.53 MB
January 17 2024 9:13:42
root
0755
myisampack
6.6 MB
January 17 2024 9:13:42
root
0755
mysql
7.33 MB
January 17 2024 9:13:42
root
0755
mysql_config_editor
6.31 MB
January 17 2024 9:13:42
root
0755
mysql_migrate_keyring
7.24 MB
January 17 2024 9:13:42
root
0755
mysql_secure_installation
7.16 MB
January 17 2024 9:13:42
root
0755
mysql_ssl_rsa_setup
6.33 MB
January 17 2024 9:13:42
root
0755
mysql_tzinfo_to_sql
6.23 MB
January 17 2024 9:13:42
root
0755
mysql_upgrade
7.26 MB
January 17 2024 9:13:42
root
0755
mysqladmin
7.17 MB
January 17 2024 9:13:42
root
0755
mysqlanalyze
7.18 MB
January 17 2024 9:13:42
root
0755
mysqlbinlog
7.62 MB
January 17 2024 9:13:42
root
0755
mysqlcheck
7.18 MB
January 17 2024 9:13:42
root
0755
mysqld_multi
26.677 KB
January 17 2024 9:13:42
root
0755
mysqld_safe
28.454 KB
January 17 2024 9:13:42
root
0755
mysqldump
7.25 MB
January 17 2024 9:13:42
root
0755
mysqldumpslow
7.489 KB
January 17 2024 9:13:42
root
0755
mysqlimport
7.17 MB
January 17 2024 9:13:42
root
0755
mysqloptimize
7.18 MB
January 17 2024 9:13:42
root
0755
mysqlpump
7.6 MB
January 17 2024 9:13:42
root
0755
mysqlrepair
7.18 MB
January 17 2024 9:13:42
root
0755
mysqlreport
38.102 KB
June 14 2023 9:23:16
root
0755
mysqlshow
7.17 MB
January 17 2024 9:13:42
root
0755
mysqlslap
7.18 MB
January 17 2024 9:13:42
root
0755
named-rrchecker
22.297 KB
September 19 2023 1:22:19
root
0755
namei
34.227 KB
May 30 2023 5:42:35
root
0755
nawk
158.742 KB
February 16 2020 8:41:09
root
0755
ncal
36.945 KB
March 30 2020 11:26:14
root
0755
neqn
0.892 KB
March 21 2020 1:27:30
root
0755
net-server
3.338 KB
April 03 2020 5:02:06
root
0755
netkit-ftp
106.695 KB
February 24 2019 2:39:21
root
0755
networkd-dispatcher
19.712 KB
May 04 2022 3:49:53
root
0755
newaliases
34.305 KB
January 29 2024 9:49:03
root
0755
newgrp
43.734 KB
November 29 2022 12:53:10
root
4755
ngettext
42.227 KB
March 22 2020 4:42:12
root
0755
nice
42.336 KB
September 05 2019 12:38:40
root
0755
nip2
1.02 MB
September 19 2018 11:30:07
root
0755
nl
42.43 KB
September 05 2019 12:38:40
root
0755
nm
51.43 KB
January 02 2024 4:48:50
root
0755
node
78.78 MB
August 09 2023 12:24:22
root
0755
nohup
42.336 KB
September 05 2019 12:38:40
root
0755
npm
0.053 KB
February 16 2023 4:41:30
root
0755
nproc
42.336 KB
September 05 2019 12:38:40
root
0755
npx
2.77 KB
February 16 2023 4:41:30
root
0755
nroff
3.216 KB
March 21 2020 1:27:30
root
0755
nsenter
34.43 KB
May 30 2023 5:42:35
root
0755
nslookup
106.797 KB
September 19 2023 1:22:19
root
0755
nstat
78.234 KB
February 13 2020 6:21:59
root
0755
nsupdate
70.523 KB
September 19 2023 1:22:19
root
0755
ntfsdecrypt
50.273 KB
November 01 2022 12:56:50
root
0755
numfmt
66.398 KB
September 05 2019 12:38:40
root
0755
objcopy
182.477 KB
January 02 2024 4:48:50
root
0755
objdump
392.828 KB
January 02 2024 4:48:50
root
0755
oclock
27.719 KB
February 29 2020 12:10:29
root
0755
od
70.367 KB
September 05 2019 12:38:40
root
0755
odbcinst
22 KB
January 14 2019 9:05:00
root
0755
on_ac_power
2.176 KB
July 20 2019 5:43:51
root
0755
openssl
735.68 KB
January 31 2024 9:45:27
root
0755
p7zip
4.643 KB
August 09 2019 9:00:38
root
0755
pager
175.844 KB
July 02 2020 1:25:13
root
0755
paperconf
13.992 KB
June 26 2019 12:04:32
root
0755
partx
118.234 KB
May 30 2023 5:42:35
root
0755
passwd
66.609 KB
November 29 2022 12:53:10
root
4755
paste
42.367 KB
September 05 2019 12:38:40
root
0755
pasteurize
0.379 KB
January 25 2023 9:33:14
root
0755
patch
190.523 KB
July 27 2019 12:10:00
root
0755
pathchk
38.336 KB
September 05 2019 12:38:40
root
0755
pbr
0.148 KB
April 09 2020 9:32:59
root
0755
pdb3
61.268 KB
November 22 2023 11:22:35
root
0755
pdb3.8
61.268 KB
November 22 2023 11:22:35
root
0755
pdf2dsc
0.682 KB
October 12 2023 3:06:46
root
0755
pdf2ps
0.888 KB
October 12 2023 3:06:46
root
0755
pear
0.774 KB
March 22 2022 11:59:18
root
0755
peardev
0.795 KB
March 22 2022 11:59:18
root
0755
pecl
0.71 KB
March 22 2022 11:59:18
root
0755
peekfd
14.148 KB
November 12 2019 12:16:21
root
0755
perl
3.32 MB
November 23 2023 4:02:19
root
0755
perl5.30-x86_64-linux-gnu
14.305 KB
November 23 2023 4:02:19
root
0755
perl5.30.0
3.32 MB
November 23 2023 4:02:19
root
0755
perlbug
45.279 KB
November 23 2023 4:02:19
root
0755
perldoc
0.122 KB
October 27 2019 5:52:24
root
0755
perlivp
10.609 KB
November 23 2023 4:02:19
root
0755
perlthanks
45.279 KB
November 23 2023 4:02:19
root
0755
perror
7.62 MB
January 17 2024 9:13:42
root
0755
pf2afm
0.486 KB
October 12 2023 3:06:46
root
0755
pfbtopfa
0.504 KB
October 12 2023 3:06:46
root
0755
pftp
106.695 KB
February 24 2019 2:39:21
root
0755
pgrep
30.242 KB
October 31 2023 12:35:56
root
0755
phar
14.882 KB
January 20 2024 3:16:18
root
0755
phar.default
14.882 KB
January 20 2024 3:16:18
root
0755
phar.phar
14.882 KB
January 20 2024 3:16:18
root
0755
phar.phar.default
14.882 KB
January 20 2024 3:16:18
root
0755
phar.phar5.6
14.479 KB
September 02 2023 9:57:07
root
0755
phar.phar7.4
14.536 KB
September 02 2023 10:03:15
root
0755
phar.phar8.0
15.017 KB
September 02 2023 10:04:32
root
0755
phar.phar8.1
14.887 KB
December 21 2023 9:19:26
root
0755
phar.phar8.2
14.885 KB
January 20 2024 3:16:39
root
0755
phar.phar8.3
14.882 KB
January 20 2024 3:16:18
root
0755
phar5.6
14.479 KB
September 02 2023 9:57:07
root
0755
phar7.4
14.536 KB
September 02 2023 10:03:15
root
0755
phar7.4.phar
14.536 KB
September 02 2023 10:03:15
root
0755
phar8.0
15.017 KB
September 02 2023 10:04:32
root
0755
phar8.0.phar
15.017 KB
September 02 2023 10:04:32
root
0755
phar8.1
14.887 KB
December 21 2023 9:19:26
root
0755
phar8.1.phar
14.887 KB
December 21 2023 9:19:26
root
0755
phar8.2
14.885 KB
January 20 2024 3:16:39
root
0755
phar8.2.phar
14.885 KB
January 20 2024 3:16:39
root
0755
phar8.3
14.882 KB
January 20 2024 3:16:18
root
0755
phar8.3.phar
14.882 KB
January 20 2024 3:16:18
root
0755
php
5.51 MB
January 20 2024 3:16:18
root
0755
php-cgi
5.39 MB
January 20 2024 3:16:18
root
0755
php-cgi.default
5.39 MB
January 20 2024 3:16:18
root
0755
php-cgi5.6
4.29 MB
September 02 2023 9:57:07
root
0755
php-cgi7.4
4.47 MB
September 02 2023 10:03:15
root
0755
php-cgi8.0
4.65 MB
September 02 2023 10:04:32
root
0755
php-cgi8.1
5.2 MB
December 21 2023 9:19:26
root
0755
php-cgi8.2
5.31 MB
January 20 2024 3:16:39
root
0755
php-cgi8.3
5.39 MB
January 20 2024 3:16:18
root
0755
php.default
5.51 MB
January 20 2024 3:16:18
root
0755
php5.6
4.32 MB
September 02 2023 9:57:07
root
0755
php7.4
4.58 MB
September 02 2023 10:03:15
root
0755
php8.0
4.77 MB
September 02 2023 10:04:32
root
0755
php8.1
5.31 MB
December 21 2023 9:19:26
root
0755
php8.2
5.43 MB
January 20 2024 3:16:39
root
0755
php8.3
5.51 MB
January 20 2024 3:16:18
root
0755
pic
216.344 KB
March 21 2020 1:27:30
root
0755
pico
312.633 KB
April 10 2020 4:12:30
root
0755
piconv
8.161 KB
November 23 2023 4:02:19
root
0755
pinentry
66.641 KB
March 22 2020 4:54:08
root
0755
pinentry-curses
66.641 KB
March 22 2020 4:54:08
root
0755
pinky
42.367 KB
September 05 2019 12:38:40
root
0755
pkaction
18.305 KB
February 21 2022 1:58:33
root
0755
pkcheck
22.375 KB
February 21 2022 1:58:33
root
0755
pkcon
74.305 KB
September 23 2020 12:55:22
root
0755
pkexec
30.305 KB
February 21 2022 1:58:33
root
4755
pkill
30.242 KB
October 31 2023 12:35:56
root
0755
pkmon
22.305 KB
September 23 2020 12:55:22
root
0755
pkttyagent
18.305 KB
February 21 2022 1:58:33
root
0755
pl2pm
4.427 KB
November 23 2023 4:02:19
root
0755
pldd
22.367 KB
November 22 2023 2:32:50
root
0755
pmap
34.242 KB
October 31 2023 12:35:56
root
0755
pod2html
4.037 KB
November 23 2023 4:02:19
root
0755
pod2man
14.682 KB
November 23 2023 4:02:19
root
0755
pod2text
10.55 KB
November 23 2023 4:02:19
root
0755
pod2usage
3.855 KB
November 23 2023 4:02:19
root
0755
podchecker
3.572 KB
November 23 2023 4:02:19
root
0755
podselect
2.468 KB
November 23 2023 4:02:19
root
0755
postgreyreport
23.784 KB
May 09 2019 1:35:38
root
0755
pphs
0.395 KB
October 12 2023 3:06:46
root
0755
pr
74.43 KB
September 05 2019 12:38:40
root
0755
precat
5.523 KB
July 22 2021 8:20:06
root
0755
preconv
66.508 KB
March 21 2020 1:27:30
root
0755
preunzip
5.523 KB
July 22 2021 8:20:06
root
0755
prezip
5.523 KB
July 22 2021 8:20:06
root
0755
prezip-bin
14.297 KB
July 22 2021 8:20:06
root
0755
print
18.054 KB
October 19 2019 1:05:50
root
0755
printafm
0.386 KB
October 12 2023 3:06:46
root
0755
printenv
38.336 KB
September 05 2019 12:38:40
root
0755
printerbanner
22.148 KB
March 30 2020 11:26:14
root
0755
printf
58.336 KB
September 05 2019 12:38:40
root
0755
prlimit
38.742 KB
May 30 2023 5:42:35
root
0755
pro
0.432 KB
November 07 2023 3:23:40
root
0755
procmail
94.383 KB
November 16 2017 11:42:36
root
6755
procmail-wrapper
1.35 MB
January 26 2022 8:09:58
root
4755
proj
26.164 KB
February 13 2020 4:29:49
root
0755
projinfo
86.32 KB
February 13 2020 4:29:49
root
0755
prove
13.335 KB
November 23 2023 4:02:19
root
0755
prtstat
22.227 KB
November 12 2019 12:16:21
root
0755
ps2ascii
0.616 KB
October 12 2023 3:06:46
root
0755
ps2epsi
2.688 KB
October 12 2023 3:06:46
root
0755
ps2pdf
0.266 KB
October 12 2023 3:06:46
root
0755
ps2pdf12
0.21 KB
October 12 2023 3:06:46
root
0755
ps2pdf13
0.21 KB
October 12 2023 3:06:46
root
0755
ps2pdf14
0.21 KB
October 12 2023 3:06:46
root
0755
ps2pdfwr
1.053 KB
October 12 2023 3:06:46
root
0755
ps2ps
0.632 KB
October 12 2023 3:06:46
root
0755
ps2ps2
0.653 KB
October 12 2023 3:06:46
root
0755
ps2txt
0.616 KB
October 12 2023 3:06:46
root
0755
psfaddtable
21.992 KB
May 09 2019 5:22:51
root
0755
psfgettable
21.992 KB
May 09 2019 5:22:51
root
0755
psfstriptable
21.992 KB
May 09 2019 5:22:51
root
0755
psfxtable
21.992 KB
May 09 2019 5:22:51
root
0755
pslog
14.148 KB
November 12 2019 12:16:21
root
0755
pstree
35.164 KB
November 12 2019 12:16:21
root
0755
pstree.x11
35.164 KB
November 12 2019 12:16:21
root
0755
ptar
3.466 KB
November 23 2023 4:02:19
root
0755
ptardiff
2.566 KB
November 23 2023 4:02:19
root
0755
ptargrep
4.289 KB
November 23 2023 4:02:19
root
0755
ptx
78.398 KB
September 05 2019 12:38:40
root
0755
pwdx
14.227 KB
October 31 2023 12:35:56
root
0755
py3clean
7.63 KB
March 13 2020 1:20:20
root
0755
py3compile
11.836 KB
March 13 2020 1:20:20
root
0755
py3versions
11.442 KB
March 13 2020 1:20:20
root
0755
pydoc3
0.077 KB
November 22 2023 11:22:35
root
0755
pydoc3.8
0.077 KB
November 22 2023 11:22:35
root
0755
pygettext3
21.03 KB
November 22 2023 11:22:35
root
0755
pygettext3.8
21.03 KB
November 22 2023 11:22:35
root
0755
python3
5.21 MB
November 22 2023 11:22:35
root
0755
python3-futurize
0.375 KB
January 25 2023 9:33:14
root
0755
python3-pasteurize
0.379 KB
January 25 2023 9:33:14
root
0755
python3-pbr
0.148 KB
April 09 2020 9:32:59
root
0755
python3.8
5.21 MB
November 22 2023 11:22:35
root
0755
quota
95.406 KB
April 09 2019 10:12:04
root
0755
quotasync
70.719 KB
April 09 2019 10:12:04
root
0755
racc2.7
0.572 KB
July 06 2023 12:57:08
root
0755
racc2y2.7
0.576 KB
July 06 2023 12:57:08
root
0755
rake
0.498 KB
April 01 2020 9:46:04
root
0755
ranlib
66.461 KB
January 02 2024 4:48:50
root
0755
rcp
114.297 KB
January 02 2024 6:13:02
root
0755
rdma
130.234 KB
February 13 2020 6:21:59
root
0755
rdoc
0.501 KB
July 06 2023 12:57:08
root
0755
rdoc2.7
0.501 KB
July 06 2023 12:57:08
root
0755
re2c
526.398 KB
April 27 2020 2:48:36
root
0755
readelf
642.93 KB
January 02 2024 4:48:50
root
0755
realpath
50.367 KB
September 05 2019 12:38:40
root
0755
rename.ul
22.227 KB
May 30 2023 5:42:35
root
0755
rendercheck
59.953 KB
February 29 2020 12:10:29
root
0755
renice
14.227 KB
May 30 2023 5:42:35
root
0755
reset
30.313 KB
May 16 2023 8:47:48
root
0755
resizecons
22.133 KB
May 09 2019 5:22:51
root
0755
resizepart
62.227 KB
May 30 2023 5:42:35
root
0755
resolvectl
126.375 KB
November 21 2023 10:10:21
root
0755
rev
14.227 KB
May 30 2023 5:42:35
root
0755
rgrep
0.029 KB
January 16 2020 4:27:20
root
0755
ri
0.497 KB
July 06 2023 12:57:08
root
0755
ri2.7
0.497 KB
July 06 2023 12:57:08
root
0755
rlogin
774.945 KB
January 02 2024 6:13:02
root
0755
rmail
18.148 KB
January 29 2024 9:49:03
root
0755
rotatelogs
26.227 KB
October 26 2023 3:54:09
root
0755
routef
0.203 KB
February 13 2020 6:21:59
root
0755
routel
1.617 KB
February 13 2020 6:21:59
root
0755
rpcgen
98.688 KB
November 22 2023 2:32:50
root
0755
rrsync
7.069 KB
September 14 2015 1:23:54
root
0755
rsh
774.945 KB
January 02 2024 6:13:02
root
0755
rstart
2.549 KB
February 29 2020 7:08:03
root
0755
rstartd
1.435 KB
February 29 2020 7:08:03
root
0755
rsync
500.805 KB
September 01 2023 8:38:04
root
0755
rtstat
30.508 KB
February 13 2020 6:21:59
root
0755
ruby
14.148 KB
July 06 2023 12:57:08
root
0755
ruby2.7
14.148 KB
July 06 2023 12:57:08
root
0755
run-mailcap
18.054 KB
October 19 2019 1:05:50
root
0755
run-with-aspell
0.056 KB
July 22 2021 8:20:06
root
0755
runcon
38.336 KB
September 05 2019 12:38:40
root
0755
rview
1.29 MB
December 07 2023 4:42:49
root
0755
sa-awl
4.872 KB
March 24 2023 5:36:49
root
0755
sa-check_spamd
14.617 KB
March 24 2023 5:36:49
root
0755
sa-compile
21.851 KB
March 24 2023 5:36:49
root
0755
sa-learn
44.788 KB
March 24 2023 5:36:49
root
0755
sa-update
72.544 KB
March 24 2023 5:36:49
root
0755
sasl-sample-client
26.469 KB
February 15 2022 9:03:43
root
0755
saslfinger
8.619 KB
February 15 2022 9:03:43
root
0755
savelog
10.235 KB
December 07 2019 3:13:44
root
0755
scp
114.297 KB
January 02 2024 6:13:02
root
0755
screen
463.164 KB
February 23 2021 6:46:21
root
0755
screendump
13.992 KB
May 09 2019 5:22:51
root
0755
script
54.227 KB
May 30 2023 5:42:35
root
0755
scriptreplay
30.227 KB
May 30 2023 5:42:35
root
0755
sdiff
50.094 KB
April 08 2019 2:04:00
root
0755
see
18.054 KB
October 19 2019 1:05:50
root
0755
select-default-iwrap
0.463 KB
November 15 2018 4:24:46
root
0755
select-editor
2.385 KB
November 17 2019 1:21:22
root
0755
sensible-browser
1.201 KB
November 17 2019 1:21:22
root
0755
sensible-editor
1.142 KB
November 17 2019 1:21:22
root
0755
sensible-pager
0.441 KB
November 17 2019 1:21:22
root
0755
sensors
30.5 KB
March 31 2022 10:52:36
root
0755
sensors-conf-convert
13.698 KB
March 31 2022 10:52:36
root
0755
seq
50.336 KB
September 05 2019 12:38:40
root
0755
sessreg
13.992 KB
March 18 2018 11:19:30
root
0755
setarch
26.5 KB
May 30 2023 5:42:35
root
0755
setkeycodes
14.07 KB
May 09 2019 5:22:51
root
0755
setleds
14.055 KB
May 09 2019 5:22:51
root
0755
setlogcons
14.07 KB
May 09 2019 5:22:51
root
0755
setmetamode
14.102 KB
May 09 2019 5:22:51
root
0755
setpci
30.234 KB
April 01 2021 12:55:11
root
0755
setpriv
46.234 KB
May 30 2023 5:42:35
root
0755
setsid
14.227 KB
May 30 2023 5:42:35
root
0755
setterm
46.227 KB
May 30 2023 5:42:35
root
0755
setxkbmap
30.703 KB
February 28 2020 9:13:02
root
0755
sftp
166.508 KB
January 02 2024 6:13:02
root
0755
sg
43.734 KB
November 29 2022 12:53:10
root
4755
sha1sum
50.367 KB
September 05 2019 12:38:40
root
0755
sha224sum
58.367 KB
September 05 2019 12:38:40
root
0755
sha256sum
58.367 KB
September 05 2019 12:38:40
root
0755
sha384sum
66.367 KB
September 05 2019 12:38:40
root
0755
sha512sum
66.367 KB
September 05 2019 12:38:40
root
0755
shasum
9.742 KB
November 23 2023 4:02:19
root
0755
showconsolefont
18.07 KB
May 09 2019 5:22:51
root
0755
showkey
18.07 KB
May 09 2019 5:22:51
root
0755
showrgb
9.992 KB
March 18 2018 11:19:30
root
0755
shred
62.367 KB
September 05 2019 12:38:40
root
0755
shuf
58.336 KB
September 05 2019 12:38:40
root
0755
size
34.453 KB
January 02 2024 4:48:50
root
0755
skill
30.227 KB
October 31 2023 12:35:56
root
0755
slabtop
22.234 KB
October 31 2023 12:35:56
root
0755
slogin
774.945 KB
January 02 2024 6:13:02
root
0755
smproxy
26.313 KB
February 29 2020 7:08:03
root
0755
snice
30.227 KB
October 31 2023 12:35:56
root
0755
soelim
46.508 KB
March 21 2020 1:27:30
root
0755
sort
114.625 KB
September 05 2019 12:38:40
root
0755
sotruss
4.209 KB
November 22 2023 2:32:50
root
0755
spamalyze
5.514 KB
July 15 2016 4:10:30
root
0755
spamassassin
29.197 KB
March 24 2023 5:36:49
root
0755
spamc
47.141 KB
March 24 2023 5:36:49
root
0755
spinner
2.381 KB
August 22 2017 11:23:46
root
0755
splain
18.701 KB
November 23 2023 4:02:19
root
0755
split
58.773 KB
September 05 2019 12:38:40
root
0755
splitfont
13.992 KB
May 09 2019 5:22:51
root
0755
sprof
34.367 KB
November 22 2023 2:32:50
root
0755
ssh
774.945 KB
January 02 2024 6:13:02
root
0755
ssh-add
362.281 KB
January 02 2024 6:13:02
root
0755
ssh-agent
342.289 KB
January 02 2024 6:13:02
root
2755
ssh-argv0
1.421 KB
April 04 2023 12:47:13
root
0755
ssh-copy-id
10.408 KB
February 14 2020 1:40:54
root
0755
ssh-keygen
466.297 KB
January 02 2024 6:13:02
root
0755
ssh-keyscan
454.305 KB
January 02 2024 6:13:02
root
0755
startx
5.39 KB
August 24 2019 11:28:16
root
0755
stat
86.367 KB
September 05 2019 12:38:40
root
0755
stdbuf
50.336 KB
September 05 2019 12:38:40
root
0755
stl2gts
14.039 KB
February 03 2017 11:04:42
root
0755
strace
1.51 MB
April 17 2020 12:23:25
root
0755
strace-log-merge
1.778 KB
March 18 2019 8:06:47
root
0755
strings
34.656 KB
January 02 2024 4:48:50
root
0755
strip
182.477 KB
January 02 2024 4:48:50
root
0755
sudo
162.164 KB
April 04 2023 1:56:28
root
4755
sudoedit
162.164 KB
April 04 2023 1:56:28
root
4755
sudoreplay
63 KB
April 04 2023 1:56:28
root
0755
sum
46.344 KB
September 05 2019 12:38:40
root
0755
symcryptrun
123.031 KB
July 04 2022 6:20:36
root
0755
systemd-analyze
1.51 MB
November 21 2023 10:10:21
root
0755
systemd-cat
18.227 KB
November 21 2023 10:10:21
root
0755
systemd-cgls
22.328 KB
November 21 2023 10:10:21
root
0755
systemd-cgtop
38.242 KB
November 21 2023 10:10:21
root
0755
systemd-delta
26.219 KB
November 21 2023 10:10:21
root
0755
systemd-detect-virt
18.219 KB
November 21 2023 10:10:21
root
0755
systemd-id128
22.219 KB
November 21 2023 10:10:21
root
0755
systemd-mount
50.453 KB
November 21 2023 10:10:21
root
0755
systemd-path
18.219 KB
November 21 2023 10:10:21
root
0755
systemd-resolve
126.375 KB
November 21 2023 10:10:21
root
0755
systemd-run
58.422 KB
November 21 2023 10:10:21
root
0755
systemd-socket-activate
26.219 KB
November 21 2023 10:10:21
root
0755
systemd-stdio-bridge
22.227 KB
November 21 2023 10:10:21
root
0755
systemd-umount
50.453 KB
November 21 2023 10:10:21
root
0755
tabs
18.305 KB
May 16 2023 8:47:48
root
0755
tac
42.336 KB
September 05 2019 12:38:40
root
0755
tail
70.398 KB
September 05 2019 12:38:40
root
0755
taskset
34.227 KB
May 30 2023 5:42:35
root
0755
tbl
138.508 KB
March 21 2020 1:27:30
root
0755
tee
42.367 KB
September 05 2019 12:38:40
root
0755
telnet
112.672 KB
March 23 2020 7:20:39
root
0755
telnet.netkit
112.672 KB
March 23 2020 7:20:39
root
0755
test
54.336 KB
September 05 2019 12:38:40
root
0755
tic
90.414 KB
May 16 2023 8:47:48
root
0755
time
14.375 KB
April 21 2017 10:57:03
root
0755
timedatectl
46.219 KB
November 21 2023 10:10:21
root
0755
timeout
42.773 KB
September 05 2019 12:38:40
root
0755
tload
22.242 KB
October 31 2023 12:35:56
root
0755
toe
22.305 KB
May 16 2023 8:47:48
root
0755
top
126.047 KB
October 31 2023 12:35:56
root
0755
touch
98.367 KB
September 05 2019 12:38:40
root
0755
tput
26.336 KB
May 16 2023 8:47:48
root
0755
tr
50.336 KB
September 05 2019 12:38:40
root
0755
tracepath
18.148 KB
September 13 2022 9:06:15
root
0755
traceroute6
26.148 KB
September 13 2022 9:06:15
root
0755
traceroute6.iputils
26.148 KB
September 13 2022 9:06:15
root
0755
transform
14.352 KB
February 03 2017 11:04:42
root
0755
transset
22.789 KB
February 29 2020 12:10:29
root
0755
troff
735.906 KB
March 21 2020 1:27:30
root
0755
truncate
42.336 KB
September 05 2019 12:38:40
root
0755
tset
30.313 KB
May 16 2023 8:47:48
root
0755
tsort
42.336 KB
September 05 2019 12:38:40
root
0755
tty
38.336 KB
September 05 2019 12:38:40
root
0755
tzselect
15.019 KB
November 22 2023 2:32:50
root
0755
ua
0.432 KB
November 07 2023 3:23:40
root
0755
ubuntu-advantage
0.432 KB
November 07 2023 3:23:40
root
0755
ubuntu-distro-info
22.891 KB
April 25 2023 3:57:38
root
0755
ubuntu-security-status
22.249 KB
November 15 2023 11:28:54
root
0755
ucf
39.731 KB
December 14 2018 9:51:14
root
0755
ucfq
18.913 KB
December 14 2018 9:51:14
root
0755
ucfr
10.471 KB
December 14 2018 9:51:14
root
0755
ul
18.164 KB
March 30 2020 11:26:14
root
0755
unattended-upgrade
96.985 KB
May 19 2022 7:38:48
root
0755
unattended-upgrades
96.985 KB
May 19 2022 7:38:48
root
0755
unexpand
42.367 KB
September 05 2019 12:38:40
root
0755
unicode_stop
0.518 KB
May 09 2019 5:22:51
root
0755
uniq
50.367 KB
September 05 2019 12:38:40
root
0755
unlink
38.336 KB
September 05 2019 12:38:40
root
0755
unlzma
78.5 KB
April 08 2022 2:56:10
root
0755
unrar
376.875 KB
March 22 2020 5:01:42
root
0755
unrar-nonfree
376.875 KB
March 22 2020 5:01:42
root
0755
unshare
42.43 KB
May 30 2023 5:42:35
root
0755
unxz
78.5 KB
April 08 2022 2:56:10
root
0755
unzip
182.289 KB
October 07 2022 7:09:47
root
0755
unzipsfx
82.273 KB
October 07 2022 7:09:47
root
0755
update-alternatives
54.406 KB
May 25 2022 1:14:20
root
0755
update-mime-database
58.367 KB
March 24 2020 4:58:21
root
0755
uptime
14.227 KB
October 31 2023 12:35:56
root
0755
usb-devices
4.004 KB
October 01 2019 11:03:11
root
0755
usbhid-dump
30.383 KB
October 01 2019 11:03:11
root
0755
usbreset
14.297 KB
October 01 2019 11:03:11
root
0755
users
38.336 KB
September 05 2019 12:38:40
root
0755
utmpdump
30.227 KB
May 30 2023 5:42:35
root
0755
uuidgen
14.227 KB
May 30 2023 5:42:35
root
0755
uuidparse
38.227 KB
May 30 2023 5:42:35
root
0755
vi
1.29 MB
December 07 2023 4:42:49
root
0755
view
1.29 MB
December 07 2023 4:42:49
root
0755
viewres
31.266 KB
February 29 2020 7:29:50
root
0755
vim.tiny
1.29 MB
December 07 2023 4:42:49
root
0755
virtualmin-config-system
3.221 KB
August 01 2020 12:21:33
root
0755
vmstat
38.25 KB
October 31 2023 12:35:56
root
0755
volname
14.148 KB
July 08 2019 10:40:51
root
0755
w
22.227 KB
October 31 2023 12:35:56
root
0755
w.procps
22.227 KB
October 31 2023 12:35:56
root
0755
wall
34.227 KB
May 30 2023 5:42:35
root
2755
watch
26.57 KB
October 31 2023 12:35:56
root
0755
watchgnupg
18.305 KB
July 04 2022 6:20:36
root
0755
wc
46.344 KB
September 05 2019 12:38:40
root
0755
wcmgr
30.039 KB
October 15 2018 5:03:02
root
0755
webalizer
220.195 KB
October 15 2018 5:03:02
root
0755
webazolver
220.195 KB
October 15 2018 5:03:02
root
0755
webmin
15.095 KB
November 08 2023 4:49:09
root
0755
wget
531.711 KB
November 12 2021 6:09:16
root
0755
whatis
55.211 KB
February 25 2020 6:13:45
root
0755
whereis
34.664 KB
May 30 2023 5:42:35
root
0755
which
0.924 KB
December 07 2019 3:13:44
root
0755
whiptail
34.164 KB
February 18 2020 10:21:04
root
0755
who
58.367 KB
September 05 2019 12:38:40
root
0755
whoami
38.336 KB
September 05 2019 12:38:40
root
0755
whois
156.719 KB
February 16 2020 10:25:51
root
0755
word-list-compress
14.297 KB
July 22 2021 8:20:06
root
0755
write
14.148 KB
March 30 2020 11:26:14
root
2755
www-browser
1.85 MB
February 28 2020 3:28:01
root
0755
x-www-browser
2.604 KB
February 06 2024 2:59:08
root
0755
x11perf
197.461 KB
February 29 2020 12:10:29
root
0755
x11perfcomp
2.741 KB
February 29 2020 12:10:29
root
0755
x86_64
26.5 KB
May 30 2023 5:42:35
root
0755
x86_64-linux-gnu-addr2line
34.703 KB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-ar
66.43 KB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-as
680.297 KB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-c++filt
30.266 KB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-cpp
1.1 MB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-cpp-9
1.1 MB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-dwp
1.95 MB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-elfedit
42.672 KB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-g++
1.1 MB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-g++-9
1.1 MB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcc
1.1 MB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcc-9
1.1 MB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcc-ar
34.633 KB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcc-ar-9
34.633 KB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcc-nm
34.633 KB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcc-nm-9
34.633 KB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcc-ranlib
34.633 KB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcc-ranlib-9
34.633 KB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcov
656.234 KB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcov-9
656.234 KB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcov-dump
528.133 KB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcov-dump-9
528.133 KB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcov-tool
544.195 KB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gcov-tool-9
544.195 KB
October 24 2022 11:28:06
root
0755
x86_64-linux-gnu-gold
2.21 MB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-gprof
99.883 KB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-ld
1.66 MB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-ld.bfd
1.66 MB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-ld.gold
2.21 MB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-nm
51.43 KB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-objcopy
182.477 KB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-objdump
392.828 KB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-ranlib
66.461 KB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-readelf
642.93 KB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-size
34.453 KB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-strings
34.656 KB
January 02 2024 4:48:50
root
0755
x86_64-linux-gnu-strip
182.477 KB
January 02 2024 4:48:50
root
0755
xargs
74.367 KB
February 18 2020 2:05:59
root
0755
xauth
54.969 KB
August 25 2019 11:09:53
root
0755
xbiff
24.188 KB
February 29 2020 12:10:29
root
0755
xcalc
47.484 KB
February 29 2020 12:10:29
root
0755
xclipboard
26.656 KB
February 29 2020 12:10:29
root
0755
xclock
65.141 KB
February 29 2020 12:10:29
root
0755
xcmsdb
30.742 KB
March 18 2018 11:19:30
root
0755
xconsole
27.281 KB
February 29 2020 12:10:29
root
0755
xcursorgen
22.297 KB
February 29 2020 12:10:29
root
0755
xcutsel
22.641 KB
February 29 2020 12:10:29
root
0755
xdg-user-dir
0.229 KB
January 24 2019 3:37:01
root
0755
xdg-user-dirs-update
26.07 KB
January 24 2019 3:37:01
root
0755
xditview
108.141 KB
February 29 2020 12:10:29
root
0755
xdpyinfo
43.07 KB
February 29 2020 7:29:50
root
0755
xdriinfo
14.305 KB
February 29 2020 7:29:50
root
0755
xedit
673.352 KB
February 29 2020 12:10:29
root
0755
xev
34.656 KB
February 29 2020 7:29:50
root
0755
xeyes
31.797 KB
February 29 2020 12:10:29
root
0755
xfd
40.063 KB
February 29 2020 7:29:50
root
0755
xfontsel
47.906 KB
February 29 2020 7:29:50
root
0755
xgamma
9.992 KB
March 18 2018 11:19:30
root
0755
xgc
78.422 KB
February 29 2020 12:10:29
root
0755
xhost
13.992 KB
March 18 2018 11:19:30
root
0755
xinit
22.328 KB
August 24 2019 11:28:16
root
0755
xkbbell
14.32 KB
February 28 2020 9:13:02
root
0755
xkbcomp
212.094 KB
February 28 2020 9:13:02
root
0755
xkbevd
42.391 KB
February 28 2020 9:13:02
root
0755
xkbprint
94.344 KB
February 28 2020 9:13:02
root
0755
xkbvleds
23.086 KB
February 28 2020 9:13:02
root
0755
xkbwatch
23.18 KB
February 28 2020 9:13:02
root
0755
xkeystone
16.584 KB
March 18 2018 11:19:30
root
0755
xkill
14.305 KB
February 29 2020 7:29:50
root
0755
xload
27 KB
February 29 2020 12:10:29
root
0755
xlogo
27.266 KB
February 29 2020 12:10:29
root
0755
xlsatoms
14.305 KB
February 29 2020 7:29:50
root
0755
xlsclients
18.313 KB
February 29 2020 7:29:50
root
0755
xlsfonts
26.398 KB
February 29 2020 7:29:50
root
0755
xmag
48.422 KB
February 29 2020 12:10:29
root
0755
xman
81.203 KB
February 29 2020 12:10:29
root
0755
xmessage
27.188 KB
February 29 2020 7:29:50
root
0755
xmodmap
34.336 KB
March 18 2018 11:19:30
root
0755
xmore
18.578 KB
February 29 2020 12:10:29
root
0755
xprop
48.602 KB
February 29 2020 7:29:50
root
0755
xrandr
62.086 KB
March 18 2018 11:19:30
root
0755
xrdb
30.086 KB
March 18 2018 11:19:30
root
0755
xrefresh
10.07 KB
March 18 2018 11:19:30
root
0755
xset
29.992 KB
March 18 2018 11:19:30
root
0755
xsetmode
9.992 KB
March 18 2018 11:19:30
root
0755
xsetpointer
9.992 KB
March 18 2018 11:19:30
root
0755
xsetroot
18 KB
March 18 2018 11:19:30
root
0755
xsm
102.766 KB
February 29 2020 7:08:03
root
0755
xstdcmap
14.57 KB
March 18 2018 11:19:30
root
0755
xsubpp
5.043 KB
November 23 2023 4:02:19
root
0755
xvidtune
39.414 KB
March 18 2018 11:19:30
root
0755
xvinfo
18.305 KB
February 29 2020 7:29:50
root
0755
xwd
38.313 KB
February 29 2020 12:10:29
root
0755
xwininfo
50.383 KB
February 29 2020 7:29:50
root
0755
xwud
34.297 KB
February 29 2020 12:10:29
root
0755
xxd
18.273 KB
December 07 2023 4:42:49
root
0755
xz
78.5 KB
April 08 2022 2:56:10
root
0755
xzcat
78.5 KB
April 08 2022 2:56:10
root
0755
xzcmp
6.477 KB
April 08 2022 2:56:10
root
0755
xzdiff
6.477 KB
April 08 2022 2:56:10
root
0755
xzegrep
5.764 KB
April 08 2022 2:56:10
root
0755
xzfgrep
5.764 KB
April 08 2022 2:56:10
root
0755
xzgrep
5.764 KB
April 08 2022 2:56:10
root
0755
xzless
1.76 KB
April 08 2022 2:56:10
root
0755
xzmore
2.11 KB
April 08 2022 2:56:10
root
0755
y2racc2.7
0.576 KB
July 06 2023 12:57:08
root
0755
yes
38.336 KB
September 05 2019 12:38:40
root
0755
zabbix_sender
269.063 KB
February 04 2020 5:03:41
root
0755
zdump
26.211 KB
November 22 2023 2:32:50
root
0755
zip
211.188 KB
April 21 2017 11:02:44
root
0755
zipcloak
91.617 KB
April 21 2017 11:02:44
root
0755
zipdetails
49.529 KB
November 23 2023 4:02:19
root
0755
zipgrep
2.884 KB
October 07 2022 7:09:47
root
0755
zipinfo
182.289 KB
October 07 2022 7:09:47
root
0755
zipnote
87.391 KB
April 21 2017 11:02:44
root
0755
zipsplit
91.391 KB
April 21 2017 11:02:44
root
0755

NineSec Team - 2022