SYMBOL INDEX (106 symbols across 5 files) FILE: ProxyCat.py function setup_logging (line 14) | def setup_logging(): function update_status (line 21) | def update_status(server): function handle_client_wrapper (line 134) | async def handle_client_wrapper(server, reader, writer, clients): function run_server (line 144) | async def run_server(server): function run_proxy_check (line 155) | async def run_proxy_check(server): class ProxyCat (line 169) | class ProxyCat: method __init__ (line 170) | def __init__(self): method start_server (line 231) | async def start_server(self): method handle_shutdown (line 254) | def handle_shutdown(self, signum, frame): method handle_client (line 260) | async def handle_client(self, reader, writer): method _authenticate (line 287) | def _authenticate(self, auth_header): method _handle_proxy_request (line 303) | async def _handle_proxy_request(self, reader, writer): method _handle_connect (line 323) | async def _handle_connect(self, target, reader, writer): method _handle_http (line 343) | async def _handle_http(self, method, target, version, reader, writer): method _create_pipe (line 373) | async def _create_pipe(self, client_reader, client_writer, remote_read... method _pipe (line 395) | async def _pipe(self, reader, writer): method monitor_resources (line 410) | def monitor_resources(self): FILE: app.py function get_config_path (line 31) | def get_config_path(filename): class CustomFormatter (line 39) | class CustomFormatter(logging.Formatter): method formatTime (line 40) | def formatTime(self, record, datefmt=None): function setup_logging (line 43) | def setup_logging(): class MemoryHandler (line 63) | class MemoryHandler(logging.Handler): method emit (line 64) | def emit(self, record): function require_token (line 74) | def require_token(f): function root (line 93) | def root(): function web (line 101) | def web(): function get_status (line 106) | def get_status(): function save_config (line 145) | def save_config(): function handle_proxies (line 197) | def handle_proxies(): function check_proxies_api (line 227) | def check_proxies_api(): function handle_ip_lists (line 245) | def handle_ip_lists(): function get_logs (line 279) | def get_logs(): function clear_logs (line 311) | def clear_logs(): function switch_proxy (line 331) | def switch_proxy(): function control_service (line 353) | def control_service(): function change_language (line 461) | def change_language(): function check_version (line 494) | def check_version(): function handle_users (line 540) | def handle_users(): function send_static (line 596) | def send_static(path): function run_proxy_server (line 599) | def run_proxy_server(): FILE: config/getip.py function newip (line 5) | def newip(): FILE: modules/modules.py class ColoredFormatter (line 6) | class ColoredFormatter(logging.Formatter): method format (line 14) | def format(self, record): class MessageManager (line 368) | class MessageManager: method __init__ (line 369) | def __init__(self, messages=MESSAGES): method get (line 373) | def get(self, key, lang='cn', *args): function print_banner (line 382) | def print_banner(config): function logos (line 464) | def logos(): function load_config (line 483) | def load_config(config_file='config/config.ini'): function load_ip_list (line 505) | def load_ip_list(file_path): function parse_proxy (line 518) | def parse_proxy(proxy): function check_http_proxy (line 533) | async def check_http_proxy(proxy, test_url=None): function check_socks_proxy (line 559) | async def check_socks_proxy(proxy, test_url=None): function check_proxy (line 609) | async def check_proxy(proxy, test_url=None): function check_proxies (line 637) | async def check_proxies(proxies, test_url=None): function check_for_updates (line 644) | async def check_for_updates(language='cn'): FILE: modules/proxyserver.py function load_proxies (line 9) | def load_proxies(file_path='ip.txt'): function validate_proxy (line 13) | def validate_proxy(proxy): class AsyncProxyServer (line 22) | class AsyncProxyServer: method __init__ (line 23) | def __init__(self, config): method _init_config_values (line 30) | def _init_config_values(self, config): method _init_server_state (line 71) | def _init_server_state(self): method _init_connection_settings (line 88) | def _init_connection_settings(self): method _update_config_values (line 101) | def _update_config_values(self, new_config): method _handle_mode_change (line 107) | def _handle_mode_change(self): method _check_proxies_wrapper (line 139) | async def _check_proxies_wrapper(self): method _reload_proxies (line 143) | def _reload_proxies(self): method _check_proxies (line 169) | async def _check_proxies(self): method _load_file_proxies (line 177) | def _load_file_proxies(self): method start (line 191) | async def start(self): method stop (line 242) | async def stop(self): method get_next_proxy (line 259) | async def get_next_proxy(self): method _load_getip_proxy (line 306) | async def _load_getip_proxy(self): method time_until_next_switch (line 318) | def time_until_next_switch(self): method check_ip_auth (line 321) | def check_ip_auth(self, ip): method _authenticate (line 344) | def _authenticate(self, headers): method _close_connection (line 368) | async def _close_connection(self, writer): method handle_client (line 381) | async def handle_client(self, reader, writer): method _pipe (line 414) | async def _pipe(self, reader, writer): method _split_proxy_auth (line 441) | def _split_proxy_auth(self, proxy_addr): method _create_client (line 451) | async def _create_client(self, proxy): method _cleanup_connections (line 482) | async def _cleanup_connections(self): method handle_socks5_connection (line 492) | async def handle_socks5_connection(self, reader, writer): method _initiate_socks5 (line 616) | async def _initiate_socks5(self, remote_reader, remote_writer, dst_add... method _initiate_http (line 713) | async def _initiate_http(self, remote_reader, remote_writer, dst_addr,... method _handle_client_impl (line 726) | async def _handle_client_impl(self, reader, writer, first_byte): method _handle_connect (line 791) | async def _handle_connect(self, path, reader, writer): method _handle_request (line 915) | async def _handle_request(self, method, path, headers, reader, writer): method _get_client (line 1051) | async def _get_client(self, proxy): method handle_proxy_failure (line 1077) | async def handle_proxy_failure(self): method switch_proxy (line 1112) | async def switch_proxy(self): method check_current_proxy (line 1148) | async def check_current_proxy(self): method _clean_proxy_cache (line 1193) | def _clean_proxy_cache(self): method initialize_proxies (line 1206) | def initialize_proxies(self): method cleanup_disconnected_ips (line 1227) | async def cleanup_disconnected_ips(self): method is_docker (line 1236) | def is_docker(): method get_proxy_status (line 1239) | async def get_proxy_status(self): method _get_proxy_connection (line 1250) | async def _get_proxy_connection(self, proxy): method _create_socks_connection (line 1285) | async def _create_socks_connection(self, host, port, username, passwor... method _create_http_connection (line 1311) | async def _create_http_connection(self, host, port, username, password): method _cleanup_pool (line 1324) | async def _cleanup_pool(self): method _log_proxy_switch (line 1343) | def _log_proxy_switch(self, old_proxy, new_proxy): method _validate_proxy (line 1357) | async def _validate_proxy(self, proxy): method get_proxy (line 1393) | async def get_proxy(self): method cleanup_clients (line 1435) | async def cleanup_clients(self): method get_active_connections (line 1452) | def get_active_connections(self):