27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "manifest_version": 3,
3 | "name": "ChatGPT Chats Extractor",
4 | "version": "1.0.0",
5 | "description": "ChatGPT Chats Extractor extracts all the messages in correct order from the current chat in ChatGPT",
6 | "icons": {
7 | "16": "chatgpticon.png",
8 | "48": "chatgpticon.png",
9 | "128": "chatgpticon.png"
10 | },
11 | "author": "David Akins & Sunday Akins ",
12 | "action": {
13 | "default_icon": {
14 | "16": "chatgpticon.png",
15 | "24": "chatgpticon.png",
16 | "32": "chatgpticon.png"
17 | },
18 | "default_title": "ChatGPT Chats Extractor",
19 | "default_popup": "index.html"
20 | },
21 | "host_permissions": [
22 | "https://*/*",
23 | "http://*/*"
24 | ],
25 | "permissions": [
26 | "activeTab",
27 | "scripting"
28 | ]
29 | }
30 |
--------------------------------------------------------------------------------
/CONTRIBUTE.md:
--------------------------------------------------------------------------------
1 | # So, how do I contribute to your Chrome Extension?
2 |
3 | First, in order to make changes to our extension, you need to spot a bug. You will also need a GitHub account. You can put it in the Issues tab here on GitHub, and shortly we will reply to your issue comment on GitHub.
4 |
5 | If you receive a reply that says "Accepted." inside of the reply, you can fork our repository and try to fix the issue. Test the extension, you aren't allowed to publish it to Chrome Webstore, and if it resolves the issue you found, you can submit a pull request to our repository, then if we think if it is good, we will merge the pull request you submitted.
6 |
7 | Otherwise, if you receive a reply that says "Not Accepted.", that means that the issue in our extension has either been fixed by ourselves, or the issue is not true.
8 |
9 | Thank you for your contributions, we would love to get support & feedback from you! And if you have any questions, don't hesitate to ask!
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # What is it?
2 |
3 | 
4 |
5 | Our goal is to create a Chrome Extension that extracts all of the messages in correct in a certain ChatGPT chat. It will actually tell you the messages only if you are currently on a tab that says or starts with ["chat.openai.com/chat"](chat.openai.com/chat) no matter how many messages are that.
6 |
7 | And, you must read the [Laws of Reading Source Code](MUSTREAD.md#laws-of-reading-source-code) before looking at the source code. There are some laws. If we find out that you disobey any of the laws, we may comment one of your repos and say something that you may not like. If you don't however have any repos, we may block your GitHub account from us and for at least 14 days.
8 |
9 | ## Can show me a list of your contributors?
10 |
11 | Certainly! Here are a list of our contributors:
12 |
13 | - David Akins ([github @gooddavvy](github.com/gooddavvy)) -- creator
14 | - Sunday Akins ([github @asolpshinning](github.com/asolpshinning)) -- publisher
15 |
16 | ### How can I contribute?
17 |
18 | Please read (CONTRIBUTE.md)[CONTRIBUTE.MD] for details to contribute.
19 |
--------------------------------------------------------------------------------
/secret.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * There is some secret, secret functionality (only one line of code)
4 | * That you must NOT look at.
5 | * Do NOT look at the bottom of this file.
6 | * Because that 1 line of code is extremely extremely important but extremely extremely secret.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 | */
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 | document.addEventListener("DOMContentLoaded", main);
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | // necessary functions/vars
2 | function Alert(message) {
3 | const modal = document.createElement('div');
4 | modal.innerHTML = `
5 |