{#if serviceConf.frontends[selectedFrontend].instanceList && redirects && blacklist}
{ pinging = true pingCache = {} for (const instance of allInstances) { pingCache[instance] = { color: "lightblue", value: "pinging..." } const time = await utils.ping(instance) pingCache[instance] = colorTime(time) } pinging = false }} disabled={pinging} >
{browser.i18n.getMessage("pingInstances") || "Ping Instances"}
{ autoPicking = true const clearnet = redirects[selectedFrontend]["clearnet"] for (const instance of _options[selectedFrontend]) { const i = clearnet.indexOf(instance) if (i >= 0) clearnet.splice(i, 1) } const instance = await utils.autoPickInstance(clearnet) _options[selectedFrontend].push(instance) options.set(_options) autoPicking = false }} disabled={autoPicking} >
{browser.i18n.getMessage("autoPickInstance") || "Auto Pick Instance"}
{browser.i18n.getMessage("addYourFavoriteInstances") || "Add your favorite instances"}
e.key === "Enter" && addInstance()} />
{#each _options[selectedFrontend] as instance}
{instance}
{#if isCustomInstance(instance)}
custom
{/if} {#if pingCache && pingCache[instance]}
{pingCache[instance].value}
{/if}
{ const index = _options[selectedFrontend].indexOf(instance) if (index > -1) { _options[selectedFrontend].splice(index, 1) options.set(_options) } }} >
{/each} {#if redirects !== "disabled" && blacklist !== "disabled"} {#if redirects[selectedFrontend] && redirects[selectedFrontend]["clearnet"]} {#each Object.entries(_config.networks) as [networkName, network]} {#if redirects[selectedFrontend] && redirects[selectedFrontend][networkName] && redirects[selectedFrontend][networkName].length > 0}
{network.name}
{#each redirects[selectedFrontend][networkName] as instance}
{instance}
{#if blacklist.cloudflare.includes(instance)}
cloudflare
{/if} {#if _options[selectedFrontend].includes(instance)}
chosen
{/if} {#if pingCache && pingCache[instance]}
{pingCache[instance].value}
{/if}
{#if !_options[selectedFrontend].includes(instance)}
{ if (_options[selectedFrontend]) { _options[selectedFrontend].push(instance) options.set(_options) } }} >
{:else}
{ const index = _options[selectedFrontend].indexOf(instance) if (index > -1) { _options[selectedFrontend].splice(index, 1) options.set(_options) } }} >
{/if}
{/each} {/if} {/each} {:else}
No instances found.
{/if} {/if}
{/if}