xhamster 视频一键下载助手

xhamster 视频一键下载 | xhamster.com | 无需登录直接下载 | 可下载所有可观看分辨率

当前为 2025-03-26 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name              xhamster One-Click Video Downloader
// @name:ar           Xhamster فيديو بنقرة واحدة تنزيل مساعد
// @name:bg           Xhamster Video с едно щракване Изтеглете асистент
// @name              xhamster video one-click download assistant
// @name:cs           Xhamster Video One-Click Download Assistant
// @name:da           Xhamster Video One-Click Download Assistant
// @name:de           Xhamster Video One-Click-Download-Assistent
// @name:el           Xhamster Video με ένα κλικ στο Λήψη Βοηθού Λήψη
// @name:en           xhamster video one-click download assistant
// @name:eo           XHamster Video One-alklaku Elŝuti Asistanton
// @name:es           Video de Xhamster Asistente de descarga de un solo clic
// @name:fi           xhamster-video Yhden napsautuksen lataa avustaja
// @name:fr           Assistant de téléchargement en un clic vidéo xhamster
// @name:fr-CA        Assistant de téléchargement en un clic vidéo xhamster
// @name:he           סרטון Xhamster עוזר להורדה בלחיצה אחת
// @name:hr           Xhamster Video Assistant One Click Preuzimanje
// @name:hu           Xhamster Video One kattintson a letöltési asszisztens
// @name:id           Video Xhamster Asisten Unduh One-Klik
// @name:it           Xhamster Video Click Download Assistente
// @name:ja           xhamsterビデオワンクリックダウンロードアシスタント
// @name:ka           xhamster ვიდეო ერთი დაწკაპუნებით ჩამოტვირთვა ასისტენტი
// @name:ko           Xhamster 비디오 원 클릭 다운로드 어시스턴트
// @name:nb           XHamster Video One-Click Download Assistant
// @name:nl           XHAMSTER VIDEO One Click Download Assistant
// @name:pl           Xhamster Video One Click Asystent pobierania
// @name:pt-BR        Vídeo Xhamster One-Click Download Assistant
// @name:ro           Video Xhamster un singur clic Descărcați Asistent
// @name:ru           Xhamster Video One Click Download Assistant
// @name:sk           Xhamster Video jedným kliknutím asistenta na stiahnutie
// @name:sr           кХамстер Видео Оне-Цлицк Довнлоад Асистент
// @name:sv           Xhamster Video One-Click Download Assistant
// @name:th           Xhamster Video Assistant ดาวน์โหลดหนึ่งคลิกคลิก
// @name:tr           XHamster Video Tek tıklayın Asistan
// @name:ug           xhmster سىننى بىر چېكىپ چۈشۈرۈش ياردەمچى
// @name:uk           xhamster Video One-Click Assistant
// @name:vi           Xamster Video một cú nhấp chuột Trợ lý tải xuống
// @name:zh           xhamster 视频一键下载助手
// @name:zh-CN        xhamster 视频一键下载助手
// @name:zh-HK        xhamster 視頻一鍵下載助手
// @name:zh-SG        xhamster 视频一键下载助手
// @name:zh-TW        xhamster 視頻一鍵下載助手
// @description       xhamster One-Click Download | xhamster.com | Download without login | Supports all available resolutions
// @description:ar    تحميل الفيديو Xhamster مع نقرة واحدة |
// @description:bg    Изтегляне на видеоклип с едно щракване |
// @description:cs    Stahování videa Xhamster |
// @description:da    Xhamster Video Download med et klik |
// @description:de    Xhamster Video Download mit einem Klick | xhamster.com |
// @description:el    Το Xhamster Video Download με ένα κλικ | xhamster.com |
// @description:en    xhamster video download with one click | xhamster.com | Download directly without login | All viewable resolutions can be downloaded
// @description:eo    XHamster Video Elŝuti kun unu klako |
// @description:es    XHAMSTER Video Descargar con un clic |
// @description:fi    Xhamster -videoiden lataus yhdellä napsautuksella
// @description:fr    Téléchargement de la vidéo xhamster en un clic |
// @description:fr-CA Téléchargement de la vidéo xhamster en un clic |
// @description:he    הורדת וידאו Xhamster עם לחיצה אחת |
// @description:hr    Xhamster Download s jednim klikom |
// @description:hu    Xhamster Video Letöltés Egy kattintással |
// @description:id    Unduh video xhamster dengan satu klik |
// @description:it    Download video Xhamster con un clic |
// @description:ja    Xhamster Vidayダウンロード| xhamster.com |
// @description:ka    Xhamster ვიდეო ჩამოტვირთვა ერთი დაჭერით |
// @description:ko    xhamster.com으로 직접 다운로드하십시오
// @description:nb    Xhamster Video Last ned med ett klikk |
// @description:nl    XHAMSTER VIDEO DOWNLOAD met één klik | Xhamster.com | Download direct zonder inloggen |
// @description:pl    Pobieranie filmu Xhamster z jednym kliknięciem |
// @description:pt-BR Xhamster Download com um clique | xhamster.com |
// @description:ro    Descărcare video Xhamster cu un singur clic |
// @description:ru    XHAMSTER Скачать с одним щелчком
// @description:sk    Stiahnutie videa Xhamster s jedným kliknutím |
// @description:sr    КСХамстер Видео Довнлоад са једним кликом | кХамстер.цом | Преузмите директно без пријаве | све видљиве резолуције могу се преузети
// @description:sv    Xhamster Video Nedladdning med ett klick |
// @description:th    ดาวน์โหลดวิดีโอ xhamster ด้วยการคลิกหนึ่งครั้ง |
// @description:tr    XHAMSTER Video İndir Xhamster.com |
// @description:ug    xhamster سىن چۈشۈرۈشنى بىر چېكىش ئارقىلىق | Xhamster.com | بىۋاسىتە كىرىشسىز چۈشۈرۈش | ھەممىسى كۆرۈپ باقتىلىغىلى بولىدىغان قارارنى چۈشۈرگىلى بولىدۇ
// @description:uk    Завантажити xHamster One Click |
// @description:vi    Tải xuống video Xhamster với một cú nhấp chuột |
// @description:zh    xhamster 视频一键下载 | xhamster.com | 无需登录直接下载 | 可下载所有可观看分辨率
// @description:zh-CN xhamster 视频一键下载 | xhamster.com | 无需登录直接下载 | 可下载所有可观看分辨率
// @description:zh-HK xhamster 視頻一鍵下載 | xhamster.com | 無需登錄直接下載 | 可下載所有可觀看分辨率
// @description:zh-SG xhamster 视频一键下载 | xhamster.com | 无需登录直接下载 | 可下载所有可观看分辨率
// @description:zh-TW xhamster 視頻一鍵下載 | xhamster.com | 無需登錄直接下載 | 可下載所有可觀看分辨率
// @author            Cyru55,人民的勤务员 <[email protected]>
// @namespace         https://github.com/ChinaGodMan/UserScripts
// @supportURL        https://github.com/ChinaGodMan/UserScripts/issues
// @homepageURL       https://github.com/ChinaGodMan/UserScripts
// @license           MIT
// @icon              data:image/png;base64,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
// @run-at            document-end
// @compatible        chrome
// @compatible        firefox
// @compatible        edge
// @match             https://xhamster.com/*
// @match             https://*.xhamster.com/*
// @compatible        opera
// @compatible        safari
// @compatible        kiwi
// @version           2025.03.13.0330
// @created           2025-03-07 07:39:31
// @modified          2025-03-07 07:39:31
// ==/UserScript==
/**
 * File: xhamster-downloader.user.js
 * Project: UserScripts
 * File Created: 2025/03/11,Tuesday 00:41:57
 * Author: 人民的勤务员@ChinaGodMan ([email protected])
 * -----
 * Last Modified: 2025/03/13,Thursday 03:32:54
 * Modified By: 人民的勤务员@ChinaGodMan ([email protected])
 * -----
 * License: MIT License
 * Copyright © 2024 - 2025 ChinaGodMan,Inc
 */

