Skip to content

Where people and agents ship software together. The open-source git platform for the whole job: issues, agents, checks and deploys to the edge.

g1t.sh

Commit

Every sandbox whose traffic is intercepted trusts the egress certificate: once a sandbox has any outbound handler, Cloudflare passes all its traffic through the runner Worker and re-signs HTTPS, so an open sandbox with only the abuse-report host intercepted got SELF_SIGNED_CERT_IN_CHAIN on every HTTPS request after the network guardrails were removed (before, g1t's own sandboxes were restricted, and restricted ones were given the certificate).

syntaqxcommitted Parent024da7fBrowse files
1 file+7−30/1 viewed
+7−3
381381 );
382382 }
383383 const harness = guard && !build ? harnessEnv(guard, vars) : {};
384− // Its HTTPS is re-signed as it passes the Worker, so it trusts that
385− // certificate.
386− const trust = brokering ? EGRESS_ENV : {};
384+ // Once any of its traffic is intercepted, Cloudflare passes all of it
385+ // through this Worker, and HTTPS is re-signed on the way
386+ // (`interceptHttps`); so a sandbox with either handler trusts that
387+ // certificate, or every HTTPS request it makes fails
388+ // (SELF_SIGNED_CERT_IN_CHAIN, as on 2026-10-13).
389+ const intercepted = brokering || this.env.EGRESS?.trim().toLowerCase() !== "off";
390+ const trust = intercepted ? EGRESS_ENV : {};
387391 const watch: Record<string, string> = this.env.ABUSE_WATCH === "off" ? { G1T_ABUSE: "off" } : {};
388392 await this.start({ envVars: { ...vars, ...harness, ...trust, ...watch }, enableInternet: true });
389393 // A backup has no guardrails, but still a time cap.