A Python port of the Invisible Internet Project (I2P)
1"""I2P tunnel applications — HTTP proxy, SOCKS proxy, server tunnels.
2
3Provides client-side proxies (HTTP, SOCKS5) that route traffic through I2P,
4and server tunnels that expose local services as I2P destinations.
5
6Ported from net.i2p.i2ptunnel.
7"""
8
9from i2p_apps.i2ptunnel.http_proxy import HTTPProxy, HTTPRequest, parse_http_request, extract_i2p_destination
10from i2p_apps.i2ptunnel.socks_proxy import SOCKSProxy, parse_socks_greeting, parse_socks_request, build_socks_reply
11from i2p_apps.i2ptunnel.server_tunnel import ServerTunnel
12from i2p_apps.i2ptunnel.tunnel_manager import I2PTunnelManager
13from i2p_apps.i2ptunnel.config import TunnelConfigParser, TunnelDefinition, TunnelType
14from i2p_apps.i2ptunnel.controller import TunnelController, TunnelState
15from i2p_apps.i2ptunnel.group import TunnelControllerGroup
16from i2p_apps.i2ptunnel.forwarder import forward, bridge
17from i2p_apps.i2ptunnel.client_task import GenericClientTask
18from i2p_apps.i2ptunnel.server_task import GenericServerTask
19from i2p_apps.i2ptunnel.http_client import HTTPClientTask
20from i2p_apps.i2ptunnel.connect_client import ConnectClientTask
21from i2p_apps.i2ptunnel.http_server import HTTPServerTask
22from i2p_apps.i2ptunnel.socks_task import SOCKSClientTask
23from i2p_apps.i2ptunnel.throttler import ConnThrottler
24from i2p_apps.i2ptunnel.irc_filter import filter_inbound, filter_outbound
25from i2p_apps.i2ptunnel.irc_client import IRCClientTask
26from i2p_apps.i2ptunnel.irc_server import IRCServerTask
27from i2p_apps.i2ptunnel.access_filter import AccessFilter
28from i2p_apps.i2ptunnel.http_bidir import HTTPBidirServerTask
29from i2p_apps.i2ptunnel.dcc import DCCHelper, DCCTransfer
30from i2p_apps.i2ptunnel.udp_tunnel import StreamrClientTask, StreamrServerTask, Subscriber
31from i2p_apps.i2ptunnel.ping import PingResult, i2p_ping, i2p_ping_multi
32from i2p_apps.i2ptunnel.local_http_server import LocalHTTPHandler
33
34__all__ = [
35 "HTTPProxy",
36 "HTTPRequest",
37 "parse_http_request",
38 "extract_i2p_destination",
39 "SOCKSProxy",
40 "parse_socks_greeting",
41 "parse_socks_request",
42 "build_socks_reply",
43 "ServerTunnel",
44 "I2PTunnelManager",
45 "TunnelConfigParser",
46 "TunnelDefinition",
47 "TunnelType",
48 "TunnelController",
49 "TunnelState",
50 "TunnelControllerGroup",
51 "forward",
52 "bridge",
53 "GenericClientTask",
54 "GenericServerTask",
55 "HTTPClientTask",
56 "ConnectClientTask",
57 "HTTPServerTask",
58 "SOCKSClientTask",
59 "ConnThrottler",
60 "filter_inbound",
61 "filter_outbound",
62 "IRCClientTask",
63 "IRCServerTask",
64 "AccessFilter",
65 "HTTPBidirServerTask",
66 "DCCHelper",
67 "DCCTransfer",
68 "StreamrClientTask",
69 "StreamrServerTask",
70 "Subscriber",
71 "PingResult",
72 "i2p_ping",
73 "i2p_ping_multi",
74 "LocalHTTPHandler",
75]