<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Electron on 魔都水滴</title>
    <link>https://blog.margrop.net/tag/electron/</link>
    <description>Recent content in Electron on 魔都水滴</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
    <lastBuildDate>Wed, 25 Mar 2026 10:00:00 +0800</lastBuildDate>
    <atom:link href="https://blog.margrop.net/tag/electron/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>给 macOS 上的 Antigravity 和 Claude 增加 Proxy：用 Wrapper App 安全接管 Electron 出网</title>
      <link>https://blog.margrop.net/post/macos-electron-app-proxy-wrapper-for-antigravity-and-claude/</link>
      <pubDate>Wed, 25 Mar 2026 10:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/macos-electron-app-proxy-wrapper-for-antigravity-and-claude/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;写在前面&lt;/strong&gt;&#xA;这篇文章记录一种我已经在本机验证过的办法：&lt;strong&gt;不要直接修改原始应用包，也不要把真实代理地址写死到公开文章里，而是给 Electron 应用外面再包一层极小的 wrapper app&lt;/strong&gt;。这样既能给 Antigravity、Claude 这类 macOS 桌面应用注入代理，又不会轻易破坏原始签名、升级链路和回滚路径。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;很多人第一次遇到这个问题时，第一反应都是去改 &lt;code&gt;/Applications/Claude.app&lt;/code&gt; 或 &lt;code&gt;/Applications/Antigravity.app&lt;/code&gt; 里面的内容。短期看似乎可行，但长期通常会带来三个问题：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;应用签名可能失效，后续启动、权限申请和升级都更脆弱。&lt;/li&gt;&#xA;&lt;li&gt;一旦原应用自动更新，你手工改过的内容很容易被覆盖。&lt;/li&gt;&#xA;&lt;li&gt;真实代理地址、内网 IP、鉴权信息如果直接写进应用包或公开文档，后果通常比“配置没生效”更严重。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;我最后采用的是一个更稳的方案：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;保留原始 &lt;code&gt;Claude.app&lt;/code&gt; 和 &lt;code&gt;Antigravity.app&lt;/code&gt; 不动。&lt;/li&gt;&#xA;&lt;li&gt;在 &lt;code&gt;~/Applications&lt;/code&gt; 下创建 &lt;code&gt;Claude (Proxy).app&lt;/code&gt; 和 &lt;code&gt;Antigravity (Proxy).app&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;wrapper app 只做三件事：加载本地 &lt;code&gt;proxy.env&lt;/code&gt;、导出大小写代理环境变量、用 &lt;code&gt;--proxy-server&lt;/code&gt; 启动原始 Electron 应用。&lt;/li&gt;&#xA;&lt;li&gt;如果应用内部还用了 Node/undici 的 &lt;code&gt;fetch&lt;/code&gt;，再通过 &lt;code&gt;NODE_OPTIONS=--require=...&lt;/code&gt; 注入一个极小的 bootstrap，把代理继续传到 Node 侧请求链路。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;本文中的所有代理地址都用占位符表示，例如：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://127.0.0.1:PORT&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;请把它替换成你自己的本地代理入口，&lt;strong&gt;不要把真实代理地址、内网 IP、用户名、密码、Token 或公司域名发布到公开文章、仓库或截图里&lt;/strong&gt;。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
