luna

Every requestgoes throughyour proxy

Luna forces all browser traffic through an HTTP, HTTPS or SOCKS5 proxy. When the proxy is unreachable, requests fail instead of quietly finding another way out.

Needs Firefox 140 or Chrome 108. No account, and nothing is sent anywhere but the proxy you name.

Watch it fail closed

Anything can route your traffic while it is working. The only question worth asking is what happens the moment it stops.

onlineall traffic via https://proxy.example.com:443

Scroll to kill the proxy. Watch what happens to the requests that were relying on it.

two layers, on firefox

A per-request filter decides the proxy for every request it is shown, carries SOCKS5 credentials, and never answers “direct”. Underneath it, Firefox’s own proxy preference is set to the same proxy — catching browser-internal traffic, requests issued before the extension loaded, and anything the filter never sees. Neither layer is trusted to be the only one that is correct.

every write is verified

Setting a browser’s proxy succeeds even when a higher-precedence extension owns it and your value never takes effect. So Luna reads the setting back and checks who controls it. If it is not in control, it says not enforcing rather than claiming everything is fine.

11 states. One of them means your traffic is going where you think it is.

ways it can break
online

A request just completed, and it went through the proxy you configured.

disabled

You switched Luna off. It has released the browser's proxy setting, so traffic goes wherever the browser would send it without Luna.

unconfirmed

A request succeeded, but Luna's own filter never saw it — so it will not vouch for where it went.

firefox only

unverified

Settings applied, but this check could not authenticate to the proxy, so a failure would prove nothing.

unreachable

The proxy did not answer. Every request is being dropped rather than sent direct.

blackholed

No proxy is configured, so traffic is being dropped by design. This is the state on a fresh install.

leaking

Something reached the network without the proxy. This is the failure Luna exists to catch.

not enforcing

Another extension or a policy has taken the browser's proxy setting. Luna can see this, but cannot win it back.

apply failed

The browser rejected the settings, so the previous proxy is still in force.

auth failed

The proxy rejected the username and password you gave it.

blocked

A proxy other than yours asked for your credentials. They were withheld, so a hijacked setting cannot harvest your password.

Point it at your proxy

firefox 140 and later

Install for Firefox

The package is signed by Mozilla and served from this host. Firefox will ask you to confirm the install, then Luna updates itself from here.

chrome 108 and later

Set up on Chrome

There is no download button here, because Chrome will not install an extension it did not sign and no button can change that. Load unpacked works on your own machine; enterprise policy works for a fleet. Both are written out on that page.