Linux cyberpanel 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
LiteSpeed
: 160.191.175.3 | : 216.73.216.114
Cant Read [ /etc/named.conf ]
8.2.29
aodai6801
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
lib /
python3 /
dist-packages /
twisted /
protocols /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
haproxy
[ DIR ]
drwxr-xr-x
test
[ DIR ]
drwxr-xr-x
__init__.py
397
B
-rw-r--r--
amp.py
94.23
KB
-rw-r--r--
basic.py
30.9
KB
-rw-r--r--
dict.py
10.64
KB
-rw-r--r--
finger.py
1.19
KB
-rw-r--r--
ftp.py
101.97
KB
-rw-r--r--
htb.py
9.2
KB
-rw-r--r--
ident.py
7.75
KB
-rw-r--r--
loopback.py
11.65
KB
-rw-r--r--
memcache.py
23.1
KB
-rw-r--r--
pcp.py
7.02
KB
-rw-r--r--
policies.py
20.87
KB
-rw-r--r--
portforward.py
2.32
KB
-rw-r--r--
postfix.py
3.55
KB
-rw-r--r--
shoutcast.py
3.48
KB
-rw-r--r--
sip.py
37.07
KB
-rw-r--r--
socks.py
7.74
KB
-rw-r--r--
stateful.py
1.64
KB
-rw-r--r--
tls.py
31.74
KB
-rw-r--r--
wire.py
2.44
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : postfix.py
# -*- test-case-name: twisted.test.test_postfix -*- # Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. """ Postfix mail transport agent related protocols. """ import sys from collections import UserDict from urllib.parse import quote as _quote, unquote as _unquote from twisted.internet import defer, protocol from twisted.protocols import basic, policies from twisted.python import log # urllib's quote functions just happen to match # the postfix semantics. def quote(s): quoted = _quote(s) if isinstance(quoted, str): quoted = quoted.encode("ascii") return quoted def unquote(s): if isinstance(s, bytes): s = s.decode("ascii") quoted = _unquote(s) return quoted.encode("ascii") class PostfixTCPMapServer(basic.LineReceiver, policies.TimeoutMixin): """ Postfix mail transport agent TCP map protocol implementation. Receive requests for data matching given key via lineReceived, asks it's factory for the data with self.factory.get(key), and returns the data to the requester. None means no entry found. You can use postfix's postmap to test the map service:: /usr/sbin/postmap -q KEY tcp:localhost:4242 """ timeout = 600 delimiter = b"\n" def connectionMade(self): self.setTimeout(self.timeout) def sendCode(self, code, message=b""): """ Send an SMTP-like code with a message. """ self.sendLine(str(code).encode("ascii") + b" " + message) def lineReceived(self, line): self.resetTimeout() try: request, params = line.split(None, 1) except ValueError: request = line params = None try: f = getattr(self, "do_" + request.decode("ascii")) except AttributeError: self.sendCode(400, b"unknown command") else: try: f(params) except BaseException: excInfo = str(sys.exc_info()[1]).encode("ascii") self.sendCode(400, b"Command " + request + b" failed: " + excInfo) def do_get(self, key): if key is None: self.sendCode(400, b"Command 'get' takes 1 parameters.") else: d = defer.maybeDeferred(self.factory.get, key) d.addCallbacks(self._cbGot, self._cbNot) d.addErrback(log.err) def _cbNot(self, fail): msg = fail.getErrorMessage().encode("ascii") self.sendCode(400, msg) def _cbGot(self, value): if value is None: self.sendCode(500) else: self.sendCode(200, quote(value)) def do_put(self, keyAndValue): if keyAndValue is None: self.sendCode(400, b"Command 'put' takes 2 parameters.") else: try: key, value = keyAndValue.split(None, 1) except ValueError: self.sendCode(400, b"Command 'put' takes 2 parameters.") else: self.sendCode(500, b"put is not implemented yet.") class PostfixTCPMapDictServerFactory(UserDict, protocol.ServerFactory): """ An in-memory dictionary factory for PostfixTCPMapServer. """ protocol = PostfixTCPMapServer class PostfixTCPMapDeferringDictServerFactory(protocol.ServerFactory): """ An in-memory dictionary factory for PostfixTCPMapServer. """ protocol = PostfixTCPMapServer def __init__(self, data=None): self.data = {} if data is not None: self.data.update(data) def get(self, key): return defer.succeed(self.data.get(key))
Close