Har-based
By simply uploading Har obtained through packet capture, you can create HTTP task template required by the framework.
diff --git a/404.html b/404.html index d04562524af..84ee5dbd019 100644 --- a/404.html +++ b/404.html @@ -6,14 +6,14 @@
404
But if you don't change your direction, and if you keep looking, you may end up where you are heading.
Run
python ./run.py
Access
# Access the web page
http://localhost:8923/
If you are using the source code deployment method, please change the api request of
http://localhost/
form in the template toapi://
orhttp://localhost:8923/
manually in order to complete the related API request properly.Templates need to be published to be displayed in "Public Templates", and you need admin rights to approve them in "My Publish Requests".
python ./chrole.py your@email.address admin
The first registered user is the administrator by default, you need to log out and then login to get full administrator rights
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 fails |
MULTI_PROCESS | No | False | (Experimental) Whether to enable multi-process mode, invalid on Windows platform |
AUTO_RELOAD | No | False | Whether to enable automatic hot reload, invalid when MULTI_PROCESS=True |
STATIC_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 valid |
AES_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 mode |
QD_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 mode |
QD_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:port |
REDIS_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 cycle |
EVIL_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 proxy |
PROXIES | 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 mode |
PROXY_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 minutes |
TASK_REQUEST_LIMIT | No | 1500 | Maximum number of requests per task run, the default is 1500 |
USE_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 request |
DNS_SERVER | No | "" | Use specified DNS for resolution via Curl (only supports Pycurl environment), such as 8.8.8.8 |
CURL_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... |
-For details, please refer to config.py
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 许可证的开源项目。