Har-based
By simply uploading Har obtained through packet capture, you can create HTTP task template required by the framework.
From dd9ff12bde51b8e4bbda9c2b714717d951bc6d63 Mon Sep 17 00:00:00 2001
From: a76yyyy 404 Run Access If you are using the source code deployment method, please change the api request of Templates need to be published to be displayed in "Public Templates", and you need admin rights to approve them in "My Publish Requests". The first registered user is the administrator by default, you need to log out and then login to get full administrator rights For details, please refer to config.pyPAGE NOT FOUND
But if you don't change your direction, and if you keep looking, you may end up where you are heading.
python ./run.py
# Access the web page
http://localhost:8923/
http://localhost/
form in the template to api://
or http://localhost:8923/
manually in order to complete the related API request properly.Configure administrators
python ./chrole.py your@email.address admin
Configuration Environment Variables
variable name required default value description BIND No 0.0.0.0 Listening address PORT No 8923 Listening port QD_DEBUG No False Whether to enable Debug mode WORKER_METHOD No Queue Task timing execution method,
The default is Queue, optional Queue or Batch,
Batch mode is the old version of timing task execution method, the performance is weak,
Recommended only when Queue timed execution mode failsMULTI_PROCESS No False (Experimental) Whether to enable multi-process mode,
invalid on Windows platformAUTO_RELOAD No False Whether to enable automatic hot reload,
invalid when MULTI_PROCESS=TrueSTATIC_URL_PREFIX No /static/
Static file URL prefix DOMAIN No '' Specify the access domain name,
(recommended modification), otherwise the function of resetting password by email is not validAES_KEY No binux AES encryption key, (Modification strongly recommended) COOKIE_SECRET No binux cookie encryption key, (Modification strongly recommended) COOKIE_DAY No 5 The number of days the cookie is kept in the client DB_TYPE No sqlite3 Set to 'mysql' when MySQL is required JAWSDB_MARIA_URL No '' When you need to use MySQL,
set to mysql://username:password@hostname:port/database_name?auth_plugin=
QD_SQL_ECHO No False Whether to enable the log output of SQLAlchmey, the default is False,
When set to True, the SQL statement will be output on the console,
allow to set to debug to enable debug modeQD_SQL_LOGGING_NAME No QD.sql_engine SQLAlchmey log name, default is 'QD.sql_engine' QD_SQL_LOGGING_LEVEL No Warning SQLAlchmey log level, default is 'Warning' QD_SQL_ECHO_POOL No True Whether to enable SQLAlchmey's connection pool log output, the default is True,
allow setting to debug to enable debug modeQD_SQL_LOGGING_POOL_NAME No QD.sql_pool SQLAlchmey connection pool log name, the default is 'QD.sql_pool' QD_SQL_LOGGING_POOL_LEVEL No Warning SQLAlchmey connection pool log level, default is 'Warning' QD_SQL_POOL_SIZE No 10 SQLAlchmey connection pool size, default is 10 QD_SQL_MAX_OVERFLOW No 50 SQLAlchmey connection pool maximum overflow, the default is 50 QD_SQL_POOL_PRE_PING No True Whether to ping before the connection pool gets a connection, the default is True QD_SQL_POOL_RECYCLE No 3600 SQLAlchmey connection pool recovery time, the default is 3600 QD_SQL_POOL_TIMEOUT No 60 SQLAlchmey connection pool timeout, the default is 60 QD_SQL_POOL_USE_LIFO No True SQLAlchmey whether to use LIFO algorithm, the default is True REDISCLOUD_URL No '' When you need to use Redis or RedisCloud,
set to http://rediscloud:password@hostname:portREDIS_DB_INDEX No 1 The default is 1 QD_EVIL No 500 (Only when the Redis connection is enabled)
Score = number of operation failures (such as login, verification, test, etc.) * corresponding penalty points
When the score reaches the upper limit of evil, it will be automatically banned until the next hour cycleEVIL_PASS_LAN_IP No True Whether to turn off the evil restriction of local private IP address users and Localhost_API requests TRACEBACK_PRINT No False Whether to enable to print Exception's TraceBack information in the console log PUSH_PIC_URL No push_pic.png The default is [push_pic.png](https 😕/fastly.jsdelivr.net/gh/qd-today/qd@master/web/static/img/push_pic.png) PUSH_BATCH_SW No True Whether to allow periodic push of QD task logs, the default is True MAIL_SMTP No "" Email SMTP server MAIL_PORT No 465 Email SMTP server port MAIL_USER No "" Email username MAIL_PASSWORD No "" Email password MAIL_FROM No MAIL_USER The Email used when sending, the default is the same as MAIL_USER MAIL_DOMAIN_HTTPS No False Whether to use HTTPS for email domain name.
Not the framework itself HTTPS configuration.
If you need HTTPS, please use an external reverse proxyPROXIES No "" Global proxy domain name list, separated by "|" PROXY_DIRECT_MODE No "" Global proxy blacklist mode, not enabled by default
"url" is URL matching mode; "regexp" is regular expression matching modePROXY_DIRECT No "" Global proxy blacklist matching rules NEW_TASK_DELAY No 1 Preparation time after new task, default is 1 second TASK_WHILE_LOOP_TIMEOUT No 900 Maximum runtime of a single While loop during a task run,
the default is 15 minutesTASK_REQUEST_LIMIT No 1500 Maximum number of requests per task run,
the default is 1500USE_PYCURL No True Whether to enable Pycurl module ALLOW_RETRY No True When some requests in the Pycurl environment may cause Request errors,
automatically modify the conflict settings and resend the requestDNS_SERVER No "" Use specified DNS for resolution via Curl (only supports Pycurl environment),
such as 8.8.8.8CURL_ENCODING No True Whether to allow to use Curl for Encoding operation CURL_CONTENT_LENGTH No True Whether to allow Curl to use custom Content-Length request in Headers NOT_RETRY_CODE No See configuration for details... See configuration for details... EMPTY_RETRY No True See configuration for details... USER0ISADMIN No True The first registered user is an administrator, False to close NOTEPAD_LIMIT No 20 The maximum number of notepads within the same user, the default is 20 EXTRA_ONNX_NAME No "" Customize the ONNX file name in the config directory
(do not fill in the ".onnx" suffix)
Separate multiple onnx file names with "|"EXTRA_CHARSETS_NAME No "" Custom ONNX in the config directory corresponds to the custom charsets.json file name
(do not fill in the ".json" suffix)
Multiple json file names are separated by "|"WS_PING_INTERVAL No 5 WebSocket ping interval, the default is 5 seconds WS_PING_TIMEOUT No 30 WebSocket ping timeout, the default is 30 seconds WS_MAX_MESSAGE_SIZE No 10485760 WebSocket maximum message size, the default is 10485760 bytes WS_MAX_QUEUE_SIZE No 100 WebSocket maximum queue size, the default is 100 WS_MAX_CONNECTIONS_SUBSCRIBE No 30 WebSocket subscribe page maximum number of connections, the default is 30 SUBSCRIBE_ACCELERATE_URL No jsdelivr_cdn Subscribe page acceleration URL, the default is jsdelivr_cdn,
See configuration for details...
-
By simply uploading Har obtained through packet capture, you can create HTTP task template required by the framework.
Use Tornado as a server to asynchronously respond to front-end and initiate HTTP requests.
Various APIs and filters are built in for template creation, and custom plugins will be provided later.
QD is an open source project based on the MIT license.
仅需上传通过抓包得到的 Har, 即可制作框架所需的 HTTP 任务模板。
使用 Tornado 作为服务端, 以实现异步响应前端请求和发起 HTTP 请求。
内置多种 API 和过滤器用于模板制作, 后续将提供自定义插件支持。
QD 是一个基于 MIT 许可证的开源项目。