"""Generic TCP server tunnel — accepts I2P connections, forwards to local service. Ported from net.i2p.i2ptunnel.I2PTunnelServer. """ from __future__ import annotations import logging from i2p_apps.i2ptunnel.tasks import ServerTunnelTask logger = logging.getLogger(__name__) class GenericServerTask(ServerTunnelTask): """Generic TCP server tunnel. Accepts incoming I2P connections via SAM STREAM ACCEPT and forwards each to the configured local target_host:target_port. The base class (ServerTunnelTask) already implements the full accept-loop and bridge pattern. This concrete class exists for type dispatch in the controller. """ pass