codekingpro/portable-devtools
115k
1import re2import socket3import sys4from collections.abc import Callable5 6 7def init_transparent_mode() -> None:8 """9 Initialize transparent mode.10 """11 12 13original_addr: Callable[[socket.socket], tuple[str, int]] | None14"""15Get the original destination for the given socket.16This function will be None if transparent mode is not supported.17"""18 19if re.match(r"linux(?:2)?", sys.platform):20 from . import linux21 22 original_addr = linux.original_addr23elif sys.platform == "darwin" or sys.platform.startswith("freebsd"):24 from . import osx25 26 original_addr = osx.original_addr27elif sys.platform.startswith("openbsd"):28 from . import openbsd29 30 original_addr = openbsd.original_addr31elif sys.platform == "win32":32 from . import windows33 34 resolver = windows.Resolver()35 init_transparent_mode = resolver.setup # noqa36 original_addr = resolver.original_addr37else:38 original_addr = None39 40__all__ = ["original_addr", "init_transparent_mode"]41 