
MagicPH
IMPORTANT!
This User Script / Web Extension violates websites content policies on Banning Downloads.
PLEASE USE AT YOUR OWN RISK!
Recommend using "ad blocker" or "content blocker" (uBlock Origin) along side.
A video downloader for various adult websites. WebExtension version has not been updated in a while, please use UserScript version!
UserScript Changelog
Supported Websites: - List of policy violations
Download
UserScript:
Web Extension (under construction):
Firefox:
Chromium:
Bookmarklet (not recommended):
Save this URL as a bookmark, clicking it will cause the UserScript version to inject itself into the current webpage.
javascript: (function () {
  ['https://cdn.jsdelivr.net/gh/magicoflolis/Magic-PH@master/dist/magicph.user.js'].map(
    (s) => (document.body.appendChild(document.createElement('script')).src = s)
  );
})();
Features
See Accessing Downloader
- General:
- UI designed for mobile and desktop devices
 
- Will match the websites theme.
 
- Built in tabs feature.
 
- Built in video downloader allows user to easily download and save any video in its highest quality or preferred choice.
 
- Video downloader can be combined with any 3rd party/external downloader.
 
 
Previews
  
  
  
Accessing Downloader
Default Method:
- Click "Show List" located to the bottom right of the page.
 
- Onlyfans (Mobile) - Click on any video post.
 
Website Specific:
- Desktop / Mobile - Right click anywhere inside the video player then click "Video Quality(s)".
 
- Mobile - Press "Video Quality(s)" in the video player.
 
- Mobile (Alternative) - Press the gear icon in the video player.
 
- Youporn (Mobile) - Press the gear icon in the video player then press "Video Quality(s)".
 
Tabs
In a nutshell, the tab system work the same way your browser creates tabs, by default the tab is named after the host.
A new tab is automatically created when a video source is found, the tab is named after the videos title.
Creating a New Tab:
Creating a new tab is as easy as clicking the "+" within the list.
This new tab is a search box, typing any supported method will automatically find the video source(s)!
Supported Methods:
<full url> of any supported website or <host>/<video path> 
- Beeg (Not Supported) - Still a work in progress
 
- Onlyfans (Must be on the same website) - Still a work in progress, 
/<model> or /<model>/photos|videos|audios|likes|streams|upcoming-streams. 
- Pornhub - 
/view_video.php?viewkey=<video id> or just entering the <video id>. 
- RedTube - 
/<video id> 
- Tube8 - 
/porn-video/<video id>/ 
- Thumbzilla - 
/video/<video id>/<video name> 
- xHamster (Work in Progress) - 
/videos/<video name> 
- XNXX (Work in Progress) - 
/video-<video id>/<video name> 
- xVideos - 
/video.<video id>/<video name> 
- Youporn (Work in Progress) - 
/watch/<video id>/<video name>/ 
Build
Install Node.js and pnpm. The version of Node.js should match or be greater than the "node" key in package.json.
# Install dependencies
$ pnpm i
Additional Help Links:
External Libraries:
UserScript:
Before you begin, rename .env.example to .env
Recommened Testing Environments:
# Watch and build to local HTTP server
$ pnpm run dev:UserJS
# Build UserScript to "./dist"
$ pnpm run pub:UserJS
Roadmap
- Finish WebExtension version.
 
- Fix any bugs along the way.
 
Source Code