0
# ˆl–äY>”TÔD¨ ÅõÆEp/)‹FÿÃ
ƒh¹ÂÁÀ auto
ˆ
ƒBß_•I|¥‰ÓMdœv ©ƒ&íK<óo¬ÂÁ C
Index of /FSS-BCZ/root/sys/class/leds/input6::kana/device/input6::numlock/subsystem/input6::capslock
Index of /FSS-BCZ/root/sys/class/leds/input6::kana/device/input6::numlock/subsystem/input6::capslock
$ ˆl–ß=¿J å4Ò‚ œP
\®µ1hßÅ
„o ïÄà=Ô # ferny - asyncio SSH client library, using ssh(1)
#
# Copyright (C) 2023 Allison Karlitskaya
#
# 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 .
import array
import ast
import asyncio
import contextlib
import logging
import os
import re
import socket
import tempfile
from typing import Any, Callable, ClassVar, Generator, Sequence
from . import interaction_client
logger = logging.getLogger(__name__)
COMMAND_RE = re.compile(b'\0ferny\0([^\n]*)\0\0\n')
COMMAND_TEMPLATE = '\0ferny\0{(command, args)!r}\0\0\n'
BEIBOOT_GADGETS = {
"command": rf"""
import sys
def command(command, *args):
sys.stderr.write(f{COMMAND_TEMPLATE!r})
sys.stderr.flush()
""",
"end": r"""
def end():
command('ferny.end')
""",
}
class InteractionError(Exception):
pass
try:
recv_fds = socket.recv_fds
except AttributeError:
# Python < 3.9
def recv_fds(
sock: socket.socket, bufsize: int, maxfds: int, flags: int = 0
) -> 'tuple[bytes, list[int], int, None]':
fds = array.array("i")
msg, ancdata, flags, addr = sock.recvmsg(bufsize, socket.CMSG_LEN(maxfds * fds.itemsize))
for cmsg_level,