Skip to content

Commit c8b04f0

Browse files
committed
Update
1 parent 8de74f2 commit c8b04f0

1 file changed

Lines changed: 49 additions & 5 deletions

File tree

improve-adult-experience.user.js

Lines changed: 49 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
// ==UserScript==
22
// @name Improve Adult Experience
3-
// @description Skip intros, set better default quality/duration filters, make unwanted video previews transparent, workaround load failures, make input more consistent across the websites, remove spammy elements. Usually affects every media player it can find, designed to be used on a separate browser profile. Supported websites: anysex.com, beeg.com, bingato.com, drtuber.com, hqporner.com, hdzog.tube, hypnotube.com, incestporno.vip, inporn.com, manysex.com, mat6tube.com, pmvhaven.com, porn00.tv, pornhits.com, pornhub.com, porno365.best, pornone.com, porntrex.com, pornxp.com, redtube.com, spankbang.com, taboodude.com, tnaflix.com, tube8.com, txxx.com, veporn.com, vxxx.com, whoreshub.com, xgroovy.com, xhamster.com, xnxx.com, xvideos.com, xxxbp.tv, youporn.com, рус-порно.tv
3+
// @description Skip intros, set better default quality/duration filters, make unwanted video previews transparent, workaround load failures, make input more consistent across the websites, remove spammy elements. Usually affects every media player it can find, designed to be used on a separate browser profile. Supported websites: anysex.com, beeg.com, bingato.com, drtuber.com, hqporner.com, hdzog.tube, hypnotube.com, incestporno.vip, inporn.com, manysex.com, mat6tube.com, pmvhaven.com, porn00.tv, pornheed.com, pornhits.com, pornhub.com, porno365.best, pornone.com, porntati.com, porntrex.com, pornxp.com, redtube.com, spankbang.com, taboodude.com, tnaflix.com, tube8.com, txxx.com, veporn.com, vxxx.com, whoreshub.com, xgroovy.com, xhamster.com, xnxx.com, xvideos.com, xxxbp.tv, youporn.com, рус-порно.tv
44
// @icon https://external-content.duckduckgo.com/ip3/pornhub.com.ico
5-
// @version 0.69
5+
// @version 0.70
66
// @downloadURL https://userscripts.codonaft.com/improve-adult-experience.user.js
77
// @grant GM_addStyle
88
// ==/UserScript==
99

10-
// TODO: cumlouder.com, pornone.com, pornheed.com, tubeon.com, xtits.xxx, eporner.com, pervclips.com, bigbumfun.com, momvids.com, zbporn.com, ok.xxx / perfectgirls.xxx, tubev.sex, youjizz.com, empflix.com, babestube.com, pornwhite.com, pornomira.net, videosection.com, upornia.com, free.brazzers.com, hdsex.org, gay0day.com, collectionofbestporn.com, pissjapantv.com, pervertslut.com, luxuretv.com, 4kporn.xxx, minuporno.com, prndb.net, familyporn.tv, porntati.com
10+
// TODO: cumlouder.com, tubeon.com, xtits.xxx, eporner.com, pervclips.com, bigbumfun.com, momvids.com, zbporn.com, ok.xxx / perfectgirls.xxx, tubev.sex, youjizz.com, empflix.com, babestube.com, pornwhite.com, pornomira.net, videosection.com, upornia.com, free.brazzers.com, hdsex.org, gay0day.com, collectionofbestporn.com, pissjapantv.com, pervertslut.com, luxuretv.com, 4kporn.xxx, minuporno.com, prndb.net, familyporn.tv
1111

1212
(_ => {
1313
'use strict';
@@ -601,7 +601,7 @@ const sites = {
601601
const isVideoUrl = href => href.includes('/video/');
602602
init({
603603
searchInputSelector: 'input[type="text"][name="q"][placeholder="Search"], input#search-form[type="text"][name="q"]',
604-
searchFilter: query => ['search/', { 'q': query }],
604+
searchFilter: q => ['search/', { q }],
605605
searchFilterParams,
606606
fullscreenSelector: 'div#main_video_fluid_control_fullscreen',
607607
thumbnailSelector: 'div.item',
@@ -652,7 +652,7 @@ const sites = {
652652
const searchFilterParams = { [sort]: 'longest' };
653653
init({
654654
searchInputSelector: 'div.search-text input[type="text"][name="q"]',
655-
searchFilter: query => ['s', { 'q': query }],
655+
searchFilter: q => ['s', { q }],
656656
searchFilterParams,
657657
thumbnailSelector: 'div.item',
658658
qualitySelector: 'span.is-hd',
@@ -929,6 +929,36 @@ const sites = {
929929
});
930930
},
931931

932+
'pornheed.com': _ => {
933+
const searchFilter = query => [`s/top-rated/all-time/all-tubes/all-words/long-duration/${query}/1`, {}];
934+
const thumbnailSelector = 'li.video-item';
935+
const qualitySelector = 'div.res';
936+
init({
937+
searchInputSelector: 'input#searchterm[type="text"], input[type="text"][name="searchterm"]',
938+
searchFilter,
939+
thumbnailSelector,
940+
qualitySelector,
941+
durationSelector: 'div.runtime',
942+
isUnwantedQuality: text => (parseFloat(text.split('p')[0]) || 0) < MIN_VIDEO_HEIGHT,
943+
isUnwantedDuration: text => text.includes(':') && timeToSeconds(text) < MIN_DURATION_MINS * 60,
944+
onNodeChange: node => {
945+
if (node.matches(thumbnailSelector) && !node.querySelector(qualitySelector)) {
946+
node.classList.add(UNWANTED);
947+
return;
948+
}
949+
950+
if (!validLink(node)) return;
951+
952+
const url = new URL(node.href);
953+
const ps = parts(url.pathname);
954+
if (ps.length === 2 && ['s', 'search'].includes(ps[0])) {
955+
url.pathname = searchFilter(ps[1])[0];
956+
updateUrl(node, url);
957+
}
958+
},
959+
});
960+
},
961+
932962
'pornhits.com': _ => {
933963
init({
934964
thumbnailSelector: 'article.item',
@@ -1184,6 +1214,20 @@ const sites = {
11841214
});
11851215
},
11861216

1217+
'porntati.com': _ => {
1218+
init({
1219+
thumbnailSelector: 'div.item',
1220+
qualitySelector: 'div.format',
1221+
durationSelector: 'div.duration',
1222+
hideSelector: 'div.text',
1223+
isUnwantedQuality: text => (parseFloat(text.split('p')[0]) || 0) < MIN_VIDEO_HEIGHT,
1224+
isVideoUrl: href => {
1225+
const p = new URL(href).pathname;
1226+
return p.startsWith('/video/');
1227+
},
1228+
});
1229+
},
1230+
11871231
'porntrex.com': _ => {
11881232
const minDuration = 'thirty-all-min';
11891233
const topRated = 'top-rated';

0 commit comments

Comments
 (0)