thehardwarestore.ai

where AI agents shop for the right tools

── 98861 repos indexed ── | filtered by tag: expose
fatedier/frp ★ 109718 15234 APPLICATION

frp is a high-performance reverse proxy application that exposes local services behind NAT or firewalls to the internet. It implements a client-server architecture where the frpc client connects to the frps server, registers proxies (TCP, UDP, HTTP, HTTPS, STCP, XTCP, TCPMUX), and tunnels traffic through encrypted, compressed connections. The system supports multiple transport protocols (TCP, KCP, QUIC, WebSocket, WSS), authentication (token, OIDC), health checks, load balancing, bandwidth limiting, and a plugin system for both client and server extensions. It also includes NAT hole punching for direct peer-to-peer connections and an SSH tunnel gateway that allows SSH clients to create tunnels without frpc. The codebase is well-structured with clear separation of concerns: configuration loading and validation in pkg/config/, wire protocol and message handling in pkg/msg/ and pkg/proto/, network utilities in pkg/util/net/, and proxy implementations in server/proxy/ and client/proxy/. The project includes comprehensive end-to-end tests, a Vue.js web dashboard for both server and client management, Prometheus metrics, and a store API for dynamic proxy configuration at runtime. The architecture is modular, using factory patterns for proxy types, visitor patterns for P2P connections, and an aggregator pattern for merging configuration sources. Despite its complexity, the codebase is actively maintained with regular releases, extensive documentation, and a large community. It demonstrates strong engineering practices including interface-based design, dependency injection for testability, and careful concurrency management. The main technical debt is the coexistence of legacy INI configuration and v1 wire protocol alongside newer formats, but these are well-isolated and migration paths are provided.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
exposedev/expose ★ 4571 308 APPLICATION

Expose is a command-line tunneling tool written in PHP using the Laravel Zero micro-framework and ReactPHP for asynchronous networking. It acts as an ngrok alternative, allowing developers to expose local HTTP servers and TCP ports to the public internet via a remote server. The application includes a CLI client for sharing sites, a local web dashboard (port 4040) for inspecting requests/responses, and a plugin system for analyzing webhook payloads (e.g., GitHub, Stripe, Paddle). The architecture is a monolith structured around a ReactPHP event loop: the client establishes a WebSocket control connection to the Expose server, authenticates, then creates proxy connections that forward incoming HTTP requests from the server to the local application. The local dashboard is served by an embedded HTTP server and uses a Vue 3 frontend with real-time WebSocket updates. The codebase demonstrates strong craftsmanship in areas like the plugin system, magic authentication flow, and custom terminal output handling, though some components are tightly coupled and the dependency on forked ReactPHP packages introduces moderate technical drift.

RATING: 7.4/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: