pervert-monkey 1.0.25 → 1.0.27

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.
Files changed (62) hide show
  1. package/README.md +5 -2
  2. package/dist/core/pervertmonkey.core.es.d.ts +2 -541
  3. package/dist/core/pervertmonkey.core.es.js +8005 -9281
  4. package/dist/core/pervertmonkey.core.es.js.map +1 -1
  5. package/dist/core/pervertmonkey.core.umd.js +8833 -10051
  6. package/dist/core/pervertmonkey.core.umd.js.map +1 -1
  7. package/dist/userscripts/3hentai.user.js +40 -46
  8. package/dist/userscripts/camgirlfinder.user.js +56 -49
  9. package/dist/userscripts/camwhores.user.js +286 -343
  10. package/dist/userscripts/e-hentai.user.js +54 -57
  11. package/dist/userscripts/ebalka.user.js +52 -55
  12. package/dist/userscripts/eporner.user.js +76 -68
  13. package/dist/userscripts/erome.user.js +79 -84
  14. package/dist/userscripts/eroprofile.user.js +28 -29
  15. package/dist/userscripts/javhdporn.user.js +28 -22
  16. package/dist/userscripts/missav.user.js +22 -23
  17. package/dist/userscripts/motherless.user.js +141 -152
  18. package/dist/userscripts/namethatporn.user.js +49 -58
  19. package/dist/userscripts/nhentai.user.js +104 -99
  20. package/dist/userscripts/obmenvsem.user.js +61 -69
  21. package/dist/userscripts/pornhub.user.js +50 -47
  22. package/dist/userscripts/simpcity.user.js +82 -24
  23. package/dist/userscripts/socialmediagirls.user.js +26 -22
  24. package/dist/userscripts/spankbang.user.js +62 -44
  25. package/dist/userscripts/thisvid.user.js +1269 -1366
  26. package/dist/userscripts/xhamster.user.js +119 -132
  27. package/dist/userscripts/xmegadrive.user.js +82 -0
  28. package/dist/userscripts/xvideos.user.js +115 -91
  29. package/package.json +10 -6
  30. package/src/core/data-handler/data-filter.ts +3 -3
  31. package/src/core/data-handler/data-manager.ts +11 -3
  32. package/src/core/parsers/pagination-parser/index.ts +0 -4
  33. package/src/core/parsers/pagination-parser/pagination-strategies/PaginationStrategyPathnameParams.ts +36 -1
  34. package/src/core/rules/index.ts +3 -3
  35. package/src/userscripts/index.ts +1 -1
  36. package/src/userscripts/meta.json +1 -1
  37. package/src/userscripts/scripts/3hentai.ts +1 -1
  38. package/src/userscripts/scripts/camgirlfinder.ts +1 -1
  39. package/src/userscripts/scripts/camwhores.ts +2 -2
  40. package/src/userscripts/scripts/e-hentai.ts +1 -1
  41. package/src/userscripts/scripts/ebalka.ts +2 -2
  42. package/src/userscripts/scripts/eporner.ts +41 -15
  43. package/src/userscripts/scripts/erome.ts +1 -1
  44. package/src/userscripts/scripts/eroprofile.ts +6 -6
  45. package/src/userscripts/scripts/javhdporn.ts +1 -1
  46. package/src/userscripts/scripts/missav.ts +1 -1
  47. package/src/userscripts/scripts/motherless.ts +28 -19
  48. package/src/userscripts/scripts/namethatporn.ts +1 -1
  49. package/src/userscripts/scripts/nhentai.ts +1 -1
  50. package/src/userscripts/scripts/obmenvsem.ts +1 -1
  51. package/src/userscripts/scripts/pornhub.ts +4 -2
  52. package/src/userscripts/scripts/simpcity.ts +72 -5
  53. package/src/userscripts/scripts/{socialmediagirls copy.ts → socialmediagirls.ts} +1 -1
  54. package/src/userscripts/scripts/spankbang.ts +20 -4
  55. package/src/userscripts/scripts/thisvid.ts +8 -21
  56. package/src/userscripts/scripts/xhamster.ts +12 -4
  57. package/src/userscripts/scripts/xmegadrive.ts +78 -0
  58. package/src/userscripts/scripts/xvideos.ts +26 -7
  59. package/src/utils/fetch/index.ts +2 -0
  60. package/src/utils/objects/memoize.ts +1 -9
  61. package/dist/test/test.user.js +0 -10301
  62. package/dist/userscripts/socialmediagirls copy.user.js +0 -41
@@ -1,41 +1,99 @@
1
1
  // ==UserScript==
2
2
  // @name Simpcity PervertMonkey
