SmartProxy: pattern-based proxy switching in Firefox and Chrome
Firefox/Chrome browser extension. SmartProxy will automatically enable/disable proxy for the sites you visit, based on customizable patterns.
At a glance
- What is it?
- SmartProxy is a WebExtensions add-on that turns a proxy on for the sites you list and off everywhere else. It is a client-side rule engine, not a proxy service, and the two get confused constantly.
- Who is it for?
- Adopt SmartProxy if you already pay for a proxy endpoint and want per-site routing decided in the browser rather than in system settings. Do not adopt it if you have no proxy server yet, or if you need a service that supplies residential IPs, because this project supplies none.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 13 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The problem SmartProxy solves, and the one it does not
A system-wide proxy setting is all or nothing. Either every request goes through your tunnel, including your bank and your local intranet, or none does. SmartProxy moves that decision into the browser and makes it pattern-based: you add a site to a rules list, and when you visit it the extension enables the proxy for that site's traffic. Everything else stays direct. The README describes the intent plainly, saying you no longer need to change your proxy manually and turn it on and off.
The audience is narrow and specific. It suits someone who already has a proxy endpoint (a SOCKS5 or HTTP server, a self-hosted tunnel, a paid plan they configured themselves) and wants only some sites routed through it. It also suits people migrating from AutoProxy or AutoProxy-ng, which the README calls legacy and which SmartProxy was written to replace on the modern extension platform.
What it does not do is sell you proxies. The name collides with a commercial proxy vendor, and that is the source of most of the confusion around this repository. SmartProxy here is a client-side switcher. It has no residential pool, no dashboard, no login, no subscription. If you arrive looking for an IP pool, you are in the wrong repository.
How the rule engine and proxy modes fit together
The extension is a WebExtensions/Chrome Extensions package written in TypeScript. Rules are stored as patterns, and the extension matches the sites you visit against them. When a match occurs it enables the configured proxy for that site's requests; when no rule matches, traffic goes out normally. The README lists the surrounding capabilities: switching between multiple proxy servers as the active one, adding the current site to the proxy list in one click, and inspecting the current site's requests to decide per item whether to proxify.
There is also a proxy mode control, which the README describes as switching between proxy modes and enabling the proxy for all domains. So the model has two layers: a global mode that decides the default posture, and per-site patterns that override it. That layering is what makes the tool usable. You can run in a mode where nothing is proxied and add exceptions, or flip to proxying everything and carve out the sites you want direct.
Proxy API support arrives through subscriptions, which means a remote list can feed your rules rather than you maintaining them by hand. The README also documents backup and restore for settings and rules. That matters more than it sounds: a hand-built rule list is the actual asset here, and it is the thing you would lose if the extension were removed.
The design has a cost. Pattern matching happens in the browser on request paths, and the README does not document the matching precedence when several patterns overlap, nor how a subscription update interacts with locally edited rules. For a small rule set this is invisible. For a large one assembled from several subscriptions, you are relying on behaviour the documentation does not spell out.
Installing SmartProxy and adding your first rule
Most users should install from a store rather than build. The README links three: the Firefox add-on page for desktop and Android, the Chrome Web Store, and the Edge add-on listing. Installing from a store means updates arrive without you doing anything.
If you want to run the source, the README gives Node.js as the requirement and these two commands. The second watches the source and rebuilds on change, which is what you want during development.
Loading the build into Firefox or Chrome
For a one-off Firefox build the README uses the non-watch command, then loads it as a temporary add-on. In Firefox, the README points to the extension workshop instructions and gives this sequence: build the project, open the browser, go to about:debugging, click Load Temporary Add-on, then select any file inside the extension's build directory. A temporary add-on disappears when the browser closes, so this path is for testing, not daily use.
Loading the unpacked extension in Chrome
For Chrome the README uses the unpacked-extension route. Build first, then open the extensions page, enable Developer mode, and load the build directory.
Where SmartProxy breaks down
The biggest limitation is that the extension is only as good as the proxy behind it. Point it at a dead server and every matched site fails while unmatched sites keep working, which makes the failure look like a site problem rather than a configuration problem. The README does not document a fallback path for a matched site when the proxy is unreachable.
The second limitation is scope. This is a browser extension, so it governs browser traffic. Other applications on the machine do not see these rules at all. If your goal is to route a desktop client or a command-line tool, SmartProxy is the wrong tool and a system-level or container-level proxy configuration is the right one.
The third is the mobile story. The README lists the Firefox add-on for desktop and Android, but nothing in the documentation describes an equivalent for Chrome on Android, where extensions are not generally available. Anyone planning to rely on this on a phone should confirm the platform support on the store listing before committing.
Finally, there is the geolocation dependency. The README states that SmartProxy uses IP2Location LITE for IP geolocation and that the database is not included in the repository because of licensing requirements. A source build therefore does not ship with that data, and the README does not explain what degrades without it.
Alternatives and how their approach differs
The direct ancestor is AutoProxy and AutoProxy-ng, which the README calls legacy and which SmartProxy was written to replace using WebExtensions. If you are still on AutoProxy, the difference is the extension platform itself: the old add-ons predate the WebExtensions model that current Firefox builds require.
A different approach is a browser profile dedicated to proxied browsing, or a proxy configured at the operating system or container level. Those route everything in their scope with no per-site logic, which is simpler to reason about and harder to get wrong, but you lose the one-click exception and the per-request inspection that SmartProxy provides. The trade is control granularity against configuration surface.
Commercial proxy services occupy another category entirely. They sell the endpoints; SmartProxy consumes one. Choosing between them is not a comparison, because a service without a switcher still works and a switcher without a server does nothing. If you have no endpoint yet, solve that first.
Maintenance, licence and the cost of upgrading
The repository is not archived and the last push was on 2026-09-18, with releases at v2.4.2 on 2026-09-16, v2.3 on 2026-08-21 and v2.2 on 2026-05-19. That is a steady cadence rather than a burst, and the release notes are the place to check before upgrading.
The licence is GPL-3.0. For anyone installing from a store this is mostly a formality. It matters if you fork the code or redistribute a modified build, because the licence carries obligations that a permissive licence would not. That is a description of the licence, not legal advice; read the LICENSE file if you plan to ship a derivative.
Upgrade cost is concentrated in the rule list. Settings and rules can be backed up and restored according to the README, so the practical step before any major version jump is to export them. The build side is heavier: package.json shows a webpack and TypeScript toolchain with separate build targets for Firefox, Chrome, Edge and Opera, and the README notes that the IP2Location database is not in the repository. A source build is a real toolchain task, not a single command.
Editorial conclusion
Adopt SmartProxy if you already pay for a proxy endpoint and want per-site routing decided in the browser rather than in system settings. Do not adopt it if you have no proxy server yet, or if you need a service that supplies residential IPs, because this project supplies none. Before installing, check the current version and permissions on the add-on listing for your browser, and confirm that your proxy exposes a host, port and protocol the extension can point at.
Frequently asked questions
What does SmartProxy do?
It automatically enables or disables the proxy for the sites you visit, based on customizable patterns, so you do not have to toggle a proxy on and off by hand. It is a browser extension for Firefox, Chrome and Edge.
How do I use the SmartProxy extension?
Install it from the Firefox, Chrome or Edge store, configure a proxy server as the active one, then add sites to the proxy rules list, either by pattern or with one click on the current site. The extension handles the switching from then on.
Is SmartProxy free?
The project is an open source extension under GPL-3.0 and the README points to free store listings. It ships no proxy servers, so any cost comes from the proxy endpoint you connect it to.
Can I use SmartProxy on Android?
The README links the Firefox add-on as covering Firefox Desktop and Android. The documentation does not describe support for Chrome on Android.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/salarcode-smartproxy)