SYMBOL INDEX (178 symbols across 22 files) FILE: src/proxy/gen-tld/gen.js constant SRC_PATH (line 5) | const SRC_PATH = 'https://publicsuffix.org/list/effective_tld_names.dat' constant DST_PATH (line 6) | const DST_PATH = '../src/tld-data.js' function proc (line 22) | function proc(str) { FILE: src/proxy/src/cdn.js constant CDN (line 4) | const CDN = 'https://cdn.jsdelivr.net/npm/jsproxy-cache-01@0.0.' function loadDirectList (line 15) | async function loadDirectList(conf) { function loadStaticList (line 27) | async function loadStaticList(conf) { function setConf (line 55) | function setConf(conf) { function isDirectHost (line 65) | function isDirectHost(host) { function proxyDirect (line 73) | async function proxyDirect(url) { function getFileVer (line 92) | function getFileVer(urlHash) { function proxyStaticMain (line 101) | async function proxyStaticMain(urlHash, urlVer) { function proxyStatic (line 128) | async function proxyStatic(urlHash, urlVer) { FILE: src/proxy/src/client.js function init (line 21) | function init(global, origin) { FILE: src/proxy/src/cookie.js function Cookie (line 7) | function Cookie() { function copy (line 25) | function copy(dst, src) { function isSubPath (line 44) | function isSubPath(cookiePath, urlPath) { function isSubDomain (line 59) | function isSubDomain(cookieDomain, urlDomain) { function isExpire (line 69) | function isExpire(item, now) { class CookieDomainNode (line 75) | class CookieDomainNode { method constructor (line 76) | constructor() { method nextChild (line 87) | nextChild(name) { method getChild (line 96) | getChild(name) { method addCookie (line 103) | addCookie(cookie) { function getNonHttpOnlyItems (line 119) | function getNonHttpOnlyItems() { function parse (line 135) | function parse(str, urlObj, now) { function set (line 262) | function set(item) { function query (line 298) | function query(urlObj) { function setDB (line 359) | async function setDB(db) { function save (line 376) | async function save() { FILE: src/proxy/src/database.js class Database (line 4) | class Database { method constructor (line 8) | constructor(name) { method _getStore (line 19) | _getStore(table, mode) { method open (line 28) | open(opts) { method close (line 56) | close() { method get (line 64) | get(table, key) { method put (line 82) | put(table, record) { method delete (line 100) | delete(table, key) { method enum (line 118) | enum(table, callback, ...args) { FILE: src/proxy/src/env.js constant ENV_PAGE (line 1) | const ENV_PAGE = 1 constant ENV_WORKER (line 2) | const ENV_WORKER = 2 constant ENV_SW (line 3) | const ENV_SW = 3 function setEnvType (line 7) | function setEnvType(v) { function isSwEnv (line 11) | function isSwEnv() { function isWorkerEnv (line 15) | function isWorkerEnv() { function add (line 25) | function add(win, info) { function get (line 29) | function get(obj) { FILE: src/proxy/src/fakeloc.js function setup (line 9) | function setup(obj, fakeLoc) { function createFakeLoc (line 25) | function createFakeLoc(global) { FILE: src/proxy/src/hook.js constant DROP (line 8) | const DROP = {} function func (line 17) | function func(obj, key, factory) { function prop (line 47) | function prop(obj, key, g, s) { function createDomHook (line 66) | function createDomHook(win) { FILE: src/proxy/src/index.js function pageEnv (line 4) | function pageEnv(win) { function swEnv (line 41) | function swEnv() { function workerEnv (line 47) | function workerEnv(global) { function main (line 57) | function main(global) { FILE: src/proxy/src/inject.js constant WORKER_INJECT (line 8) | const WORKER_INJECT = util.strToBytes(`\ function getWorkerCode (line 16) | function getWorkerCode() { function setConf (line 21) | function setConf(conf) { constant PADDING (line 26) | const PADDING = ' '.repeat(500) constant CSP (line 28) | const CSP = `\ function getHtmlCode (line 43) | function getHtmlCode(urlObj, pageId) { FILE: src/proxy/src/jsfilter.js function parseStr (line 7) | function parseStr(code) { function parseBin (line 29) | function parseBin(buf, charset) { FILE: src/proxy/src/msg.js constant PAGE_INFO_PULL (line 1) | const PAGE_INFO_PULL = 1 constant SW_INFO_PUSH (line 2) | const SW_INFO_PUSH = 2 constant PAGE_COOKIE_PUSH (line 4) | const PAGE_COOKIE_PUSH = 3 constant SW_COOKIE_PUSH (line 5) | const SW_COOKIE_PUSH = 4 constant PAGE_INIT_BEG (line 7) | const PAGE_INIT_BEG = 5 constant PAGE_INIT_END (line 8) | const PAGE_INIT_END = 6 constant PAGE_CONF_SET (line 10) | const PAGE_CONF_SET = 110 constant PAGE_CONF_GET (line 11) | const PAGE_CONF_GET = 111 constant PAGE_RELOAD_CONF (line 12) | const PAGE_RELOAD_CONF = 112 constant SW_CONF_RETURN (line 14) | const SW_CONF_RETURN = 112 constant SW_CONF_CHANGE (line 15) | const SW_CONF_CHANGE = 113 constant PAGE_READY_CHECK (line 17) | const PAGE_READY_CHECK = 200 constant SW_READY (line 18) | const SW_READY = 201 FILE: src/proxy/src/network.js constant REFER_ORIGIN (line 10) | const REFER_ORIGIN = location.origin + '/' constant ENABLE_3RD_COOKIE (line 11) | const ENABLE_3RD_COOKIE = true function setConf (line 28) | function setConf(conf) { function setDB (line 34) | async function setDB(db) { function getUrlCache (line 43) | function getUrlCache(url) { function setUrlCache (line 54) | async function setUrlCache(url, host, info, expires) { function delUrlCache (line 62) | async function delUrlCache(url) { function getReqCookie (line 72) | function getReqCookie(targetUrlObj, clientUrlObj, req) { function parseResCache (line 92) | function parseResCache(header) { function procResCookie (line 122) | function procResCookie(cookieStrArr, urlObj, cliUrlObj) { function getResInfo (line 151) | function getResInfo(res) { constant R_UNSAFE_REQ_HDR_CHAR (line 213) | const R_UNSAFE_REQ_HDR_CHAR = function isSimpleReqHdr (line 221) | function isSimpleReqHdr(key, val) { function initReqHdr (line 245) | function initReqHdr(req, urlObj, cliUrlObj) { function updateReqHeaders (line 292) | function updateReqHeaders(reqOpt, info) { constant MAX_RETRY (line 297) | const MAX_RETRY = 5 function launch (line 304) | async function launch(req, urlObj, cliUrlObj) { FILE: src/proxy/src/page.js function initDoc (line 17) | function initDoc(win, domHook) { function init (line 85) | function init(win) { FILE: src/proxy/src/path.js constant ROOT (line 2) | const ROOT = getRootPath() constant HOME (line 3) | const HOME = ROOT + 'index.html' constant CONF (line 4) | const CONF = ROOT + 'conf.js' constant ICON (line 5) | const ICON = ROOT + 'favicon.ico' constant HELPER (line 6) | const HELPER = ROOT + '__sys__/helper.js' constant ASSETS (line 7) | const ASSETS = ROOT + '__sys__/assets/' constant PREFIX (line 8) | const PREFIX = ROOT + '-----' function getRootPath (line 11) | function getRootPath() { FILE: src/proxy/src/route.js function getHostByNodeId (line 13) | function getHostByNodeId(urlHash, id) { function isLocalhost (line 26) | function isLocalhost(host) { function genUrl (line 35) | function genUrl(host, scheme) { function getHost (line 45) | function getHost(urlHash, level) { function genWsUrl (line 66) | function genWsUrl(urlObj, args) { function setConf (line 93) | function setConf(conf) { FILE: src/proxy/src/signal.js class Signal (line 43) | class Signal { method constructor (line 44) | constructor() { method wait (line 51) | wait() { method notify (line 55) | notify(arg) { method abort (line 59) | abort(arg) { FILE: src/proxy/src/storage.js function setup (line 20) | function setup(win, name, prefix) { function createStorage (line 164) | function createStorage(global, origin) { FILE: src/proxy/src/sw.js constant CONF_UPDATE_TIMER (line 14) | const CONF_UPDATE_TIMER = 1000 * 60 * 5 constant MAX_REDIR (line 17) | const MAX_REDIR = 5 function sendMsg (line 32) | function sendMsg(target, cmd, val) { function genPageId (line 47) | function genPageId() { function pageWait (line 54) | function pageWait(pageId) { function pageNotify (line 71) | function pageNotify(id, isDone) { function makeHtmlRes (line 88) | function makeHtmlRes(body, status = 200) { function processHtml (line 103) | function processHtml(res, resOpt, urlObj) { function processJs (line 140) | function processJs(buf, charset) { function sendMsgToPages (line 152) | async function sendMsgToPages(cmd, msg, srcId) { function getUrlByClientId (line 174) | async function getUrlByClientId(id) { function parseGatewayError (line 190) | function parseGatewayError(jsonStr, status, urlObj) { function forward (line 238) | async function forward(req, urlObj, cliUrlObj, redirNum) { function proxy (line 348) | async function proxy(e, urlObj) { function initDB (line 371) | async function initDB() { function onFetch (line 390) | async function onFetch(e) { function parseUrlHandler (line 465) | function parseUrlHandler(handler) { function updateConf (line 478) | function updateConf(conf, force) { function readConf (line 502) | async function readConf() { function saveConf (line 511) | async function saveConf(conf) { function loadConf (line 519) | async function loadConf() { function initConf (line 530) | async function initConf() { FILE: src/proxy/src/tld.js function getDomainTld (line 13) | function getDomainTld(domain) { function getTld (line 34) | function getTld(domain) { function isTld (line 54) | function isTld(domain) { FILE: src/proxy/src/urlx.js constant PREFIX (line 7) | const PREFIX = path.PREFIX constant PREFIX_LEN (line 8) | const PREFIX_LEN = PREFIX.length constant ROOT_LEN (line 9) | const ROOT_LEN = path.ROOT.length function isHttpProto (line 14) | function isHttpProto(url) { function isInternalUrl (line 22) | function isInternalUrl(url) { function newUrl (line 31) | function newUrl(url, baseUrl) { function encUrlObj (line 45) | function encUrlObj(urlObj) { constant IS_SW (line 53) | const IS_SW = env.isSwEnv() constant IS_WORKER (line 54) | const IS_WORKER = env.isWorkerEnv() constant WORKER_URL (line 55) | const WORKER_URL = IS_WORKER && decUrlStrAbs(location.href) function encUrlStrRel (line 61) | function encUrlStrRel(url, relObj) { function encUrlStrAbs (line 84) | function encUrlStrAbs(url) { function decUrlObj (line 96) | function decUrlObj(urlObj) { function decUrlStrRel (line 109) | function decUrlStrRel(url, relObj) { function decUrlStrAbs (line 130) | function decUrlStrAbs(url) { function delHash (line 143) | function delHash(url) { function delScheme (line 152) | function delScheme(url) { function replaceHttpRefresh (line 161) | function replaceHttpRefresh(val, relObj) { constant DEFAULT_ALIAS (line 197) | const DEFAULT_ALIAS = { constant DEFAULT_SEARCH (line 205) | const DEFAULT_SEARCH = 'https://www.google.com/search?q=%s' function getAliasUrl (line 213) | function getAliasUrl(alias) { function padUrl (line 233) | function padUrl(part) { function adjustNav (line 267) | function adjustNav(urlStr) { FILE: src/proxy/src/util.js constant ENC (line 1) | const ENC = new TextEncoder() function strToBytes (line 6) | function strToBytes(str) { function bytesToStr (line 14) | function bytesToStr(bytes, charset = 'utf-8') { function isUtf8 (line 21) | function isUtf8(label) { constant R_IP (line 26) | const R_IP = /^(?:\d+\.){0,3}\d+$/ function isIPv4 (line 31) | function isIPv4(str) { constant JS_MIME_SET (line 36) | const JS_MIME_SET = new Set([ function isJsMime (line 47) | function isJsMime(mime) { function concatBufs (line 56) | function concatBufs(bufs) { function strHash (line 75) | function strHash(str) { function numToHex (line 88) | function numToHex(num, len) { function sleep (line 96) | async function sleep(ms) { function getTimeSeconds (line 101) | function getTimeSeconds() {