SYMBOL INDEX (58 symbols across 18 files) FILE: app.py function linuxStartWeb (line 25) | def linuxStartWeb(): function main (line 58) | def main(): FILE: models/account.py class Account (line 24) | class Account: method __str__ (line 38) | def __str__(self): method save (line 52) | def save(self, file=ACCOUNT_PATH): method load (line 57) | def load(file=ACCOUNT_PATH): FILE: models/entrypoint.py class Entrypoint (line 20) | class Entrypoint: method __str__ (line 28) | def __str__(self): method __repr__ (line 36) | def __repr__(self): FILE: services/account.py function resetAccountKey (line 24) | def resetAccountKey(logger=logging.Logger(__name__)): function doUpdateLicenseKey (line 48) | def doUpdateLicenseKey(license_key: str, logger=logging.Logger(__name__)): FILE: services/cloudflare.py function genAccountFromResponse (line 47) | def genAccountFromResponse(response, referrer=None, private_key=None) ->... function register (line 74) | def register(public_key, private_key, device_model=None, referrer="", function getAccount (line 116) | def getAccount(account: Account, proxy=None) -> dict: function updateLicenseKey (line 141) | def updateLicenseKey(account: Account, license_key: str, proxy=None, log... function updatePublicKey (line 171) | def updatePublicKey(account: Account, public_key: str, proxy=None) -> dict: function getClientConfig (line 192) | def getClientConfig(proxy=None) -> dict: FILE: services/common.py function getCurrentAccount (line 24) | def getCurrentAccount(logger=logging.Logger(__name__)): FILE: services/scheduled_service.py function main (line 26) | def main(logger=None): FILE: services/subscription.py function getRandomEntryPoints (line 51) | def getRandomEntryPoints(best=False, function generateClashSubFile (line 78) | def generateClashSubFile(account: Account = None, function generateWireguardSubFile (line 154) | def generateWireguardSubFile(account: Account = None, function generateSurgeSubFile (line 195) | def generateSurgeSubFile(account: Account = None, function generateShadowRocketSubFile (line 289) | def generateShadowRocketSubFile(account: Account = None, function generateSingBoxSubFile (line 333) | def generateSingBoxSubFile(account: Account = None, function generateLoonSubFile (line 403) | def generateLoonSubFile(account: Account = None, FILE: services/tasks.py function doAddDataTaskOnce (line 30) | def doAddDataTaskOnce(account: Account = None, logger=logging.Logger(__n... function saveAccount (line 60) | def saveAccount(account: Account = None, logger=logging.Logger(__name__)): function reoptimizeEntryPoints (line 78) | def reoptimizeEntryPoints(logger=logging.Logger(__name__)): FILE: services/web_service.py function authorized (line 34) | def authorized(can_skip: bool = False): function rateLimit (line 63) | def rateLimit(limit: int = REQUEST_RATE_LIMIT): function attachEndpoints (line 98) | def attachEndpoints(app: Flask): function createApp (line 276) | def createApp(app_name: str = "web", logger: logging.Logger = None) -> F... FILE: tests/test_utils.py class TestUtils (line 28) | class TestUtils(unittest.TestCase): method test_getProxy (line 29) | def test_getProxy(self): method test_Wireguard (line 33) | def test_Wireguard(self): method test_EntryPoints (line 40) | def test_EntryPoints(self): method test_GeoIP (line 46) | def test_GeoIP(self): FILE: utils/entrypoints.py function _getLogger (line 39) | def _getLogger(): function readCsv (line 53) | def readCsv(file_path): function reloadEntrypoints (line 65) | def reloadEntrypoints(ipv6=False): function getEntrypoints (line 114) | def getEntrypoints(ipv6=False): function getBestEntrypoints (line 140) | def getBestEntrypoints(num=1, ipv6=False): function optimizeEntrypoints (line 152) | def optimizeEntrypoints(): FILE: utils/geoip.py function countryCodeToEmoji (line 21) | def countryCodeToEmoji(country_code): class GeoIP (line 34) | class GeoIP: method __init__ (line 35) | def __init__(self, db_path: str) -> None: method lookup (line 38) | def lookup(self, ip: str) -> str or None: method lookup_emoji (line 63) | def lookup_emoji(self, ip: str) -> str or None: method close (line 72) | def close(self) -> None: FILE: utils/logger.py function createLogger (line 22) | def createLogger(filename, level=logging.INFO): FILE: utils/node_name.py class NodeNameGenerator (line 22) | class NodeNameGenerator: method __init__ (line 27) | def __init__(self, random_name=True): method generate_unique_name (line 33) | def generate_unique_name(self, country_emoji, country): method next (line 62) | def next(self, country_emoji, country): FILE: utils/proxy.py function getProxy (line 22) | def getProxy(): FILE: utils/sub_useragent.py function getSubTypeFromUA (line 37) | def getSubTypeFromUA(ua): FILE: utils/wireguard.py function generateWireguardKeys (line 22) | def generateWireguardKeys():