3
3
  // @namespace pervertmonkey
4
- // @version 1.0.1
4
+ // @version 1.0.3
5
5
  // @author violent-orangutan
6
- // @description Infinite scroll [optional], Filter by Title
6
+ // @description Infinite scroll [optional], Filter by Title and Uploader, Sort by Views
7
7
  // @license MIT
8
8
  // @icon https://www.google.com/s2/favicons?sz=64&domain=simpcity.cr
9
9
  // @homepage https://github.com/smartacephale/sleazy-fork#readme
10
10
  // @homepageURL https://sleazyfork.org/en/users/1253342-smartacephale
11
- // @source https://github.com/smartacephale
11
+ // @source https://github.com/smartacephale/sleazy-fork
12
12
  // @supportURL https://github.com/smartacephale/sleazy-fork/issues
13
13
  // @match https://simpcity.cr/threads/*
14
- // @require https://cdn.jsdelivr.net/npm/pervert-monkey@1.0.25/dist/core/pervertmonkey.core.umd.js
15
- // @require data:application/javascript,var core = window.pervertmonkey.core || pervertmonkey.core; var utils = core;
14
+ // @match https://simpcity.cr/watched/threads*
15
+ // @match https://simpcity.cr/forums/*
16
+ // @match https://simpcity.cr/account/bookmarks*
17
+ // @match https://simpcity.cr/tags/*
18
+ // @require https://cdn.jsdelivr.net/npm/pervert-monkey@1.0.27/dist/core/pervertmonkey.core.umd.js
16
19
  // @grant GM_addStyle
17
20
  // @grant unsafeWindow
18
21
  // @run-at document-end
19
22
  // ==/UserScript==
20
23
 
21
- (function (core) {
22
- 'use strict';
24
+ var ___core = window.pervertmonkey.core || pervertmonkey.core;
25
+ var ___utils = ___core;
23
26
 
24
- new core.Rules({
25
- containerSelector: ".js-replyNewMessageContainer",
26
- paginationStrategyOptions: {
27
- paginationSelector: ".block-container + * .pageNav",
28
- pathnameSelector: /\/page-(\d+)\/?$/
29
- },
30
- thumbs: {
31
- selector: "article.message"
32
- },
33
- thumb: {
34
- strategy: "auto-text",
35
- getUrlSelector: "a[href*=threads]"
36
- },
37
- gropeStrategy: "all-in-all",
38
- schemeOptions: ["Title Filter", "Badge", "Advanced"]
39
- });
40
27
 
41
- })(core);
28
+ (function(___core) {
29
+ "use strict";
30
+ var IS_WATCHED_THREADS = /^\/watched\/threads/.test(location.pathname);
31
+ var IS_FORUM_PAGE = /^\/forums\//.test(location.pathname);
32
+ var IS_BOOKMARKS_PAGE = /^\/account\/bookmarks/.test(location.pathname);
33
+ var IS_TAGS_PAGE = /^\/tags\//.test(location.pathname);
34
+ new ___core.Rules(IS_BOOKMARKS_PAGE || IS_TAGS_PAGE ? {
35
+ containerSelector: "ol.block-body, ol.listPlain",
36
+ paginationStrategyOptions: {
37
+ paginationSelector: ".block-outer--after .pageNav",
38
+ pathnameSelector: /\/page-(\d+)\/?$/
39
+ },
40
+ thumbs: { selector: "li.block-row" },
41
+ thumb: {
42
+ selectors: {
43
+ title: ".contentRow-title a",
44
+ uploader: ".contentRow-minor .username"
45
+ },
46
+ getUrlSelector: ".contentRow-title a"
47
+ },
48
+ schemeOptions: [
49
+ "Title Filter",
50
+ "Uploader Filter",
51
+ "Badge",
52
+ "Advanced"
53
+ ]
54
+ } : IS_WATCHED_THREADS || IS_FORUM_PAGE ? {
55
+ containerSelectorLast: ".structItemContainer-group, .structItemContainer",
56
+ paginationStrategyOptions: {
57
+ paginationSelector: ".block-outer--after .pageNav",
58
+ pathnameSelector: /\/page-(\d+)\/?$/
59
+ },
60
+ thumbs: { selector: ".structItem.structItem--thread" },
61
+ thumb: { selectors: {
62
+ title: ".structItem-title a",
63
+ uploader: ".structItem-parts .username",
64
+ views: {
65
+ selector: ".structItem-cell--meta dl:nth-of-type(2) dd",
66
+ type: "float"
67
+ },
68
+ replies: {
69
+ selector: ".structItem-cell--meta dl:nth-of-type(1) dd",
70
+ type: "float"
71
+ }
72
+ } },
73
+ gropeStrategy: "all-in-all",
74
+ schemeOptions: [
75
+ "Title Filter",
76
+ "Uploader Filter",
77
+ "Sort By Views",
78
+ "Badge",
79
+ "Advanced"
80
+ ]
81
+ } : {
82
+ containerSelector: ".js-replyNewMessageContainer",
83
+ paginationStrategyOptions: {
84
+ paginationSelector: ".block-container + * .pageNav",
85
+ pathnameSelector: /\/page-(\d+)\/?$/
86
+ },
87
+ thumbs: { selector: "article.message" },
88
+ thumb: {
89
+ strategy: "auto-text",
90
+ getUrlSelector: "a[href*=threads]"
91
+ },
92
+ gropeStrategy: "all-in-all",
93
+ schemeOptions: [
94
+ "Title Filter",
95
+ "Badge",
96
+ "Advanced"
97
+ ]
98
+ });
99
+ })(___core);
@@ -1,40 +1,44 @@
1
1
  // ==UserScript==
