diff --git a/src/excmds.ts b/src/excmds.ts index 90abf425..682a50ac 100644 --- a/src/excmds.ts +++ b/src/excmds.ts @@ -4701,7 +4701,7 @@ export function autocmd(event: string, url: string, ...excmd: string[]) { * Pass an optional space-separated list of proxy names to assign a proxy (followed by failover proxies) to a URL and open in a specified container. * For example: `autocontain [-{u,s}] pattern container proxy1 proxy2` * - * To assign a proxy and open in no container, use "firefox-default" or "none" as a container name. + * To assign a proxy and open in no container, use "firefox-default" or "none" as a container name. To override [[proxy]] and use no proxy, use the special proxy 'none' e.g. `autocontain -s whatismyipaddress\.com none none` * See also: * - [[proxyadd]] * - [[proxyremove]] diff --git a/src/lib/proxy.ts b/src/lib/proxy.ts index 961f282f..3e808546 100644 --- a/src/lib/proxy.ts +++ b/src/lib/proxy.ts @@ -98,7 +98,7 @@ export const proxyFromUrl = (proxyUrl: string): ProxyInfo => { export function exists(names: string[]) { const currProxies = Object.keys(config.get("proxies")) - const missingProxies = names.filter(name => !currProxies.includes(name)) + const missingProxies = names.filter(name => !currProxies.includes(name) && name !== "none") if (missingProxies.length) { throw new Error( `${ @@ -121,6 +121,9 @@ const getProxies = (): { [key: string]: ProxyInfo } => { const getProxiesForUrl = async (url: string): Promise => { const aucon = new AutoContain() const [, containerProxies] = await aucon.getAuconAndProxiesForUrl(url) + if (containerProxies[0] === "none") { + return [] + } const proxies = getProxies() const filteredProxies = Object.entries(proxies) .filter(([name, ]) => containerProxies.includes(name))