theHandy support for PornHub and others

:page_facing_up: Introduction

I have created a TamperMonkey script that enables you to use the handy directly on pornhub by uploading a script for the video you’re on.

:framed_picture: Preview

tmp.PNG
(Beautiful HTML, i know)

:file_folder: Script

NodudeWasTaken/theHandy_Web (github.com)
New version 1.6 introduces custom website support, and new bugs probably.
Backported some changes from @jabiim for version 1.3 (thanks :+1:)

:information_source: Details

It works by you firstly selecting a script.
Then entering a handy key, and pressing enter.
And if all goes well, the circle turns green and you’re ready.

Setup guide:

  1. Install Tampermonkey (https://www.tampermonkey.net/)
  2. Click the Tampermonkey icon in the top right
  3. Click “Create a new script”
  4. Replace the text in the editor with the text from my github “script.js”
  5. Press Ctrl-S
  6. Done

Usage guide:
Be aware that Tampermonkey WILL ask you to allow the script to use GM_xmlhttpRequest, allow it.

  1. Go to a pornhub video that you have a script for
  2. Press “Browse…”
  3. Select your funscript
  4. The handy key textbox should be enabled now, otherwise try again
  5. Enter your handy key in it
  6. Turn on the handy and connect it
  7. Press enter in the textbox and wait for a syncPrepare message
  8. If everything went well the circle would have turned green
    If syncPrepare failed, try entering the textbox and pressing enter again

You can also set the offset in the offset textbox by entering a value like -10 or 10 and pressing enter, you should see a syncOffset message from this.

:information_source: Contributing

If you want to add other sites, you need to know regex and xpath
In my github i have a data.json, where each entry has a url match and xpath for video element.
The url regex is matched against the javascript window.location.href and encoded in encodeURIComponent.

decodeURIComponent("https%3A%2F%2F.*.pornhub.com%2Fview_video..*%3Fviewkey%3D.*") = 'https://.*.pornhub.com/view_video..*?viewkey=.*'
RegExp("https://.*.pornhub.com/view_video..*?viewkey=.*").test("https://www.pornhub.com/view_video.php?viewkey=ph5e843a0b16c7f") = true

Just submit a pull request for any new websites you’ve added, and also if you want to change the codebase, like fixing the z-index bug on spankbang :joy:

87 Likes

Can you please add a setup guide? I never used TamperMoney before. How do I load this script?

2 Likes

It is done

1 Like

Ok. I have saved it and activated the script but the icon still says that no script is activated.
TamperMonkey has not asked me for GM_xmlhttpRequest.
I can’t see any change on PH even if i disable add blocking.

Using firefox.

1 Like

Could it be that you’re not using the english pornhub at www.pornhub.com but something like de.pornhub.com?
Im uploading a new version of script to fix that, if that was the issue.

3 Likes

Yes, it’s the german one :upside_down_face:

2 Likes

This is amazing, thanks for this!

1 Like

Truly brilliant work - this could make a huge difference for videos you want to check out on PH before deciding whether to download.

Don’t suppose there’s any way to specify an offset for scripts that aren’t quite in sync?

1 Like

It is done with version 1.2

2 Likes

Wow great Idea!

You sir- are the hero we needed.

thanks, any way to fastforward/rewind without losing sincronization with script?

1 Like

It’s an honor to see my Mandy Madison script in your post here :+1:

2 Likes

@hentman69 Done in version 1.3
@mADsCRIPTS I loved that script :wink:

1 Like

thanks, working great, woild it be hard to migrate for other sites available at scriptaxis?

Probably wouldn’t, you have anything in mind?

didn’t tought of any specific sites, there are many different sources so I did my homework and analyzed the last 10 pages (currently there’s 50) on scriptaxis, here’s the results

pornhub.com 57
spankbang.com 22
rule34video.com 11
pixeldrain.com 5
ecchi.iwara.tv 4
rule34.xxx 3
daftsex.com 3
soundgasm 3
youjizz.com 2
porntrex.com 2
peekvids.com 2
femdomz.com
pornfd.com
porn.se
eporner.com
xmegadrive.com
momzr.com
xhamster.com
xfantazy.com
trendyporn.com
pornzog.com
beeg.com
realgfporn.com
femdom-joi.com
gofile.io
eporner.com
streamzz.to
xvideos.com
sxyprn.com
playvids.com

that’s only for the streaming sites, there’s many videos also uploaded on mega to be found on this forums, and mega also streams…

could you provide a guide to implement different sites and lets expand this script functionality to all sites?
or make it compatible to any web video player?

3 Likes

You can now add support for given websites :slight_smile:
I’ve added support for spankbang and rule34video for now
EDIT:
Pixeldrain and iwara too

1 Like

thanks!
how do I add support for other sites? I updated the script but when going for example to Rule 34 - 1boy 1boy1girl 1girls 3d age difference anal anal insertion anal masturbation anal object insertion anal penetration animated anus areolae black penis blender blowjob breasts caught caught in the act caught masturbating cellphone cottontailva cum in mouth cum inside dark-skinned male dark skin dead or alive deepthroat dialogue dildo dildo sitting english dialogue fellatio female female focus filming french nails gaping gaping anus generalbutch greedy ass high score amount (1000+) high score amount (2000+) high score amount (3000+) high score amount (500+) impossible fit interracial joining in kasumi (doa) large breasts long video male masturbation moaning nipples nude oral penetration phone ponytail pussy recording recording on phone red hair self shot selfie sex sex toy shaking shaking butt shaking legs snapchat solo focus sound step-incest stepdaughter stepfather stepfather and stepdaughter straight video voice acted walked in on | 4967675 I see the script running on tampermonkey but it doesn’t show anything
also why did it asked to whitelist raw.githubusercontent.com ?

You must find a good regex to match videos on said website (javascript test instruction in my post) and a valid xpath for the video element (google getElementByXpath for the javascript test function).
It downloads the website database from github, which is why it asks for access.
Teaching javascript, regex and xpath is beyond the scope of what im willing to do.