qbgrch is a command-line tool that connects to Quillbot's API for checking for grammatical errors on provided input.
I had to reverse engineer how Quillbot's API works to keep the configuration clean and simple, and possibly to mitigate the maintainance of the project.
The project tries to cache the responses then reuse them when applicable. This helps with latency quite a bit.
To battle server-side anti-bot measures, the project depends on
curl_cffi
module.
As of right now, this tool is very immature:
- It does not check for server-side errors.
- It does not try to refresh the access tokens when they expire, instead it fetches a totally new token when the previous token is supposed to expire.
- It does not provide any analysis of the errors on your input text and simply outputs the fixed text.
Due to the led out issues, this project is in need of contributors.
Do one of the following:
pip install git+https://github.com/eeriemyxi/qbgrch@main
git clone --depth 1 --branch main https://github.com/eeriemyxi/qbgrch
pip install ./qbgrch
Both methods expect Git to be available on your system.
You may create a configuration file to store your credentials. This configuration file is expected in standard user-level configuration directories like:
%APPDATA%/qbgrch/config.ini
$XDG_CONFIG_HOME/qbgrch/config.ini
~/.config/qbgrch/config.ini
Tip
You can avoid creating a configuration file by either exporting QB_EMAIL
and
QB_PASSWORD
environment variables, or by always supplying --email
and
--password
flags to the program.
[core]
email = my@email.com
password = password1234
Usage: qbgrch [OPTIONS] COMMAND [ARGS]...
qbgrch is a command-line tool to use Quillbot's API to check for grammar
errors.
Options:
--debug / --no-debug
--email TEXT Quillbot account e-mail. [default: from-config;
required]
--password TEXT Quillbot account password. [default: from-config;
required]
--language TEXT The language that should be used for the API.
[default: EN]
--help Show this message and exit.
Commands:
cache Manage cache entries for qbgrch.
fix Fix grammar for given input.
* Homepage for qbgrch: https://github.com/eeriemyxi/qbgrch
* Quillbot: https://quillbot.com
Use file as input:
qbgrch fix file my-file.txt
Use standard input (stdin):
cat | qbgrch fix file -
Open your favorite editor to provide the input:
qbgrch fix editor
Specify a specific editor:
qbgrch fix editor nano
Tip
Do qbgrch --help
for more information. You can also do something like
qbgrch fix --help
.
This project involves reverse engineering of Quillbot's API. The purpose of this work is for educational and research purposes only.
-
Legal Notice: Reverse engineering may violate the terms of service or licensing agreements of the original product. Please ensure that you have the right to reverse engineer the software/hardware in your jurisdiction before proceeding.
-
No Affiliation: This project is not affiliated with, endorsed by, or in any way connected to Quillbot. The original product and its trademarks are the property of their respective owners.
-
Use at Your Own Risk: The information and tools provided in this project are for educational purposes only. The author is not responsible for any damages or legal issues that may arise from the use of this project.
-
Ethical Considerations: Please consider the ethical implications of reverse engineering and ensure that your actions comply with applicable laws and regulations.
By using this project, you acknowledge that you have read and understood this disclaimer.