If you're willing to solve the discovery and NAT traversal problems yourself, but it's perfectly doable - AFAIU the WebRTC protocol doesn't care how you solve those problems, just that you do. See e.g. this little demo: https://github.com/lesmana/webrtc-without-signaling-server
Or if both are on un-NATted IPv6, and can get open ports through their respective firewalls.
Specifically, you need to construct an object[1] that kind of looks like an SDP[2] message and pass it into the API; the demo applications generally get this from a signalling server, but you can make it based on whatever input you want.
looks like the only useful info in the SDP are the `a=fingerprint:sha-256 ` line, and the `a=candidate:` for the actual IP. Anything else can be hard-coded in both peers.
Is there a way to further strip down the long-ass sha-256 fingerprint? A 6 digit pin should be sufficient for communications inside a LAN.
The fingerprint is part of the TLS/SSL-specific transport, and is needed for crypto purposes. If you want to communicate in the clear and roll your own security go ahead, but compared to the media you're going to be pushing down the pipe the memory and bandwidth used up for certificate info is peanuts.