{"payload":{"allShortcutsEnabled":false,"fileTree":{"web":{"items":[{"name":"migrations","path":"web/migrations","contentType":"directory"},{"name":"pgadmin","path":"web/pgadmin","contentType":"directory"},{"name":"regression","path":"web/regression","contentType":"directory"},{"name":".editorconfig","path":"web/.editorconfig","contentType":"file"},{"name":".eslintignore","path":"web/.eslintignore","contentType":"file"},{"name":".eslintrc.js","path":"web/.eslintrc.js","contentType":"file"},{"name":"babel.cfg","path":"web/babel.cfg","contentType":"file"},{"name":"config.py","path":"web/config.py","contentType":"file"},{"name":"karma.conf.js","path":"web/karma.conf.js","contentType":"file"},{"name":"package.json","path":"web/package.json","contentType":"file"},{"name":"pgAdmin4.py","path":"web/pgAdmin4.py","contentType":"file"},{"name":"pgAdmin4.wsgi","path":"web/pgAdmin4.wsgi","contentType":"file"},{"name":"pgadmin.themes.json","path":"web/pgadmin.themes.json","contentType":"file"},{"name":"setup.py","path":"web/setup.py","contentType":"file"},{"name":"webpack.config.js","path":"web/webpack.config.js","contentType":"file"},{"name":"webpack.shim.js","path":"web/webpack.shim.js","contentType":"file"},{"name":"webpack.test.config.js","path":"web/webpack.test.config.js","contentType":"file"},{"name":"yarn.lock","path":"web/yarn.lock","contentType":"file"}],"totalCount":18},"":{"items":[{"name":"docs","path":"docs","contentType":"directory"},{"name":"pkg","path":"pkg","contentType":"directory"},{"name":"runtime","path":"runtime","contentType":"directory"},{"name":"tools","path":"tools","contentType":"directory"},{"name":"web","path":"web","contentType":"directory"},{"name":".dockerignore","path":".dockerignore","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".pycodestyle","path":".pycodestyle","contentType":"file"},{"name":"DEPENDENCIES","path":"DEPENDENCIES","contentType":"file"},{"name":"Dockerfile","path":"Dockerfile","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"Make.bat","path":"Make.bat","contentType":"file"},{"name":"Makefile","path":"Makefile","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"requirements.txt","path":"requirements.txt","contentType":"file"}],"totalCount":15}},"fileTreeProcessingTime":9.257956,"foldersToFetch":[],"repo":{"id":82552640,"defaultBranch":"master","name":"pgadmin4","ownerLogin":"pgadmin-org","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-02-20T11:54:13.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/113517144?v=4","public":true,"private":false,"isOrgOwned":true},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"REL-5_3","listCacheKey":"v0:1710759372.0","canEdit":false,"refType":"tag","currentOid":"48dbf5a3dcebf4ad8b8541d46ca5a07e01f4832f"},"path":"web/config.py","currentUser":null,"blob":{"rawLines":["# -*- coding: utf-8 -*-","","##########################################################################","#","# pgAdmin 4 - PostgreSQL Tools","#","# Copyright (C) 2013 - 2021, The pgAdmin Development Team","# This software is released under the PostgreSQL Licence","#","# config.py - Core application configuration settings","#","##########################################################################","","import builtins","import logging","import os","import sys","","# We need to include the root directory in sys.path to ensure that we can","# find everything we need when running in the standalone runtime.","root = os.path.dirname(os.path.realpath(__file__))","if sys.path[0] != root:"," sys.path.insert(0, root)","","from pgadmin.utils import env, IS_WIN, fs_short_path","","##########################################################################","# Application settings","##########################################################################","","# Name of the application to display in the UI","APP_NAME = 'pgAdmin 4'","APP_ICON = 'pg-icon'","","##########################################################################","# Application settings","##########################################################################","","# NOTE!!!","# If you change any of APP_RELEASE, APP_REVISION or APP_SUFFIX, then you","# must also change APP_VERSION_INT to match.","#","","# Application version number components","APP_RELEASE = 5","APP_REVISION = 3","","# Application version suffix, e.g. 'beta1', 'dev'. Usually an empty string","# for GA releases.","APP_SUFFIX = ''","","# Numeric application version for upgrade checks. Should be in the format:","# [X]XYYZZ, where X is the release version, Y is the revision, with a leading","# zero if needed, and Z represents the suffix, with a leading zero if needed","APP_VERSION_INT = 50300","","# DO NOT CHANGE!","# The application version string, constructed from the components","if not APP_SUFFIX:"," APP_VERSION = '%s.%s' % (APP_RELEASE, APP_REVISION)","else:"," APP_VERSION = '%s.%s-%s' % (APP_RELEASE, APP_REVISION, APP_SUFFIX)","","# Copyright string for display in the app","APP_COPYRIGHT = 'Copyright (C) 2013 - 2021, The pgAdmin Development Team'","","##########################################################################","# Misc stuff","##########################################################################","","# Path to the online help.","HELP_PATH = '../../../docs/en_US/_build/html/'","","# Languages we support in the UI","LANGUAGES = {"," 'en': 'English',"," 'zh': 'Chinese (Simplified)',"," 'cs': 'Czech',"," 'fr': 'French',"," 'de': 'German',"," 'it': 'Italian',"," 'ja': 'Japanese',"," 'ko': 'Korean',"," 'pl': 'Polish',"," 'ru': 'Russian',"," 'es': 'Spanish',","}","","# DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING!","# List of modules to skip when dynamically loading","MODULE_BLACKLIST = ['test']","","# DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING!","# List of treeview browser nodes to skip when dynamically loading","NODE_BLACKLIST = []","","##########################################################################","# Server settings","##########################################################################","","# The server mode determines whether or not we're running on a web server","# requiring user authentication, or desktop mode which uses an automatic","# default login.","#","# DO NOT DISABLE SERVER MODE IF RUNNING ON A WEBSERVER!!","#","# We only set SERVER_MODE if it's not already set. That's to allow the","# runtime to force it to False.","#","# NOTE: If you change the value of SERVER_MODE in an included config file,","# you may also need to redefine any values below that are derived","# from it, notably various paths such as LOG_FILE and anything","# using DATA_DIR.","","if (not hasattr(builtins, 'SERVER_MODE')) or builtins.SERVER_MODE is None:"," SERVER_MODE = True","else:"," SERVER_MODE = builtins.SERVER_MODE","","# HTTP headers to search for CSRF token when it is not provided in the form.","# Default is ['X-CSRFToken', 'X-CSRF-Token']","WTF_CSRF_HEADERS = ['X-pgA-CSRFToken']","","# User ID (email address) to use for the default user in desktop mode.","# The default should be fine here, as it's not exposed in the app.","DESKTOP_USER = 'pgadmin4@pgadmin.org'","","# This option allows the user to host the application on a LAN","# Default hosting is on localhost (DEFAULT_SERVER='localhost').","# To host pgAdmin4 over LAN set DEFAULT_SERVER='0.0.0.0' (or a specific","# adaptor address.","#","# NOTE: This is NOT recommended for production use, only for debugging","# or testing. Production installations should be run as a WSGI application","# behind Apache HTTPD.","DEFAULT_SERVER = '127.0.0.1'","","# The default port on which the app server will listen if not set in the","# environment by the runtime","DEFAULT_SERVER_PORT = 5050","","# This param is used to override the default web server information about","# the web technology and the frameworks being used in the application","# An attacker could use this information to fingerprint underlying operating","# system and research known exploits for the specific version of","# software in use","WEB_SERVER = 'Python'","","# Enable X-Frame-Option protection.","# Set to one of \"SAMEORIGIN\", \"ALLOW-FROM origin\" or \"\" to disable.","# Note that \"DENY\" is NOT supported (and will be silently ignored).","# See https://tools.ietf.org/html/rfc7034 for more info.","X_FRAME_OPTIONS = \"SAMEORIGIN\"","","# The Content-Security-Policy header allows you to restrict how resources","# such as JavaScript, CSS, or pretty much anything that the browser loads.","# see https://content-security-policy.com/#source_list for more info","# e.g. \"default-src https: data: 'unsafe-inline' 'unsafe-eval';\"","CONTENT_SECURITY_POLICY = \"default-src http: data: blob: 'unsafe-inline' \" \\"," \"'unsafe-eval';\"","","# STRICT_TRANSPORT_SECURITY_ENABLED when set to True will set the","# Strict-Transport-Security header","STRICT_TRANSPORT_SECURITY_ENABLED = False","","# The Strict-Transport-Security header tells the browser to convert all HTTP","# requests to HTTPS, preventing man-in-the-middle (MITM) attacks.","# e.g. 'max-age=31536000; includeSubDomains'","STRICT_TRANSPORT_SECURITY = \"max-age=31536000; includeSubDomains\"","","# The X-Content-Type-Options header forces the browser to honor the response","# content type instead of trying to detect it, which can be abused to","# generate a cross-site scripting (XSS) attack.","# e.g. nosniff","X_CONTENT_TYPE_OPTIONS = \"nosniff\"","","# The browser will try to prevent reflected XSS attacks by not loading the","# page if the request contains something that looks like JavaScript and the","# response contains the same data. e.g. '1; mode=block'","X_XSS_PROTECTION = \"1; mode=block\"","","# This param is used to validate ALLOWED_HOSTS for the application","# This will be used to avoid Host Header Injection attack","# ALLOWED_HOSTS = ['225.0.0.0/8', '226.0.0.0/7', '228.0.0.0/6']","# ALLOWED_HOSTS = ['127.0.0.1', '192.168.0.1']","# if ALLOWED_HOSTS= [] then it will accept all ips (and application will be","# vulnerable to Host Header Injection attack)","ALLOWED_HOSTS = []","","# Hashing algorithm used for password storage","SECURITY_PASSWORD_HASH = 'pbkdf2_sha512'","","# Reverse Proxy parameters","# You must tell the middleware how many proxies set each header","# so it knows what values to trust.","# See https://tinyurl.com/yyg7r9av","# for more information.","","# Number of values to trust for X-Forwarded-For","PROXY_X_FOR_COUNT = 1","","# Number of values to trust for X-Forwarded-Proto.","PROXY_X_PROTO_COUNT = 1","","# Number of values to trust for X-Forwarded-Host.","PROXY_X_HOST_COUNT = 0","","# Number of values to trust for X-Forwarded-Port.","PROXY_X_PORT_COUNT = 1","","# Number of values to trust for X-Forwarded-Prefix.","PROXY_X_PREFIX_COUNT = 0","","# NOTE: CSRF_SESSION_KEY, SECRET_KEY and SECURITY_PASSWORD_SALT are no","# longer part of the main configuration, but are stored in the","# configuration databases 'keys' table and are auto-generated.","","# COMPRESSION","COMPRESS_MIMETYPES = ["," 'text/html', 'text/css', 'text/xml', 'application/json',"," 'application/javascript'","]","COMPRESS_LEVEL = 9","COMPRESS_MIN_SIZE = 500","","# Set the cache control max age for static files in flask to 1 year","SEND_FILE_MAX_AGE_DEFAULT = 31556952","","# This will be added to static urls as url parameter with value as","# APP_VERSION_INT for cache busting on version upgrade. If the value is set as","# None or empty string then it will not be added.","# eg - http:localhost:5050/pgadmin.css?intver=3.13","APP_VERSION_PARAM = 'ver'","","# Add the internal version param to below extensions only","APP_VERSION_EXTN = ('.css', '.js', '.html', '.svg', '.png', '.gif', '.ico')","","# Data directory for storage of config settings etc. This shouldn't normally","# need to be changed - it's here as various other settings depend on it.","# On Windows, we always store data in %APPDATA%\\pgAdmin. On other platforms,","# if we're in server mode we use /var/lib/pgadmin, otherwise ~/.pgadmin","if IS_WIN:"," # Use the short path on windows"," DATA_DIR = os.path.realpath("," os.path.join(fs_short_path(env('APPDATA')), \"pgAdmin\")"," )","else:"," if SERVER_MODE:"," DATA_DIR = '/var/lib/pgadmin'"," else:"," DATA_DIR = os.path.realpath(os.path.expanduser('~/.pgadmin/'))","","# An optional login banner to show security warnings/disclaimers etc. at","# login and password recovery etc. HTML may be included for basic formatting,","# For example:","# LOGIN_BANNER = \"