SOCKS5 Proxy for non-HTTP connections
Right now the browser is configured to drop non-HTTP traffic and force proxied WebRTC. That's good enough, but it's not great. Firefox and Chromium allow you to configure different proxies for non-HTTP protocols. If we had a SOCKS5 proxy, then proxied WebRTC could use Datagrams instead of Streaming, reducing overhead for WebRTC applications. Voice-over-I2P in the Browser can be a thing.
Note this does not apply to HTTP or HTTPS traffic, which will still use the HTTP proxy.
Prototype config:
description=A client tunnel for SOCKS5
interface=127.0.0.1
tunnel.8.listenPort=4446
tunnel.8.name=SOCKS5 Client
tunnel.8.option.i2cp.closeIdleTime=600000
tunnel.8.option.i2cp.closeOnIdle=true
tunnel.8.option.i2cp.delayOpen=false
tunnel.8.option.i2cp.destination.sigType=7
tunnel.8.option.i2cp.leaseSetEncType=4,0
tunnel.8.options.i2cp.newDestOnResume=true
tunnel.8.options.i2cp.reduceIdleTime=1200000
tunnel.8.options.i2cp.reduceOnIdle=false
tunnel.8.options.i2cp.reduceQuantity=1
tunnel.8.options.i2p.streaming.connectDelay=0
tunnel.8.options.i2ptunnel.httpclient.allowInternalSSL=true
tunnel.8.options.i2ptunnel.httpclient.sendAccept=false
tunnel.8.options.i2ptunnel.httpclient.sendReferer=false
tunnel.8.options.i2ptunnel.httpclient.sendUserAgent=false
tunnel.8.options.i2ptunnel.useLocalOutproxy=false
tunnel.8.options.inbound.backupQuantity=2
tunnel.8.options.inbound.length=3
tunnel.8.options.inbound.lengthVariance=0
tunnel.8.options.inbound.nickname=shared clients
tunnel.8.options.inbound.quantity=4
tunnel.8.options.outbound.backupQuantity=2
tunnel.8.options.outbound.length=3
tunnel.8.options.outbound.lengthVariance=0
tunnel.8.options.outbound.nickname=shared clients
tunnel.8.options.outbound.quantity=4
tunnel.8.options.outproxyAuth=false
tunnel.8.options.persistentClientKey=false
tunnel.8.options.sslManuallySet=false
tunnel.8.options.useSSL=false
tunnel.8.proxyList=outproxy.acetone.i2p
tunnel.8.sharedClient=false
tunnel.8.startOnLoad=true
tunnel.8.type=sockstunnel
see also #12 which will require a more advanced version of this.