//https://greasyfork.org/scripts/524702/
//https://greasyfork.org/scripts/428258/

const autoMaxWidth = true
const autoPlay = true
const autoMaxQuality = true

if (initials && document.location.pathname.indexOf('/videos/') !== -1) {
    let mp4 = initials?.videoModel?.sources?.mp4 ?? initials?.xplayerSettings?.sources?.standard?.h264
    addDownloadButton(mp4)
}
autoMaxPlayer(autoMaxWidth, autoPlay)
if (autoMaxQuality) {
    const interval = setInterval(() => {
        const qualityEl = document.querySelector('#player-container > div:nth-child(14) > span:nth-child(2) > span')
        if (qualityEl) {
            const highestQuality = qualityEl.querySelector('span:nth-child(2)')
            if (highestQuality) {
                highestQuality.click()
                clearInterval(interval)
            }
        }
    }, 500)
}
function autoMaxPlayer(isMax, isAutoPlay) {
    const interval = setInterval(() => {
        const player = document.querySelector('#player-container')
        if (player && isMax) {
            const style = document.createElement('style')
            style.type = 'text/css'
            style.innerHTML = 'div.xplayer-large-mode { height: 850px !important; }'
            document.head.appendChild(style)
            const largeModeButton = document.querySelector('div.large-mode')
            if (largeModeButton) {
                isMax = false
                largeModeButton.click()
            }
        }
        if (player && isAutoPlay) {
            const playButton = document.querySelector('div.control-bar > a > div')
            if (playButton) {
                playButton.click()
                isAutoPlay = false
            }
        }
        if (!isMax && !isAutoPlay) {
            clearInterval(interval)
        }
    }, 500)
}
function addDownloadButton(links) {
    const controls = document.querySelector(isMobileDevice() ? '[data-role="video-controls"]' : '.controls')
    const svgScr = `
    <button class="button-390e8 xh-button download" data-tooltip="DownloadVideos" __xid="a28d46bc-cc90-40e9-aedc-98d2c80be76a">
        <span class="root-33e82 icon-390e8">
    <svg height="20px" width="=20px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
	viewBox="0 0 512 512" xml:space="preserve">
<path style="fill:#7DD2F0;" d="M8.329,255.999c0,136.785,110.886,247.671,247.672,247.671s247.671-110.886,247.671-247.671
	S392.785,8.329,256.001,8.329S8.329,119.215,8.329,255.999z"/>
<path style="opacity:0.1;enable-background:new    ;" d="M74.96,255.999c0-125.486,93.327-229.159,214.356-245.433
	c-10.899-1.466-22.016-2.238-33.316-2.238C119.215,8.329,8.329,119.215,8.329,255.999S119.215,503.67,256.001,503.67
	c11.3,0,22.417-0.772,33.316-2.238C168.288,485.159,74.96,381.486,74.96,255.999z"/>
<polygon style="fill:#FFFFFF;" points="297.462,125.2 297.462,223.018 354.798,223.018 256.001,392.597 157.202,223.018
	214.538,223.018 214.538,125.2 "/>
<path d="M255.999,512c-68.38,0-132.667-26.629-181.019-74.98C26.629,388.667,0,324.38,0,255.999
	c0-54.545,16.938-106.62,48.982-150.598c2.709-3.718,7.919-4.534,11.637-1.827c3.718,2.709,4.535,7.919,1.827,11.637
	c-29.955,41.109-45.788,89.793-45.788,140.788c0,63.931,24.896,124.035,70.102,169.24c45.206,45.206,105.31,70.102,169.24,70.102
	c48.035,0,94.365-14.174,133.982-40.988c3.811-2.579,8.987-1.58,11.566,2.229c2.579,3.81,1.58,8.987-2.229,11.566
	C356.934,496.837,307.376,512,255.999,512z"/>
<path d="M421.11,448.921c-2.288,0-4.564-0.936-6.21-2.774c-3.067-3.427-2.775-8.693,0.652-11.76
	c50.708-45.386,79.79-110.405,79.79-178.386c0-63.931-24.896-124.035-70.102-169.24c-45.205-45.207-105.309-70.103-169.241-70.103
	c-33.216,0-65.364,6.674-95.554,19.836c-29.165,12.717-55.165,30.866-77.28,53.945c-3.183,3.322-8.456,3.434-11.776,0.251
	c-3.322-3.183-3.435-8.454-0.252-11.776c23.648-24.679,51.455-44.089,82.65-57.69C186.09,7.141,220.479,0,255.999,0
	c68.381,0,132.668,26.629,181.02,74.98C485.371,123.333,512,187.62,512,255.999c0,72.714-31.105,142.256-85.338,190.798
	C425.073,448.22,423.087,448.921,421.11,448.921z"/>
<path d="M255.999,400.926c-2.964,0-5.705-1.575-7.196-4.137L150.004,227.21c-1.501-2.576-1.509-5.758-0.024-8.343
	c1.486-2.585,4.24-4.179,7.222-4.179h49.009v-89.489c0-4.6,3.728-8.329,8.329-8.329h82.923c4.601,0,8.329,3.729,8.329,8.329v89.489
	H354.8c2.982,0,5.736,1.594,7.222,4.179c1.485,2.585,1.476,5.767-0.024,8.343l-98.8,169.581
	C261.704,399.352,258.963,400.926,255.999,400.926z M171.693,231.347l84.307,144.706l84.307-144.706h-42.845
	c-4.601,0-8.329-3.729-8.329-8.329v-89.489h-66.265v89.489c0,4.6-3.728,8.329-8.329,8.329H171.693z"/>
</svg>
        </span>
    </button>
    `
    controls.insertAdjacentHTML(isMobileDevice() ? 'afterend' : 'beforeend', svgScr)
    const button = document.querySelector('.xh-button.download')
    button.addEventListener('click', function () {
        createPopup(links)
    })
}
const generateList = (links) => {
    // 判断数据类型
    const isArray = Array.isArray(links)
    const linkEntries = isArray ? links : Object.entries(links)

    return `
        <ul style="list-style: none; padding: 0; margin: 0; text-align: center;">
            ${linkEntries
            .map((item) => {
                // 根据数据类型提取 url 和 quality
                const url = isArray ? item.url : item[1]
                const quality = isArray ? item.quality : item[0]

                return `
                        <li style="margin: 10px 0;">
                            <a href="${url}" target="_blank" style="
                                text-decoration: none;
                                color: #007BFF;
                                font-weight: bold;
                                transition: color 0.3s ease;
                            " onmouseover="this.style.color='#0056b3'" onmouseout="this.style.color='#007BFF'">${quality}</a>
                        </li>
                    `
            })
            .join('')}
        </ul>
    `
}

const createPopup = (links) => {
    const popup = document.createElement('div')
    popup.innerHTML = `
        <div style="
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            padding: 20px;
            background-color: #fff;
            color: #333;
            border-radius: 12px;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
            z-index: 1000;
            max-width: 90%;
            width: 100%;
            max-height: 80%;
            overflow-y: auto;
            font-family: 'Arial', sans-serif;
        ">
            <button style="
                position: absolute;
                top: 8px;
                right: 8px;
                background-color: #e74c3c;
                color: #fff;
                border: none;
                border-radius: 50%;
                width: 24px;
                height: 24px;
                cursor: pointer;
                font-size: 14px;
                display: flex;
                align-items: center;
                justify-content: center;
                line-height: 1;
            " onclick="this.parentElement.remove()">×</button>
            ${generateList(links)}
        </div>
    `
    document.body.appendChild(popup)
}
function isMobileDevice() {
    return /Mobi|Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)
}