Linux ns1.utparral.edu.mx 6.8.0-79-generic #79~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 15 16:54:53 UTC 2 x86_64
Apache/2.4.58 (Unix) OpenSSL/1.1.1w PHP/8.2.12 mod_perl/2.0.12 Perl/v5.34.1
: 10.10.1.9 | : 10.10.1.254
Cant Read [ /etc/named.conf ]
daemon
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
README
+ Create Folder
+ Create File
/
usr /
lib /
python3 /
dist-packages /
PIL /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
BdfFontFile.py
2.75
KB
-rw-r--r--
_binary.py
2
KB
-rw-r--r--
BlpImagePlugin.py
14.23
KB
-rw-r--r--
BmpImagePlugin.py
13.91
KB
-rw-r--r--
BufrStubImagePlugin.py
1.48
KB
-rw-r--r--
ContainerIO.py
2.82
KB
-rw-r--r--
CurImagePlugin.py
1.64
KB
-rw-r--r--
DcxImagePlugin.py
2.09
KB
-rw-r--r--
DdsImagePlugin.py
7.8
KB
-rw-r--r--
EpsImagePlugin.py
11.64
KB
-rw-r--r--
ExifTags.py
9.22
KB
-rw-r--r--
features.py
9.17
KB
-rw-r--r--
FitsStubImagePlugin.py
2.5
KB
-rw-r--r--
FliImagePlugin.py
4.16
KB
-rw-r--r--
FontFile.py
2.7
KB
-rw-r--r--
FpxImagePlugin.py
6.5
KB
-rw-r--r--
FtexImagePlugin.py
3.23
KB
-rw-r--r--
GbrImagePlugin.py
2.73
KB
-rw-r--r--
GdImageFile.py
2.41
KB
-rw-r--r--
GifImagePlugin.py
32.05
KB
-rw-r--r--
GimpGradientFile.py
3.27
KB
-rw-r--r--
GimpPaletteFile.py
1.24
KB
-rw-r--r--
GribStubImagePlugin.py
1.48
KB
-rw-r--r--
Hdf5StubImagePlugin.py
1.48
KB
-rw-r--r--
IcnsImagePlugin.py
11.46
KB
-rw-r--r--
IcoImagePlugin.py
10.57
KB
-rw-r--r--
ImageChops.py
7.13
KB
-rw-r--r--
ImageCms.py
36.22
KB
-rw-r--r--
ImageColor.py
8.52
KB
-rw-r--r--
ImageDraw2.py
4.9
KB
-rw-r--r--
ImageDraw.py
33.9
KB
-rw-r--r--
ImageEnhance.py
3.12
KB
-rw-r--r--
ImageFile.py
20.58
KB
-rw-r--r--
ImageFilter.py
15.75
KB
-rw-r--r--
ImageFont.py
44.29
KB
-rw-r--r--
ImageGrab.py
3.54
KB
-rw-r--r--
ImageMath.py
7.44
KB
-rw-r--r--
ImageMode.py
2.03
KB
-rw-r--r--
ImageMorph.py
7.59
KB
-rw-r--r--
ImageOps.py
19.82
KB
-rw-r--r--
ImagePalette.py
7.66
KB
-rw-r--r--
ImagePath.py
336
B
-rw-r--r--
Image.py
118.51
KB
-rw-r--r--
ImageQt.py
6.54
KB
-rw-r--r--
ImageSequence.py
1.81
KB
-rw-r--r--
ImageShow.py
7.75
KB
-rw-r--r--
ImageStat.py
3.81
KB
-rw-r--r--
ImageTransform.py
2.78
KB
-rw-r--r--
ImageWin.py
7.02
KB
-rw-r--r--
_imagingcms.cpython-310-x86_64-linux-gnu.so
37.8
KB
-rw-r--r--
_imaging.cpython-310-x86_64-linux-gnu.so
438.53
KB
-rw-r--r--
_imagingft.cpython-310-x86_64-linux-gnu.so
41.46
KB
-rw-r--r--
_imagingmath.cpython-310-x86_64-linux-gnu.so
18.43
KB
-rw-r--r--
_imagingmorph.cpython-310-x86_64-linux-gnu.so
14.46
KB
-rw-r--r--
ImImagePlugin.py
10.48
KB
-rw-r--r--
ImtImagePlugin.py
2.15
KB
-rw-r--r--
__init__.py
1.7
KB
-rw-r--r--
IptcImagePlugin.py
5.58
KB
-rw-r--r--
Jpeg2KImagePlugin.py
10.14
KB
-rw-r--r--
JpegImagePlugin.py
27.79
KB
-rw-r--r--
JpegPresets.py
12.06
KB
-rw-r--r--
__main__.py
41
B
-rw-r--r--
McIdasImagePlugin.py
1.71
KB
-rw-r--r--
MicImagePlugin.py
2.55
KB
-rw-r--r--
MpegImagePlugin.py
1.76
KB
-rw-r--r--
MpoImagePlugin.py
4.3
KB
-rw-r--r--
MspImagePlugin.py
5.4
KB
-rw-r--r--
PaletteFile.py
1.08
KB
-rw-r--r--
PalmImagePlugin.py
8.89
KB
-rw-r--r--
PcdImagePlugin.py
1.44
KB
-rw-r--r--
PcfFontFile.py
6.2
KB
-rw-r--r--
PcxImagePlugin.py
5.73
KB
-rw-r--r--
PdfImagePlugin.py
7.16
KB
-rw-r--r--
PdfParser.py
33.75
KB
-rw-r--r--
PixarImagePlugin.py
1.59
KB
-rw-r--r--
PngImagePlugin.py
43.11
KB
-rw-r--r--
PpmImagePlugin.py
4.34
KB
-rw-r--r--
PsdImagePlugin.py
7.88
KB
-rw-r--r--
PSDraw.py
6.56
KB
-rw-r--r--
PyAccess.py
9.38
KB
-rw-r--r--
SgiImagePlugin.py
5.95
KB
-rw-r--r--
SpiderImagePlugin.py
9.31
KB
-rw-r--r--
SunImagePlugin.py
4.18
KB
-rw-r--r--
TarIO.py
1.41
KB
-rw-r--r--
TgaImagePlugin.py
6.32
KB
-rw-r--r--
TiffImagePlugin.py
71.17
KB
-rw-r--r--
TiffTags.py
14.93
KB
-rw-r--r--
_tkinter_finder.py
525
B
-rw-r--r--
_util.py
359
B
-rw-r--r--
_version.py
50
B
-rw-r--r--
WalImageFile.py
5.42
KB
-rw-r--r--
_webp.cpython-310-x86_64-linux-gnu.so
28.09
KB
-rw-r--r--
WebPImagePlugin.py
10.58
KB
-rw-r--r--
WmfImagePlugin.py
4.53
KB
-rw-r--r--
XbmImagePlugin.py
2.37
KB
-rw-r--r--
XpmImagePlugin.py
2.99
KB
-rw-r--r--
XVThumbImagePlugin.py
1.89
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : WebPImagePlugin.py
from io import BytesIO from . import Image, ImageFile try: from . import _webp SUPPORTED = True except ImportError: SUPPORTED = False _VALID_WEBP_MODES = {"RGBX": True, "RGBA": True, "RGB": True} _VALID_WEBP_LEGACY_MODES = {"RGB": True, "RGBA": True} _VP8_MODES_BY_IDENTIFIER = { b"VP8 ": "RGB", b"VP8X": "RGBA", b"VP8L": "RGBA", # lossless } def _accept(prefix): is_riff_file_format = prefix[:4] == b"RIFF" is_webp_file = prefix[8:12] == b"WEBP" is_valid_vp8_mode = prefix[12:16] in _VP8_MODES_BY_IDENTIFIER if is_riff_file_format and is_webp_file and is_valid_vp8_mode: if not SUPPORTED: return ( "image file could not be identified because WEBP support not installed" ) return True class WebPImageFile(ImageFile.ImageFile): format = "WEBP" format_description = "WebP image" __loaded = 0 __logical_frame = 0 def _open(self): if not _webp.HAVE_WEBPANIM: # Legacy mode data, width, height, self.mode, icc_profile, exif = _webp.WebPDecode( self.fp.read() ) if icc_profile: self.info["icc_profile"] = icc_profile if exif: self.info["exif"] = exif self._size = width, height self.fp = BytesIO(data) self.tile = [("raw", (0, 0) + self.size, 0, self.mode)] self.n_frames = 1 self.is_animated = False return # Use the newer AnimDecoder API to parse the (possibly) animated file, # and access muxed chunks like ICC/EXIF/XMP. self._decoder = _webp.WebPAnimDecoder(self.fp.read()) # Get info from decoder width, height, loop_count, bgcolor, frame_count, mode = self._decoder.get_info() self._size = width, height self.info["loop"] = loop_count bg_a, bg_r, bg_g, bg_b = ( (bgcolor >> 24) & 0xFF, (bgcolor >> 16) & 0xFF, (bgcolor >> 8) & 0xFF, bgcolor & 0xFF, ) self.info["background"] = (bg_r, bg_g, bg_b, bg_a) self.n_frames = frame_count self.is_animated = self.n_frames > 1 self.mode = "RGB" if mode == "RGBX" else mode self.rawmode = mode self.tile = [] # Attempt to read ICC / EXIF / XMP chunks from file icc_profile = self._decoder.get_chunk("ICCP") exif = self._decoder.get_chunk("EXIF") xmp = self._decoder.get_chunk("XMP ") if icc_profile: self.info["icc_profile"] = icc_profile if exif: self.info["exif"] = exif if xmp: self.info["xmp"] = xmp # Initialize seek state self._reset(reset=False) def _getexif(self): if "exif" not in self.info: return None return self.getexif()._get_merged_dict() def seek(self, frame): if not self._seek_check(frame): return # Set logical frame to requested position self.__logical_frame = frame def _reset(self, reset=True): if reset: self._decoder.reset() self.__physical_frame = 0 self.__loaded = -1 self.__timestamp = 0 def _get_next(self): # Get next frame ret = self._decoder.get_next() self.__physical_frame += 1 # Check if an error occurred if ret is None: self._reset() # Reset just to be safe self.seek(0) raise EOFError("failed to decode next frame in WebP file") # Compute duration data, timestamp = ret duration = timestamp - self.__timestamp self.__timestamp = timestamp # libwebp gives frame end, adjust to start of frame timestamp -= duration return data, timestamp, duration def _seek(self, frame): if self.__physical_frame == frame: return # Nothing to do if frame < self.__physical_frame: self._reset() # Rewind to beginning while self.__physical_frame < frame: self._get_next() # Advance to the requested frame def load(self): if _webp.HAVE_WEBPANIM: if self.__loaded != self.__logical_frame: self._seek(self.__logical_frame) # We need to load the image data for this frame data, timestamp, duration = self._get_next() self.info["timestamp"] = timestamp self.info["duration"] = duration self.__loaded = self.__logical_frame # Set tile if self.fp and self._exclusive_fp: self.fp.close() self.fp = BytesIO(data) self.tile = [("raw", (0, 0) + self.size, 0, self.rawmode)] return super().load() def tell(self): if not _webp.HAVE_WEBPANIM: return super().tell() return self.__logical_frame def _save_all(im, fp, filename): encoderinfo = im.encoderinfo.copy() append_images = list(encoderinfo.get("append_images", [])) # If total frame count is 1, then save using the legacy API, which # will preserve non-alpha modes total = 0 for ims in [im] + append_images: total += getattr(ims, "n_frames", 1) if total == 1: _save(im, fp, filename) return background = (0, 0, 0, 0) if "background" in encoderinfo: background = encoderinfo["background"] elif "background" in im.info: background = im.info["background"] if isinstance(background, int): # GifImagePlugin stores a global color table index in # info["background"]. So it must be converted to an RGBA value palette = im.getpalette() if palette: r, g, b = palette[background * 3 : (background + 1) * 3] background = (r, g, b, 0) duration = im.encoderinfo.get("duration", im.info.get("duration")) loop = im.encoderinfo.get("loop", 0) minimize_size = im.encoderinfo.get("minimize_size", False) kmin = im.encoderinfo.get("kmin", None) kmax = im.encoderinfo.get("kmax", None) allow_mixed = im.encoderinfo.get("allow_mixed", False) verbose = False lossless = im.encoderinfo.get("lossless", False) quality = im.encoderinfo.get("quality", 80) method = im.encoderinfo.get("method", 0) icc_profile = im.encoderinfo.get("icc_profile") or "" exif = im.encoderinfo.get("exif", "") if isinstance(exif, Image.Exif): exif = exif.tobytes() xmp = im.encoderinfo.get("xmp", "") if allow_mixed: lossless = False # Sensible keyframe defaults are from gif2webp.c script if kmin is None: kmin = 9 if lossless else 3 if kmax is None: kmax = 17 if lossless else 5 # Validate background color if ( not isinstance(background, (list, tuple)) or len(background) != 4 or not all(v >= 0 and v < 256 for v in background) ): raise OSError( "Background color is not an RGBA tuple clamped to (0-255): %s" % str(background) ) # Convert to packed uint bg_r, bg_g, bg_b, bg_a = background background = (bg_a << 24) | (bg_r << 16) | (bg_g << 8) | (bg_b << 0) # Setup the WebP animation encoder enc = _webp.WebPAnimEncoder( im.size[0], im.size[1], background, loop, minimize_size, kmin, kmax, allow_mixed, verbose, ) # Add each frame frame_idx = 0 timestamp = 0 cur_idx = im.tell() try: for ims in [im] + append_images: # Get # of frames in this image nfr = getattr(ims, "n_frames", 1) for idx in range(nfr): ims.seek(idx) ims.load() # Make sure image mode is supported frame = ims rawmode = ims.mode if ims.mode not in _VALID_WEBP_MODES: alpha = ( "A" in ims.mode or "a" in ims.mode or (ims.mode == "P" and "A" in ims.im.getpalettemode()) ) rawmode = "RGBA" if alpha else "RGB" frame = ims.convert(rawmode) if rawmode == "RGB": # For faster conversion, use RGBX rawmode = "RGBX" # Append the frame to the animation encoder enc.add( frame.tobytes("raw", rawmode), timestamp, frame.size[0], frame.size[1], rawmode, lossless, quality, method, ) # Update timestamp and frame index if isinstance(duration, (list, tuple)): timestamp += duration[frame_idx] else: timestamp += duration frame_idx += 1 finally: im.seek(cur_idx) # Force encoder to flush frames enc.add(None, timestamp, 0, 0, "", lossless, quality, 0) # Get the final output from the encoder data = enc.assemble(icc_profile, exif, xmp) if data is None: raise OSError("cannot write file as WebP (encoder returned None)") fp.write(data) def _save(im, fp, filename): lossless = im.encoderinfo.get("lossless", False) quality = im.encoderinfo.get("quality", 80) icc_profile = im.encoderinfo.get("icc_profile") or "" exif = im.encoderinfo.get("exif", "") if isinstance(exif, Image.Exif): exif = exif.tobytes() xmp = im.encoderinfo.get("xmp", "") method = im.encoderinfo.get("method", 4) if im.mode not in _VALID_WEBP_LEGACY_MODES: alpha = ( "A" in im.mode or "a" in im.mode or (im.mode == "P" and "transparency" in im.info) ) im = im.convert("RGBA" if alpha else "RGB") data = _webp.WebPEncode( im.tobytes(), im.size[0], im.size[1], lossless, float(quality), im.mode, icc_profile, method, exif, xmp, ) if data is None: raise OSError("cannot write file as WebP (encoder returned None)") fp.write(data) Image.register_open(WebPImageFile.format, WebPImageFile, _accept) if SUPPORTED: Image.register_save(WebPImageFile.format, _save) if _webp.HAVE_WEBPANIM: Image.register_save_all(WebPImageFile.format, _save_all) Image.register_extension(WebPImageFile.format, ".webp") Image.register_mime(WebPImageFile.format, "image/webp")
Close