google-img-scrap 1.1.2 → 1.1.4
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/CHANGELOG.md +8 -0
- package/README.md +34 -46
- package/dist/constant/GOOGLE_CONSTANT.d.ts +1 -1
- package/dist/constant/GOOGLE_CONSTANT.js +8 -8
- package/dist/constant/GOOGLE_CONSTANT.js.map +1 -1
- package/dist/constant/query/EXTENSIONS.d.ts +1 -0
- package/dist/constant/query/EXTENSIONS.js +5 -0
- package/dist/constant/query/EXTENSIONS.js.map +1 -0
- package/dist/constant/query/GOOGLE_COLORS.js +12 -12
- package/dist/constant/query/GOOGLE_PARAMS.js +7 -7
- package/dist/constant/query/GOOGLE_QUERY.d.ts +1 -1
- package/dist/constant/query/GOOGLE_QUERY.js +19 -24
- package/dist/constant/query/GOOGLE_QUERY.js.map +1 -1
- package/dist/core/buildGoogleDork.d.ts +1 -1
- package/dist/core/buildGoogleDork.js +11 -11
- package/dist/core/buildGoogleDork.js.map +1 -1
- package/dist/core/constructGoogleUrl.d.ts +1 -1
- package/dist/core/constructGoogleUrl.js +4 -4
- package/dist/core/getSearchFromGoogleUrl.js +1 -1
- package/dist/core/inverseGetGoogleImageURL.d.ts +2 -2
- package/dist/core/inverseGetGoogleImageURL.js +1 -5
- package/dist/core/inverseGetGoogleImageURL.js.map +1 -1
- package/dist/core/limitResultSize.d.ts +1 -1
- package/dist/core/limitResultSize.js.map +1 -1
- package/dist/core/parseGoogleImages.d.ts +2 -2
- package/dist/core/parseGoogleImages.js +2 -3
- package/dist/core/parseGoogleImages.js.map +1 -1
- package/dist/core/verifyGoogleQuery.d.ts +1 -1
- package/dist/core/verifyGoogleQuery.js +2 -2
- package/dist/core/verifyGoogleQuery.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/types/config.d.ts +1 -1
- package/dist/types/googleQuery.d.ts +8 -8
- package/dist/types/results.d.ts +1 -1
- package/dist/utils/utils.js +5 -8
- package/dist/utils/utils.js.map +1 -1
- package/package.json +10 -3
- package/dist/constant/extensions/IMAGES_EXTENSIONS.json +0 -1
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -23,15 +23,15 @@ const {
|
|
|
23
23
|
GOOGLE_IMG_SCRAP,
|
|
24
24
|
GOOGLE_IMG_INVERSE_ENGINE_URL,
|
|
25
25
|
GOOGLE_IMG_INVERSE_ENGINE_UPLOAD,
|
|
26
|
-
GOOGLE_QUERY
|
|
27
|
-
} = require(
|
|
26
|
+
GOOGLE_QUERY
|
|
27
|
+
} = require('google-img-scrap');
|
|
28
28
|
// OR
|
|
29
29
|
import {
|
|
30
30
|
GOOGLE_IMG_SCRAP,
|
|
31
31
|
GOOGLE_IMG_INVERSE_ENGINE_URL,
|
|
32
32
|
GOOGLE_IMG_INVERSE_ENGINE_UPLOAD,
|
|
33
|
-
GOOGLE_QUERY
|
|
34
|
-
} from
|
|
33
|
+
GOOGLE_QUERY
|
|
34
|
+
} from 'google-img-scrap';
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
## Options definition
|
|
@@ -60,12 +60,6 @@ import {
|
|
|
60
60
|
title: 'Domestic cat',
|
|
61
61
|
url: 'https://i.natgeofe.com/n/548467d8-c5f1-4551-9f58-6817a8d2c45e/NationalGeographic_2572187_2x1.jpg',
|
|
62
62
|
originalUrl: 'https://www.nationalgeographic.com/animals/mammals/facts/domestic-cat',
|
|
63
|
-
averageColor: 'rgb(208, 189, 170)',
|
|
64
|
-
averageColorObject: {
|
|
65
|
-
r: 208,
|
|
66
|
-
g: 189,
|
|
67
|
-
b: 170
|
|
68
|
-
},
|
|
69
63
|
height: 1536,
|
|
70
64
|
width: 3072
|
|
71
65
|
},
|
|
@@ -74,12 +68,6 @@ import {
|
|
|
74
68
|
title: 'Cat - Wikipedia',
|
|
75
69
|
url: 'https://upload.wikimedia.org/wikipedia/commons/1/15/Cat_August_2010-4.jpg',
|
|
76
70
|
originalUrl: 'https://en.wikipedia.org/wiki/Cat',
|
|
77
|
-
averageColor: 'rgb(128, 115, 96)',
|
|
78
|
-
averageColorObject: {
|
|
79
|
-
r: 128,
|
|
80
|
-
g: 115,
|
|
81
|
-
b: 96
|
|
82
|
-
},
|
|
83
71
|
height: 2226,
|
|
84
72
|
width: 3640
|
|
85
73
|
},
|
|
@@ -96,7 +84,7 @@ Search cats images
|
|
|
96
84
|
|
|
97
85
|
```js
|
|
98
86
|
const test = await GOOGLE_IMG_SCRAP({
|
|
99
|
-
search:
|
|
87
|
+
search: 'cats'
|
|
100
88
|
});
|
|
101
89
|
|
|
102
90
|
console.log(test);
|
|
@@ -110,7 +98,7 @@ The second parameter is like GOOGLE_IMG_SCRAP it include all type of options omi
|
|
|
110
98
|
|
|
111
99
|
```js
|
|
112
100
|
const test = await GOOGLE_IMG_INVERSE_ENGINE_URL(
|
|
113
|
-
|
|
101
|
+
'https://upload.wikimedia.org/wikipedia/commons/1/15/Cat_August_2010-4.jpg',
|
|
114
102
|
{ limit: 5 }
|
|
115
103
|
);
|
|
116
104
|
|
|
@@ -120,9 +108,9 @@ console.log(test);
|
|
|
120
108
|
### With a local image (cost: 3 request)
|
|
121
109
|
|
|
122
110
|
```js
|
|
123
|
-
const imageBuffer = fs.readFileSync(
|
|
111
|
+
const imageBuffer = fs.readFileSync('demonSlayer.png');
|
|
124
112
|
const test = await GOOGLE_IMG_INVERSE_ENGINE_UPLOAD(imageBuffer, {
|
|
125
|
-
limit: 5
|
|
113
|
+
limit: 5
|
|
126
114
|
});
|
|
127
115
|
|
|
128
116
|
console.log(test);
|
|
@@ -135,12 +123,12 @@ Find all possible query options below.
|
|
|
135
123
|
|
|
136
124
|
```js
|
|
137
125
|
const test = await GOOGLE_IMG_SCRAP({
|
|
138
|
-
search:
|
|
126
|
+
search: 'cats',
|
|
139
127
|
query: {
|
|
140
128
|
TYPE: GOOGLE_QUERY.TYPE.CLIPART,
|
|
141
129
|
LICENCE: GOOGLE_QUERY.LICENCE.COMMERCIAL_AND_OTHER,
|
|
142
|
-
EXTENSION: GOOGLE_QUERY.EXTENSION.JPG
|
|
143
|
-
}
|
|
130
|
+
EXTENSION: GOOGLE_QUERY.EXTENSION.JPG
|
|
131
|
+
}
|
|
144
132
|
});
|
|
145
133
|
|
|
146
134
|
console.log(test);
|
|
@@ -150,8 +138,8 @@ console.log(test);
|
|
|
150
138
|
|
|
151
139
|
```js
|
|
152
140
|
const test = await GOOGLE_IMG_SCRAP({
|
|
153
|
-
search:
|
|
154
|
-
limit: 5
|
|
141
|
+
search: 'cats',
|
|
142
|
+
limit: 5
|
|
155
143
|
});
|
|
156
144
|
|
|
157
145
|
console.log(test);
|
|
@@ -163,12 +151,12 @@ See axios documentation to setup the proxy
|
|
|
163
151
|
|
|
164
152
|
```js
|
|
165
153
|
const test = await GOOGLE_IMG_SCRAP({
|
|
166
|
-
search:
|
|
154
|
+
search: 'cats',
|
|
167
155
|
proxy: {
|
|
168
|
-
protocol:
|
|
169
|
-
host:
|
|
170
|
-
port: 8080
|
|
171
|
-
}
|
|
156
|
+
protocol: 'https',
|
|
157
|
+
host: 'example.com',
|
|
158
|
+
port: 8080
|
|
159
|
+
}
|
|
172
160
|
});
|
|
173
161
|
|
|
174
162
|
console.log(test);
|
|
@@ -180,8 +168,8 @@ Only scrap from a specific domain
|
|
|
180
168
|
|
|
181
169
|
```js
|
|
182
170
|
const test = await GOOGLE_IMG_SCRAP({
|
|
183
|
-
search:
|
|
184
|
-
domains: [
|
|
171
|
+
search: 'cats',
|
|
172
|
+
domains: ['alamy.com', 'istockphoto.com', 'vecteezy.com']
|
|
185
173
|
});
|
|
186
174
|
|
|
187
175
|
console.log(test);
|
|
@@ -191,8 +179,8 @@ console.log(test);
|
|
|
191
179
|
|
|
192
180
|
```js
|
|
193
181
|
const test = await GOOGLE_IMG_SCRAP({
|
|
194
|
-
search:
|
|
195
|
-
excludeDomains: [
|
|
182
|
+
search: 'cats',
|
|
183
|
+
excludeDomains: ['istockphoto.com', 'alamy.com']
|
|
196
184
|
});
|
|
197
185
|
|
|
198
186
|
console.log(test);
|
|
@@ -204,8 +192,8 @@ If you don' like black cats and white cats
|
|
|
204
192
|
|
|
205
193
|
```js
|
|
206
194
|
const test = await GOOGLE_IMG_SCRAP({
|
|
207
|
-
search:
|
|
208
|
-
excludeWords: [
|
|
195
|
+
search: 'cats',
|
|
196
|
+
excludeWords: ['black', 'white'] //If you don't like black cats and white cats
|
|
209
197
|
});
|
|
210
198
|
|
|
211
199
|
console.log(test);
|
|
@@ -215,8 +203,8 @@ console.log(test);
|
|
|
215
203
|
|
|
216
204
|
```js
|
|
217
205
|
const test = await GOOGLE_IMG_SCRAP({
|
|
218
|
-
search:
|
|
219
|
-
safeSearch: false
|
|
206
|
+
search: 'cats',
|
|
207
|
+
safeSearch: false
|
|
220
208
|
});
|
|
221
209
|
|
|
222
210
|
console.log(test);
|
|
@@ -226,8 +214,8 @@ console.log(test);
|
|
|
226
214
|
|
|
227
215
|
```js
|
|
228
216
|
const test = await GOOGLE_IMG_SCRAP({
|
|
229
|
-
search:
|
|
230
|
-
custom:
|
|
217
|
+
search: 'cats',
|
|
218
|
+
custom: 'name=content&name2=content2'
|
|
231
219
|
});
|
|
232
220
|
|
|
233
221
|
console.log(test);
|
|
@@ -237,17 +225,17 @@ console.log(test);
|
|
|
237
225
|
|
|
238
226
|
```js
|
|
239
227
|
const test = await GOOGLE_IMG_SCRAP({
|
|
240
|
-
search:
|
|
228
|
+
search: 'cats',
|
|
241
229
|
//will build something like this "(draw and white) or (albino and white)"
|
|
242
230
|
filterByTitles: [
|
|
243
|
-
[
|
|
244
|
-
[
|
|
231
|
+
['draw', 'white'],
|
|
232
|
+
['albino', 'white']
|
|
245
233
|
],
|
|
246
234
|
//will build something like this "(cdn and wikipedia) or (cdn istockphoto)"
|
|
247
235
|
urlMatch: [
|
|
248
|
-
[
|
|
249
|
-
[
|
|
250
|
-
]
|
|
236
|
+
['cdn', 'wikipedia'],
|
|
237
|
+
['cdn', 'istockphoto']
|
|
238
|
+
]
|
|
251
239
|
});
|
|
252
240
|
|
|
253
241
|
console.log(test);
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const GOOGLE_CONSTANT = {
|
|
4
|
-
url:
|
|
4
|
+
url: 'https://www.google.com/search',
|
|
5
5
|
inverse: {
|
|
6
|
-
base:
|
|
7
|
-
upload:
|
|
8
|
-
url:
|
|
6
|
+
base: 'https://lens.google.com/',
|
|
7
|
+
upload: 'https://lens.google.com/v3/upload',
|
|
8
|
+
url: 'https://lens.google.com/uploadbyurl?url='
|
|
9
9
|
},
|
|
10
|
-
queryParam:
|
|
10
|
+
queryParam: 'tbs',
|
|
11
11
|
forceGoogleImage: {
|
|
12
|
-
tbm:
|
|
12
|
+
tbm: 'isch' //needed to search on google image instead of google
|
|
13
13
|
},
|
|
14
14
|
headers: {
|
|
15
|
-
|
|
16
|
-
}
|
|
15
|
+
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36'
|
|
16
|
+
}
|
|
17
17
|
};
|
|
18
18
|
exports.default = GOOGLE_CONSTANT;
|
|
19
19
|
//# sourceMappingURL=GOOGLE_CONSTANT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GOOGLE_CONSTANT.js","sourceRoot":"","sources":["../../src/constant/GOOGLE_CONSTANT.ts"],"names":[],"mappings":";;AAAA,MAAM,eAAe,GAAG;IACtB,GAAG,EAAE,+BAA+B;IACpC,OAAO,EAAE;QACP,IAAI,EAAE,0BAA0B;QAChC,MAAM,
|
|
1
|
+
{"version":3,"file":"GOOGLE_CONSTANT.js","sourceRoot":"","sources":["../../src/constant/GOOGLE_CONSTANT.ts"],"names":[],"mappings":";;AAAA,MAAM,eAAe,GAAG;IACtB,GAAG,EAAE,+BAA+B;IACpC,OAAO,EAAE;QACP,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE,mCAAmC;QAC3C,GAAG,EAAE,0CAA0C;KAChD;IACD,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC,oDAAoD;KACjE;IACD,OAAO,EAAE;QACP,YAAY,EACV,uGAAuG;KAC1G;CACF,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const EXTENSIONS: string[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EXTENSIONS.js","sourceRoot":"","sources":["../../../src/constant/query/EXTENSIONS.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const COLORS = [
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
'red',
|
|
5
|
+
'blue',
|
|
6
|
+
'purple',
|
|
7
|
+
'orange',
|
|
8
|
+
'yellow',
|
|
9
|
+
'green',
|
|
10
|
+
'teal',
|
|
11
|
+
'pink',
|
|
12
|
+
'white',
|
|
13
|
+
'gray',
|
|
14
|
+
'black',
|
|
15
|
+
'brown'
|
|
16
16
|
];
|
|
17
17
|
exports.default = COLORS;
|
|
18
18
|
//# sourceMappingURL=GOOGLE_COLORS.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const GOOGLE_PARAMS = {
|
|
4
|
-
SIZE:
|
|
5
|
-
COLOR:
|
|
6
|
-
SPECIFIC_COLOR:
|
|
7
|
-
TYPE:
|
|
8
|
-
DATE:
|
|
9
|
-
LICENCE:
|
|
10
|
-
IMAGE_EXTENSION:
|
|
4
|
+
SIZE: 'isz',
|
|
5
|
+
COLOR: 'ic',
|
|
6
|
+
SPECIFIC_COLOR: 'Cisc',
|
|
7
|
+
TYPE: 'itp',
|
|
8
|
+
DATE: 'qdr',
|
|
9
|
+
LICENCE: 'il',
|
|
10
|
+
IMAGE_EXTENSION: 'ift'
|
|
11
11
|
};
|
|
12
12
|
exports.default = GOOGLE_PARAMS;
|
|
13
13
|
//# sourceMappingURL=GOOGLE_PARAMS.js.map
|
|
@@ -5,49 +5,44 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const GOOGLE_PARAMS_1 = __importDefault(require("./GOOGLE_PARAMS"));
|
|
7
7
|
const GOOGLE_COLORS_1 = __importDefault(require("./GOOGLE_COLORS"));
|
|
8
|
-
const
|
|
8
|
+
const EXTENSIONS_1 = require("./EXTENSIONS");
|
|
9
9
|
const GOOGLE_QUERY = {
|
|
10
10
|
SIZE: {
|
|
11
|
-
LARGE: GOOGLE_PARAMS_1.default.SIZE +
|
|
12
|
-
MEDIUM: GOOGLE_PARAMS_1.default.SIZE +
|
|
13
|
-
ICON: GOOGLE_PARAMS_1.default.SIZE +
|
|
11
|
+
LARGE: GOOGLE_PARAMS_1.default.SIZE + ':l',
|
|
12
|
+
MEDIUM: GOOGLE_PARAMS_1.default.SIZE + ':m',
|
|
13
|
+
ICON: GOOGLE_PARAMS_1.default.SIZE + ':i'
|
|
14
14
|
},
|
|
15
15
|
COLOR: {
|
|
16
|
-
BLACK_AND_WHITE: GOOGLE_PARAMS_1.default.COLOR +
|
|
17
|
-
TRANSPARENT: GOOGLE_PARAMS_1.default.COLOR +
|
|
16
|
+
BLACK_AND_WHITE: GOOGLE_PARAMS_1.default.COLOR + ':gray',
|
|
17
|
+
TRANSPARENT: GOOGLE_PARAMS_1.default.COLOR + ':trans'
|
|
18
18
|
},
|
|
19
19
|
TYPE: {
|
|
20
|
-
CLIPART: GOOGLE_PARAMS_1.default.TYPE +
|
|
21
|
-
DRAW: GOOGLE_PARAMS_1.default.TYPE +
|
|
22
|
-
GIF: GOOGLE_PARAMS_1.default.TYPE +
|
|
20
|
+
CLIPART: GOOGLE_PARAMS_1.default.TYPE + ':clipart',
|
|
21
|
+
DRAW: GOOGLE_PARAMS_1.default.TYPE + ':lineart',
|
|
22
|
+
GIF: GOOGLE_PARAMS_1.default.TYPE + ':animated'
|
|
23
23
|
},
|
|
24
24
|
EXTENSION: {},
|
|
25
25
|
DATE: {
|
|
26
|
-
DAY: GOOGLE_PARAMS_1.default.DATE +
|
|
27
|
-
WEEK: GOOGLE_PARAMS_1.default.DATE +
|
|
28
|
-
MONTH: GOOGLE_PARAMS_1.default.DATE +
|
|
29
|
-
YEAR: GOOGLE_PARAMS_1.default.DATE +
|
|
26
|
+
DAY: GOOGLE_PARAMS_1.default.DATE + ':d',
|
|
27
|
+
WEEK: GOOGLE_PARAMS_1.default.DATE + ':w',
|
|
28
|
+
MONTH: GOOGLE_PARAMS_1.default.DATE + ':m',
|
|
29
|
+
YEAR: GOOGLE_PARAMS_1.default.DATE + ':y'
|
|
30
30
|
},
|
|
31
31
|
LICENCE: {
|
|
32
|
-
CREATIVE_COMMONS: GOOGLE_PARAMS_1.default.LICENCE +
|
|
33
|
-
COMMERCIAL_AND_OTHER: GOOGLE_PARAMS_1.default.LICENCE +
|
|
34
|
-
}
|
|
32
|
+
CREATIVE_COMMONS: GOOGLE_PARAMS_1.default.LICENCE + ':cl',
|
|
33
|
+
COMMERCIAL_AND_OTHER: GOOGLE_PARAMS_1.default.LICENCE + ':ol'
|
|
34
|
+
}
|
|
35
35
|
};
|
|
36
36
|
//build extension
|
|
37
|
-
for (const EXTENSION of
|
|
37
|
+
for (const EXTENSION of EXTENSIONS_1.EXTENSIONS) {
|
|
38
38
|
const queryName = EXTENSION.toUpperCase();
|
|
39
|
-
GOOGLE_QUERY.EXTENSION[queryName] =
|
|
40
|
-
GOOGLE_PARAMS_1.default.IMAGE_EXTENSION + ":" + EXTENSION;
|
|
39
|
+
GOOGLE_QUERY.EXTENSION[queryName] = GOOGLE_PARAMS_1.default.IMAGE_EXTENSION + ':' + EXTENSION;
|
|
41
40
|
}
|
|
42
41
|
//build colors
|
|
43
42
|
for (const COLOR of GOOGLE_COLORS_1.default) {
|
|
44
43
|
const queryName = COLOR.toUpperCase();
|
|
45
44
|
GOOGLE_QUERY.COLOR[queryName] =
|
|
46
|
-
GOOGLE_PARAMS_1.default.COLOR +
|
|
47
|
-
":specific," +
|
|
48
|
-
GOOGLE_PARAMS_1.default.SPECIFIC_COLOR +
|
|
49
|
-
":" +
|
|
50
|
-
COLOR;
|
|
45
|
+
GOOGLE_PARAMS_1.default.COLOR + ':specific,' + GOOGLE_PARAMS_1.default.SPECIFIC_COLOR + ':' + COLOR;
|
|
51
46
|
}
|
|
52
47
|
exports.default = GOOGLE_QUERY;
|
|
53
48
|
//# sourceMappingURL=GOOGLE_QUERY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GOOGLE_QUERY.js","sourceRoot":"","sources":["../../../src/constant/query/GOOGLE_QUERY.ts"],"names":[],"mappings":";;;;;AAAA,oEAA4C;AAC5C,oEAAqC;
|
|
1
|
+
{"version":3,"file":"GOOGLE_QUERY.js","sourceRoot":"","sources":["../../../src/constant/query/GOOGLE_QUERY.ts"],"names":[],"mappings":";;;;;AAAA,oEAA4C;AAC5C,oEAAqC;AAErC,6CAA0C;AAE1C,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE;QACJ,KAAK,EAAE,uBAAa,CAAC,IAAI,GAAG,IAAI;QAChC,MAAM,EAAE,uBAAa,CAAC,IAAI,GAAG,IAAI;QACjC,IAAI,EAAE,uBAAa,CAAC,IAAI,GAAG,IAAI;KAChC;IAED,KAAK,EAAE;QACL,eAAe,EAAE,uBAAa,CAAC,KAAK,GAAG,OAAO;QAC9C,WAAW,EAAE,uBAAa,CAAC,KAAK,GAAG,QAAQ;KAC5C;IAED,IAAI,EAAE;QACJ,OAAO,EAAE,uBAAa,CAAC,IAAI,GAAG,UAAU;QACxC,IAAI,EAAE,uBAAa,CAAC,IAAI,GAAG,UAAU;QACrC,GAAG,EAAE,uBAAa,CAAC,IAAI,GAAG,WAAW;KACtC;IAED,SAAS,EAAE,EAAE;IAEb,IAAI,EAAE;QACJ,GAAG,EAAE,uBAAa,CAAC,IAAI,GAAG,IAAI;QAC9B,IAAI,EAAE,uBAAa,CAAC,IAAI,GAAG,IAAI;QAC/B,KAAK,EAAE,uBAAa,CAAC,IAAI,GAAG,IAAI;QAChC,IAAI,EAAE,uBAAa,CAAC,IAAI,GAAG,IAAI;KAChC;IAED,OAAO,EAAE;QACP,gBAAgB,EAAE,uBAAa,CAAC,OAAO,GAAG,KAAK;QAC/C,oBAAoB,EAAE,uBAAa,CAAC,OAAO,GAAG,KAAK;KACpD;CACF,CAAC;AAEF,iBAAiB;AACjB,KAAK,MAAM,SAAS,IAAI,uBAAU,EAAE;IAClC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACzC,YAAoB,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,uBAAa,CAAC,eAAe,GAAG,GAAG,GAAG,SAAS,CAAC;CAC9F;AAED,cAAc;AACd,KAAK,MAAM,KAAK,IAAI,uBAAM,EAAE;IAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACrC,YAAoB,CAAC,KAAK,CAAC,SAAS,CAAC;QACpC,uBAAa,CAAC,KAAK,GAAG,YAAY,GAAG,uBAAa,CAAC,cAAc,GAAG,GAAG,GAAG,KAAK,CAAC;CACnF;AAED,kBAAe,YAA2B,CAAC"}
|
|
@@ -9,13 +9,13 @@ function filterByTitlesBuilder(config) {
|
|
|
9
9
|
const FILTER_TITLE = [];
|
|
10
10
|
if (config.filterByTitles) {
|
|
11
11
|
for (const titleFilter of config.filterByTitles) {
|
|
12
|
-
const value = titleFilter.map(
|
|
12
|
+
const value = titleFilter.map(title => {
|
|
13
13
|
return `intitle:"${title}"`;
|
|
14
14
|
});
|
|
15
|
-
FILTER_TITLE.push(`(${value.join(
|
|
15
|
+
FILTER_TITLE.push(`(${value.join(' AND ')})`);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
return FILTER_TITLE.join(
|
|
18
|
+
return FILTER_TITLE.join(' ');
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Show only images without some specific words
|
|
@@ -29,7 +29,7 @@ function excludeWordsBuilder(config) {
|
|
|
29
29
|
EXCLUDE_WORDS.push(`-"${excludeWord}"`);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
return EXCLUDE_WORDS.join(
|
|
32
|
+
return EXCLUDE_WORDS.join(' ');
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Show only images of some particular domains
|
|
@@ -43,7 +43,7 @@ function onlyDomainsBuilder(config) {
|
|
|
43
43
|
DOMAINS.push(`site:"${domain}"`);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
return DOMAINS.join(
|
|
46
|
+
return DOMAINS.join(' OR ');
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Don't show images from particular domains
|
|
@@ -57,7 +57,7 @@ function excludeDomainsBuilder(config) {
|
|
|
57
57
|
EXCLUDE_DOMAINS.push(`-site:"${excludeDomain}"`);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
return EXCLUDE_DOMAINS.join(
|
|
60
|
+
return EXCLUDE_DOMAINS.join(' ');
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
63
|
* Only show images with a domain that match a particular regex
|
|
@@ -68,13 +68,13 @@ function urlMatchBuilder(config) {
|
|
|
68
68
|
const URL_MATCH = [];
|
|
69
69
|
if (config.urlMatch) {
|
|
70
70
|
for (const urlMatch of config.urlMatch) {
|
|
71
|
-
const value = urlMatch.map(
|
|
71
|
+
const value = urlMatch.map(content => {
|
|
72
72
|
return `inurl:${content}`;
|
|
73
73
|
});
|
|
74
|
-
URL_MATCH.push(`(${value.join(
|
|
74
|
+
URL_MATCH.push(`(${value.join(' AND ')})`);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
return URL_MATCH.join(
|
|
77
|
+
return URL_MATCH.join(' OR ');
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
80
80
|
* Build google dork string based on the config query
|
|
@@ -88,9 +88,9 @@ function buildGoogleDorks(config) {
|
|
|
88
88
|
excludeWordsBuilder(config),
|
|
89
89
|
excludeDomainsBuilder(config),
|
|
90
90
|
onlyDomainsBuilder(config),
|
|
91
|
-
filterByTitlesBuilder(config)
|
|
91
|
+
filterByTitlesBuilder(config)
|
|
92
92
|
]
|
|
93
|
-
.join(
|
|
93
|
+
.join(' ')
|
|
94
94
|
.trim();
|
|
95
95
|
}
|
|
96
96
|
exports.default = buildGoogleDorks;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildGoogleDork.js","sourceRoot":"","sources":["../../src/core/buildGoogleDork.ts"],"names":[],"mappings":";;AAEA;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,IAAI,MAAM,CAAC,cAAc,EAAE;QACzB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,cAAc,EAAE;YAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"buildGoogleDork.js","sourceRoot":"","sources":["../../src/core/buildGoogleDork.ts"],"names":[],"mappings":";;AAEA;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,IAAI,MAAM,CAAC,cAAc,EAAE;QACzB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,cAAc,EAAE;YAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACpC,OAAO,YAAY,KAAK,GAAG,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC/C;KACF;IACD,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,IAAI,MAAM,CAAC,YAAY,EAAE;QACvB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE;YAC7C,aAAa,CAAC,IAAI,CAAC,KAAK,WAAW,GAAG,CAAC,CAAC;SACzC;KACF;IACD,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,MAAc;IACxC,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC;SAClC;KACF;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,cAAc,EAAE;QACzB,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE;YACjD,eAAe,CAAC,IAAI,CAAC,UAAU,aAAa,GAAG,CAAC,CAAC;SAClD;KACF;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE;YACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACnC,OAAO,SAAS,OAAO,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC5C;KACF;IACD,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO;QACL,MAAM,CAAC,MAAM;QACb,eAAe,CAAC,MAAM,CAAC;QACvB,mBAAmB,CAAC,MAAM,CAAC;QAC3B,qBAAqB,CAAC,MAAM,CAAC;QAC7B,kBAAkB,CAAC,MAAM,CAAC;QAC1B,qBAAqB,CAAC,MAAM,CAAC;KAC9B;SACE,IAAI,CAAC,GAAG,CAAC;SACT,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -13,11 +13,11 @@ const buildGoogleDork_1 = __importDefault(require("./buildGoogleDork"));
|
|
|
13
13
|
*/
|
|
14
14
|
function constructGoogleUrl(config) {
|
|
15
15
|
const GOOGLE_DORK = (0, buildGoogleDork_1.default)(config);
|
|
16
|
-
const CUSTOM_PARAM = config.custom ? `&${config.custom}` :
|
|
17
|
-
const SAFE_SEARCH = config.safeSearch ? `&safe=active` :
|
|
16
|
+
const CUSTOM_PARAM = config.custom ? `&${config.custom}` : '';
|
|
17
|
+
const SAFE_SEARCH = config.safeSearch ? `&safe=active` : '';
|
|
18
18
|
const QUERY = Object.assign(GOOGLE_CONSTANT_1.default.forceGoogleImage, {
|
|
19
|
-
[GOOGLE_CONSTANT_1.default.queryParam]: Object.values(config.query || {}).join(
|
|
20
|
-
q: GOOGLE_DORK
|
|
19
|
+
[GOOGLE_CONSTANT_1.default.queryParam]: Object.values(config.query || {}).join(','),
|
|
20
|
+
q: GOOGLE_DORK
|
|
21
21
|
});
|
|
22
22
|
return GOOGLE_CONSTANT_1.default.url + (0, utils_1.buildQuery)(QUERY) + CUSTOM_PARAM + SAFE_SEARCH;
|
|
23
23
|
}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
* @returns
|
|
7
7
|
*/
|
|
8
8
|
function getSearchFromGoogleUrl(url) {
|
|
9
|
-
const search = /search\?q=([^&]+)/gi.exec(url)[1].split(
|
|
9
|
+
const search = /search\?q=([^&]+)/gi.exec(url)[1].split('+').join(' ');
|
|
10
10
|
return decodeURIComponent(search);
|
|
11
11
|
}
|
|
12
12
|
exports.default = getSearchFromGoogleUrl;
|
|
@@ -15,7 +15,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
const axios_1 = __importDefault(require("axios"));
|
|
16
16
|
const GOOGLE_CONSTANT_1 = __importDefault(require("../constant/GOOGLE_CONSTANT"));
|
|
17
17
|
const utils_1 = require("../utils/utils");
|
|
18
|
-
const fs_1 = __importDefault(require("fs"));
|
|
19
18
|
/**
|
|
20
19
|
* Return google images url from lens.google.com inverse search image engine
|
|
21
20
|
* @param url
|
|
@@ -32,11 +31,8 @@ function inverseGetGoogleImageURL(url, proxy, formData) {
|
|
|
32
31
|
}
|
|
33
32
|
//we scrap google lens to get the original google image search
|
|
34
33
|
const data = (yield axios_1.default.get(url, Object.assign({ headers: GOOGLE_CONSTANT_1.default.headers }, (proxy !== null && proxy !== void 0 ? proxy : {})))).data;
|
|
35
|
-
fs_1.default.writeFileSync("tttt.txt", data, "utf-8");
|
|
36
34
|
const urlStr = data.match(/https:\/\/www.google.com\/search\?q[^"]+/gi)[0];
|
|
37
|
-
return ((0, utils_1.unicodeToChar)(urlStr) +
|
|
38
|
-
"&" +
|
|
39
|
-
Object.entries(GOOGLE_CONSTANT_1.default.forceGoogleImage).flat().join("="));
|
|
35
|
+
return ((0, utils_1.unicodeToChar)(urlStr) + '&' + Object.entries(GOOGLE_CONSTANT_1.default.forceGoogleImage).flat().join('='));
|
|
40
36
|
});
|
|
41
37
|
}
|
|
42
38
|
exports.default = inverseGetGoogleImageURL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inverseGetGoogleImageURL.js","sourceRoot":"","sources":["../../src/core/inverseGetGoogleImageURL.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"inverseGetGoogleImageURL.js","sourceRoot":"","sources":["../../src/core/inverseGetGoogleImageURL.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,kFAA0D;AAC1D,0CAA+C;AAI/C;;;;;GAKG;AACH,SAAe,wBAAwB,CACrC,GAAW,EACX,KAAwB,EACxB,QAAmB;;QAEnB,IAAI,QAAQ,EAAE;YACZ,oCAAoC;YACpC,MAAM,IAAI,GAAG,CACX,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,kBAC5B,OAAO,kCACF,yBAAe,CAAC,OAAO,GACvB,QAAQ,CAAC,UAAU,EAAE,KAEvB,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,EAChB,CACH,CAAC,IAAI,CAAC;YACP,8CAA8C;YAC9C,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3D;QAED,8DAA8D;QAC9D,MAAM,IAAI,GAAG,CACX,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,kBACjB,OAAO,EAAE,yBAAe,CAAC,OAAO,IAC7B,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,EAChB,CACH,CAAC,IAAI,CAAC;QAEP,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,OAAO,CACL,IAAA,qBAAa,EAAC,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAe,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAChG,CAAC;IACJ,CAAC;CAAA;AAED,kBAAe,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limitResultSize.js","sourceRoot":"","sources":["../../src/core/limitResultSize.ts"],"names":[],"mappings":";;AAEA;;;;;GAKG;AACH,SAAS,eAAe,
|
|
1
|
+
{"version":3,"file":"limitResultSize.js","sourceRoot":"","sources":["../../src/core/limitResultSize.ts"],"names":[],"mappings":";;AAEA;;;;;GAKG;AACH,SAAS,eAAe,CAAC,KAAa,EAAE,WAA8B;IACpE,IAAI,YAAY,GAAsB,EAAE,CAAC;IAEzC,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,KAAK,EAAE;QACpD,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KAC5C;IAED,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;AAC9D,CAAC;AAED,kBAAe,eAAe,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AxiosProxyConfig } from
|
|
2
|
-
import ImageResultItem from
|
|
1
|
+
import { AxiosProxyConfig } from 'axios';
|
|
2
|
+
import ImageResultItem from '../types/imageResultItem';
|
|
3
3
|
/**
|
|
4
4
|
* Parse the html from google image to get the images links
|
|
5
5
|
* @param url
|
|
@@ -15,7 +15,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
const utils_1 = require("../utils/utils");
|
|
16
16
|
const GOOGLE_CONSTANT_1 = __importDefault(require("../constant/GOOGLE_CONSTANT"));
|
|
17
17
|
const axios_1 = __importDefault(require("axios"));
|
|
18
|
-
const { FastHTMLParser } = require("fast-html-dom-parser");
|
|
19
18
|
/**
|
|
20
19
|
* Scrap google images scripts tag
|
|
21
20
|
* @param url
|
|
@@ -40,7 +39,7 @@ function getGoogleImageObject(informationsMatch, otherInformationsMatch) {
|
|
|
40
39
|
url: (0, utils_1.unicodeToChar)(informationsMatch[1]),
|
|
41
40
|
originalUrl: otherInformationsMatch[2],
|
|
42
41
|
height: parseInt(informationsMatch[2], 10),
|
|
43
|
-
width: parseInt(informationsMatch[3], 10)
|
|
42
|
+
width: parseInt(informationsMatch[3], 10)
|
|
44
43
|
};
|
|
45
44
|
}
|
|
46
45
|
/**
|
|
@@ -58,7 +57,7 @@ function parseGoogleImages(url, proxy) {
|
|
|
58
57
|
const otherInformationsRegex = /\[[\w\d]+?,"([^"]+?)","(http[^"]+?)","([^"]+?)"/gi;
|
|
59
58
|
let informationsMatch;
|
|
60
59
|
while ((informationsMatch = informationsRegex.exec(body)) !== null) {
|
|
61
|
-
if (informationsMatch[1].startsWith(
|
|
60
|
+
if (informationsMatch[1].startsWith('https://encrypted-tbn0.gstatic.com'))
|
|
62
61
|
continue;
|
|
63
62
|
const otherInformationsMatch = otherInformationsRegex.exec(body);
|
|
64
63
|
if (otherInformationsMatch === null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseGoogleImages.js","sourceRoot":"","sources":["../../src/core/parseGoogleImages.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,0CAA+C;AAC/C,kFAA0D;AAC1D,kDAAgD;
|
|
1
|
+
{"version":3,"file":"parseGoogleImages.js","sourceRoot":"","sources":["../../src/core/parseGoogleImages.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,0CAA+C;AAC/C,kFAA0D;AAC1D,kDAAgD;AAGhD;;;;GAIG;AACH,SAAe,iBAAiB,CAAC,GAAW,EAAE,KAAwB;;QACpE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,eAAK,EAAC,GAAG,kBAC9B,OAAO,EAAE,yBAAe,CAAC,OAAO,IAC7B,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,EAChB,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;CAAA;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,iBAAkC,EAClC,sBAAuC;IAEvC,OAAO;QACL,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAC7B,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAChC,GAAG,EAAE,IAAA,qBAAa,EAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACxC,WAAW,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACtC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1C,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAe,iBAAiB,CAC9B,GAAW,EACX,KAAwB;;QAExB,MAAM,MAAM,GAAsB,EAAE,CAAC;QAErC,MAAM,IAAI,GAAW,MAAM,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEzD,iDAAiD;QACjD,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;QAC7D,gCAAgC;QAChC,MAAM,sBAAsB,GAAG,mDAAmD,CAAC;QAEnF,IAAI,iBAAkC,CAAC;QAEvC,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;YAClE,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,oCAAoC,CAAC;gBAAE,SAAS;YAEpF,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjE,IAAI,sBAAsB,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAC;YAEnD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAChF,IACE,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC/C,sBAAsB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;gBAEpD,SAAS;YAEX,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAAC,CAAC;SAC9E;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AAED,kBAAe,iBAAiB,CAAC"}
|
|
@@ -12,7 +12,7 @@ function verifyGoogleQuery(config) {
|
|
|
12
12
|
var _a;
|
|
13
13
|
if (config.excludeDomains && config.domains)
|
|
14
14
|
throw new Error("Can not set 'excludeDomains' and 'domains' as same times");
|
|
15
|
-
if (!config.search || config.search.trim() ==
|
|
15
|
+
if (!config.search || config.search.trim() == '')
|
|
16
16
|
throw new Error("'search' can not be empty");
|
|
17
17
|
if (config.query) {
|
|
18
18
|
const queryToVerify = Object.keys(GOOGLE_QUERY_1.default);
|
|
@@ -20,7 +20,7 @@ function verifyGoogleQuery(config) {
|
|
|
20
20
|
if (!queryToVerify.includes(key))
|
|
21
21
|
throw new Error(`Invalide query name '${key}'`);
|
|
22
22
|
const VALUES = Object.values(GOOGLE_QUERY_1.default[key]);
|
|
23
|
-
const ACTUAL_VALUE = (_a = config.query[key]) !== null && _a !== void 0 ? _a :
|
|
23
|
+
const ACTUAL_VALUE = (_a = config.query[key]) !== null && _a !== void 0 ? _a : '';
|
|
24
24
|
if (!VALUES.includes(ACTUAL_VALUE))
|
|
25
25
|
throw new Error(`'${ACTUAL_VALUE}' is not a valide argument for the query : '${key}'`);
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyGoogleQuery.js","sourceRoot":"","sources":["../../src/core/verifyGoogleQuery.ts"],"names":[],"mappings":";;;;;AAEA,kFAA0D;AAE1D;;;GAGG;AACH,SAAS,iBAAiB,CAAC,MAAc;;IACvC,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO;QACzC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAE9E,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"verifyGoogleQuery.js","sourceRoot":"","sources":["../../src/core/verifyGoogleQuery.ts"],"names":[],"mappings":";;;;;AAEA,kFAA0D;AAE1D;;;GAGG;AACH,SAAS,iBAAiB,CAAC,MAAc;;IACvC,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO;QACzC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAE9E,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAE/F,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAY,CAAC,CAAC;QAEhD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAA0B,EAAE;YACpE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAC;YAElF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,IAAI,YAAY,+CAA+C,GAAG,GAAG,CAAC,CAAC;SAC1F;KACF;AACH,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import Config from
|
|
3
|
-
import Results from
|
|
4
|
-
import GOOGLE_QUERY from
|
|
2
|
+
import Config from './types/config';
|
|
3
|
+
import Results from './types/results';
|
|
4
|
+
import GOOGLE_QUERY from './constant/query/GOOGLE_QUERY';
|
|
5
5
|
/**
|
|
6
6
|
* Inverse google image search engine with image buffer
|
|
7
7
|
* @param imageData
|
|
8
8
|
* @param proxy
|
|
9
9
|
* @returns
|
|
10
10
|
*/
|
|
11
|
-
declare function GOOGLE_IMG_INVERSE_ENGINE_UPLOAD(imageData: Buffer, config?: Omit<Config,
|
|
11
|
+
declare function GOOGLE_IMG_INVERSE_ENGINE_UPLOAD(imageData: Buffer, config?: Omit<Config, 'search'>): Promise<Results>;
|
|
12
12
|
/**
|
|
13
13
|
* Inverse google image search engine with an image url
|
|
14
14
|
* @param imageUrl
|
|
15
15
|
* @param proxy
|
|
16
16
|
* @returns
|
|
17
17
|
*/
|
|
18
|
-
declare function GOOGLE_IMG_INVERSE_ENGINE_URL(imageUrl: string, config?: Omit<Config,
|
|
18
|
+
declare function GOOGLE_IMG_INVERSE_ENGINE_URL(imageUrl: string, config?: Omit<Config, 'search'>): Promise<Results>;
|
|
19
19
|
/**
|
|
20
20
|
* Search images on google image
|
|
21
21
|
* @param config
|
|
22
22
|
* @returns
|
|
23
23
|
*/
|
|
24
24
|
declare function GOOGLE_IMG_SCRAP(config: Config): Promise<Results>;
|
|
25
|
-
export { GOOGLE_IMG_SCRAP, GOOGLE_IMG_INVERSE_ENGINE_URL, GOOGLE_IMG_INVERSE_ENGINE_UPLOAD, GOOGLE_QUERY
|
|
25
|
+
export { GOOGLE_IMG_SCRAP, GOOGLE_IMG_INVERSE_ENGINE_URL, GOOGLE_IMG_INVERSE_ENGINE_UPLOAD, GOOGLE_QUERY };
|
package/dist/index.js
CHANGED
|
@@ -32,7 +32,7 @@ const getSearchFromGoogleUrl_1 = __importDefault(require("./core/getSearchFromGo
|
|
|
32
32
|
function GOOGLE_IMG_INVERSE_ENGINE_UPLOAD(imageData, config) {
|
|
33
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
34
|
const formData = new form_data_1.default();
|
|
35
|
-
formData.append(
|
|
35
|
+
formData.append('encoded_image', imageData);
|
|
36
36
|
const URL_LENS = GOOGLE_CONSTANT_1.default.inverse.upload;
|
|
37
37
|
const GOOGLE_IMG_URL = yield (0, inverseGetGoogleImageURL_1.default)(URL_LENS, config === null || config === void 0 ? void 0 : config.proxy, formData);
|
|
38
38
|
return GOOGLE_IMG_SCRAP(Object.assign({ search: (0, getSearchFromGoogleUrl_1.default)(GOOGLE_IMG_URL) }, config));
|
|
@@ -67,7 +67,7 @@ function GOOGLE_IMG_SCRAP(config) {
|
|
|
67
67
|
return {
|
|
68
68
|
url: URL,
|
|
69
69
|
search: config.search,
|
|
70
|
-
result: slicedResult
|
|
70
|
+
result: slicedResult
|
|
71
71
|
};
|
|
72
72
|
});
|
|
73
73
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAAiC;AAEjC,iFAAyD;AACzD,iFAAyD;AACzD,mFAA2D;AAC3D,6EAAqD;AAKrD,iFAAyD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAAiC;AAEjC,iFAAyD;AACzD,iFAAyD;AACzD,mFAA2D;AAC3D,6EAAqD;AAKrD,iFAAyD;AAmEvD,uBAnEK,sBAAY,CAmEL;AAlEd,iFAAyD;AACzD,+FAAuE;AACvE,2FAAmE;AAEnE;;;;;GAKG;AACH,SAAe,gCAAgC,CAC7C,SAAiB,EACjB,MAA+B;;QAE/B,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,yBAAe,CAAC,OAAO,CAAC,MAAM,CAAC;QAChD,MAAM,cAAc,GAAG,MAAM,IAAA,kCAAwB,EAAC,QAAQ,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzF,OAAO,gBAAgB,iBACrB,MAAM,EAAE,IAAA,gCAAsB,EAAC,cAAc,CAAC,IAC3C,MAAM,EACT,CAAC;IACL,CAAC;CAAA;AA0CC,4EAAgC;AAxClC;;;;;GAKG;AACH,SAAe,6BAA6B,CAC1C,QAAgB,EAChB,MAA+B;;QAE/B,MAAM,QAAQ,GAAG,yBAAe,CAAC,OAAO,CAAC,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,MAAM,IAAA,kCAAwB,EAAC,QAAQ,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC;QAC/E,OAAO,gBAAgB,iBACrB,MAAM,EAAE,IAAA,gCAAsB,EAAC,cAAc,CAAC,IAC3C,MAAM,EACT,CAAC;IACL,CAAC;CAAA;AAuBC,sEAA6B;AArB/B;;;;GAIG;AACH,SAAe,gBAAgB,CAAC,MAAc;;QAC5C,IAAA,2BAAiB,EAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,GAAG,GAAG,IAAA,4BAAkB,EAAC,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAiB,EAAC,GAAG,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAA,yBAAe,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAE5D,OAAO;YACL,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,YAAY;SACrB,CAAC;IACJ,CAAC;CAAA;AAGC,4CAAgB"}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -26,14 +26,14 @@ type GoogleQuery = {
|
|
|
26
26
|
GIF: string;
|
|
27
27
|
};
|
|
28
28
|
EXTENSION: {
|
|
29
|
-
JPG:
|
|
30
|
-
GIF:
|
|
31
|
-
BMP:
|
|
32
|
-
PNG:
|
|
33
|
-
SVG:
|
|
34
|
-
WEBP:
|
|
35
|
-
ICO:
|
|
36
|
-
RAW:
|
|
29
|
+
JPG: 'jpg';
|
|
30
|
+
GIF: 'gif';
|
|
31
|
+
BMP: 'bmp';
|
|
32
|
+
PNG: 'png';
|
|
33
|
+
SVG: 'svg';
|
|
34
|
+
WEBP: 'webp';
|
|
35
|
+
ICO: 'ico';
|
|
36
|
+
RAW: 'raw';
|
|
37
37
|
};
|
|
38
38
|
DATE: {
|
|
39
39
|
DAY: string;
|
package/dist/types/results.d.ts
CHANGED
package/dist/utils/utils.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.isImage = exports.unicodeToChar = exports.buildQuery = void 0;
|
|
7
|
-
const
|
|
4
|
+
const EXTENSIONS_1 = require("../constant/query/EXTENSIONS");
|
|
8
5
|
/**
|
|
9
6
|
* Build the query for url
|
|
10
7
|
* @param query
|
|
@@ -17,7 +14,7 @@ function buildQuery(query) {
|
|
|
17
14
|
const queryName = param;
|
|
18
15
|
result.push(`${queryName}=${encodeURIComponent(query[param])}`);
|
|
19
16
|
}
|
|
20
|
-
return
|
|
17
|
+
return '?' + result.join('&');
|
|
21
18
|
}
|
|
22
19
|
exports.buildQuery = buildQuery;
|
|
23
20
|
/**
|
|
@@ -27,7 +24,7 @@ exports.buildQuery = buildQuery;
|
|
|
27
24
|
*/
|
|
28
25
|
function unicodeToChar(text) {
|
|
29
26
|
return text.replace(/\\u[\dA-F]{4}/gi, function (match) {
|
|
30
|
-
return String.fromCharCode(parseInt(match.replace(/\\u/g,
|
|
27
|
+
return String.fromCharCode(parseInt(match.replace(/\\u/g, ''), 16));
|
|
31
28
|
});
|
|
32
29
|
}
|
|
33
30
|
exports.unicodeToChar = unicodeToChar;
|
|
@@ -36,8 +33,8 @@ exports.unicodeToChar = unicodeToChar;
|
|
|
36
33
|
* @param content
|
|
37
34
|
* @returns
|
|
38
35
|
*/
|
|
39
|
-
function isImage(content =
|
|
40
|
-
return
|
|
36
|
+
function isImage(content = '') {
|
|
37
|
+
return EXTENSIONS_1.EXTENSIONS.some(extension => content.includes(extension));
|
|
41
38
|
}
|
|
42
39
|
exports.isImage = isImage;
|
|
43
40
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;AAAA,6DAA0D;AAE1D;;;;GAIG;AACH,SAAS,UAAU,CAAC,KAA6B;IAC/C,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,MAAM,SAAS,GAAG,KAAK,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,IAAI,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;KACjE;IAED,OAAO,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC;AAsBQ,gCAAU;AApBnB;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,KAAK;QACpD,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC;AAWoB,sCAAa;AATlC;;;;GAIG;AACH,SAAS,OAAO,CAAC,OAAO,GAAG,EAAE;IAC3B,OAAO,uBAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,CAAC;AAEmC,0BAAO"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "google-img-scrap",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"description": "Scrap images from google images with customs pre filled google dork options",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"example": "node ./example/index.js",
|
|
9
|
-
"build": "
|
|
9
|
+
"build": "npm run prettier && npm run lint && npm run fastBuild",
|
|
10
|
+
"fastBuild": "tsc",
|
|
11
|
+
"lint": "eslint . --ext .ts",
|
|
12
|
+
"prettier": "prettier --write .",
|
|
10
13
|
"test": "jest --colors"
|
|
11
14
|
},
|
|
12
15
|
"files": [
|
|
@@ -57,13 +60,17 @@
|
|
|
57
60
|
"homepage": "https://github.com/yoannchb-pro/google-img-scrap#readme",
|
|
58
61
|
"dependencies": {
|
|
59
62
|
"axios": "^1.2.3",
|
|
60
|
-
"fast-html-dom-parser": "^1.0.5",
|
|
61
63
|
"form-data": "^4.0.0"
|
|
62
64
|
},
|
|
63
65
|
"devDependencies": {
|
|
64
66
|
"@types/jest": "^29.2.6",
|
|
65
67
|
"@types/node": "^18.11.18",
|
|
68
|
+
"@typescript-eslint/eslint-plugin": "^8.13.0",
|
|
69
|
+
"@typescript-eslint/parser": "^8.13.0",
|
|
70
|
+
"eslint": "^8.57.0",
|
|
71
|
+
"eslint-config-prettier": "^9.1.0",
|
|
66
72
|
"jest": "^29.3.1",
|
|
73
|
+
"prettier": "^3.3.3",
|
|
67
74
|
"ts-jest": "^29.0.5",
|
|
68
75
|
"ts-node": "^10.9.1",
|
|
69
76
|
"typescript": "^4.7.4"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
["jpg", "gif", "bmp", "png", "svg", "webp", "ico", "raw"]
|