How creazyboyone/fastgithub works
FastGithub is a local GitHub-acceleration proxy, not a VPN. Users direct HTTP/HTTPS traffic to its local proxy; proxy handlers apply domain-specific behavior and resolve destinations before forwarding. Its documented capabilities also include clean DNS answers, IP speed testing, custom TLS settings, and Google CDN resource replacement. The graph preserves DNS interception, TCP proxying, certificate management, and the desktop launcher. Some runtime wiring and several feature implementations were not excerpted, so uncertain relationships are omitted.
Main entry points: HttpClientHandler.cs HTTP transport · FastGithubConfig.cs Config matcher · IDomainResolver.cs Domain resolver · CertService.cs Certificate service
Components 22
Runtime and UI
- Desktop launcher
FastGithub.UI/Program.cs - Application host
FastGithub/AppHostedService.cs
Configuration
- Runtime options
FastGithub.Configuration/FastGithubOptions.cs - Domain rules
FastGithub.Configuration/DomainConfig.cs - Config matcher
FastGithub.Configuration/FastGithubConfig.cs
Domain resolution
- DNS lookup and speed
FastGithub.DomainResolve/DnsClient.cs - Domain resolver
FastGithub.DomainResolve/IDomainResolver.cs - Resolver service
FastGithub.DomainResolve/DomainResolveHostedService.cs
Proxy handling
- Forwarding client
FastGithub.Http/HttpClient.cs - HTTP transport
FastGithub.Http/HttpClientHandler.cs - Client factory
FastGithub.Http/HttpClientFactory.cs - HTTP reverse proxy
FastGithub.HttpServer/HttpMiddlewares/HttpReverseProxyMiddleware.cs - TCP reverse proxy
FastGithub.HttpServer/TcpMiddlewares/TcpReverseProxyHandler.cs
Certificates
- Certificate service
FastGithub.HttpServer/Certs/CertService.cs - Certificate generator
FastGithub.HttpServer/Certs/CertGenerator.cs - CA installers
FastGithub.HttpServer/Certs/ICaCertInstaller.cs
Packet interception
- DNS interceptor
FastGithub.PacketIntercept/Dns/DnsInterceptor.cs - DNS intercept service
FastGithub.PacketIntercept/DnsInterceptHostedService.cs - DNS conflict solvers
FastGithub.PacketIntercept/IDnsConflictSolver.cs - TCP intercept service
FastGithub.PacketIntercept/TcpInterceptHostedService.cs - TCP interceptors
FastGithub.PacketIntercept/ITcpInterceptor.cs
Other components
- Proxy user
Connections 18
- Proxy user → HTTP reverse proxy: sends proxy traffic
- Desktop launcher → Application host: starts process
FastGithub.UI/Program.cs - Application host → Runtime options: reads options
FastGithub/AppHostedService.cs - Runtime options → Config matcher: configures
FastGithub.Configuration/FastGithubConfig.cs - Config matcher → Domain rules: matches domains
FastGithub.Configuration/FastGithubConfig.cs - HTTP reverse proxy → Client factory: requests client
FastGithub.HttpServer/HttpMiddlewares/HttpReverseProxyMiddleware.cs - Client factory → Forwarding client: creates client
FastGithub.Http/HttpClientFactory.cs - Forwarding client → HTTP transport: sends request
FastGithub.Http/HttpClient.cs - HTTP transport → Domain resolver: resolves endpoint
FastGithub.Http/HttpClientHandler.cs - HTTP transport → Domain rules: applies TLS rules
FastGithub.Http/HttpClientHandler.cs - TCP reverse proxy → Domain resolver: resolves endpoint
FastGithub.HttpServer/TcpMiddlewares/TcpReverseProxyHandler.cs - Domain resolver → DNS lookup and speed: resolves and tests
- DNS interceptor → Config matcher: uses configuration
FastGithub.PacketIntercept/Dns/DnsInterceptor.cs - DNS intercept service → DNS interceptor: runs interception
FastGithub.PacketIntercept/DnsInterceptHostedService.cs - DNS intercept service → DNS conflict solvers: solves conflicts
FastGithub.PacketIntercept/DnsInterceptHostedService.cs - TCP intercept service → TCP interceptors: runs interceptors
FastGithub.PacketIntercept/TcpInterceptHostedService.cs - Certificate service → Certificate generator: creates certificates
FastGithub.HttpServer/Certs/CertService.cs - Certificate service → CA installers: installs CA
FastGithub.HttpServer/Certs/CertService.cs