Linux anchor 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
Apache/2.4.18 (Ubuntu)
Server IP : 10.10.100.4 & Your IP : 216.73.217.150
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python3 /
dist-packages /
Delete
Unzip
Name
Size
Permission
Date
Action
CommandNotFound
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
ConfigArgParse-0.11.0.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
DistUpgrade
[ DIR ]
drwxr-xr-x
2021-02-25 12:38
Jinja2-2.8.egg-info
[ DIR ]
drwxr-xr-x
2019-06-08 07:42
LanguageSelector
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
MarkupSafe-0.23.egg-info
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
OpenSSL
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
PyJWT-1.3.0.egg-info
[ DIR ]
drwxr-xr-x
2017-08-31 08:13
UpdateManager
[ DIR ]
drwxr-xr-x
2019-12-17 13:04
WALinuxAgent-2.2.45.egg-info
[ DIR ]
drwxr-xr-x
2020-06-09 01:44
__pycache__
[ DIR ]
drwxr-xr-x
2025-07-15 07:05
acme
[ DIR ]
drwxr-xr-x
2019-12-17 13:04
acme-0.31.0.egg-info
[ DIR ]
drwxr-xr-x
2019-12-17 13:03
apport
[ DIR ]
drwxr-xr-x
2025-07-15 07:04
apt
[ DIR ]
drwxr-xr-x
2021-12-04 13:17
aptsources
[ DIR ]
drwxr-xr-x
2021-12-04 13:17
asn1crypto
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
asn1crypto-0.22.0.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
azurelinuxagent
[ DIR ]
drwxr-xr-x
2020-06-09 01:45
blinker
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
certbot
[ DIR ]
drwxr-xr-x
2021-02-25 12:38
certbot-0.31.0.egg-info
[ DIR ]
drwxr-xr-x
2021-02-25 12:37
certbot_apache
[ DIR ]
drwxr-xr-x
2019-05-07 01:31
certbot_apache-0.31.0.egg-info
[ DIR ]
drwxr-xr-x
2019-05-07 01:30
certifi
[ DIR ]
drwxr-xr-x
2018-04-05 16:52
certifi-2017.4.17.egg-info
[ DIR ]
drwxr-xr-x
2018-04-05 16:52
chardet
[ DIR ]
drwxr-xr-x
2018-04-05 16:35
chardet-3.0.4.egg-info
[ DIR ]
drwxr-xr-x
2018-04-05 16:34
cloud_init-21.1.egg-info
[ DIR ]
drwxr-xr-x
2021-12-04 13:17
cloudinit
[ DIR ]
drwxr-xr-x
2021-12-04 13:17
configobj-5.0.6.egg-info
[ DIR ]
drwxr-xr-x
2018-04-05 16:34
cryptography
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
cryptography-1.9.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
curl
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
dbus
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
debian
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
debian_bundle
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
distro_info-0.14ubuntu0.2.egg-info
[ DIR ]
drwxr-xr-x
2022-07-09 11:30
distro_info_test
[ DIR ]
drwxr-xr-x
2022-07-09 11:30
funcsigs
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
funcsigs-0.4.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
future
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
future-0.15.2.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
gi
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
idna
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
idna-2.5.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
janitor
[ DIR ]
drwxr-xr-x
2019-12-17 13:04
jinja2
[ DIR ]
drwxr-xr-x
2019-06-08 07:42
josepy
[ DIR ]
drwxr-xr-x
2019-02-20 18:43
josepy-1.1.0.egg-info
[ DIR ]
drwxr-xr-x
2019-02-20 18:42
jsonpatch-1.10.egg-info
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
jsonpointer-1.9.egg-info
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
jwt
[ DIR ]
drwxr-xr-x
2017-08-31 08:13
language_selector-0.1.egg-info
[ DIR ]
drwxr-xr-x
2016-11-15 15:18
libfuturize
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
libpasteurize
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
markupsafe
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
mock
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
mock-1.3.0.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
ndg
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
ndg_httpsclient-0.4.2.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
oauthlib
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
oauthlib-1.0.3.egg-info
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
parsedatetime
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
parsedatetime-2.4.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
past
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
pbr
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
pbr-1.8.0.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
pkg_resources
[ DIR ]
drwxr-xr-x
2018-04-05 16:35
prettytable-0.7.2.egg-info
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
pyOpenSSL-17.3.0.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
pyRFC3339-1.0.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
pyasn1
[ DIR ]
drwxr-xr-x
2018-04-05 16:36
pyasn1-0.1.9.egg-info
[ DIR ]
drwxr-xr-x
2018-04-05 16:34
pygtkcompat
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
pyrfc3339
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
python_debian-0.1.27.egg-info
[ DIR ]
drwxr-xr-x
2016-11-15 15:18
pytz
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
pytz-2014.10.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
requests
[ DIR ]
drwxr-xr-x
2018-04-05 16:52
requests-2.18.1.egg-info
[ DIR ]
drwxr-xr-x
2018-04-05 16:52
requests_toolbelt
[ DIR ]
drwxr-xr-x
2018-11-22 19:13
requests_toolbelt-0.8.0.egg-info
[ DIR ]
drwxr-xr-x
2018-11-22 19:13
serial
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
six-1.11.0.egg-info
[ DIR ]
drwxr-xr-x
2018-04-05 16:34
softwareproperties
[ DIR ]
drwxr-xr-x
2020-08-14 07:51
ssh_import_id
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
ssh_import_id-5.5.egg-info
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
systemd
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
uaclient
[ DIR ]
drwxr-xr-x
2022-07-09 11:30
ubuntu_advantage_tools-27.9.egg-info
[ DIR ]
drwxr-xr-x
2022-07-09 11:30
ufw
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
unattended_upgrades-0.1.egg-info
[ DIR ]
drwxr-xr-x
2021-12-04 13:17
urllib3
[ DIR ]
drwxr-xr-x
2018-04-05 16:52
urllib3-1.21.1.egg-info
[ DIR ]
drwxr-xr-x
2018-04-05 16:52
yaml
[ DIR ]
drwxr-xr-x
2016-11-15 15:19
zope
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
zope.component-4.3.0.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
zope.event-4.2.0.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
zope.hookable-4.0.4.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
zope.interface-4.3.2.egg-info
[ DIR ]
drwxr-xr-x
2018-02-22 00:25
PyICU-1.9.2.egg-info
10.67
KB
-rw-r--r--
2016-01-18 20:48
PyICU.py
1.43
KB
-rw-r--r--
2016-01-18 20:47
PyYAML-3.11.egg-info
1.63
KB
-rw-r--r--
2016-01-19 01:54
_cffi_backend.cpython-35m-x86_64-linux-gnu.so
165.29
KB
-rw-r--r--
2017-10-23 10:04
_dbus_bindings.cpython-35m-x86_64-linux-gnu.so
161.47
KB
-rw-r--r--
2016-01-21 06:19
_dbus_glib_bindings.cpython-35m-x86_64-linux-gnu.so
10.94
KB
-rw-r--r--
2016-01-21 06:19
_icu.cpython-35m-x86_64-linux-gnu.so
720.82
KB
-rw-r--r--
2016-01-18 20:48
_snack.cpython-35m-x86_64-linux-gnu.so
42.66
KB
-rw-r--r--
2016-01-18 20:48
_version.py
21
B
-rw-r--r--
2014-08-26 03:11
_yaml.cpython-35m-x86_64-linux-gnu.so
186.59
KB
-rw-r--r--
2016-01-19 01:55
apport_python_hook.py
7.61
KB
-rw-r--r--
2016-03-31 16:13
apt_inst.cpython-35m-x86_64-linux-gnu.so
51.14
KB
-rw-r--r--
2021-04-29 21:59
apt_pkg.cpython-35m-x86_64-linux-gnu.so
330.73
KB
-rw-r--r--
2021-04-29 21:59
augeas.py
23
KB
-rw-r--r--
2014-08-31 19:18
blinker-1.3.egg-info
3.51
KB
-rw-r--r--
2015-07-22 05:30
command_not_found-0.3.egg-info
189
B
-rw-r--r--
2016-06-20 18:55
configargparse.py
40.35
KB
-rw-r--r--
2016-09-05 03:22
configobj.py
87.51
KB
-rw-r--r--
2018-02-05 14:03
deb822.py
146
B
-rw-r--r--
2016-04-05 00:13
debconf.py
5.83
KB
-rw-r--r--
2019-05-08 20:33
distro_info.py
9.67
KB
-rw-r--r--
2021-04-21 20:51
icu.py
1.51
KB
-rw-r--r--
2016-01-18 20:47
icu_docs.py
3.6
KB
-rw-r--r--
2011-06-11 23:41
jsonpatch.py
24.78
KB
-rw-r--r--
2015-05-07 18:12
jsonpointer.py
9.15
KB
-rw-r--r--
2015-05-07 18:00
language_support_pkgs.py
10.15
KB
-rw-r--r--
2016-05-11 01:04
lsb_release.py
13.86
KB
-rw-r--r--
2016-06-21 23:26
ndg_httpsclient-0.4.2-nspkg.pth
296
B
-rw-r--r--
2016-11-02 16:23
prettytable.py
52.93
KB
-rw-r--r--
2013-04-07 01:44
problem_report.py
26.19
KB
-rw-r--r--
2025-07-11 17:07
pycurl-7.43.0.egg-info
4.43
KB
-rw-r--r--
2016-03-10 18:26
pycurl.cpython-35m-x86_64-linux-gnu.so
121.27
KB
-rw-r--r--
2016-03-10 18:26
pygobject-3.20.0.egg-info
1013
B
-rw-r--r--
2016-03-25 22:54
pyserial-3.0.1.egg-info
1.26
KB
-rw-r--r--
2016-01-26 06:11
python_apt-1.1.0.b1_ubuntu0.16.04.12.egg-info
246
B
-rw-r--r--
2021-04-29 21:59
python_augeas-0.5.0.egg-info
238
B
-rw-r--r--
2018-02-05 16:39
python_systemd-231.egg-info
600
B
-rw-r--r--
2016-01-19 14:41
six.py
30.16
KB
-rw-r--r--
2017-09-17 20:46
snack.py
30.38
KB
-rw-r--r--
2016-01-18 20:48
ufw-0.35.egg-info
261
B
-rw-r--r--
2016-04-15 07:16
validate.py
46.13
KB
-rw-r--r--
2014-08-26 03:11
zope.component-4.3.0-nspkg.pth
545
B
-rw-r--r--
2018-02-05 14:02
zope.event-4.2.0-nspkg.pth
299
B
-rw-r--r--
2016-03-25 18:44
zope.hookable-4.0.4-nspkg.pth
545
B
-rw-r--r--
2018-02-05 13:27
zope.interface-4.3.2-nspkg.pth
545
B
-rw-r--r--
2018-02-04 10:33
Save
Rename
# Copyright (C) 2009-2012, Benjamin Drung <bdrung@debian.org> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. """provides information about Ubuntu's and Debian's distributions""" import csv import datetime import os def convert_date(string): """Convert a date string in ISO 8601 into a datetime object.""" if not string: date = None else: parts = [int(x) for x in string.split("-")] if len(parts) == 3: (year, month, day) = parts date = datetime.date(year, month, day) elif len(parts) == 2: (year, month) = parts if month == 12: date = datetime.date(year, month, 31) else: date = datetime.date(year, month + 1, 1) - datetime.timedelta(1) else: raise ValueError("Date not in ISO 8601 format.") return date def _get_data_dir(): """Get the data directory based on the module location.""" return "/usr/share/distro-info" class DistroDataOutdated(Exception): """Distribution data outdated.""" def __init__(self): super(DistroDataOutdated, self).__init__( "Distribution data outdated. " "Please check for an update for distro-info-data. See " "/usr/share/doc/distro-info-data/README.Debian for details.") class DistroInfo(object): """Base class for distribution information. Use DebianDistroInfo or UbuntuDistroInfo instead of using this directly. """ def __init__(self, distro): self._distro = distro filename = os.path.join(_get_data_dir(), distro.lower() + ".csv") csvfile = open(filename) csv_reader = csv.DictReader(csvfile) self._rows = [] for row in csv_reader: for column in ("created", "release", "eol", "eol-server", "eol-esm"): if column in row: row[column] = convert_date(row[column]) self._rows.append(row) csvfile.close() self._date = datetime.date.today() @property def all(self, result="codename"): """List all known distributions.""" return [self._format(result, x) for x in self._rows] def _avail(self, date): """Return all distributions that were available on the given date.""" return [x for x in self._rows if date >= x["created"]] def codename(self, release, date=None, default=None): """Map codename aliases to the codename they describe.""" return release def devel(self, date=None, result="codename"): """Get latest development distribution based on the given date.""" if date is None: date = self._date distros = [x for x in self._avail(date) if x["release"] is None or (date < x["release"] and (x["eol"] is None or date <= x["eol"]))] if not distros: raise DistroDataOutdated() return self._format(result, distros[-1]) def _format(self, format_string, row): """Format a given distribution entry.""" if format_string == "codename": return row["series"] elif format_string == "fullname": return self._distro + " " + row["version"] + ' "' + \ row["codename"] + '"' elif format_string == "release": return row["version"] else: raise ValueError("Only codename, fullname, and release are allowed " "result values, but not '" + format_string + "'.") def stable(self, date=None, result="codename"): """Get latest stable distribution based on the given date.""" if date is None: date = self._date distros = [x for x in self._avail(date) if x["release"] is not None and date >= x["release"] and (x["eol"] is None or date <= x["eol"])] if not distros: raise DistroDataOutdated() return self._format(result, distros[-1]) def supported(self, date=None, result=None): """Get list of all supported distributions based on the given date.""" raise NotImplementedError() def valid(self, codename): """Check if the given codename is known.""" return codename in self.all def unsupported(self, date=None, result="codename"): """Get list of all unsupported distributions based on the given date.""" if date is None: date = self._date supported = self.supported(date) distros = [self._format(result, x) for x in self._avail(date) if x["series"] not in supported] return distros class DebianDistroInfo(DistroInfo): """provides information about Debian's distributions""" def __init__(self): super(DebianDistroInfo, self).__init__("Debian") def codename(self, release, date=None, default=None): """Map 'unstable', 'testing', etc. to their codenames.""" if release == "unstable": codename = self.devel(date) elif release == "testing": codename = self.testing(date) elif release == "stable": codename = self.stable(date) elif release == "oldstable": codename = self.old(date) else: codename = default return codename def devel(self, date=None, result="codename"): """Get latest development distribution based on the given date.""" if date is None: date = self._date distros = [x for x in self._avail(date) if x["release"] is None or (date < x["release"] and (x["eol"] is None or date <= x["eol"]))] if len(distros) < 2: raise DistroDataOutdated() return self._format(result, distros[-2]) def old(self, date=None, result="codename"): """Get old (stable) Debian distribution based on the given date.""" if date is None: date = self._date distros = [x for x in self._avail(date) if x["release"] is not None and date >= x["release"]] if len(distros) < 2: raise DistroDataOutdated() return self._format(result, distros[-2]) def supported(self, date=None, result="codename"): """Get list of all supported Debian distributions based on the given date.""" if date is None: date = self._date distros = [self._format(result, x) for x in self._avail(date) if x["eol"] is None or date <= x["eol"]] return distros def testing(self, date=None, result="codename"): """Get latest testing Debian distribution based on the given date.""" if date is None: date = self._date distros = [x for x in self._avail(date) if (x["release"] is None and x["version"]) or (x["release"] is not None and date < x["release"] and (x["eol"] is None or date <= x["eol"]))] if not distros: raise DistroDataOutdated() return self._format(result, distros[-1]) def valid(self, codename): """Check if the given codename is known.""" return DistroInfo.valid(self, codename) or \ codename in ["unstable", "testing", "stable", "oldstable"] class UbuntuDistroInfo(DistroInfo): """provides information about Ubuntu's distributions""" def __init__(self): super(UbuntuDistroInfo, self).__init__("Ubuntu") def lts(self, date=None, result="codename"): """Get latest long term support (LTS) Ubuntu distribution based on the given date.""" if date is None: date = self._date distros = [x for x in self._rows if x["version"].find("LTS") >= 0 and date >= x["release"] and date <= x["eol"]] if not distros: raise DistroDataOutdated() return self._format(result, distros[-1]) def is_lts(self, codename): """Is codename an LTS release?""" distros = [x for x in self._rows if x["series"] == codename] if not distros: return False return "LTS" in distros[0]["version"] def supported(self, date=None, result="codename"): """Get list of all supported Ubuntu distributions based on the given date.""" if date is None: date = self._date distros = [self._format(result, x) for x in self._avail(date) if date <= x["eol"] or (x["eol-server"] is not None and date <= x["eol-server"])] return distros def supported_esm(self, date=None, result="codename"): """Get list of all ESM supported Ubuntu distributions based on the given date.""" if date is None: date = self._date distros = [self._format(result, x) for x in self._avail(date) if x["eol-esm"] is not None and date <= x["eol-esm"]] return distros