__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
# Copyright 2022-2024 Free Software Foundation, Inc.

# 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 3 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/>.

import json

from .startup import LogLevel, log, log_stack, start_thread


def read_json(stream):
    """Read a JSON-RPC message from STREAM.
    The decoded object is returned.
    None is returned on EOF."""
    try:
        # First read and parse the header.
        content_length = None
        while True:
            line = stream.readline()
            # If the line is empty, we hit EOF.
            if len(line) == 0:
                log("EOF")
                return None
            line = line.strip()
            if line == b"":
                break
            if line.startswith(b"Content-Length:"):
                line = line[15:].strip()
                content_length = int(line)
                continue
            log("IGNORED: <<<%s>>>" % line)
        data = bytes()
        while len(data) < content_length:
            new_data = stream.read(content_length - len(data))
            # Maybe we hit EOF.
            if len(new_data) == 0:
                log("EOF after reading the header")
                return None
            data += new_data
        return json.loads(data)
    except OSError:
        # Reading can also possibly throw an exception.  Treat this as
        # EOF.
        log_stack(LogLevel.FULL)
        return None


def start_json_writer(stream, queue):
    """Start the JSON writer thread.
    It will read objects from QUEUE and write them to STREAM,
    following the JSON-RPC protocol."""

    def _json_writer():
        seq = 1
        while True:
            obj = queue.get()
            if obj is None:
                # This is an exit request.  The stream is already
                # flushed, so all that's left to do is request an
                # exit.
                break
            obj["seq"] = seq
            seq = seq + 1
            encoded = json.dumps(obj)
            body_bytes = encoded.encode("utf-8")
            header = "Content-Length: " + str(len(body_bytes)) + "\r\n\r\n"
            header_bytes = header.encode("ASCII")
            stream.write(header_bytes)
            stream.write(body_bytes)
            stream.flush()

    return start_thread("JSON writer", _json_writer)

Filemanager

Name Type Size Permission Actions
__init__.py File 3.49 KB 0644
breakpoint.py File 14.08 KB 0644
bt.py File 5.7 KB 0644
disassemble.py File 3.4 KB 0644
evaluate.py File 4.49 KB 0644
events.py File 8.38 KB 0644
frames.py File 5.03 KB 0644
globalvars.py File 2.81 KB 0644
io.py File 2.79 KB 0644
launch.py File 5.57 KB 0644
locations.py File 1.9 KB 0644
memory.py File 1.48 KB 0644
modules.py File 1.82 KB 0644
next.py File 3.32 KB 0644
pause.py File 882 B 0644
scopes.py File 5.64 KB 0644
server.py File 24.65 KB 0644
sources.py File 3.07 KB 0644
startup.py File 6.55 KB 0644
state.py File 951 B 0644
threads.py File 1.21 KB 0644
typecheck.py File 3.35 KB 0644
varref.py File 9.85 KB 0644
Filemanager