$ show aploium/shootback
shootback is a reverse TCP tunnel application that enables access to services behind NAT or firewall. It consists of a master server (publicly accessible) and a slaver client (running in the private network). The master listens for slaver connections and client connections, using available slavers to forward client traffic to target services. The architecture uses non-blocking I/O with a socket bridge for efficient data transfer, and a custom control protocol for handshakes and heartbeats. Key components include master.py (main server), slaver.py (client), and common_func.py (shared utilities like SocketBridge and CtrlPkg). The code relies solely on Python's standard library, supporting versions 2.7 and 3.4+. Despite a recent timestamp in metadata, the codebase shows signs of stagnation (e.g., outdated Python version support, lack of recent activity beyond initial development).
The LLM identified 1 files worth highlighting for reuse:
The SocketBridge class provides a reusable, efficient component for bidirectional data transfer between two sockets using non-blocking I/O (via selectors or select). It manages connection pairs, buffers data to prevent overflow, and handles half-closed connections properly. This component can be extracted and used in any project requiring socket-to-socket data forwarding with minimal modification, demonstrating solid network programming skills.