2
2
  // @name Socialmediagirls PervertMonkey
3
3
  // @namespace pervertmonkey
4
- // @version 1.0.3
4
+ // @version 1.0.5
5
5
  // @author violent-orangutan
6
6
  // @description Infinite scroll [optional], Filter by Title
7
7
  // @license MIT
8
8
  // @icon https://www.google.com/s2/favicons?sz=64&domain=socialmediagirls.com
9
9
  // @homepage https://github.com/smartacephale/sleazy-fork#readme
10
10
  // @homepageURL https://sleazyfork.org/en/users/1253342-smartacephale
11
- // @source https://github.com/smartacephale
11
+ // @source https://github.com/smartacephale/sleazy-fork
12
12
  // @supportURL https://github.com/smartacephale/sleazy-fork/issues
13
13
  // @match https://forums.socialmediagirls.com/threads/*
14
- // @require https://cdn.jsdelivr.net/npm/pervert-monkey@1.0.24/dist/core/pervertmonkey.core.umd.js
15
- // @require data:application/javascript,var core = window.pervertmonkey.core || pervertmonkey.core; var utils = core;
14
+ // @require https://cdn.jsdelivr.net/npm/pervert-monkey@1.0.27/dist/core/pervertmonkey.core.umd.js
16
15
  // @grant GM_addStyle
17
16
  // @grant unsafeWindow
18
17
  // @run-at document-end
19
18
  // ==/UserScript==
20
19
 
21
- (function (core) {
22
- 'use strict';
20
+ var ___core = window.pervertmonkey.core || pervertmonkey.core;
21
+ var ___utils = ___core;
23
22
 
24
- new core.Rules({
25
- containerSelector: ".js-replyNewMessageContainer",
26
- paginationStrategyOptions: {
27
- paginationSelector: ".block-container + * .pageNav",
28
- pathnameSelector: /\/page-(\d+)\/?$/
29
- },
30
- thumbs: {
31
- selector: "article.message"
32
- },
33
- thumb: {
34
- strategy: "auto-text"
35
- },
36
- gropeStrategy: "all-in-all",
37
- schemeOptions: ["Title Filter", "Badge", "Advanced"]
38
- });
39
23
 
40
- })(core);
24
+ (function(___core) {
25
+ "use strict";
26
+ new ___core.Rules({
27
+ containerSelector: ".js-replyNewMessageContainer",
28
+ paginationStrategyOptions: {
29
+ paginationSelector: ".block-container + * .pageNav",
30
+ pathnameSelector: /\/page-(\d+)\/?$/
31
+ },
32
+ thumbs: { selector: "article.message" },
33
+ thumb: {
34
+ strategy: "auto-text",
35
+ getUrlSelector: "a[href*=threads]"
36
+ },
37
+ gropeStrategy: "all-in-all",
38
+ schemeOptions: [
39
+ "Title Filter",
40
+ "Badge",
41
+ "Advanced"
42
+ ]
43
+ });
44
+ })(___core);
@@ -1,63 +1,81 @@
1
1
  // ==UserScript==
2
2
  // @name SpankBang.com PervertMonkey
3
3
  // @namespace pervertmonkey
4
- // @version 4.0.19
4
+ // @version 4.1.0
5
5
  // @author violent-orangutan
6
6
  // @description Infinite scroll [optional]. Filter by Title and Duration. Sort by Duration and Views
7
7
  // @license MIT
8
8
  // @icon https://www.google.com/s2/favicons?sz=64&domain=spankbang.com
9
9
  // @homepage https://github.com/smartacephale/sleazy-fork#readme
