Are you sure that you want to perform this action? This action is irreversible.
*Emphasized text*
**Bold Text**
*** (Horizontal rule)
> Blockquote
[Google](http://www.google.com)
[Google](http://www.google.com "Google")

[](http://google.com)
print "Hello World"
For a more detailed info visit the official Markdown website
Current Site Packages Directory:
/usr/local/lib/python3.12/site-packages
| Package | Version | Homepage | Summary |
|---|---|---|---|
| alembic | 1.18.4 | None | A database migration tool for SQLAlchemy. |
| amqp | 5.3.1 | http://github.com/celery/py-amqp | Low-level AMQP client for Python (fork of amqplib). |
| attrs | 26.1.0 | None | Classes Without Boilerplate |
| babel | 2.18.0 | https://babel.pocoo.org/ | Internationalization utilities |
| billiard | 4.2.4 | https://github.com/celery/billiard | Python multiprocessing fork with improvements and bugfixes |
| blinker | 1.9.0 | None | Fast, simple object-to-object and broadcast signaling |
| cachelib | 0.14.0 | None | A collection of cache libraries in the same API interface. |
| celery | 5.6.3 | https://docs.celeryq.dev/ | Distributed Task Queue. |
| certifi | 2026.5.20 | https://github.com/certifi/python-certifi | Python package for providing Mozilla's CA Bundle. |
| charset-normalizer | 3.4.7 | None | The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet. |
| click | 8.4.1 | None | Composable command line interface toolkit |
| click-didyoumean | 0.3.1 | https://github.com/click-contrib/click-didyoumean | Enables git-like *did-you-mean* feature in click |
| click-log | 0.4.0 | https://github.com/click-contrib/click-log | Logging integration for Click |
| click-plugins | 1.1.1.2 | https://github.com/click-contrib/click-plugins | An extension module for click to enable registering CLI commands via setuptools entry-points. |
| click-repl | 0.3.0 | https://github.com/untitaker/click-repl | REPL plugin for Click |
| Deprecated | 1.3.1 | https://github.com/laurent-laporte-pro/deprecated | Python @deprecated decorator to deprecate old python classes, functions or methods. |
| dnspython | 2.8.0 | None | DNS toolkit |
| email-validator | 2.3.0 | https://github.com/JoshData/python-email-validator | A robust email address syntax and deliverability validation library. |
| Flask | 3.1.3 | None | A simple framework for building complex web applications. |
| Flask-Alembic | 3.2.0 | None | Integrate Alembic with Flask. |
| Flask-Allows2 | 1.2.0 | None | Impose authorization requirements on Flask routes |
| Flask-BabelPlus | 2.4.1 | None | Adds i18n/l10n support to Flask applications |
| Flask-Caching | 2.4.0 | None | Adds caching support to Flask applications. |
| Flask-DebugToolbar | 0.16.0 | None | A toolbar overlay for debugging Flask applications. |
| flask-debugtoolbar-warnings | 0.1.0 | https://github.com/flaskbb/flask-debugtoolbar-warnings | Adds warnings support to Flask-Debugtoolbar |
| Flask-Limiter | 4.1.1 | None | Rate limiting for flask applications |
| Flask-Login | 0.6.3 | https://github.com/maxcountryman/flask-login | User authentication and session management for Flask. |
| Flask-Mail | 0.10.0 | None | Flask extension for sending email |
| flask-redis | 0.4.0 | https://github.com/underyx/flask-redis/ | A nice way to use Redis in your Flask app |
| Flask-SQLAlchemy | 3.1.1 | None | Add SQLAlchemy support to your Flask application. |
| Flask-Themes2 | 1.0.1 | https://github.com/sysr-q/flask-themes2 | Provides infrastructure for theming Flask applications |
| flask-whooshee | 0.9.1 | https://github.com/fedora-copr/flask-whooshee | Flask-SQLAlchemy - Whoosh Integration |
| Flask-WTF | 1.3.0 | None | Form rendering, validation, and CSRF protection for Flask with WTForms. |
| FlaskBB | 2.2.0 | None | A classic Forum Software in Python using Flask. |
| flaskbb-plugin-conversations | 2.0.1 | None | A private messaging plugin for FlaskBB |
| flaskbb-plugin-portal | 2.0.0 | None | A portal plugin for FlaskBB. |
| greenlet | 3.5.1 | None | Lightweight in-process concurrent programming |
| gunicorn | 26.0.0 | None | WSGI HTTP Server for UNIX |
| idna | 3.18 | None | Internationalized Domain Names in Applications (IDNA) |
| itsdangerous | 2.2.0 | None | Safely pass data to untrusted environments and back. |
| Jinja2 | 3.1.6 | None | A very fast and expressive template engine. |
| kombu | 5.6.2 | https://kombu.readthedocs.io | Messaging library for Python. |
| limits | 5.8.0 | None | Rate limiting utilities |
| Mako | 1.3.12 | https://www.makotemplates.org/ | A super-fast templating language that borrows the best ideas from the existing templating languages. |
| MarkupSafe | 3.0.3 | None | Safely add untrusted strings to HTML/XML markup. |
| mistune | 3.2.1 | None | A sane and fast Markdown parser with useful plugins and renderers |
| ordered-set | 4.1.0 | None | An OrderedSet is a custom MutableSet that remembers its order, so that every |
| packaging | 26.2 | None | Core utilities for Python packages |
| pillow | 12.2.0 | None | Python Imaging Library (fork) |
| pip | 26.1.2 | None | The PyPA recommended tool for installing Python packages. |
| pluggy | 1.6.0 | None | plugin and hook calling mechanisms for python |
| prompt_toolkit | 3.0.52 | None | Library for building powerful interactive command lines in Python |
| Pygments | 2.20.0 | None | Pygments is a syntax highlighting package written in Python. |
| PyJWT | 2.13.0 | None | JSON Web Token implementation in Python |
| python-dateutil | 2.9.0.post0 | https://github.com/dateutil/dateutil | Extensions to the standard Python datetime module |
| pytz | 2026.2 | http://pythonhosted.org/pytz | World timezone definitions, modern and historical |
| redis | 8.0.0 | None | Python client for Redis database and key-value store |
| requests | 2.34.2 | None | Python HTTP for Humans. |
| setuptools | 80.10.2 | None | Easily download, build, install, upgrade, and uninstall Python packages |
| six | 1.17.0 | https://github.com/benjaminp/six | Python 2 and 3 compatibility utilities |
| SQLAlchemy | 2.0.50 | https://www.sqlalchemy.org | Database Abstraction Library |
| SQLAlchemy-Utils | 0.42.1 | None | Various utility functions for SQLAlchemy. |
| typing_extensions | 4.15.0 | None | Backported and Experimental Type Hints for Python 3.9+ |
| tzdata | 2026.2 | https://github.com/python/tzdata | Provider of IANA time zone data |
| tzlocal | 5.3.1 | None | tzinfo object for the local timezone |
| Unidecode | 1.4.0 | UNKNOWN | ASCII transliterations of Unicode text |
| urllib3 | 2.7.0 | None | HTTP library with thread-safe connection pooling, file post, and more. |
| vine | 5.1.0 | https://github.com/celery/vine | Python promises. |
| wcwidth | 0.8.1 | None | Measures the displayed width of unicode strings in a terminal |
| Werkzeug | 3.1.8 | None | The comprehensive WSGI web application library. |
| wheel | 0.47.0 | None | Command line tool for manipulating wheel files |
| Whoosh | 2.7.4 | http://bitbucket.org/mchaput/whoosh | Fast, pure-Python full text indexing, search, and spell checking library. |
| wrapt | 2.2.1 | None | Module for decorators, wrappers and monkey patching. |
| WTForms | 3.2.2 | None | Form validation and rendering for Python web development. |
| WTForms-SQLAlchemy | 0.4.2 | None | SQLAlchemy tools for WTForms |
| Resource | Value |
|---|---|
| User CPU time | 14.665 msec |
| System CPU time | 0.107 msec |
| Total CPU time | 14.772 msec |
| Elapsed time | 23.629 msec |
| Context switches | 64 voluntary, 0 involuntary |
| Key | Value |
|---|---|
| HTTP_ACCEPT | */* |
| HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate |
| HTTP_HOST | flaskbb--ben.eu1.ezivr.com |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| QUERY_STRING | |
| REMOTE_ADDR | 10.64.0.1 |
| REQUEST_METHOD | GET |
| SCRIPT_NAME | |
| SERVER_NAME | 0.0.0.0 |
| SERVER_PORT | 8000 |
| SERVER_PROTOCOL | HTTP/1.1 |
| SERVER_SOFTWARE | gunicorn/26.0.0 |
| View Function | kwargs |
|---|---|
| flaskbb.auth.views.register | None |
| Variable | Value |
|---|
| Variable | Value |
|---|---|
| 'csrf_token' | '9e4bcd9d0e8534a76bdd5626421929330d764834' |
| Variable | Value |
|---|
| Variable | Value |
|---|
| Key | Value |
|---|---|
| ADMIN_URL_PREFIX | '/admin' |
| ADMINS | ['admin@yourdomain'] |
| ALEMBIC | {'script_location': '/app/flaskbb/migrations', 'version_locations': [('portal', '/usr/local/lib/python3.12/site-packages/portal/migrations'), ('conversations', '/usr/local/lib/python3.12/site-packages/conversations/migrations')], 'file_template': '%%(year)d%%(month).2d%%(day).2d%%(hour).2d%%(minute).2d_%%(rev)s_%%(slug)s', 'path_separator': 'os'} |
| ALEMBIC_CONTEXT | {'render_as_batch': True, 'compare_server_default': True} |
| ALLOWED_HOSTS | None |
| APPLICATION_ROOT | '/' |
| AUTH_URL_PREFIX | '/auth' |
| BABEL_CONFIGURE_JINJA | True |
| BABEL_DEFAULT_LOCALE | 'en' |
| BABEL_DEFAULT_TIMEZONE | 'UTC' |
| BABEL_DOMAIN | <flaskbb.utils.translations.FlaskBBDomain object at 0x7f3a19ae3710> |
| CACHE_DEFAULT_TIMEOUT | 60 |
| CACHE_TYPE | 'SimpleCache' |
| CELERY_CONFIG | {'broker_url': 'redis://localhost:6379', 'result_backend': 'redis://localhost:6379', 'broker_transport_options': {'max_retries': 1}} |
| CONFIG_PATH | '/app/flaskbb.cfg' |
| 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_warnings.WarningsPanel'] |
| DEBUG_TB_ROUTES_HOST | None |
| DEPRECATION_LEVEL | 'default' |
| EXPLAIN_TEMPLATE_LOADING | False |
| FORUM_URL_PREFIX | '' |
| LOG_CONF_FILE | None |
| LOG_DEFAULT_CONF | {'version': 1, 'disable_existing_loggers': False, 'formatters': {'standard': {'format': '%(asctime)s %(levelname)-7s %(name)-25s %(message)s'}, 'advanced': {'format': '%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]'}}, 'handlers': {'console': {'level': 'NOTSET', 'formatter': 'standard', 'class': 'logging.StreamHandler'}, 'flaskbb': {'level': 'DEBUG', 'formatter': 'standard', 'class': 'logging.handlers.RotatingFileHandler', 'filename': '/app/logs/flaskbb.log', 'mode': 'a', 'maxBytes': 10485760, 'backupCount': 5}, 'infolog': {'level': 'INFO', 'formatter': 'standard', 'class': 'logging.handlers.RotatingFileHandler', 'filename': '/app/logs/info.log', 'mode': 'a', 'maxBytes': 10485760, 'backupCount': 5}, 'errorlog': {'level': 'ERROR', 'formatter': 'standard', 'class': 'logging.handlers.RotatingFileHandler', 'filename': '/app/logs/error.log', 'mode': 'a', 'maxBytes': 10485760, 'backupCount': 5}}, 'loggers': {'flask.app': {'handlers': ['infolog', 'errorlog'], 'level': 'INFO', 'propagate': True}, 'flaskbb': {'handlers': ['console', 'flaskbb'], 'level': 'DEBUG', 'propagate': True}}} |
| LOG_PATH | '/app/logs' |
| LOGIN_MESSAGE_CATEGORY | 'info' |
| LOGIN_VIEW | 'auth.login' |
| MAIL_DEFAULT_SENDER | ('FlaskBB Mailer', 'noreply@yourdomain') |
| MAIL_PASSWORD | '' |
| MAIL_PORT | 25 |
| MAIL_SERVER | 'localhost' |
| MAIL_USE_SSL | False |
| MAIL_USE_TLS | False |
| MAIL_USERNAME | '' |
| MAX_CONTENT_LENGTH | None |
| MAX_COOKIE_SIZE | 4093 |
| MAX_FORM_MEMORY_SIZE | 500000 |
| MAX_FORM_PARTS | 1000 |
| MESSAGE_URL_PREFIX | '/message' |
| PERMANENT_SESSION_LIFETIME | datetime.timedelta(days=31) |
| PREFERRED_URL_SCHEME | 'http' |
| PROPAGATE_EXCEPTIONS | None |
| PROVIDE_AUTOMATIC_OPTIONS | True |
| RATELIMIT_ENABLED | True |
| RATELIMIT_STORAGE_URI | 'memory://' |
| RATELIMIT_STRATEGY | 'fixed-window' |
| REAUTH_VIEW | 'auth.reauth' |
| REDIS_DATABASE | 0 |
| REDIS_ENABLED | False |
| REDIS_URL | 'redis://localhost:6379' |
| REFRESH_MESSAGE_CATEGORY | 'info' |
| REMEMBER_COOKIE_DOMAIN | None |
| REMEMBER_COOKIE_DURATION | datetime.timedelta(days=365) |
| REMEMBER_COOKIE_HTTPONLY | True |
| REMEMBER_COOKIE_NAME | 'remember_token' |
| REMEMBER_COOKIE_PATH | '/' |
| REMEMBER_COOKIE_SECURE | False |
| REMOVE_DEAD_PLUGINS | False |
| SECRET_KEY | '6041b8bafc7869d3f757a284ba26a8f1732f10b0bee4c674' |
| SECRET_KEY_FALLBACKS | None |
| SEND_FILE_MAX_AGE_DEFAULT | None |
| SEND_LOGS | False |
| SERVER_NAME | 'localhost:5000' |
| SESSION_COOKIE_DOMAIN | None |
| SESSION_COOKIE_HTTPONLY | True |
| SESSION_COOKIE_NAME | 'session' |
| SESSION_COOKIE_PARTITIONED | False |
| SESSION_COOKIE_PATH | None |
| SESSION_COOKIE_SAMESITE | None |
| SESSION_COOKIE_SECURE | False |
| SESSION_REFRESH_EACH_REQUEST | True |
| SQLALCHEMY_BINDS | {} |
| SQLALCHEMY_DATABASE_URI | 'sqlite:////app/flaskbb.sqlite' |
| SQLALCHEMY_ECHO | False |
| SQLALCHEMY_ENGINE_OPTIONS | {} |
| SQLALCHEMY_RECORD_QUERIES | False |
| SQLALCHEMY_TRACK_MODIFICATIONS | False |
| TEMPLATES_AUTO_RELOAD | None |
| TESTING | False |
| TRAP_BAD_REQUEST_ERRORS | None |
| TRAP_HTTP_EXCEPTIONS | False |
| TRUSTED_HOSTS | None |
| USE_DEFAULT_LOGGING | True |
| USE_X_SENDFILE | False |
| USER_URL_PREFIX | '/user' |
| WHOOSHEE_DIR | '/app/whoosh_index/312' |
| WHOOSHEE_MIN_STRING_LEN | 3 |
| WHOOSHEE_WRITER_TIMEOUT | 2 |
| WTF_CSRF_CHECK_DEFAULT | True |
| WTF_CSRF_ENABLED | True |
| WTF_CSRF_FIELD_NAME | 'csrf_token' |
| WTF_CSRF_HEADERS | ['X-CSRFToken', 'X-CSRF-Token'] |
| WTF_CSRF_META_NAME | 'csrf-token' |
| WTF_CSRF_METHODS | {'PUT', 'DELETE', 'POST', 'PATCH'} |
| WTF_CSRF_SECRET_KEY | 'ac251f875224cd013e8b07aadff497f700e2a942624630c5' |
| WTF_CSRF_SSL_STRICT | True |
| WTF_CSRF_TIME_LIMIT | 3600 |
| WTF_I18N_ENABLED | False |
| Variable | Value |
|---|---|
| _theme | 'aurora' |
| csrf_meta_tag | <function csrf_meta_tag at 0x7f3a1bd37d80> |
| csrf_token | <function generate_csrf at 0x7f3a1bd05bc0> |
| current_user | <flaskbb.user.models.Guest object at 0x7f3a181d8170> |
| flaskbb_config | <flaskbb.utils.settings.FlaskBBConfig object at 0x7f3a1b138a70> |
| form | <flaskbb.auth.forms.RegisterForm object at 0x7f3a181daf90> |
| format_date | <function format_date at 0x7f3a1b15b100> |
| g | <flask.g of 'flaskbb'> |
| now | datetime.datetime(2026, 6, 15, 11, 19, 55, 762498, tzinfo=datetime.timezone.utc) |
| request | <Request 'http://flaskbb--ben.eu1.ezivr.com/auth/register' [GET]> |
The toolbar was unable to fetch the SQLAlchemy queries for this request. To enable the SQLAlchemy query display, please:
Since this app is not currently running in DEBUG mode, Flask-SQLAlchemy will not record queries by default. To enable query recording in non-debug mode, set the following configuration value:
app.config['SQLALCHEMY_RECORD_QUERIES'] = True
See the
documention of Flask-SQLAlchemy's get_debug_queries()
for additional details.
No messages logged.
| URL route | Endpoint name | HTTP methods | Is alias | Redirect to |
|---|---|---|---|---|
| / | forum.index | GET, HEAD, OPTIONS | False | None |
| /<int:forum_id>-<slug>/markread | forum.markread | OPTIONS, POST | False | None |
| /<int:forum_id>-<slug>/topic/new | forum.new_topic | GET, HEAD, OPTIONS, POST | False | None |
| /<int:forum_id>/markread | forum.markread | OPTIONS, POST | False | None |
| /<int:forum_id>/topic/new | forum.new_topic | GET, HEAD, OPTIONS, POST | False | None |
| /_themes/<themeid>/<path:filename> | _themes.static | GET, HEAD, OPTIONS | False | None |
| /admin/ | management.overview | GET, HEAD, OPTIONS | False | None |
| /admin/category/<int:category_id>/delete | management.delete_category | OPTIONS, POST | False | None |
| /admin/category/<int:category_id>/edit | management.edit_category | GET, HEAD, OPTIONS, POST | False | None |
| /admin/category/add | management.add_category | GET, HEAD, OPTIONS, POST | False | None |
| /admin/celerystatus | management.celery_status | GET, HEAD, OPTIONS | False | None |
| /admin/forums | management.forums | GET, HEAD, OPTIONS | False | None |
| /admin/forums/<int:category_id>/add | management.add_forum | GET, HEAD, OPTIONS, POST | False | None |
| /admin/forums/<int:forum_id>/delete | management.delete_forum | OPTIONS, POST | False | None |
| /admin/forums/<int:forum_id>/edit | management.edit_forum | GET, HEAD, OPTIONS, POST | False | None |
| /admin/forums/add | management.add_forum | GET, HEAD, OPTIONS, POST | False | None |
| /admin/groups | management.groups | GET, HEAD, OPTIONS | False | None |
| /admin/groups/<int:group_id>/delete | management.delete_group | OPTIONS, POST | False | None |
| /admin/groups/<int:group_id>/edit | management.edit_group | GET, HEAD, OPTIONS, POST | False | None |
| /admin/groups/add | management.add_group | GET, HEAD, OPTIONS, POST | False | None |
| /admin/groups/delete | management.delete_group | OPTIONS, POST | False | None |
| /admin/plugins | management.plugins | GET, HEAD, OPTIONS | False | None |
| /admin/plugins/<path:name>/disable | management.disable_plugin | OPTIONS, POST | False | None |
| /admin/plugins/<path:name>/enable | management.enable_plugin | OPTIONS, POST | False | None |
| /admin/plugins/<path:name>/install | management.install_plugin | OPTIONS, POST | False | None |
| /admin/plugins/<path:name>/uninstall | management.uninstall_plugin | OPTIONS, POST | False | None |
| /admin/reports | management.reports | GET, HEAD, OPTIONS | False | None |
| /admin/reports/<int:report_id>/delete | management.delete_report | OPTIONS, POST | False | None |
| /admin/reports/<int:report_id>/markread | management.report_markread | OPTIONS, POST | False | None |
| /admin/reports/delete | management.delete_report | OPTIONS, POST | False | None |
| /admin/reports/markread | management.report_markread | OPTIONS, POST | False | None |
| /admin/reports/unread | management.unread_reports | GET, HEAD, OPTIONS | False | None |
| /admin/settings | management.settings | GET, HEAD, OPTIONS, POST | False | None |
| /admin/settings/<path:slug> | management.settings | GET, HEAD, OPTIONS, POST | False | None |
| /admin/settings/plugin/<path:plugin> | management.settings | GET, HEAD, OPTIONS, POST | False | None |
| /admin/users | management.users | GET, HEAD, OPTIONS, POST | False | None |
| /admin/users/<int:user_id>/ban | management.ban_user | OPTIONS, POST | False | None |
| /admin/users/<int:user_id>/delete | management.delete_user | OPTIONS, POST | False | None |
| /admin/users/<int:user_id>/edit | management.edit_user | GET, HEAD, OPTIONS, POST | False | None |
| /admin/users/<int:user_id>/unban | management.unban_user | OPTIONS, POST | False | None |
| /admin/users/add | management.add_user | GET, HEAD, OPTIONS, POST | False | None |
| /admin/users/ban | management.ban_user | OPTIONS, POST | False | None |
| /admin/users/banned | management.banned_users | GET, HEAD, OPTIONS, POST | False | None |
| /admin/users/delete | management.delete_user | OPTIONS, POST | False | None |
| /admin/users/unban | management.unban_user | OPTIONS, POST | False | None |
| /auth/activate | auth.request_activation_token | GET, HEAD, OPTIONS, POST | False | None |
| /auth/activate/confirm | auth.activate_account | GET, HEAD, OPTIONS, POST | False | None |
| /auth/activate/confirm/<token> | auth.autoactivate_account | GET, HEAD, OPTIONS | False | None |
| /auth/login | auth.login | GET, HEAD, OPTIONS, POST | False | None |
| /auth/logout | auth.logout | GET, HEAD, OPTIONS | False | None |
| /auth/reauth | auth.reauth | GET, HEAD, OPTIONS, POST | False | None |
| /auth/register | auth.register | GET, HEAD, OPTIONS, POST | False | None |
| /auth/reset-password | auth.forgot_password | GET, HEAD, OPTIONS, POST | False | None |
| /auth/reset-password/<token> | auth.reset_password | GET, HEAD, OPTIONS, POST | False | None |
| /category/<int:category_id> | forum.view_category | GET, HEAD, OPTIONS | False | None |
| /category/<int:category_id>-<slug> | forum.view_category | GET, HEAD, OPTIONS | False | None |
| /conversations/ | conversations_bp.inbox | GET, HEAD, OPTIONS | False | None |
| /conversations/<int:conversation_id>/delete | conversations_bp.delete_conversation | OPTIONS, POST | False | None |
| /conversations/<int:conversation_id>/edit | conversations_bp.edit_conversation | GET, HEAD, OPTIONS, POST | False | None |
| /conversations/<int:conversation_id>/move | conversations_bp.move_conversation | OPTIONS, POST | False | None |
| /conversations/<int:conversation_id>/restore | conversations_bp.restore_conversation | OPTIONS, POST | False | None |
| /conversations/<int:conversation_id>/view | conversations_bp.view_conversation | GET, HEAD, OPTIONS, POST | False | None |
| /conversations/drafts | conversations_bp.drafts | GET, HEAD, OPTIONS | False | None |
| /conversations/inbox | conversations_bp.inbox | GET, HEAD, OPTIONS | False | None |
| /conversations/message/<int:message_id>/raw | conversations_bp.raw_message | GET, HEAD, OPTIONS | False | None |
| /conversations/new | conversations_bp.new_conversation | GET, HEAD, OPTIONS, POST | False | None |
| /conversations/sent | conversations_bp.sent | GET, HEAD, OPTIONS | False | None |
| /conversations/trash | conversations_bp.trash | GET, HEAD, OPTIONS | False | None |
| /forum/<int:forum_id> | forum.view_forum | GET, HEAD, OPTIONS | False | None |
| /forum/<int:forum_id>-<slug> | forum.view_forum | GET, HEAD, OPTIONS | False | None |
| /forum/<int:forum_id>-<slug>/edit | forum.manage_forum | GET, HEAD, OPTIONS, POST | False | None |
| /forum/<int:forum_id>/edit | forum.manage_forum | GET, HEAD, OPTIONS, POST | False | None |
| /markdown | forum.markdown_preview | OPTIONS, POST | False | None |
| /markdown/<path:mode> | forum.markdown_preview | OPTIONS, POST | False | None |
| /memberlist | forum.memberlist | GET, HEAD, OPTIONS, POST | False | None |
| /portal/ | portal.index | GET, HEAD, OPTIONS | False | None |
| /post/<int:post_id> | forum.view_post | GET, HEAD, OPTIONS | False | None |
| /post/<int:post_id>/delete | forum.delete_post | OPTIONS, POST | False | None |
| /post/<int:post_id>/edit | forum.edit_post | GET, HEAD, OPTIONS, POST | False | None |
| /post/<int:post_id>/hide | forum.hide_post | OPTIONS, POST | False | None |
| /post/<int:post_id>/raw | forum.raw_post | GET, HEAD, OPTIONS | False | None |
| /post/<int:post_id>/report | forum.report_post | GET, HEAD, OPTIONS, POST | False | None |
| /post/<int:post_id>/unhide | forum.unhide_post | OPTIONS, POST | False | None |
| /search | forum.search | GET, HEAD, OPTIONS, POST | False | None |
| /static/<path:filename> | static | GET, HEAD, OPTIONS | False | None |
| /topic/<int:topic_id> | forum.view_topic | GET, HEAD, OPTIONS, POST | False | None |
| /topic/<int:topic_id>-<slug> | forum.view_topic | GET, HEAD, OPTIONS, POST | False | None |
| /topic/<int:topic_id>-<slug>/delete | forum.delete_topic | OPTIONS, POST | False | None |
| /topic/<int:topic_id>-<slug>/edit | forum.edit_topic | GET, HEAD, OPTIONS, POST | False | None |
| /topic/<int:topic_id>-<slug>/hide | forum.hide_topic | OPTIONS, POST | False | None |
| /topic/<int:topic_id>-<slug>/highlight | forum.highlight_topic | OPTIONS, POST | False | None |
| /topic/<int:topic_id>-<slug>/lock | forum.lock_topic | OPTIONS, POST | False | None |
| /topic/<int:topic_id>-<slug>/post/<int:post_id>/reply | forum.reply_post | GET, HEAD, OPTIONS, POST | False | None |
| /topic/<int:topic_id>-<slug>/post/new | forum.new_post | GET, HEAD, OPTIONS, POST | False | None |
| /topic/<int:topic_id>-<slug>/trivialize | forum.trivialize_topic | OPTIONS, POST | False | None |
| /topic/<int:topic_id>-<slug>/unhide | forum.unhide_topic | OPTIONS, POST | False | None |
| /topic/<int:topic_id>-<slug>/unlock | forum.unlock_topic | OPTIONS, POST | False | None |
| /topic/<int:topic_id>/delete | forum.delete_topic | OPTIONS, POST | False | None |
| /topic/<int:topic_id>/edit | forum.edit_topic | GET, HEAD, OPTIONS, POST | False | None |
| /topic/<int:topic_id>/hide | forum.hide_topic | OPTIONS, POST | False | None |
| /topic/<int:topic_id>/highlight | forum.highlight_topic | OPTIONS, POST | False | None |
| /topic/<int:topic_id>/lock | forum.lock_topic | OPTIONS, POST | False | None |
| /topic/<int:topic_id>/post/<int:post_id>/reply | forum.reply_post | GET, HEAD, OPTIONS, POST | False | None |
| /topic/<int:topic_id>/post/new | forum.new_post | GET, HEAD, OPTIONS, POST | False | None |
| /topic/<int:topic_id>/trivialize | forum.trivialize_topic | OPTIONS, POST | False | None |
| /topic/<int:topic_id>/unhide | forum.unhide_topic | OPTIONS, POST | False | None |
| /topic/<int:topic_id>/unlock | forum.unlock_topic | OPTIONS, POST | False | None |
| /topictracker | forum.topictracker | GET, HEAD, OPTIONS, POST | False | None |
| /topictracker/<int:topic_id>-<slug>/add | forum.track_topic | OPTIONS, POST | False | None |
| /topictracker/<int:topic_id>-<slug>/delete | forum.untrack_topic | OPTIONS, POST | False | None |
| /topictracker/<int:topic_id>/add | forum.track_topic | OPTIONS, POST | False | None |
| /topictracker/<int:topic_id>/delete | forum.untrack_topic | OPTIONS, POST | False | None |
| /user/<username> | user.profile | GET, HEAD, OPTIONS | False | None |
| /user/<username>/posts | user.view_all_posts | GET, HEAD, OPTIONS | False | None |
| /user/<username>/topics | user.view_all_topics | GET, HEAD, OPTIONS | False | None |
| /user/settings/email | user.change_email | GET, HEAD, OPTIONS, POST | False | None |
| /user/settings/general | user.settings | GET, HEAD, OPTIONS, POST | False | None |
| /user/settings/password | user.change_password | GET, HEAD, OPTIONS, POST | False | None |
| /user/settings/user-details | user.change_user_details | GET, HEAD, OPTIONS, POST | False | None |
| /who-is-online | forum.who_is_online | GET, HEAD, OPTIONS | False | None |