Location: /login?next=%2Fplay%2F3861%2Fdelete
The Flask Debug Toolbar has intercepted a redirect to the above URL for
debug viewing purposes. You can click the above link to continue with the
redirect as normal. If you'd like to disable this feature, you can set the
config variable DEBUG_TB_INTERCEPT_REDIRECTS to False.
Installation paths relative to:
/opt/osp/venv/lib/python3.10/site-packages
| Package | Version | Installed Path |
|---|---|---|
| aiohttp | 3.8.1 | |
| aiosignal | 1.3.1 | |
| alembic | 1.8.0 | |
| amqp | 5.1.1 | |
| aniso8601 | 7.0.0 | |
| async-timeout | 4.0.3 | |
| attrs | 23.1.0 | |
| Authlib | 0.14.1 | |
| Babel | 2.9.1 | |
| bidict | 0.21.4 | |
| billiard | 3.6.4.0 | |
| bleach | 3.3.0 | |
| blinker | 1.7.0 | |
| cachelib | 0.9.0 | |
| celery | 5.2.7 | |
| certifi | 2023.7.22 | |
| cffi | 1.16.0 | |
| cfgv | 3.4.0 | |
| charset-normalizer | 2.1.1 | |
| click | 8.1.3 | |
| click-didyoumean | 0.3.0 | |
| click-plugins | 1.1.1 | |
| click-repl | 0.3.0 | |
| cryptography | 41.0.5 | |
| DateTime | 5.4 | |
| Deprecated | 1.2.14 | |
| distlib | 0.3.7 | |
| dnspython | 2.4.2 | |
| email-validator | 1.1.3 | |
| filelock | 3.13.1 | |
| Flask | 2.1.2 | |
| Flask-Babel | 2.0.0 | |
| Flask-Caching | 2.0.2 | |
| Flask-Cors | 3.0.10 | |
| Flask-DebugToolbar | 0.13.1 | |
| Flask-Limiter | 1.1.0 | |
| Flask-Login | 0.6.2 | |
| Flask-Mail | 0.9.1 | |
| Flask-Markdown | 0.3 | |
| 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.4.0 | |
| future | 0.18.3 | |
| gevent | 22.10.2 | |
| gevent-websocket | 0.10.1 | |
| gitdb2 | 2.0.5 | |
| GitPython | 2.1.11 | |
| greenlet | 2.0.2 | |
| gunicorn | 20.1.0 | |
| identify | 2.5.31 | |
| idna | 3.4 | |
| importlib-resources | 6.1.0 | |
| itsdangerous | 2.1.2 | |
| Jinja2 | 3.1.2 | |
| jsonschema | 4.19.2 | |
| jsonschema-specifications | 2023.7.1 | |
| kombu | 5.3.2 | |
| limits | 3.6.0 | |
| Mako | 1.0.13 | |
| Markdown | 3.5.1 | |
| MarkupSafe | 2.1.1 | |
| multidict | 6.0.4 | |
| nodeenv | 1.8.0 | |
| packaging | 23.2 | |
| passlib | 1.7.4 | |
| pilkit | 2.0 | |
| Pillow | 9.4.0 | |
| pip | 22.0.2 | |
| platformdirs | 3.11.0 | |
| pre-commit | 2.19.0 | |
| prompt-toolkit | 3.0.39 | |
| psutil | 5.7.0 | |
| psycopg2-binary | 2.8.5 | |
| pycparser | 2.21 | |
| PyMySQL | 0.9.3 | |
| pypng | 0.20220715.0 | |
| PyQRCode | 1.2.1 | |
| python-dateutil | 2.8.0 | |
| 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.1 | |
| qrcode | 7.4.2 | |
| redis | 4.3.3 | |
| referencing | 0.30.2 | |
| requests | 2.28.2 | |
| rpds-py | 0.12.0 | |
| sentry-sdk | 1.12.1 | |
| setuptools | 59.6.0 | |
| six | 1.16.0 | |
| smmap2 | 2.0.5 | |
| speaklater | 1.3 | |
| SQLAlchemy | 1.4.37 | |
| toml | 0.10.2 | |
| typing-extensions | 4.8.0 | |
| urllib3 | 1.26.18 | |
| vine | 5.1.0 | |
| virtualenv | 20.24.6 | |
| wcwidth | 0.2.9 | |
| webencodings | 0.5.1 | |
| Werkzeug | 2.1.2 | |
| wheel | 0.41.1 | |
| wrapt | 1.15.0 | |
| WTForms | 3.0.1 | |
| xmltodict | 0.13.0 | |
| yarl | 1.9.2 | |
| zope.event | 5.0 | |
| zope.interface | 6.1 |
| Resource | Value |
|---|---|
| User CPU time | 9.200 msec |
| System CPU time | 0.100 msec |
| Total CPU time | 9.300 msec |
| Elapsed time | 170.704 msec |
| Context switches | 7 voluntary, 0 involuntary |
| Key | Value |
|---|---|
| HTTP_ACCEPT | */* |
| HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate |
| HTTP_CONNECTION | close |
| HTTP_HOST | conference.hyperiontv.net: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.217.116 |
| REQUEST_METHOD | GET |
| SCRIPT_NAME | |
| SERVER_NAME | hyperiontv |
| SERVER_PORT | 5006 |
| SERVER_PROTOCOL | HTTP/1.0 |
| SERVER_SOFTWARE | gevent/22.10.2 gunicorn/20.1.0 |
| View Function | args | kwargs |
|---|---|---|
| blueprints.play.delete_vid_page | [] | videoID=3861 |
| Variable | Value |
|---|
| Variable | Value |
|---|---|
| '_permanent' | True |
| '_fresh' | False |
| 'guestUUID' | 'cc044f4a-4d96-45fa-88ec-2cdefc9ca54e' |
| '_flashes' | [('info', 'Please log in to access this page.')] |
| 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 | 'postmaster@norep.hyperiontv.net' |
| MAIL_PASSWORD | 'bb8d5c8e59aa6c8301d9bfaa69a979c9-16bc1610-d967312c' |
| MAIL_PORT | 587 |
| MAIL_SERVER | 'smtp.eu.mailgun.org' |
| MAIL_USE_SSL | False |
| MAIL_USE_TLS | True |
| MAIL_USERNAME | 'postmaster@norep.hyperiontv.net' |
| 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_HEADER_LIMIT | 'X-RateLimit-Limit' |
| RATELIMIT_HEADER_REMAINING | 'X-RateLimit-Remaining' |
| RATELIMIT_HEADER_RESET | 'X-RateLimit-Reset' |
| RATELIMIT_HEADER_RETRY_AFTER | 'Retry-After' |
| RATELIMIT_HEADERS_ENABLED | False |
| RATELIMIT_STORAGE_URL | 'redis://localhost:6379' |
| RATELIMIT_STRATEGY | 'fixed-window' |
| RATELIMIT_SWALLOW_ERRORS | False |
| RECAPTCHA_PRIVATE_KEY | '6Lcj8UYiAAAAANAs6CtWVqExApYq2IDmbThQiTV4' |
| RECAPTCHA_PUBLIC_KEY | '6Lcj8UYiAAAAACCAsOY5N7y7Vop_QnnSRQw3Aixw' |
| RESTX_INCLUDE_ALL_MODELS | False |
| RESTX_MASK_HEADER | 'X-Fields' |
| RESTX_MASK_SWAGGER | True |
| result_backend | 'redis://localhost:6379' |
| SECRET_KEY | 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890' |
| 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 0x56365e64ee20> |
| 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 | 'postmaster@norep.hyperiontv.net' |
| SECURITY_EMAIL_SUBJECT_CONFIRM | 'HyperionTV - Streaming and More - Email Confirmation Request' |
| SECURITY_EMAIL_SUBJECT_PASSWORD_CHANGE_NOTICE | 'Your password has been changed' |
| SECURITY_EMAIL_SUBJECT_PASSWORD_NOTICE | 'HyperionTV - Streaming and More - Password Reset Notification' |
| SECURITY_EMAIL_SUBJECT_PASSWORD_RESET | 'HyperionTV - Streaming and More - Password Reset Request' |
| SECURITY_EMAIL_SUBJECT_PASSWORDLESS | 'Login instructions' |
| SECURITY_EMAIL_SUBJECT_REGISTER | 'HyperionTV - Streaming and More - 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/osp/venv/lib/python3.10/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 | 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890' |
| SECURITY_PASSWORD_SCHEMES | ['bcrypt', 'argon2', 'des_crypt', 'pbkdf2_sha256', 'pbkdf2_sha512', 'sha256_crypt', 'sha512_crypt', 'plaintext'] |
| SECURITY_PASSWORD_SINGLE_HASH | {'django_bcrypt_sha256', 'django_salted_md5', 'plaintext', 'django_salted_sha1', 'django_argon2', 'django_bcrypt', 'django_pbkdf2_sha256', 'django_des_crypt', 'django_pbkdf2_sha1'} |
| 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 | 'HyperionTV - Streaming and More' |
| SECURITY_TOTP_SECRETS | {'1': 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'} |
| 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 0x7f0f059f95a0>, '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 | 'ospSession' |
| SESSION_COOKIE_PATH | None |
| SESSION_COOKIE_SAMESITE | 'Lax' |
| SESSION_COOKIE_SECURE | True |
| 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://hyperiontv:Darkpaw32@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', 'MP4'] |
| VIDEO_UPLOAD_TEMPFOLDER | '/var/www/videos/temp' |
| WEB_ROOT | '/var/www/' |
No template rendered
| (ms) | Action | Context | Query |
|---|---|---|---|
| 0.7439 |
SELECT EXPLAIN |
./app.py:940 (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
|
| 82.5133 |
SELECT EXPLAIN |
./app.py:950 (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
|
| 78.7838 |
SELECT EXPLAIN |
./app.py:959 (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.8152 | ./app.py:963 (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_list_page | GET, HEAD, OPTIONS | False | None |
| /settings/channels/<int:channelId> | settings.channel_settings.settings_channel_details_page | GET, HEAD, OPTIONS, POST | False | None |
| /settings/channels/<int:channelId>/delete | settings.channel_settings.settings_channels_delete_channel | OPTIONS, POST | False | None |
| /settings/channels/chat | settings.channel_settings.settings_channels_chat_page | GET, HEAD, OPTIONS, POST | False | None |
| /settings/channels/new | settings.channel_settings.settings_channels_new_channel | 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 |
| /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 0x7f0f005a3c40> |
| debug_toolbar | <flask_debugtoolbar.DebugToolbarExtension object at 0x7f0f01c58a90> |
| identity | <AnonymousIdentity id="None" auth_type="None" provides=set()> |
| view_rate_limit | None |