ai-nevermore 0.0.9 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -1
- package/package.json +5 -2
- package/decoded.jpg +0 -0
package/README.md
CHANGED
|
@@ -3,6 +3,22 @@ Nevermore
|
|
|
3
3
|
|
|
4
4
|
Nevermore is a library to obfuscate media on the web to prevent AI scraping.
|
|
5
5
|
|
|
6
|
+
The following table is a matrix of potential techniques and media:
|
|
7
|
+
|
|
8
|
+
| | Random Poison | Targeted Poison | Obfuscation | Encryption |
|
|
9
|
+
|--------------|----------------|-----------------|---------------|------------|
|
|
10
|
+
| Text | Nevermore | Nevermore[TBD] | Nevermore | |
|
|
11
|
+
| Image | | Nightshade | Nevermore | |
|
|
12
|
+
| Video | Nevermore[TBD] | | Nevermore[TBD]| |
|
|
13
|
+
| Audio | | HarmonyCloak | | |
|
|
14
|
+
| 3D Models | Nevermore[TBD] | | Nevermore[TBD]| |
|
|
15
|
+
| Code | Nevermore[TBD] | | | |
|
|
16
|
+
|
|
17
|
+
There are conceptually 2 other techniques to fight AI.
|
|
18
|
+
|
|
19
|
+
1) Scrape traversal traps: dynamically generated nonsense hierarchy of pages to indefinitely trap the scraper on your site. It incurs additional hosting costs, but gives the possibility of being blacklisted by the scraper. Examples of this include [Nepenthes](https://zadzmo.org/code/nepenthes/) and [Iocaine](https://iocaine.madhouse-project.org)
|
|
20
|
+
2) Scrape Poison: This technique exploits weaknesses in the scrape engines or or selector format to prevent scraping of the correct data. This is currently only theoretical, but is something we are looking at.
|
|
21
|
+
|
|
6
22
|
Text
|
|
7
23
|
---
|
|
8
24
|
while a user will see
|
|
@@ -128,9 +144,27 @@ Roadmap
|
|
|
128
144
|
- [x] stdin, stdout support
|
|
129
145
|
- [x] custom dictionary
|
|
130
146
|
- [x] image encoding
|
|
131
|
-
- [
|
|
147
|
+
- [x] web component decoder
|
|
148
|
+
- [x] markup obfuscation
|
|
149
|
+
- [ ] windows compatibility
|
|
132
150
|
- [ ] self randomizing dictionary
|
|
133
151
|
- [ ] add a replacement mode (opposed to a tokenizer based solution)
|
|
152
|
+
- [ ] bindings
|
|
153
|
+
- [ ] PHP CL binding
|
|
154
|
+
- [ ] Python CL binding
|
|
155
|
+
- [ ] Java CL binding
|
|
156
|
+
- [ ] Ruby CL binding
|
|
157
|
+
- [ ] native CMS Support
|
|
158
|
+
- [ ] KeystoneJS
|
|
159
|
+
- [ ] Ghost
|
|
160
|
+
- [ ] Strapi
|
|
161
|
+
- [ ] other CMS Support
|
|
162
|
+
- [ ] wordpress
|
|
163
|
+
- [ ] Framework Support
|
|
164
|
+
- [ ] express
|
|
165
|
+
- [ ] next.js
|
|
166
|
+
- [ ] laravel
|
|
167
|
+
- [ ] rails
|
|
134
168
|
|
|
135
169
|
Development
|
|
136
170
|
-----------
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-nevermore",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"adversarial",
|
|
6
6
|
"content",
|
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
"./image": {
|
|
23
23
|
"import": "./src/image.mjs"
|
|
24
24
|
},
|
|
25
|
+
"./html": {
|
|
26
|
+
"import": "./src/html.mjs"
|
|
27
|
+
},
|
|
25
28
|
"./encoded-image": {
|
|
26
29
|
"import": "./src/encoded-image-component.mjs"
|
|
27
30
|
},
|
|
@@ -51,7 +54,7 @@
|
|
|
51
54
|
"help": "./bin/nevermore --help"
|
|
52
55
|
},
|
|
53
56
|
"dependencies": {
|
|
54
|
-
"@environment-safe/canvas": "^4.
|
|
57
|
+
"@environment-safe/canvas": "^4.3.0",
|
|
55
58
|
"@environment-safe/elements": "^0.0.4",
|
|
56
59
|
"@environment-safe/file": "^0.4.3",
|
|
57
60
|
"object-hash": "^3.0.0",
|
package/decoded.jpg
DELETED
|
Binary file
|