Creating content and sharing it is a tricky business
use the Power of BUFR ZONE to keep control.
Please sign-in to your account and start creating
New on our platform? Create an account
Installation paths relative to:
/opt/boss/venv/lib/python3.9/site-packages
| Package | Version | Installed Path |
|---|---|---|
| aiohappyeyeballs | 2.4.4 | |
| aiohttp | 3.11.1 | |
| aiosignal | 1.3.2 | |
| alembic | 1.8.0 | |
| amqp | 5.3.1 | |
| aniso8601 | 7.0.0 | |
| async-timeout | 5.0.1 | |
| attrs | 25.1.0 | |
| Authlib | 0.14.1 | |
| Babel | 2.9.1 | |
| bidict | 0.21.4 | |
| billiard | 4.2.1 | |
| bleach | 3.3.0 | |
| blinker | 1.9.0 | |
| cachelib | 0.9.0 | |
| celery | 5.4.0 | |
| certifi | 2025.1.31 | |
| cffi | 1.17.1 | |
| cfgv | 3.4.0 | |
| charset-normalizer | 3.4.1 | |
| click | 8.1.3 | |
| click-didyoumean | 0.3.1 | |
| click-plugins | 1.1.1 | |
| click-repl | 0.3.0 | |
| cryptography | 44.0.0 | |
| Deprecated | 1.2.18 | |
| distlib | 0.3.9 | |
| dnspython | 2.7.0 | |
| email-validator | 1.1.3 | |
| filelock | 3.17.0 | |
| Flask | 2.1.2 | |
| Flask-Babel | 2.0.0 | |
| Flask-Breadcrumbs | 0.5.1 | |
| Flask-Caching | 2.0.2 | |
| Flask-Cors | 3.0.10 | |
| Flask-DebugToolbar | 0.13.1 | |
| Flask-Limiter | 3.8.0 | |
| Flask-Login | 0.6.2 | |
| Flask-Mail | 0.9.1 | |
| Flask-Markdown | 0.3 | |
| flask-menu | 2.0.0 | |
| Flask-Migrate | 3.1.0 | |
| Flask-Principal | 0.4.0 | |
| flask-restx | 1.0.5 | |
| Flask-Reuploaded | 1.3.0 | |
| Flask-Script | 2.0.6 | |
| Flask-Security-Too | 5.1.0 | |
| Flask-Session | 0.4.0 | |
| Flask-SocketIO | 5.2.0 | |
| Flask-SQLAlchemy | 2.5.1 | |
| Flask-WTF | 1.0.1 | |
| frozenlist | 1.5.0 | |
| gevent | 23.9.0 | |
| gevent-websocket | 0.10.1 | |
| gitdb2 | 2.0.5 | |
| GitPython | 2.1.11 | |
| greenlet | 3.1.0 | |
| gunicorn | 20.1.0 | |
| identify | 2.6.6 | |
| idna | 3.10 | |
| importlib-metadata | 4.13.0 | |
| itsdangerous | 2.1.2 | |
| Jinja2 | 3.1.2 | |
| jsonschema | 4.23.0 | |
| jsonschema-specifications | 2024.10.1 | |
| kombu | 5.4.2 | |
| limits | 4.0.1 | |
| Mako | 1.0.13 | |
| Markdown | 3.7 | |
| markdown-it-py | 3.0.0 | |
| MarkupSafe | 2.1.1 | |
| mdurl | 0.1.2 | |
| multidict | 6.1.0 | |
| nodeenv | 1.9.1 | |
| ordered-set | 4.1.0 | |
| packaging | 24.2 | |
| passlib | 1.7.4 | |
| pilkit | 2.0 | |
| Pillow | 9.4.0 | |
| pip | 20.3.4 | |
| pkg-resources | 0.0.0 | |
| platformdirs | 4.3.6 | |
| pre-commit | 2.19.0 | |
| prompt-toolkit | 3.0.50 | |
| propcache | 0.2.1 | |
| psutil | 5.7.0 | |
| psycopg2-binary | 2.9.10 | |
| pycparser | 2.22 | |
| pygments | 2.19.1 | |
| PyMySQL | 0.9.3 | |
| pypng | 0.20220715.0 | |
| PyQRCode | 1.2.1 | |
| python-dateutil | 2.8.2 | |
| python-dotenv | 0.20.0 | |
| python-editor | 1.0.4 | |
| python-engineio | 4.3.1 | |
| python-socketio | 5.0.2 | |
| pytz | 2022.1 | |
| PyYAML | 6.0.2 | |
| qrcode | 7.4.2 | |
| redis | 4.3.3 | |
| referencing | 0.36.2 | |
| requests | 2.28.2 | |
| rich | 13.9.4 | |
| rpds-py | 0.22.3 | |
| sentry-sdk | 1.12.1 | |
| setuptools | 44.1.1 | |
| six | 1.17.0 | |
| smmap2 | 2.0.5 | |
| speaklater | 1.3 | |
| SQLAlchemy | 1.4.37 | |
| toml | 0.10.2 | |
| typing-extensions | 4.12.2 | |
| tzdata | 2025.1 | |
| urllib3 | 1.26.20 | |
| vine | 5.1.0 | |
| virtualenv | 20.29.1 | |
| wcwidth | 0.2.13 | |
| webencodings | 0.5.1 | |
| Werkzeug | 2.1.2 | |
| wheel | 0.41.1 | |
| wrapt | 1.17.2 | |
| WTForms | 3.0.1 | |
| xmltodict | 0.13.0 | |
| yarl | 1.18.3 | |
| zipp | 3.21.0 | |
| zope.event | 5.0 | |
| zope.interface | 7.2 |
| Resource | Value |
|---|---|
| User CPU time | 13.417 msec |
| System CPU time | 0.000 msec |
| Total CPU time | 13.417 msec |
| Elapsed time | 48.804 msec |
| Context switches | 17 voluntary, 0 involuntary |
| Key | Value |
|---|---|
| HTTP_ACCEPT | */* |
| HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate |
| HTTP_CONNECTION | close |
| HTTP_HOST | bufr.zone:443 |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| QUERY_STRING | |
| REMOTE_ADDR | 216.73.216.61 |
| REQUEST_METHOD | GET |
| SCRIPT_NAME | |
| SERVER_NAME | nFxedPLEX.bufr.zone |
| SERVER_PORT | 5008 |
| SERVER_PROTOCOL | HTTP/1.0 |
| SERVER_SOFTWARE | gevent/23.9.0 gunicorn/20.1.0 |
| View Function | args | kwargs |
|---|---|---|
| flask_security.views.login | [] | None |
| Variable | Value |
|---|
| Variable | Value |
|---|---|
| '_permanent' | True |
| '_fresh' | False |
| 'guestUUID' | 'c280d4f3-af57-45f6-9257-17d6f726ba2d' |
| 'csrf_token' | 'f88e9db80aa950cfccf538c159104c9dacfae397' |
| Variable | Value |
|---|
| Variable | Value |
|---|
| Key | Value |
|---|---|
| APPLICATION_ROOT | '/' |
| BABEL_DEFAULT_LOCALE | 'en' |
| BABEL_DEFAULT_TIMEZONE | 'UTC' |
| BABEL_DOMAIN | 'messages' |
| broker_url | 'redis://localhost:6379' |
| DEBUG | True |
| DEBUG_TB_ENABLED | True |
| DEBUG_TB_HOSTS | () |
| DEBUG_TB_INTERCEPT_REDIRECTS | True |
| DEBUG_TB_PANELS | ('flask_debugtoolbar.panels.versions.VersionDebugPanel', 'flask_debugtoolbar.panels.timer.TimerDebugPanel', 'flask_debugtoolbar.panels.headers.HeaderDebugPanel', 'flask_debugtoolbar.panels.request_vars.RequestVarsDebugPanel', 'flask_debugtoolbar.panels.config_vars.ConfigVarsDebugPanel', 'flask_debugtoolbar.panels.template.TemplateDebugPanel', 'flask_debugtoolbar.panels.sqlalchemy.SQLAlchemyDebugPanel', 'flask_debugtoolbar.panels.logger.LoggingPanel', 'flask_debugtoolbar.panels.route_list.RouteListDebugPanel', 'flask_debugtoolbar.panels.profiler.ProfilerDebugPanel', 'flask_debugtoolbar.panels.g.GDebugPanel') |
| ENV | 'production' |
| EXPLAIN_TEMPLATE_LOADING | False |
| JSON_AS_ASCII | True |
| JSON_SORT_KEYS | True |
| JSONIFY_MIMETYPE | 'application/json' |
| JSONIFY_PRETTYPRINT_REGULAR | False |
| MAIL_DEFAULT_SENDER | 'info@bufr.zone' |
| MAIL_PASSWORD | 'ykxggnsgfqzkzyho' |
| MAIL_PORT | 465 |
| MAIL_SERVER | 'smtp.gmail.com' |
| MAIL_USE_SSL | True |
| MAIL_USE_TLS | False |
| MAIL_USERNAME | 'nfxus@bufr.zone' |
| MAX_CONTENT_LENGTH | 4000000000 |
| MAX_COOKIE_SIZE | 4093 |
| MYSQL_DATABASE_CHARSET | 'utf8' |
| PERMANENT_SESSION_LIFETIME | datetime.timedelta(days=31) |
| PREFERRED_URL_SCHEME | 'http' |
| PRESERVE_CONTEXT_ON_EXCEPTION | None |
| PROPAGATE_EXCEPTIONS | None |
| RATELIMIT_ENABLED | True |
| RATELIMIT_STORAGE_URL | 'redis://localhost:6379' |
| RATELIMIT_STRATEGY | 'fixed-window' |
| RESTX_INCLUDE_ALL_MODELS | False |
| RESTX_MASK_HEADER | 'X-Fields' |
| RESTX_MASK_SWAGGER | True |
| result_backend | 'redis://localhost:6379' |
| SECRET_KEY | 'BjUwLD^uh3kdvpeEJwUS25g9%5nDdkD^u9$4YLR5o6abvxxmnSph&sR$!vjSUt$SBvmfe4eMUsNkL8fX#e*aZ3FMWHe!YJo%Vd&#N67qnKUYe6mnj9tMg4QJxwCS$' |
| SECURITY_API_ENABLED_METHODS | ['session', 'token'] |
| SECURITY_AUTO_LOGIN_AFTER_CONFIRM | True |
| SECURITY_BACKWARDS_COMPAT_AUTH_TOKEN | False |
| SECURITY_BACKWARDS_COMPAT_UNAUTHN | False |
| SECURITY_BLUEPRINT_NAME | 'security' |
| SECURITY_CHANGABLE | True |
| SECURITY_CHANGE_PASSWORD_TEMPLATE | 'security/change_password.html' |
| SECURITY_CHANGE_SALT | 'change-salt' |
| SECURITY_CHANGE_URL | '/change' |
| SECURITY_CHANGEABLE | False |
| SECURITY_CLI_ROLES_NAME | 'roles' |
| SECURITY_CLI_USERS_NAME | 'users' |
| SECURITY_CONFIRM_EMAIL_WITHIN | '5 days' |
| SECURITY_CONFIRM_ERROR_VIEW | None |
| SECURITY_CONFIRM_SALT | 'confirm-salt' |
| SECURITY_CONFIRM_URL | '/confirm' |
| SECURITY_CONFIRMABLE | True |
| SECURITY_CSRF_COOKIE | {'samesite': 'Strict', 'httponly': False, 'secure': False} |
| SECURITY_CSRF_COOKIE_NAME | None |
| SECURITY_CSRF_COOKIE_REFRESH_EACH_REQUEST | False |
| SECURITY_CSRF_HEADER | 'X-XSRF-Token' |
| SECURITY_CSRF_IGNORE_UNAUTH_ENDPOINTS | False |
| SECURITY_CSRF_PROTECT_MECHANISMS | ('basic', 'session', 'token') |
| SECURITY_DATETIME_FACTORY | <built-in method utcnow of type object at 0x92c3e0> |
| SECURITY_DEFAULT_HTTP_AUTH_REALM | 'Login Required' |
| SECURITY_DEFAULT_REMEMBER_ME | False |
| SECURITY_DEPRECATED_HASHING_SCHEMES | ['hex_md5'] |
| SECURITY_DEPRECATED_PASSWORD_SCHEMES | ['auto'] |
| SECURITY_EMAIL_HTML | True |
| SECURITY_EMAIL_PLAINTEXT | True |
| SECURITY_EMAIL_SENDER | 'info@bufr.zone' |
| SECURITY_EMAIL_SUBJECT_CONFIRM | 'BUFR ZONE - Email Confirmation Request' |
| SECURITY_EMAIL_SUBJECT_PASSWORD_CHANGE_NOTICE | 'Your password has been changed' |
| SECURITY_EMAIL_SUBJECT_PASSWORD_NOTICE | 'BUFR ZONE - Password Reset Notification' |
| SECURITY_EMAIL_SUBJECT_PASSWORD_RESET | 'BUFR ZONE - Password Reset Request' |
| SECURITY_EMAIL_SUBJECT_PASSWORDLESS | 'Login instructions' |
| SECURITY_EMAIL_SUBJECT_REGISTER | 'BUFR ZONE - Welcome!' |
| SECURITY_EMAIL_SUBJECT_TWO_FACTOR | 'Two-factor Login' |
| SECURITY_EMAIL_SUBJECT_TWO_FACTOR_RESCUE | 'Two-factor Rescue' |
| SECURITY_EMAIL_VALIDATOR_ARGS | None |
| SECURITY_FLASH_MESSAGES | True |
| SECURITY_FORGOT_PASSWORD_TEMPLATE | 'security/forgot_password.html' |
| SECURITY_FRESHNESS | datetime.timedelta(days=1) |
| SECURITY_FRESHNESS_GRACE_PERIOD | datetime.timedelta(seconds=3600) |
| SECURITY_HASHING_SCHEMES | ['sha256_crypt', 'hex_md5'] |
| SECURITY_I18N_DIRNAME | '/opt/boss/venv/lib/python3.9/site-packages/flask_security/translations' |
| SECURITY_I18N_DOMAIN | 'flask_security' |
| SECURITY_JOIN_USER_ROLES | True |
| SECURITY_LOGIN_ERROR_VIEW | None |
| SECURITY_LOGIN_SALT | 'login-salt' |
| SECURITY_LOGIN_URL | '/login' |
| SECURITY_LOGIN_USER_TEMPLATE | 'security/login_user.html' |
| SECURITY_LOGIN_WITHIN | '1 days' |
| SECURITY_LOGIN_WITHOUT_CONFIRMATION | False |
| SECURITY_LOGOUT_METHODS | ['GET', 'POST'] |
| SECURITY_LOGOUT_URL | '/logout' |
| SECURITY_MSG_ALREADY_CONFIRMED | ('Your email has already been confirmed.', 'info') |
| SECURITY_MSG_ANONYMOUS_USER_REQUIRED | ('You can only access this endpoint when not logged in.', 'error') |
| SECURITY_MSG_API_ERROR | ('Input not appropriate for requested API', 'error') |
| SECURITY_MSG_CODE_HAS_BEEN_SENT | ('Code has been sent.', 'info') |
| SECURITY_MSG_CONFIRM_REGISTRATION | ('Thank you. Confirmation instructions have been sent to %(email)s.', 'success') |
| SECURITY_MSG_CONFIRMATION_EXPIRED | ('You did not confirm your email within %(within)s. New instructions to confirm your email have been sent to %(email)s.', 'error') |
| SECURITY_MSG_CONFIRMATION_REQUEST | ('Confirmation instructions have been sent to %(email)s.', 'info') |
| SECURITY_MSG_CONFIRMATION_REQUIRED | ('Email requires confirmation.', 'error') |
| SECURITY_MSG_DISABLED_ACCOUNT | ('Account Disabled', 'error') |
| SECURITY_MSG_EMAIL_ALREADY_ASSOCIATED | ('Username or Email Already Associated with an Account', 'error') |
| SECURITY_MSG_EMAIL_CONFIRMED | ('Thank you. Your email has been confirmed.', 'success') |
| SECURITY_MSG_EMAIL_NOT_PROVIDED | ('Email not provided', 'error') |
| SECURITY_MSG_FAILED_TO_SEND_CODE | ('Failed to send code. Please try again later', 'error') |
| SECURITY_MSG_FORGOT_PASSWORD | ('Forgot password?', 'info') |
| SECURITY_MSG_GENERIC_AUTHN_FAILED | ('Authentication failed - identity or password/passcode invalid', 'error') |
| SECURITY_MSG_GENERIC_RECOVERY | ('If that email address is in our system, you will receive an email describing how to reset your password.', 'info') |
| SECURITY_MSG_GENERIC_US_SIGNIN | ('If that identity is in our system, you were sent a code.', 'info') |
| SECURITY_MSG_IDENTITY_ALREADY_ASSOCIATED | ("Identity attribute '%(attr)s' with value '%(value)s' is already associated with an account.", 'error') |
| SECURITY_MSG_IDENTITY_NOT_REGISTERED | ('Identity %(id)s not registered', 'error') |
| SECURITY_MSG_INVALID_CODE | ('Invalid code', 'error') |
| SECURITY_MSG_INVALID_CONFIRMATION_TOKEN | ('Invalid confirmation token.', 'error') |
| SECURITY_MSG_INVALID_EMAIL_ADDRESS | ('Invalid Username or Password', 'error') |
| SECURITY_MSG_INVALID_LOGIN_TOKEN | ('Invalid login token.', 'error') |
| SECURITY_MSG_INVALID_PASSWORD | ('Invalid Username or Password', 'error') |
| SECURITY_MSG_INVALID_PASSWORD_CODE | ('Password or code submitted is not valid', 'error') |
| SECURITY_MSG_INVALID_RECOVERY_CODE | ('Recovery code invalid', 'error') |
| SECURITY_MSG_INVALID_REDIRECT | ('Redirections outside the domain are forbidden', 'error') |
| SECURITY_MSG_INVALID_RESET_PASSWORD_TOKEN | ('Invalid reset password token.', 'error') |
| SECURITY_MSG_LOGIN | ('Please log in to access this page.', 'info') |
| SECURITY_MSG_LOGIN_EMAIL_SENT | ('Instructions to login have been sent to %(email)s.', 'success') |
| SECURITY_MSG_LOGIN_EXPIRED | ('You did not login within %(within)s. New instructions to login have been sent to %(email)s.', 'error') |
| SECURITY_MSG_NO_RECOVERY_CODES_SETUP | ('No recovery codes generated yet', 'info') |
| SECURITY_MSG_OAUTH_HANDSHAKE_ERROR | ('An error occurred while communicating with the Oauth provider. Please try again.', 'error') |
| SECURITY_MSG_PASSWORD_BREACHED | ('Password on breached list', 'error') |
| SECURITY_MSG_PASSWORD_BREACHED_SITE_ERROR | ('Failed to contact breached passwords site', 'error') |
| SECURITY_MSG_PASSWORD_CHANGE | ('You successfully changed your password.', 'success') |
| SECURITY_MSG_PASSWORD_INVALID_LENGTH | ('Password must be at least %(length)s characters', 'error') |
| SECURITY_MSG_PASSWORD_IS_THE_SAME | ('Your new password must be different than your previous password.', 'error') |
| SECURITY_MSG_PASSWORD_MISMATCH | ('Password does not match', 'error') |
| SECURITY_MSG_PASSWORD_NOT_PROVIDED | ('Password not provided', 'error') |
| SECURITY_MSG_PASSWORD_RESET | ('You successfully reset your password and you have been logged in automatically.', 'success') |
| SECURITY_MSG_PASSWORD_RESET_EXPIRED | ('You did not reset your password within %(within)s. New instructions have been sent to %(email)s.', 'error') |
| SECURITY_MSG_PASSWORD_RESET_REQUEST | ('Instructions to reset your password have been sent to %(email)s.', 'info') |
| SECURITY_MSG_PASSWORD_TOO_SIMPLE | ('Password not complex enough', 'error') |
| SECURITY_MSG_PASSWORDLESS_LOGIN_SUCCESSFUL | ('You have successfully logged in.', 'success') |
| SECURITY_MSG_PHONE_INVALID | ('Phone number not valid e.g. missing country code', 'error') |
| SECURITY_MSG_REAUTHENTICATION_REQUIRED | ('You must re-authenticate to access this endpoint', 'error') |
| SECURITY_MSG_REAUTHENTICATION_SUCCESSFUL | ('Reauthentication successful', 'info') |
| SECURITY_MSG_REFRESH | ('Please reauthenticate to access this page.', 'info') |
| SECURITY_MSG_RETYPE_PASSWORD_MISMATCH | ('Passwords do not match', 'error') |
| SECURITY_MSG_TWO_FACTOR_CHANGE_METHOD_SUCCESSFUL | ('You successfully changed your two-factor method.', 'success') |
| SECURITY_MSG_TWO_FACTOR_DISABLED | ('You successfully disabled two factor authorization.', 'success') |
| SECURITY_MSG_TWO_FACTOR_INVALID_TOKEN | ('Invalid code', 'error') |
| SECURITY_MSG_TWO_FACTOR_LOGIN_SUCCESSFUL | ('Your code has been confirmed', 'success') |
| SECURITY_MSG_TWO_FACTOR_METHOD_NOT_AVAILABLE | ('Marked method is not valid', 'error') |
| SECURITY_MSG_TWO_FACTOR_PERMISSION_DENIED | ('You currently do not have permissions to access this page', 'error') |
| SECURITY_MSG_UNAUTHENTICATED | ('You are not authenticated. Please supply the correct credentials.', 'error') |
| SECURITY_MSG_UNAUTHORIZED | ('You do not have permission to view this resource.', 'error') |
| SECURITY_MSG_US_METHOD_NOT_AVAILABLE | ('Requested method is not valid', 'error') |
| SECURITY_MSG_US_SETUP_EXPIRED | ('Setup must be completed within %(within)s. Please start over.', 'error') |
| SECURITY_MSG_US_SETUP_SUCCESSFUL | ('Unified sign in setup successful', 'info') |
| SECURITY_MSG_US_SPECIFY_IDENTITY | ('You must specify a valid identity to sign in', 'error') |
| SECURITY_MSG_USE_CODE | ('Use this code to sign in: %(code)s.', 'info') |
| SECURITY_MSG_USER_DOES_NOT_EXIST | ('Invalid Username or Password', 'error') |
| SECURITY_MSG_USERNAME_ALREADY_ASSOCIATED | ('%(username)s is already associated with an account.', 'error') |
| SECURITY_MSG_USERNAME_DISALLOWED_CHARACTERS | ('Username can contain only letters and numbers', 'error') |
| SECURITY_MSG_USERNAME_ILLEGAL_CHARACTERS | ('Username contains illegal characters', 'error') |
| SECURITY_MSG_USERNAME_INVALID_LENGTH | ('Username must be at least %(min)d characters and less than %(max)d characters', 'error') |
| SECURITY_MSG_USERNAME_NOT_PROVIDED | ('Username not provided', 'error') |
| SECURITY_MSG_WEBAUTHN_CREDENTIAL_DELETED | ('Successfully deleted WebAuthn credential with name: %(name)s', 'info') |
| SECURITY_MSG_WEBAUTHN_CREDENTIAL_ID_INUSE | ('WebAuthn credential id already registered.', 'error') |
| SECURITY_MSG_WEBAUTHN_CREDENTIAL_WRONG_USAGE | ('Credential not registered for this use (first or secondary)', 'error') |
| SECURITY_MSG_WEBAUTHN_EXPIRED | ('WebAuthn operation must be completed within %(within)s. Please start over.', 'error') |
| SECURITY_MSG_WEBAUTHN_MISMATCH_USER_HANDLE | ("Credential user handle didn't match", 'error') |
| SECURITY_MSG_WEBAUTHN_NAME_INUSE | ('%(name)s is already associated with a credential.', 'error') |
| SECURITY_MSG_WEBAUTHN_NAME_NOT_FOUND | ('%(name)s not registered with current user.', 'error') |
| SECURITY_MSG_WEBAUTHN_NAME_REQUIRED | ('Nickname for new credential is required.', 'error') |
| SECURITY_MSG_WEBAUTHN_NO_VERIFY | ('Could not verify WebAuthn credential: %(cause)s.', 'error') |
| SECURITY_MSG_WEBAUTHN_ORPHAN_CREDENTIAL_ID | ("WebAuthn credential doesn't belong to any user.", 'error') |
| SECURITY_MSG_WEBAUTHN_REGISTER_SUCCESSFUL | ('Successfully added WebAuthn credential with name: %(name)s', 'info') |
| SECURITY_MSG_WEBAUTHN_UNKNOWN_CREDENTIAL_ID | ('Unregistered WebAuthn credential id.', 'error') |
| SECURITY_MULTI_FACTOR_RECOVERY_CODE_TTL | None |
| SECURITY_MULTI_FACTOR_RECOVERY_CODES | False |
| SECURITY_MULTI_FACTOR_RECOVERY_CODES_KEYS | None |
| SECURITY_MULTI_FACTOR_RECOVERY_CODES_N | 5 |
| SECURITY_MULTI_FACTOR_RECOVERY_CODES_TEMPLATE | 'security/mf_recovery_codes.html' |
| SECURITY_MULTI_FACTOR_RECOVERY_CODES_URL | '/mf-recovery-codes' |
| SECURITY_MULTI_FACTOR_RECOVERY_TEMPLATE | 'security/mf_recovery.html' |
| SECURITY_MULTI_FACTOR_RECOVERY_URL | '/mf-recovery' |
| SECURITY_OAUTH_BUILTIN_PROVIDERS | ['github', 'google'] |
| SECURITY_OAUTH_ENABLE | False |
| SECURITY_OAUTH_RESPONSE_URL | '/login/oauthresponse' |
| SECURITY_OAUTH_START_URL | '/login/oauthstart' |
| SECURITY_PASSWORD_BREACHED_COUNT | 1 |
| SECURITY_PASSWORD_CHECK_BREACHED | False |
| SECURITY_PASSWORD_COMPLEXITY_CHECKER | None |
| SECURITY_PASSWORD_HASH | 'pbkdf2_sha512' |
| SECURITY_PASSWORD_HASH_OPTIONS | {} |
| SECURITY_PASSWORD_HASH_PASSLIB_OPTIONS | {'argon2__rounds': 10} |
| SECURITY_PASSWORD_LENGTH_MIN | 8 |
| SECURITY_PASSWORD_NORMALIZE_FORM | 'NFKD' |
| SECURITY_PASSWORD_REQUIRED | True |
| SECURITY_PASSWORD_SALT | 'C25mwDG8fiS%$aBw$vRK&y$gYrr^9Pm5!GoRd8hyejBFu9GzNTCToJW&%$EgDCSjH!xWvy7PWkSmx*U%AFL5PGk&8^4B#S2$ZZkzP9qXmAWzdT#qYfB8tEj4U7Jbr' |
| SECURITY_PASSWORD_SCHEMES | ['bcrypt', 'argon2', 'des_crypt', 'pbkdf2_sha256', 'pbkdf2_sha512', 'sha256_crypt', 'sha512_crypt', 'plaintext'] |
| SECURITY_PASSWORD_SINGLE_HASH | {'django_pbkdf2_sha1', 'django_bcrypt', 'django_bcrypt_sha256', 'django_des_crypt', 'plaintext', 'django_salted_md5', 'django_argon2', 'django_salted_sha1', 'django_pbkdf2_sha256'} |
| SECURITY_PASSWORDLESS | False |
| SECURITY_PHONE_REGION_DEFAULT | 'US' |
| SECURITY_POST_CHANGE_VIEW | None |
| SECURITY_POST_CONFIRM_VIEW | None |
| SECURITY_POST_LOGIN_VIEW | '/' |
| SECURITY_POST_LOGOUT_VIEW | '/' |
| SECURITY_POST_REGISTER_VIEW | None |
| SECURITY_POST_RESET_VIEW | None |
| SECURITY_POST_VERIFY_VIEW | None |
| SECURITY_RECOVERABLE | True |
| SECURITY_REDIRECT_ALLOW_SUBDOMAINS | False |
| SECURITY_REDIRECT_BEHAVIOR | None |
| SECURITY_REDIRECT_HOST | None |
| SECURITY_REDIRECT_VALIDATE_MODE | None |
| SECURITY_REDIRECT_VALIDATE_RE | '^/{4,}|\\\\{3,}|[\\s\\000-\\037][/\\\\]{2,}' |
| SECURITY_REGISTER_URL | '/register' |
| SECURITY_REGISTER_USER_TEMPLATE | 'security/register_user.html' |
| SECURITY_REGISTERABLE | True |
| SECURITY_REMEMBER_SALT | 'remember-salt' |
| SECURITY_REQUIRES_CONFIRMATION_ERROR_VIEW | None |
| SECURITY_RESET_ERROR_VIEW | None |
| SECURITY_RESET_PASSWORD_TEMPLATE | 'security/reset_password.html' |
| SECURITY_RESET_PASSWORD_WITHIN | '5 days' |
| SECURITY_RESET_SALT | 'reset-salt' |
| SECURITY_RESET_URL | '/reset' |
| SECURITY_RESET_VIEW | None |
| SECURITY_RETURN_GENERIC_RESPONSES | False |
| SECURITY_SEND_CONFIRMATION_TEMPLATE | 'security/send_confirmation.html' |
| SECURITY_SEND_LOGIN_TEMPLATE | 'security/send_login.html' |
| SECURITY_SEND_PASSWORD_CHANGE_EMAIL | True |
| SECURITY_SEND_PASSWORD_RESET_EMAIL | True |
| SECURITY_SEND_PASSWORD_RESET_NOTICE_EMAIL | True |
| SECURITY_SEND_REGISTER_EMAIL | True |
| SECURITY_SMS_SERVICE | 'Dummy' |
| SECURITY_SMS_SERVICE_CONFIG | {'ACCOUNT_SID': None, 'AUTH_TOKEN': None, 'PHONE_NUMBER': None} |
| SECURITY_STATIC_FOLDER | 'static' |
| SECURITY_STATIC_FOLDER_URL | '/fs-static' |
| SECURITY_SUBDOMAIN | None |
| SECURITY_TOKEN_AUTHENTICATION_HEADER | 'Authentication-Token' |
| SECURITY_TOKEN_AUTHENTICATION_KEY | 'auth_token' |
| SECURITY_TOKEN_MAX_AGE | None |
| SECURITY_TOTP_ISSUER | 'BUFR ZONE' |
| SECURITY_TOTP_SECRETS | {'1': 'BjUwLD^uh3kdvpeEJwUS25g9%5nDdkD^u9$4YLR5o6abvxxmnSph&sR$!vjSUt$SBvmfe4eMUsNkL8fX#e*aZ3FMWHe!YJo%Vd&#N67qnKUYe6mnj9tMg4QJxwCS$'} |
| SECURITY_TRACKABLE | True |
| SECURITY_TWO_FACTOR | True |
| SECURITY_TWO_FACTOR_ALWAYS_VALIDATE | False |
| SECURITY_TWO_FACTOR_AUTHENTICATOR_VALIDITY | 120 |
| SECURITY_TWO_FACTOR_ENABLED_METHODS | ['authenticator'] |
| SECURITY_TWO_FACTOR_ERROR_VIEW | '.login' |
| SECURITY_TWO_FACTOR_IMPLEMENTATIONS | {'code': 'flask_security.twofactor.CodeTfPlugin', 'webauthn': 'flask_security.webauthn.WebAuthnTfPlugin'} |
| SECURITY_TWO_FACTOR_LOGIN_VALIDITY | '7 days' |
| SECURITY_TWO_FACTOR_MAIL_VALIDITY | 300 |
| SECURITY_TWO_FACTOR_POST_SETUP_VIEW | '.two_factor_setup' |
| SECURITY_TWO_FACTOR_REQUIRED | False |
| SECURITY_TWO_FACTOR_RESCUE_EMAIL | True |
| SECURITY_TWO_FACTOR_RESCUE_MAIL | 'no-reply@localhost' |
| SECURITY_TWO_FACTOR_RESCUE_URL | '/tf-rescue' |
| SECURITY_TWO_FACTOR_SECRET | None |
| SECURITY_TWO_FACTOR_SELECT_TEMPLATE | 'security/two_factor_select.html' |
| SECURITY_TWO_FACTOR_SELECT_URL | '/tf-select' |
| SECURITY_TWO_FACTOR_SETUP_TEMPLATE | 'security/two_factor_setup.html' |
| SECURITY_TWO_FACTOR_SETUP_URL | '/tf-setup' |
| SECURITY_TWO_FACTOR_SMS_SERVICE | 'Dummy' |
| SECURITY_TWO_FACTOR_SMS_SERVICE_CONFIG | {'ACCOUNT_SID': None, 'AUTH_TOKEN': None, 'PHONE_NUMBER': None} |
| SECURITY_TWO_FACTOR_SMS_VALIDITY | 120 |
| SECURITY_TWO_FACTOR_TOKEN_VALIDATION_URL | '/tf-validate' |
| SECURITY_TWO_FACTOR_URI_SERVICE_NAME | 'service_name' |
| SECURITY_TWO_FACTOR_VALIDITY_COOKIE | {'httponly': True, 'secure': False, 'samesite': 'Strict'} |
| SECURITY_TWO_FACTOR_VALIDITY_SALT | 'tf-validity-salt' |
| SECURITY_TWO_FACTOR_VERIFY_CODE_TEMPLATE | 'security/two_factor_verify_code.html' |
| SECURITY_UNAUTHORIZED_VIEW | None |
| SECURITY_UNIFIED_SIGNIN | False |
| SECURITY_URL_PREFIX | None |
| SECURITY_US_EMAIL_SUBJECT | 'Verification Code' |
| SECURITY_US_ENABLED_METHODS | ['password', 'email', 'authenticator', 'sms'] |
| SECURITY_US_MFA_REQUIRED | ['password', 'email'] |
| SECURITY_US_POST_SETUP_VIEW | '.us_setup' |
| SECURITY_US_SETUP_SALT | 'us-setup-salt' |
| SECURITY_US_SETUP_TEMPLATE | 'security/us_setup.html' |
| SECURITY_US_SETUP_URL | '/us-setup' |
| SECURITY_US_SETUP_WITHIN | '30 minutes' |
| SECURITY_US_SIGNIN_REPLACES_LOGIN | False |
| SECURITY_US_SIGNIN_SEND_CODE_URL | '/us-signin/send-code' |
| SECURITY_US_SIGNIN_TEMPLATE | 'security/us_signin.html' |
| SECURITY_US_SIGNIN_URL | '/us-signin' |
| SECURITY_US_TOKEN_VALIDITY | 120 |
| SECURITY_US_VERIFY_LINK_URL | '/us-verify-link' |
| SECURITY_US_VERIFY_SEND_CODE_URL | '/us-verify/send-code' |
| SECURITY_US_VERIFY_TEMPLATE | 'security/us_verify.html' |
| SECURITY_US_VERIFY_URL | '/us-verify' |
| SECURITY_USER_IDENTITY_ATTRIBUTES | [{'email': {'mapper': <function uia_email_mapper at 0x7fb405a64280>, 'case_insensitive': True}}] |
| SECURITY_USERNAME_ENABLE | False |
| SECURITY_USERNAME_MAX_LENGTH | 32 |
| SECURITY_USERNAME_MIN_LENGTH | 4 |
| SECURITY_USERNAME_NORMALIZE_FORM | 'NFKD' |
| SECURITY_USERNAME_REQUIRED | False |
| SECURITY_VERIFY_TEMPLATE | 'security/verify.html' |
| SECURITY_VERIFY_URL | '/verify' |
| SECURITY_WAN_ALLOW_AS_FIRST_FACTOR | True |
| SECURITY_WAN_ALLOW_AS_MULTI_FACTOR | True |
| SECURITY_WAN_ALLOW_AS_VERIFY | ['first', 'secondary'] |
| SECURITY_WAN_ALLOW_USER_HINTS | True |
| SECURITY_WAN_CHALLENGE_BYTES | None |
| SECURITY_WAN_DELETE_URL | '/wan-delete' |
| SECURITY_WAN_POST_REGISTER_VIEW | '.wan_register' |
| SECURITY_WAN_REGISTER_TEMPLATE | 'security/wan_register.html' |
| SECURITY_WAN_REGISTER_TIMEOUT | 60000 |
| SECURITY_WAN_REGISTER_URL | '/wan-register' |
| SECURITY_WAN_REGISTER_WITHIN | '30 minutes' |
| SECURITY_WAN_RP_NAME | 'My Flask App' |
| SECURITY_WAN_SALT | 'wan-salt' |
| SECURITY_WAN_SIGNIN_TEMPLATE | 'security/wan_signin.html' |
| SECURITY_WAN_SIGNIN_TIMEOUT | 60000 |
| SECURITY_WAN_SIGNIN_URL | '/wan-signin' |
| SECURITY_WAN_SIGNIN_WITHIN | '1 minutes' |
| SECURITY_WAN_VERIFY_TEMPLATE | 'security/wan_verify.html' |
| SECURITY_WAN_VERIFY_URL | '/wan-verify' |
| SECURITY_WEBAUTHN | False |
| SECURITY_ZXCVBN_MINIMUM_SCORE | 3 |
| SEND_FILE_MAX_AGE_DEFAULT | None |
| SERVER_NAME | None |
| SESSION_COOKIE_DOMAIN | False |
| SESSION_COOKIE_HTTPONLY | True |
| SESSION_COOKIE_NAME | 'bossSession' |
| SESSION_COOKIE_PATH | None |
| SESSION_COOKIE_SAMESITE | 'Lax' |
| SESSION_COOKIE_SECURE | False |
| SESSION_REDIS | Redis<ConnectionPool<Connection<host=localhost,port=6379,db=0>>> |
| SESSION_REFRESH_EACH_REQUEST | True |
| SESSION_TYPE | 'redis' |
| SQLALCHEMY_BINDS | None |
| SQLALCHEMY_COMMIT_ON_TEARDOWN | False |
| SQLALCHEMY_DATABASE_URI | 'mysql+pymysql://osp:R1v1t3d0n31@localhost/osp?charset=utf8mb4' |
| SQLALCHEMY_ECHO | False |
| SQLALCHEMY_ENGINE_OPTIONS | {'encoding': 'utf8', 'pool_use_lifo': 'False', 'pool_size': 10, 'pool_pre_ping': True} |
| SQLALCHEMY_MAX_OVERFLOW | -1 |
| SQLALCHEMY_NATIVE_UNICODE | None |
| SQLALCHEMY_POOL_RECYCLE | 300 |
| SQLALCHEMY_POOL_SIZE | None |
| SQLALCHEMY_POOL_TIMEOUT | 600 |
| SQLALCHEMY_RECORD_QUERIES | None |
| SQLALCHEMY_TRACK_MODIFICATIONS | False |
| TEMPLATES_AUTO_RELOAD | None |
| TESTING | False |
| TRAP_BAD_REQUEST_ERRORS | None |
| TRAP_HTTP_EXCEPTIONS | False |
| UPLOADED_DEFAULT_DEST | '/var/www/images' |
| UPLOADED_PHOTOS_DEST | '/var/www/images' |
| UPLOADED_STICKERS_DEST | '/var/www/images' |
| USE_X_SENDFILE | False |
| VIDEO_UPLOAD_EXTENSIONS | ['PNG', 'JPG', 'MP4', 'MOV', 'MKV', 'AVI'] |
| VIDEO_UPLOAD_TEMPFOLDER | '/var/www/videos/temp' |
| WEB_ROOT | '/var/www/' |
| Variable | Value |
|---|---|
| allowRegistration | True |
| current_user | <flask_security.core.AnonymousUser object at 0x7fb3e7186eb0> |
| g | <flask.g of 'app'> |
| identity_attributes | ['email'] |
| login_user_form | <classes.Sec.BOSSLoginForm object at 0x7fb3e72aa190> |
| messageCount | 0 |
| notifications | [] |
| ownedChannels | [] |
| recaptchaEnabled | False |
| request | <AnyJsonRequest 'https://bufr.zone/login' [GET]> |
| restartRequired | False |
| security | <flask_security.core.Security object at 0x7fb401a5d820> |
| session | <RedisSession {'_permanent': True, '_fresh': False, 'guestUUID': 'c280d4f3-af57-45f6-9257-17d6f726ba2d', 'csrf_token': 'f88e9db80aa950cfccf538c159104c9dacfae397'}> |
| static_pages | [] |
| sysSettings | <id 1> |
| SystemOAuthProviders | [<id 1>, <id 2>] |
| uploadTopics | [<id 1>, <id 2>, <id 3>, <id 4>, <id 5>, <id 6>] |
| url_for_security | <function url_for_security at 0x7fb405a62670> |
| (ms) | Action | Context | Query |
|---|---|---|---|
| 0.8266 |
SELECT EXPLAIN |
./app.py:922 (do_before_request) |
SELECT ip_list.id AS ip_list_id, ip_list.`ipAddress` AS `ip_list_ipAddress`, ip_list.reason AS ip_list_reason
FROM ip_list
WHERE ip_list.`ipAddress` = %(ipAddress_1)s
LIMIT %(param_1)s
|
| 21.9326 |
SELECT EXPLAIN |
./app.py:930 (do_before_request) |
SELECT `Guest`.id AS `Guest_id`, `Guest`.`UUID` AS `Guest_UUID`, `Guest`.last_active_at AS `Guest_last_active_at`, `Guest`.last_active_ip AS `Guest_last_active_ip`
FROM `Guest`
WHERE `Guest`.`UUID` = %(UUID_1)s
LIMIT %(param_1)s
|
| 12.3124 |
SELECT EXPLAIN |
./app.py:939 (do_before_request) |
SELECT `Guest`.id AS `Guest_id`, `Guest`.`UUID` AS `Guest_UUID`, `Guest`.last_active_at AS `Guest_last_active_at`, `Guest`.last_active_ip AS `Guest_last_active_ip`
FROM `Guest`
WHERE `Guest`.last_active_ip = %(last_active_ip_1)s
LIMIT %(param_1)s
|
| 0.3719 | ./app.py:945 (do_before_request) |
UPDATE `Guest` SET `UUID`=%(UUID)s, last_active_at=%(last_active_at)s WHERE `Guest`.id = %(Guest_id)s
|
No messages logged.
| URL route | Endpoint name | HTTP methods | Is alias | Redirect to |
|---|---|---|---|---|
| / | root.main_page | GET, HEAD, OPTIONS | False | None |
| /apiv1/ | api.doc | GET, HEAD, OPTIONS | False | None |
| /apiv1/ | api.root | GET, HEAD, OPTIONS | False | None |
| /apiv1/channel/ | api.channel_api_1__list_channels | GET, HEAD, OPTIONS, POST | False | None |
| /apiv1/channel/<string:channelEndpointID> | api.channel_api_1__list_channel | DELETE, GET, HEAD, OPTIONS, PUT | False | None |
| /apiv1/channel/<string:channelEndpointID>/invites | api.channel_api_1__invites | DELETE, GET, HEAD, OPTIONS, POST | False | None |
| /apiv1/channel/<string:channelEndpointID>/restreams | api.channel_api_1__get_restreams | GET, HEAD, OPTIONS | False | None |
| /apiv1/channel/<string:channelEndpointID>/streams | api.channel_api_1__streams | GET, HEAD, OPTIONS | False | None |
| /apiv1/channel/activeChannels | api.channel_api_1__active_channels | GET, HEAD, OPTIONS | False | None |
| /apiv1/channel/authed/ | api.channel_api_1__list_channel_authed | GET, HEAD, OPTIONS | False | None |
| /apiv1/channel/hubChannels | api.channel_api_1_hub_channels | GET, HEAD, OPTIONS | False | None |
| /apiv1/channel/hubChannelsLive | api.channel_api_1__active_hub_channels | GET, HEAD, OPTIONS | False | None |
| /apiv1/channel/search | api.channel_api_1__search_channels | OPTIONS, POST | False | None |
| /apiv1/clip/ | api.clip_api_1__list_clips | GET, HEAD, OPTIONS | False | None |
| /apiv1/clip/<int:clipID> | api.clip_api_1__list_clip | DELETE, GET, HEAD, OPTIONS, PUT | False | None |
| /apiv1/clip/search | api.clip_api_1__search_clips | OPTIONS, POST | False | None |
| /apiv1/rtmp/playbackauth | api.rtmp_api_1_rtmp_playbackauth | OPTIONS, POST | False | None |
| /apiv1/rtmp/reccheck | api.rtmp_api_1_rtmp_reccheck | OPTIONS, POST | False | None |
| /apiv1/rtmp/recclose | api.rtmp_api_1_rtmp_recclose | OPTIONS, POST | False | None |
| /apiv1/rtmp/stage1 | api.rtmp_api_1_rtmp_stage1 | OPTIONS, POST | False | None |
| /apiv1/rtmp/stage2 | api.rtmp_api_1_rtmp_stage2 | OPTIONS, POST | False | None |
| /apiv1/rtmp/streamclose | api.rtmp_api_1_rtmp_streamclose | OPTIONS, POST | False | None |
| /apiv1/server/ | api.server_api_1__server | GET, HEAD, OPTIONS | False | None |
| /apiv1/server/edges | api.server_api_1__edges | GET, HEAD, OPTIONS | False | None |
| /apiv1/server/ping | api.server_api_1__ping | GET, HEAD, OPTIONS | False | None |
| /apiv1/server/rtmp | api.server_api_1__rtmp | DELETE, GET, HEAD, OPTIONS, POST | False | None |
| /apiv1/stream/ | api.stream_api_1__list_streams | GET, HEAD, OPTIONS | False | None |
| /apiv1/stream/<int:streamID> | api.stream_api_1__list_stream | GET, HEAD, OPTIONS, PUT | False | None |
| /apiv1/stream/search | api.stream_api_1__search_streams | OPTIONS, POST | False | None |
| /apiv1/swagger.json | api.specs | GET, HEAD, OPTIONS | False | None |
| /apiv1/topic/ | api.topic_api_1__list_topics | GET, HEAD, OPTIONS | False | None |
| /apiv1/topic/<int:topicID> | api.topic_api_1__list_topic | GET, HEAD, OPTIONS | False | None |
| /apiv1/topic/search | api.topic_api_1__search_topics | OPTIONS, POST | False | None |
| /apiv1/user/ | api.user_api_1__admin_user | DELETE, GET, HEAD, OPTIONS, POST | False | None |
| /apiv1/user/<string:username> | api.user_api_1__list_user | GET, HEAD, OPTIONS | False | None |
| /apiv1/user/role | api.user_api_1__role_mgmt | DELETE, OPTIONS, POST | False | None |
| /apiv1/user/search | api.user_api_1__search_users | OPTIONS, POST | False | None |
| /apiv1/video/ | api.video_api_1__list_videos | GET, HEAD, OPTIONS | False | None |
| /apiv1/video/<int:videoID> | api.video_api_1__list_video | DELETE, GET, HEAD, OPTIONS, PUT | False | None |
| /apiv1/video/search | api.video_api_1__search_videos | OPTIONS, POST | False | None |
| /apiv1/xmpp/auth | api.xmpp_api_1_xmpp_auth | OPTIONS, POST | False | None |
| /apiv1/xmpp/isuser | api.xmpp_api_1_xmppisuser | OPTIONS, POST | False | None |
| /auth | root.auth_check | GET, HEAD, OPTIONS, POST | False | None |
| /c/<vanityURL> | root.vanityURL_channel_link | GET, HEAD, OPTIONS | False | None |
| /c/<vanityURL>/live | root.vanityURL_live_link | GET, HEAD, OPTIONS | False | None |
| /channel/ | channel.channels_page | GET, HEAD, OPTIONS | False | None |
| /channel/<int:chanID>/ | channel.channel_view_page | GET, HEAD, OPTIONS | False | None |
| /channel/<loc>/stream | channel.channel_stream_link_page | GET, HEAD, OPTIONS | False | None |
| /channel/link/<channelLoc>/ | channel.channel_view_link_page | GET, HEAD, OPTIONS | False | None |
| /clip/<clipID> | clip.view_clip_page | GET, HEAD, OPTIONS | False | None |
| /clip/<clipID>/change | clip.clip_change_page | OPTIONS, POST | False | None |
| /clip/<clipID>/delete | clip.delete_clip_page | GET, HEAD, OPTIONS | False | None |
| /confirm | security.send_confirmation | GET, HEAD, OPTIONS, POST | False | None |
| /confirm/<token> | security.confirm_email | GET, HEAD, OPTIONS, POST | False | None |
| /fs-static/<path:filename> | security.static | GET, HEAD, OPTIONS | False | None |
| /login | security.login | GET, HEAD, OPTIONS, POST | False | None |
| /logout | security.logout | GET, HEAD, OPTIONS, POST | False | None |
| /m3u8/stream/index.m3u8 | m3u8.get_stream_index | GET, HEAD, OPTIONS | False | None |
| /m3u8/video/index.m3u8 | m3u8.get_all_video_index | GET, HEAD, OPTIONS | False | None |
| /messages | root.messages_page | GET, HEAD, OPTIONS | False | None |
| /notifications | root.notification_page | GET, HEAD, OPTIONS | False | None |
| /oauth/authorize/<provider> | oauth.oAuthAuthorize | GET, HEAD, OPTIONS | False | None |
| /oauth/convert/<provider> | oauth.oAuthConvert | OPTIONS, POST | False | None |
| /oauth/login/<provider> | oauth.oAuthLogin | GET, HEAD, OPTIONS | False | None |
| /p/<static_page> | root.render_staticPage | GET, HEAD, OPTIONS | False | None |
| /play/<videoID> | play.view_vid_page | GET, HEAD, OPTIONS | False | None |
| /play/<videoID>/change | play.vid_change_page | OPTIONS, POST | False | None |
| /play/<videoID>/clip | play.vid_clip_page | OPTIONS, POST | False | None |
| /play/<videoID>/comment | play.comments_vid_page | GET, HEAD, OPTIONS, POST | False | None |
| /play/<videoID>/delete | play.delete_vid_page | GET, HEAD, OPTIONS | False | None |
| /play/<videoID>/move | play.vid_move_page | OPTIONS, POST | False | None |
| /profile/<username> | profile.profile_view_page | GET, HEAD, OPTIONS | False | None |
| /proxy-adapt/<channelLoc>.m3u8 | root.proxy_adaptive_redirect | GET, HEAD, OPTIONS | False | None |
| /proxy-adapt/<channelLoc>/<file> | root.proxy_adaptive_subfolder_redirect | GET, HEAD, OPTIONS | False | None |
| /proxy/<channelLoc>/<file> | root.proxy_redirect | GET, HEAD, OPTIONS | False | None |
| /register | security.register | GET, HEAD, OPTIONS, POST | False | None |
| /reset | security.forgot_password | GET, HEAD, OPTIONS, POST | False | None |
| /reset/<token> | security.reset_password | GET, HEAD, OPTIONS, POST | False | None |
| /robots.txt | root.static_from_root | GET, HEAD, OPTIONS | False | None |
| /rtmpCheck | root.rtmp_check | GET, HEAD, OPTIONS, POST | False | None |
| /search | root.search_page | GET, HEAD, OPTIONS, POST | False | None |
| /settings/admin/channels/ | settings.admin_settings.admin_settings_channels.admin_channels_page | GET, HEAD, OPTIONS | False | None |
| /settings/admin/create_test_task | settings.admin_settings.createtestask | GET, HEAD, OPTIONS | False | None |
| /settings/admin/dashboard | settings.admin_settings.admin_dashboard | GET, HEAD, OPTIONS | False | None |
| /settings/admin/edge/ | settings.admin_settings.admin_settings_edge.edge_page | GET, HEAD, OPTIONS | False | None |
| /settings/admin/edge/ | settings.admin_settings.admin_settings_edge.edge_post | OPTIONS, POST | False | None |
| /settings/admin/features | settings.admin_settings.admin_devFeatures | GET, HEAD, OPTIONS | False | None |
| /settings/admin/oauth/ | settings.admin_settings.admin_settings_oauth.ouath_page | GET, HEAD, OPTIONS | False | None |
| /settings/admin/oauth/ | settings.admin_settings.admin_settings_oauth.oauth_post | OPTIONS, POST | False | None |
| /settings/admin/roles/ | settings.admin_settings.admin_settings_roles.roles_page | GET, HEAD, OPTIONS | False | None |
| /settings/admin/roles/<string:role_name> | settings.admin_settings.admin_settings_roles.role_get_perms | GET, HEAD, OPTIONS | False | None |
| /settings/admin/roles/custom | settings.admin_settings.admin_settings_roles.role_set_perms | OPTIONS, POST | False | None |
| /settings/admin/roles/delete | settings.admin_settings.admin_settings_roles.delete_custom_role | OPTIONS, POST | False | None |
| /settings/admin/rtmp/ | settings.admin_settings.admin_settings_rtmp.rtmp_page | GET, HEAD, OPTIONS | False | None |
| /settings/admin/rtmp/ | settings.admin_settings.admin_settings_rtmp.rtmp_post | OPTIONS, POST | False | None |
| /settings/admin/rtmpstat/<node> | settings.admin_settings.rtmpStat_page | GET, HEAD, OPTIONS | False | None |
| /settings/admin/run_task/<task> | settings.admin_settings.run_task | GET, HEAD, OPTIONS | False | None |
| /settings/admin/scheduler | settings.admin_settings.scheduler_page | GET, HEAD, OPTIONS | False | None |
| /settings/admin/settings/ | settings.admin_settings.global_settings.global_settings_page | GET, HEAD, OPTIONS | False | None |
| /settings/admin/settings/ | settings.admin_settings.global_settings.global_settings_post | OPTIONS, POST | False | None |
| /settings/admin/stickers/ | settings.admin_settings.admin_settings_stickers.stickers_page | GET, HEAD, OPTIONS | False | None |
| /settings/admin/stickers/ | settings.admin_settings.admin_settings_stickers.stickers_post | OPTIONS, POST | False | None |
| /settings/admin/streams/ | settings.admin_settings.admin_settings_streams.streams_page | GET, HEAD, OPTIONS | False | None |
| /settings/admin/topics/ | settings.admin_settings.admin_settings_topics.topics_page | GET, HEAD, OPTIONS | False | None |
| /settings/admin/topics/ | settings.admin_settings.admin_settings_topics.topics_post | OPTIONS, POST | False | None |
| /settings/admin/users/ | settings.admin_settings.admin_settings_users.users_admin_page | GET, HEAD, OPTIONS | False | None |
| /settings/admin/users/ | settings.admin_settings.admin_settings_users.users_admin_post | OPTIONS, POST | False | None |
| /settings/admin/users/action/<string:action> | settings.admin_settings.admin_settings_users.users_admin_action | GET, HEAD, OPTIONS | False | None |
| /settings/admin/webhooks/ | settings.admin_settings.admin_settings_webhooks.admin_page | GET, HEAD, OPTIONS | False | None |
| /settings/api | settings.settings_apikeys_page | GET, HEAD, OPTIONS | False | None |
| /settings/api/<string:action> | settings.settings_apikeys_post_page | OPTIONS, POST | False | None |
| /settings/channels/ | settings.channel_settings.settings_channels_page | GET, HEAD, OPTIONS, POST | False | None |
| /settings/channels/chat | settings.channel_settings.settings_channels_chat_page | GET, HEAD, OPTIONS, POST | False | None |
| /settings/channels/streamKey | settings.channel_settings.settings_channel_new_stream_key | OPTIONS, POST | False | None |
| /settings/initialSetup | settings.initialSetup | OPTIONS, POST | False | None |
| /settings/user/ | settings.user_settings.user_page | GET, HEAD, OPTIONS, POST | False | None |
| /settings/user/addInviteCode | settings.user_settings.user_addInviteCode | GET, HEAD, OPTIONS | False | None |
| /settings/user/deleteSelf | settings.user_settings.user_delete_own_account | OPTIONS, POST | False | None |
| /settings/user/subscriptions | settings.user_settings.subscription_page | GET, HEAD, OPTIONS | False | None |
| /static/<path:filename> | static | GET, HEAD, OPTIONS | False | None |
| /streamer/ | streamers.streamers_page | GET, HEAD, OPTIONS | False | None |
| /streamer/<userID>/ | streamers.streamers_view_page | GET, HEAD, OPTIONS | False | None |
| /sw.js | root.static_from_root_sw | GET, HEAD, OPTIONS | False | None |
| /swaggerui/<path:filename> | restx_doc.static | GET, HEAD, OPTIONS | False | None |
| /tf-rescue | security.two_factor_rescue | GET, HEAD, OPTIONS, POST | False | None |
| /tf-select | security.tf_select | GET, HEAD, OPTIONS, POST | False | None |
| /tf-setup | security.two_factor_setup | GET, HEAD, OPTIONS, POST | False | None |
| /tf-validate | security.two_factor_token_validation | GET, HEAD, OPTIONS, POST | False | None |
| /topic/ | topic.topic_page | GET, HEAD, OPTIONS | False | None |
| /topic/<topicID>/ | topic.topic_view_page | GET, HEAD, OPTIONS | False | None |
| /u/<username> | root.vanityURL_username_link | GET, HEAD, OPTIONS | False | None |
| /unsubscribe | root.unsubscribe_page | GET, HEAD, OPTIONS | False | None |
| /upload/video-details | upload.upload_vid | OPTIONS, POST | False | None |
| /upload/video-files | upload.upload | GET, HEAD, OPTIONS, POST | False | None |
| /verify | security.verify | GET, HEAD, OPTIONS, POST | False | None |
| /view/<loc>/ | liveview.view_page | GET, HEAD, OPTIONS | False | None |
| /xmpp | root.xmpp_proxy | DELETE, GET, HEAD, OPTIONS, POST | False | None |
| Key | Value |
|---|---|
| _login_user | <flask_security.core.AnonymousUser object at 0x7fb3e7186eb0> |
| csrf_token | ImY4OGU5ZGI4MGFhOTUwY2ZjY2Y1MzhjMTU5MTA0YzlkYWNmYWUzOTci.aPuayA.6aT1K7Hxy9gDub4Eq_vB9Sfxulg |
| debug_toolbar | <flask_debugtoolbar.DebugToolbarExtension object at 0x7fb401d70130> |
| identity | <AnonymousIdentity id="None" auth_type="None" provides=set()> |