feat: add --external-proxy-bypass for routing domains direct - #309
Conversation
Add a bypass mechanism so that specific domains skip the enterprise proxy and connect directly. Supports exact hostnames and `*.` wildcard suffixes (case-insensitive), configurable via CLI flag, environment variable (`NONO_EXTERNAL_PROXY_BYPASS`), or profile JSON. The bypass matcher is built once at startup in ProxyState and checked per-CONNECT before routing. Bypassed connections enforce strict session token validation and go through the standard host filter, preserving the same security guarantees as external-proxy mode. Signed-off-by: Luke Hinds <lukehinds@gmail.com>
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces the ability to bypass an external proxy for specific domains in the nono application. This enhancement allows certain traffic to be routed directly, improving performance and compatibility for internal or specific services. The changes include updates to CLI arguments, profile configurations, and proxy handling logic to accommodate the new bypass functionality. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a new feature allowing users to specify bypass hosts for the external proxy. This includes adding external_proxy_bypass fields to various configuration structs (NetworkConfig, ExternalProxyConfig, SandboxArgs, ExecutionFlags, PreparedSandbox), updating CLI argument parsing and environment variable handling, and implementing a BypassMatcher in the proxy server to determine if a host should bypass the external proxy. The changes also include validation logic to ensure bypass hosts are only specified when an external proxy is configured, and updates to documentation and tests to reflect the new functionality.
Add a bypass mechanism so that specific domains skip the enterprise proxy and connect directly. Supports exact hostnames and `*.` wildcard suffixes (case-insensitive), configurable via CLI flag, environment variable (`NONO_EXTERNAL_PROXY_BYPASS`), or profile JSON. The bypass matcher is built once at startup in ProxyState and checked per-CONNECT before routing. Bypassed connections enforce strict session token validation and go through the standard host filter, preserving the same security guarantees as external-proxy mode. Signed-off-by: Luke Hinds <lukehinds@gmail.com>
Add a bypass mechanism so that specific domains skip the enterprise proxy and connect directly. Supports exact hostnames and
*.wildcard suffixes (case-insensitive), configurable via CLI flag, environment variable (NONO_EXTERNAL_PROXY_BYPASS), or profile JSON.The bypass matcher is built once at startup in ProxyState and checked per-CONNECT before routing. Bypassed connections enforce strict session token validation and go through the standard host filter, preserving the same security guarantees as external-proxy mode.