mirror of
https://github.com/hansjone/netx.git
synced 2026-10-09 06:40:45 +08:00
Issue short-lived access JWTs backed by AuthSession rows, HttpOnly cookies with refresh rotation, idle timeout, session management UI, WebCRT ownership caps, and optional Redis login rate limits; new logins revoke other sessions by default. Co-authored-by: Cursor <cursoragent@cursor.com>
87 lines
2.1 KiB
Python
87 lines
2.1 KiB
Python
"""WebCRT facade — re-exports channel helpers and session registry."""
|
|
from __future__ import annotations
|
|
|
|
from .config import settings
|
|
from .ne_session_factory import get_cli_hop_guard, open_netmiko_connection
|
|
from .webcrt_channel import (
|
|
_BoundedByteQueue,
|
|
_audit,
|
|
_capture_raw_channel,
|
|
_decode_bytes,
|
|
_encode_text,
|
|
_is_prompt_only_echo,
|
|
_looks_like_cli_prompt,
|
|
_looks_like_login_prompt,
|
|
_looks_like_password_change_prompt,
|
|
_normalize_encoding,
|
|
_session_log_path,
|
|
channel_return,
|
|
map_network_cli_enter,
|
|
map_network_cli_keys,
|
|
normalize_cli_transcript,
|
|
prepare_bootstrap_output,
|
|
read_session_log_tail,
|
|
uses_network_cli_keymap,
|
|
webcrt_data_root,
|
|
)
|
|
from .webcrt_session import (
|
|
WebcrtSession,
|
|
_webcrt_creds_ready,
|
|
active_session_count,
|
|
close_session,
|
|
close_sessions_for_user,
|
|
create_session,
|
|
detach_session,
|
|
find_ssh_session_for_ne,
|
|
get_session,
|
|
list_sessions,
|
|
mark_attached,
|
|
wait_session_ready,
|
|
)
|
|
from .webcrt_session_registry import (
|
|
_reap_sessions,
|
|
_sessions,
|
|
_sessions_lock,
|
|
session_access_allowed,
|
|
)
|
|
|
|
__all__ = [
|
|
"WebcrtSession",
|
|
"_BoundedByteQueue",
|
|
"_audit",
|
|
"_capture_raw_channel",
|
|
"_decode_bytes",
|
|
"_encode_text",
|
|
"_is_prompt_only_echo",
|
|
"_looks_like_cli_prompt",
|
|
"_looks_like_login_prompt",
|
|
"_looks_like_password_change_prompt",
|
|
"_normalize_encoding",
|
|
"_reap_sessions",
|
|
"_session_log_path",
|
|
"_sessions",
|
|
"_sessions_lock",
|
|
"_webcrt_creds_ready",
|
|
"active_session_count",
|
|
"channel_return",
|
|
"close_session",
|
|
"close_sessions_for_user",
|
|
"create_session",
|
|
"detach_session",
|
|
"find_ssh_session_for_ne",
|
|
"get_cli_hop_guard",
|
|
"get_session",
|
|
"list_sessions",
|
|
"map_network_cli_enter",
|
|
"map_network_cli_keys",
|
|
"mark_attached",
|
|
"normalize_cli_transcript",
|
|
"open_netmiko_connection",
|
|
"prepare_bootstrap_output",
|
|
"read_session_log_tail",
|
|
"session_access_allowed",
|
|
"settings",
|
|
"uses_network_cli_keymap",
|
|
"wait_session_ready",
|
|
"webcrt_data_root",
|
|
]
|