Available at: https://digitalcommons.calpoly.edu/theses/3007
Date of Award
4-2025
Degree Name
MS in Computer Science
Department/Program
Computer Science
College
College of Engineering
Advisor
Joydeep Mukherjee
Advisor Department
Computer Science
Advisor College
College of Engineering
Abstract
Advances in networking technologies have empowered individuals to easily self-host digital services such as websites and smart home systems. However, accessing these services externally often requires port forwarding, which requires manual router configuration, technical expertise in networking, and is sometimes restricted by internet service providers. Proxy-based services such as Ngrok and Cloudflare Tunnels simplify external access by using publicly hosted proxy servers, but introduce increased infrastructure costs and privacy concerns due to reliance on third-party servers that can inspect or store traffic.
This thesis presents PeerProxy, a novel framework that simplifies access to self-hosted web services without manual network configuration, privacy risks, or increased infrastructure costs. PeerProxy is built on WebRTC, a set of protocols built into modern web browsers to form end-to-end encrypted peer-to-peer and proxied connections. This solution includes a custom local proxy server, a specialized browser client that loads web applications over WebRTC in unmodified browsers, and a lightweight signaling server for connection management. Additionally, this work introduces a custom packet protocol for efficiently transmitting HTTP messages over WebRTC data channels.
Performance evaluations show that while PeerProxy’s download throughput (2.6 MB/s) is lower than traditional proxies (14.08 MB/s) due to WebRTC limitations, it maintains comparable latency for requests up to 1KB. Future proposed WebRTC improvements, such as RTCQuicTransport, could enhance its performance. Additionally, resource utilization tests confirmed that PeerProxy's browser client adds minimal overhead.
This research contributes a working prototype of PeerProxy, a thorough evaluation of HTTP proxying performance over WebRTC, and insights into the current limitations of high-throughput applications using modern browsers' implementations of WebRTC. It lays a foundation for further advancements in secure and decentralized web service hosting that empower users with secure, private, and efficient external access to self-hosted services.