pervert-monkey 1.0.19 → 1.0.21
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 +4 -4
- package/dist/core/pervertmonkey.core.es.d.ts +6 -4
- package/dist/core/pervertmonkey.core.es.js +20 -14
- package/dist/core/pervertmonkey.core.es.js.map +1 -1
- package/dist/core/pervertmonkey.core.umd.js +20 -14
- package/dist/core/pervertmonkey.core.umd.js.map +1 -1
- package/dist/userscripts/3hentai.user.js +2 -2
- package/dist/userscripts/camgirlfinder.user.js +2 -2
- package/dist/userscripts/camwhores.user.js +2 -2
- package/dist/userscripts/e-hentai.user.js +2 -2
- package/dist/userscripts/ebalka.user.js +2 -2
- package/dist/userscripts/eporner.user.js +2 -2
- package/dist/userscripts/erome.user.js +4 -6
- package/dist/userscripts/eroprofile.user.js +2 -2
- package/dist/userscripts/javhdporn.user.js +2 -2
- package/dist/userscripts/missav.user.js +2 -2
- package/dist/userscripts/motherless.user.js +2 -2
- package/dist/userscripts/namethatporn.user.js +2 -2
- package/dist/userscripts/nhentai.user.js +2 -2
- package/dist/userscripts/obmenvsem.user.js +2 -2
- package/dist/userscripts/pornhub.user.js +3 -3
- package/dist/userscripts/spankbang.user.js +2 -2
- package/dist/userscripts/thisvid.user.js +2 -2
- package/dist/userscripts/xhamster.user.js +2 -2
- package/dist/userscripts/xvideos.user.js +2 -2
- package/package.json +1 -1
- package/src/core/data-handler/data-manager.ts +16 -8
- package/src/core/parsers/thumb-data-parser.ts +1 -1
- package/src/core/rules/index.ts +6 -4
- package/src/userscripts/index.ts +1 -1
- package/src/userscripts/scripts/3hentai.ts +1 -1
- package/src/userscripts/scripts/camgirlfinder.ts +1 -1
- package/src/userscripts/scripts/camwhores.ts +1 -1
- package/src/userscripts/scripts/e-hentai.ts +1 -1
- package/src/userscripts/scripts/ebalka.ts +1 -1
- package/src/userscripts/scripts/eporner.ts +1 -1
- package/src/userscripts/scripts/erome.ts +2 -6
- package/src/userscripts/scripts/eroprofile.ts +1 -1
- package/src/userscripts/scripts/javhdporn.ts +1 -1
- package/src/userscripts/scripts/missav.ts +1 -1
- package/src/userscripts/scripts/motherless.ts +1 -1
- package/src/userscripts/scripts/namethatporn.ts +1 -1
- package/src/userscripts/scripts/nhentai.ts +1 -1
- package/src/userscripts/scripts/obmenvsem.ts +1 -1
- package/src/userscripts/scripts/pornhub.ts +3 -3
- package/src/userscripts/scripts/spankbang.ts +1 -1
- package/src/userscripts/scripts/thisvid.ts +1 -1
- package/src/userscripts/scripts/xhamster.ts +1 -1
- package/src/userscripts/scripts/xvideos.ts +1 -1
- package/src/utils/dom/index.ts +3 -5
|
@@ -5,7 +5,7 @@ import { fetchWith, OnHover, replaceElementTag, Tick } from '../../utils';
|
|
|
5
5
|
|
|
6
6
|
export const meta: MonkeyUserScript = {
|
|
7
7
|
name: 'Motherless PervertMonkey',
|
|
8
|
-
version: '5.0.
|
|
8
|
+
version: '5.0.15',
|
|
9
9
|
description:
|
|
10
10
|
'Infinite scroll [optional], Filter by Title, Uploader and Duration, Sort by Duration and Views',
|
|
11
11
|
match: ['https://motherless.com/*'],
|
|
@@ -4,7 +4,7 @@ import { Rules } from '../../core';
|
|
|
4
4
|
|
|
5
5
|
export const meta: MonkeyUserScript = {
|
|
6
6
|
name: 'NameThatPorn PervertMonkey',
|
|
7
|
-
version: '3.0.
|
|
7
|
+
version: '3.0.14',
|
|
8
8
|
description: 'Infinite scroll [optional], Filter by Title, Uploader and Solved/Unsolved',
|
|
9
9
|
match: ['https://namethatporn.com/*'],
|
|
10
10
|
};
|
|
@@ -4,7 +4,7 @@ import { parseHtml } from '../../utils';
|
|
|
4
4
|
|
|
5
5
|
export const meta: MonkeyUserScript = {
|
|
6
6
|
name: 'NHentai PervertMonkey',
|
|
7
|
-
version: '4.0.
|
|
7
|
+
version: '4.0.14',
|
|
8
8
|
description: 'Infinite scroll [optional], Filter by Title',
|
|
9
9
|
match: ['https://*.nhentai.net/*', 'https://*.nhentai.*/*'],
|
|
10
10
|
};
|
|
@@ -5,7 +5,7 @@ import { fetchHtml, parseUrl } from '../../utils';
|
|
|
5
5
|
|
|
6
6
|
export const meta: MonkeyUserScript = {
|
|
7
7
|
name: 'Obmenvsem PervertMonkey',
|
|
8
|
-
version: '1.0.
|
|
8
|
+
version: '1.0.16',
|
|
9
9
|
description: 'Infinite scroll [optional], Filter by Title and Duration, Sort by Duration',
|
|
10
10
|
match: [
|
|
11
11
|
'https://*.obmenvsem.com/*',
|
|
@@ -3,7 +3,7 @@ import { Rules } from '../../core';
|
|
|
3
3
|
|
|
4
4
|
export const meta: MonkeyUserScript = {
|
|
5
5
|
name: 'PornHub PervertMonkey',
|
|
6
|
-
version: '4.0.
|
|
6
|
+
version: '4.0.14',
|
|
7
7
|
description:
|
|
8
8
|
'Infinite scroll [optional]. Filter by Title, Uploader and Duration. Sort by Duration and Views',
|
|
9
9
|
match: ['https://*.pornhub.com/*'],
|
|
@@ -16,9 +16,9 @@ const rules = new Rules({
|
|
|
16
16
|
overwritePaginationLast: (n: number) => (n === 9 ? 9999 : n),
|
|
17
17
|
},
|
|
18
18
|
containerSelector: () =>
|
|
19
|
-
[...document.querySelectorAll
|
|
19
|
+
[...document.querySelectorAll('ul:has(> li[data-video-vkey])')]
|
|
20
20
|
.filter((e) => e.children.length > 0 && e.checkVisibility())
|
|
21
|
-
.
|
|
21
|
+
.sort((a, b) => b.children.length - a.children.length)?.[0] as HTMLElement,
|
|
22
22
|
|
|
23
23
|
containerHomogenity: { id: true, className: true },
|
|
24
24
|
thumbs: { selector: 'li[data-video-vkey]' },
|
|
@@ -3,7 +3,7 @@ import { Rules } from '../../core';
|
|
|
3
3
|
|
|
4
4
|
export const meta: MonkeyUserScript = {
|
|
5
5
|
name: 'SpankBang.com PervertMonkey',
|
|
6
|
-
version: '4.0.
|
|
6
|
+
version: '4.0.14',
|
|
7
7
|
description:
|
|
8
8
|
'Infinite scroll [optional]. Filter by Title and Duration. Sort by Duration and Views',
|
|
9
9
|
match: ['https://*.spankbang.com/*', 'https://*.spankbang.*/*'],
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
|
|
22
22
|
export const meta: MonkeyUserScript = {
|
|
23
23
|
name: 'ThisVid.com PervertMonkey',
|
|
24
|
-
version: '8.0.
|
|
24
|
+
version: '8.0.15',
|
|
25
25
|
description:
|
|
26
26
|
'Infinite scroll [optional]. Preview for private videos. Filter by Title, Duration, Quality and Public/Private. Sort by Duration and Views. Private/Public feed of friends uploads. Check access to private vids. Mass friend request button. Sorts messages. Download button 📼',
|
|
27
27
|
match: ['https://*.thisvid.com/*'],
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
|
|
15
15
|
export const meta: MonkeyUserScript = {
|
|
16
16
|
name: 'Xhamster PervertMonkey',
|
|
17
|
-
version: '5.0.
|
|
17
|
+
version: '5.0.16',
|
|
18
18
|
description:
|
|
19
19
|
'Infinite scroll [optional], Filter by Title, Duration and Watched/Unwatched. Sort by Duration and Views',
|
|
20
20
|
match: ['https://*.xhamster.com/*', 'https://*.xhamster.*/*'],
|
|
@@ -5,7 +5,7 @@ import { exterminateVideo, OnHover, parseHtml } from '../../utils';
|
|
|
5
5
|
|
|
6
6
|
export const meta: MonkeyUserScript = {
|
|
7
7
|
name: 'XVideos PervertMonkey',
|
|
8
|
-
version: '4.0.
|
|
8
|
+
version: '4.0.16',
|
|
9
9
|
description:
|
|
10
10
|
'Infinite scroll [optional], Filter by Title, Uploader and Duration. Sort by Duration and Views.',
|
|
11
11
|
match: 'https://*.xvideos.com/*',
|
package/src/utils/dom/index.ts
CHANGED
|
@@ -96,16 +96,14 @@ export function findNextSibling<T extends Element = HTMLElement>(e: T) {
|
|
|
96
96
|
return null;
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
export function
|
|
99
|
+
export function areElementsAlike<T extends HTMLElement>(
|
|
100
100
|
a: T,
|
|
101
101
|
b: T,
|
|
102
102
|
options: { id?: boolean; className?: boolean },
|
|
103
103
|
) {
|
|
104
104
|
if (!a || !b) return false;
|
|
105
105
|
|
|
106
|
-
if (options.id)
|
|
107
|
-
if (a.id !== b.id) return false;
|
|
108
|
-
}
|
|
106
|
+
if (options.id && a.id !== b.id) return false;
|
|
109
107
|
|
|
110
108
|
if (options.className) {
|
|
111
109
|
const ca = a.className;
|
|
@@ -114,7 +112,7 @@ export function checkHomogenity<T extends HTMLElement>(
|
|
|
114
112
|
return false;
|
|
115
113
|
}
|
|
116
114
|
}
|
|
117
|
-
|
|
115
|
+
|
|
118
116
|
return true;
|
|
119
117
|
}
|
|
120
118
|
|