10
10
  // @homepageURL https://sleazyfork.org/en/users/1253342-smartacephale
11
- // @source https://github.com/smartacephale
11
+ // @source https://github.com/smartacephale/sleazy-fork
12
12
  // @supportURL https://github.com/smartacephale/sleazy-fork/issues
13
13
  // @match https://*.spankbang.com/*
14
14
  // @match https://*.spankbang.*/*
15
- // @require https://cdn.jsdelivr.net/npm/pervert-monkey@1.0.25/dist/core/pervertmonkey.core.umd.js
16
- // @require data:application/javascript,var core = window.pervertmonkey.core || pervertmonkey.core; var utils = core;
15
+ // @require https://cdn.jsdelivr.net/npm/pervert-monkey@1.0.27/dist/core/pervertmonkey.core.umd.js
17
16
  // @grant GM_addStyle
18
17
  // @grant unsafeWindow
19
18
  // @run-at document-idle
20
19
  // ==/UserScript==
21
20
 
22
- (function (core) {
23
- 'use strict';
21
+ var ___core = window.pervertmonkey.core || pervertmonkey.core;
22
+ var ___utils = ___core;
24
23
 
25
- new core.Rules({
26
- containerSelector: ".main-container .js-media-list, .main_content_container .video-list",
27
- paginationStrategyOptions: {
28
- paginationSelector: ".paginate-bar, .pagination"
29
- },
30
- thumbs: { selector: ".video-item:not(.clear-fix), .js-video-item" },
31
- thumb: {
32
- selectors: {
33
- title: "[title]",
34
- duration: '[data-testid="video-item-length"]',
35
- views: { selector: '[data-testid="views"]', type: "float" },
36
- quality: { selector: '[data-testid="video-item-resolution"]', type: "string" }
37
- }
38
- },
39
- thumbImg: { strategy: "auto" },
40
- gropeStrategy: "all-in-all",
41
- customDataFilterFns: [
42
- { qualityLow: (e, state) => !!state.qualityLow && e.quality !== "" },
43
- { qualityHD: (e, state) => !!state.qualityHD && e.quality !== "HD" },
44
- { quality4k: (e, state) => !!state.quality4k && e.quality !== "4K" }
45
- ],
46
- schemeOptions: [
47
- "Title Filter",
48
- "Duration Filter",
49
- {
50
- title: "Quality Filter",
51
- content: [
52
- { qualityLow: false, label: "Low" },
53
- { qualityHD: false, label: "HD" },
54
- { quality4k: false, label: "4K" }
55
- ]
56
- },
57
- "Sort By",
58
- "Badge",
59
- "Advanced"
60
- ]
61
- });
62
24
 
63
- })(core);
25
+ (function(___core) {
26
+ "use strict";
27
+ new ___core.Rules({
28
+ containerSelector: ".main-container .js-media-list, .main_content_container .video-list",
29
+ paginationStrategyOptions: { paginationSelector: ".paginate-bar, .pagination" },
30
+ thumbs: { selector: ".video-item:not(.clear-fix), .js-video-item" },
31
+ thumb: { selectors: {
32
+ title: "[title]",
33
+ duration: "[data-testid=\"video-item-length\"]",
34
+ views: {
35
+ selector: "[data-testid=\"views\"]",
36
+ type: "float"
37
+ },
38
+ quality: {
39
+ selector: "[data-testid=\"video-item-resolution\"]",
40
+ type: "string"
41
+ }
42
+ } },
43
+ thumbImg: { strategy: "auto" },
44
+ gropeStrategy: "all-in-all",
45
+ customDataFilterFns: [{ qualityFilter: {
46
+ handle(el, state) {
47
+ if (!(state.qualityLow || state.qualityHD || state.quality4k)) return false;
48
+ return !(state.qualityLow && el.quality === "" || state.qualityHD && el.quality === "HD" || state.quality4k && el.quality === "4K");
49
+ },
50
+ deps: [
51
+ "qualityLow",
52
+ "qualityHD",
53
+ "quality4k"
54
+ ]
55
+ } }],
56
+ schemeOptions: [
57
+ "Title Filter",
58
+ "Duration Filter",
59
+ {
60
+ title: "Quality Filter",
61
+ content: [
62
+ {
63
+ qualityLow: false,
64
+ label: "Low"
65
+ },
66
+ {
67
+ qualityHD: false,
68
+ label: "HD"
69
+ },
70
+ {
71
+ quality4k: false,
72
+ label: "4K"
73
+ }
74
+ ]
75
+ },
76
+ "Sort By",
77
+ "Badge",
78
+ "Advanced"
79
+ ]
80
+ });
81
+ })(___core);