Reverse Engineered ChatGPT Web-version
Project description
WebChatGPT
Reverse engineered ChatGPT in Python.
Prerequisites
- Python>=3.10 Installed
- Chrome or Firefox browser
- Http-Tracker extension installed.
- export-cookie-for-puppeteer extension installed.
Installation & usage
Installation
Either of the following ways will get you ready :
- From pypi:
pip install --upgrade webchatgpt
- From source
git clone https://github.com/Simatwa/WebChatGPT.git
cd WebChatGPT
pip install .
Usage
The script utilizes HTTP Cookies and OAuth to justify the REST-API requests at Openai.
In order to do that, we will use the Http-Tracker extension to harvest the Oauth
and
export-cookie-for-puppeteer extension to extract the cookies.
Procedure
- Login to https://chat.openai.com
- Upon successfull login, use Export cookie JSON File Puppeteer to download cookies.
- Launch the Http-Tracker extension.
- Back to ChatGPT, make a new conversation and then have a chat with it.
- Back to Http-Tracker window, locate and click on the url row having
https://chat.openai.com/backend-api/conversation
to toggle a dropdown showing the http requests details. - On the Request Details Table, locate a Header having key
Authorization
and then copy it's corresponding value without theBearer
string and then paste it somewhere. - On your current directory create a
.env
file and then save the contents in the format :
openai_authorization=<authorization_value>
openai_cookie_file=<path-to-cookie-file>
By doing that you are good to go.
- Converse Interactively:
webchatgpt interactive -P "<your startup prompt though not a must>"
- Have a quick response
webchatgpt generate -P "<your prompt here>"
For more info; append --help
to the command
--help
to the command
$ webchatgpt --help
$ webchatgpt --help
Usage: webchatgpt [OPTIONS] COMMAND [ARGS]...
Reverse Engineered ChatGPT Web-version
Options:
--help Show this message and exit.
Commands:
generate Generate a quick response with ChatGPT
interactive Chat with ChatGPT interactively
$ webchatgpt generate --help
$ webchatgpt generate --help
Usage: webchatgpt generate [OPTIONS]
Generate a quick response with ChatGPT
Options:
-A, --auth TEXT OpenAI's authorization value
-C, --cookie-path PATH Path to .json file containing cookies for
`chat.openai.com`
-M, --model TEXT ChatGPT's model to be used
-I, --index INTEGER Conversation index to resume from
-P, --prompt TEXT Start conversation with this messsage
--help Show this message and exit.
$ webchatgpt interactive --help
$ webchatgpt interactive --help
Usage: webchatgpt interactive [OPTIONS]
Chat with ChatGPT interactively
Options:
-A, --auth TEXT OpenAI's authorization value
-C, --cookie-path PATH Path to .json file containing cookies for
`chat.openai.com`
-M, --model TEXT ChatGPT's model to be used
-I, --index INTEGER Conversation index to resume from
-P, --prompt TEXT Start conversation with this messsage
-B, --busy-bar-index INTEGER RANGE
Busy bar index [0:/, 1:■█■■■] [0<=x<=1]
--help Show this message and exit.
Running help
while in interactive prompt:
command | Action |
---|---|
help | Show this help info |
exit | Quits Program |
./<command> |
Run system command |
<any other> |
Interacts with ChatGPT |
ToDo
- [] Stream Response
- [] Implement Your idea
- [] Fix my bad code.
Contributions
Anyone is free to fork, submit pull request as well as submitting issues.
Consider taking a look at the flow of events info for the case of a pull request.
Acknowledgements
Special Thanks
- You
Disclaimer
This project is a reverse-engineered implementation of the ChatGPT web version and is intended for educational and research purposes only. It is not affiliated with or endorsed by OpenAI. The code in this repository is based on reverse engineering efforts and may not perfectly replicate the functionalities or behavior of the original ChatGPT web version. Usage of this code is at your own risk, and the maintainers of this repository are not responsible for any misuse or unintended use of the generated content. Please refer to OpenAI's policies and terms of service regarding the use of their services and models. By using this repository, you agree to comply with all relevant laws and OpenAI's terms of service.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for webchatgpt-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc6fa0a01b2884a5864c4f294293b6825372e98d990801f9c40c1e1372724586 |
|
MD5 | ad0979913aa825e895b088501ac9f8c3 |
|
BLAKE2b-256 | 1f2a8f533e59611673dfd776c8fd7a533812a5ff317d0777050b41abc5bc609c |