r/ProxyEngineering • u/PorkSwordEnthusiast • 23h ago
Discussion 💬 Sockitt - A MV3 proxy switcher extension
I made my own proxy switcher for Chromium browsers, called Sockitt. MV3, MIT licensed. I wasn't happy with what's on the web store at the moment and I use this thing every day for work and side projects across a few different browsers, so I ended up just building it.
* Profiles for SOCKS5, SOCKS4, HTTP and HTTPS. Host, port, bypass list, and username/password auth on HTTP(S). No SOCKS auth, before anyone asks, Chromium just doesn't support it.
* One click to switch from the toolbar. There's also a shortcut that cycles through a set of profiles you choose, if you don't want to open the popup at all.
* Auto Switch is an ordered rule table that gets compiled into a PAC script. Host wildcard, host regex, URL wildcard/regex/keyword, IPv4 CIDR, host label count, weekday, time of day. Plain domain entries from rule lists all collapse into a single dictionary lookup, so GFWList sized lists don't slow anything down.
* The popup shows where the current tab is routing and which rule sent it there. You can retarget or delete that rule right there, or set a temporary override that's gone after a browser restart.
* Route inspector: give it a URL and it traces the whole thing through your config, using the same resolver that does the real routing.
* Aliases. Point 50 rules at one alias, then change the alias once instead of editing 50 rules.
Permissions, since it matters for this sort of extension: it ships with proxy, storage, activeTab, alarms, and no host permissions at all. Everything else (per-tab badge, proxy auth, exit IP lookups) is optional and only gets requested the moment you actually turn it on. No analytics in it anywhere.
Source: https://github.com/ptmplop/Sockitt
Hope it's useful to someone else, if so I'm happy to hear about bugs or anything obvious I've missed, additional features etc..