Вопрос Darkfans Загрузка

  • Автор темы Автор темы yardlight8
  • Дата начала Дата начала

yardlight8

Лёркер
Регистрация
01.11.2025
Сообщения
18
Реакции
0
Есть какая-нибудь тулза, которая может скачивать видео с darkfans? Долго искал, а способы, которые нашёл, больше не работают
 
даже платные? с их DRM?
 
TubeDigger в RecMode/Monitor Browser
 
нашёл решение, Video Download Helper сработал
 
пробовал на тех, что купил, и сработало, так что, думаю, да
 
Video Download Helper и Internet Download Manager сейчас не работают с DRM-постами на стене.
 
они никогда не работают и не будут
 
я говорил про платные видео, которые я купил, конечно, некупленные скачать нельзя
 
Тоже подтверждаю, что YT Saver не работает, а у меня он раньше работал на купленном контенте с DRM на onlyfans.
 
можно, через TubeDigger в RecMode/Monitor Browser, это сейчас единственный вариант
 
я тоже использовал video downloader helper, и сработало
 
да, но только для видео без DRM
 
есть ли рабочие варианты для DRM? Я перепробовал все перечисленные, даже TubeDigger с лицензией, и всё равно без толку.
 
Я следовал этому посту, и всё заработало:
https://simpcityopen.com/posts/2239604/
Несколько заметок:
- Когда откроешь инспектор элементов, искать нужно data-token
- После того как вставишь это в https://larley.dev/Page/Fastevo, получишь команду, которую можно скопировать и запустить (я закинул её в .bat файл, чтобы было проще), но для запуска ещё нужно скачать вот это: https://github.com/nilaoda/N_m3u8DL-RE/releases и вот это https://github.com/shaka-project/shaka-packager/releases
- Не уверен, что вообще нужна эта штука с расширением widevine, команда из https://larley.dev/Page/Fastevo вроде работает напрямую.
Сделал небольшой скрипт для tampermonkey, чтобы доставать data-token, потому что darkfans бесит, когда открываешь инспектор:
Код:
// ==UserScript==
// @name Darkfans Click to Copy Data-Token
// @namespace http://tampermonkey.net
// @version 1.5
// @description Adds a floating button to copy the data-token on demand.
// @author You
// @include /^https?:\/\/(?:[^\/]+\.)?darkfans\.com/.*$/
// @grant GM_setClipboard
// @run-at document-end
// ==/UserScript==

(function() {
'use strict';

// 1. Create the floating button
const btn = document.createElement('button');
btn.textContent = '📋 Copy Token';

// Style the button to float in the bottom-right corner
btn.style.position = 'fixed';
btn.style.bottom = '20px';
btn.style.right = '20px';
btn.style.zIndex = '10000';
btn.style.backgroundColor = '#007bff';
btn.style.color = '#fff';
btn.style.border = 'none';
btn.style.borderRadius = '5px';
btn.style.padding = '10px 15px';
btn.style.cursor = 'pointer';
btn.style.fontFamily = 'sans-serif';
btn.style.fontSize = '14px';
btn.style.fontWeight = 'bold';
btn.style.boxShadow = '0 4px 6px rgba(0,0,0,0.2)';
btn.style.transition = 'background-color 0.2s';

// Hover effects
btn.onmouseover = () => btn.style.backgroundColor = '#0056b3';
btn.onmouseout = () => btn.style.backgroundColor = '#007bff';

// 2. Define what happens when clicked
btn.onclick = function() {
const element = document.querySelector('[data-token]');

if (element) {
const token = element.getAttribute('data-token');
if (token) {
// Copy to clipboard via Tampermonkey API
GM_setClipboard(token);

// Visual feedback on the button
btn.textContent = '✅ Copied!';
btn.style.backgroundColor = '#28a745';

// Reset button text after 2 seconds
setTimeout(() => {
btn.textContent = '📋 Copy Token';
btn.style.backgroundColor = '#007bff';
}, 2000);
return;
}
}

// Error feedback if token isn't found
btn.textContent = '❌ No Token Found';
btn.style.backgroundColor = '#dc3545';
setTimeout(() => {
btn.textContent = '📋 Copy Token';
btn.style.backgroundColor = '#007bff';
}, 2000);
};

// 3. Inject the button into the webpage
document.body.appendChild(btn);
})();
 
Сработало. Спасибо за скрипт. Мне было тяжело найти токен.
Часть контента, которым славится Darkfans, здесь запрещена.
Кто-нибудь знает, можно ли хотя бы делиться этим в личке?
 
Теперь я сделал всё максимально просто. Нужно только скачать вот это: https://github.com/nilaoda/N_m3u8DL-RE/releases и вот это https://github.com/shaka-project/shaka-packager/releases, добавить оба в PATH, потом установить мой скрипт для tampermonkey И запустить мой скрипт Powershell. Дальше один клик, и оно скачивается автоматически.
Код:
// ==UserScript==
// @name Fastevo Auto-Download
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Grabs DataToken, POSTs to Fastevo, copies N_m3u8DL-RE command to clipboard
// @include /^https?:\/\/(?:[^\/]+\.)?darkfans\.com/.*$/
// @grant GM_setClipboard
// @grant GM_xmlhttpRequest
// @connect larley.dev
// ==/UserScript==

(function() {
'use strict';

const btn = document.createElement('button');
btn.textContent = '⬇ Auto Download';

Object.assign(btn.style, {
position: 'fixed', bottom: '20px', right: '20px', zIndex: '10000',
backgroundColor: '#007bff', color: '#fff', border: 'none',
borderRadius: '5px', padding: '10px 15px', cursor: 'pointer',
fontFamily: 'sans-serif', fontSize: '14px', fontWeight: 'bold',
boxShadow: '0 4px 6px rgba(0,0,0,0.2)', transition: 'background-color 0.2s'
});
btn.onmouseover = () => btn.style.backgroundColor = '#0056b3';
btn.onmouseout = () => btn.style.backgroundColor = '#007bff';

function setStatus(text, color, reset = true) {
btn.textContent = text;
btn.style.backgroundColor = color;
if (reset) {
setTimeout(() => {
btn.textContent = '⬇ Auto Download';
btn.style.backgroundColor = '#007bff';
}, 3000);
}
}

function gmFetch(url, opts = {}) {
return new Promise((resolve, reject) => {
GM_xmlhttpRequest({
method: opts.method || 'GET',
url,
headers: opts.headers || {},
data: opts.body || null,
withCredentials: true,
timeout: 30000,
onload: r => resolve(r.responseText),
onerror: e => reject(new Error('Network error')),
ontimeout: () => reject(new Error('Timeout'))
});
});
}

btn.onclick = async function() {
const el = document.querySelector('[data-token]');
if (!el || !el.getAttribute('data-token')) {
setStatus('❌ No Token Found', '#dc3545');
return;
}
const token = el.getAttribute('data-token');

try {
setStatus('⏳ Fetching page…', '#ffc107', false);

// 1. GET the Fastevo page to obtain a fresh __RequestVerificationToken
const html = await gmFetch('https://larley.dev/Page/Fastevo');
const doc = new DOMParser().parseFromString(html, 'text/html');
const rvtInput = doc.querySelector('input[name="__RequestVerificationToken"]');
if (!rvtInput) throw new Error('No antiforgery token on page');
const rvt = rvtInput.value;

setStatus('⏳ Submitting token…', '#ffc107', false);

// 2. POST the DataToken
const body = new URLSearchParams();
body.append('DataToken', token);
body.append('__RequestVerificationToken', rvt);

const respHtml = await gmFetch('https://larley.dev/Page/Fastevo', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: body.toString()
});

// 3. Parse the command input
const respDoc = new DOMParser().parseFromString(respHtml, 'text/html');
const cmdInput = respDoc.querySelector('#command');
if (!cmdInput || !cmdInput.value) throw new Error('No command in response');

const command = cmdInput.value; // already decoded by DOMParser

// 4. Copy to clipboard - PowerShell monitor will pick it up
GM_setClipboard(command);

setStatus('✅ Sent! Watch cmd window', '#28a745');
} catch (e) {
console.error('[Fastevo Auto]', e);
setStatus('❌ ' + e.message, '#dc3545');
}
};

document.body.appendChild(btn);
})();
Код:
# FastevoMonitor.ps1
# Watches clipboard for N_m3u8DL-RE commands and runs them automatically.

$lastClipboard = ""

Write-Host "=== Fastevo N_m3u8DL-RE Clipboard Monitor ===" -ForegroundColor Cyan
Write-Host "Click the Tampermonkey button to start a download." -ForegroundColor Cyan
Write-Host "Press Ctrl+C to stop.`n" -ForegroundColor Cyan

while ($true) {
try {
$current = Get-Clipboard -Raw
if ($current -and $current -ne $lastClipboard) {
$lastClipboard = $current

# Match a command that has N_m3u8DL-RE plus at least one --key
if ($current -match 'N_m3u8DL-RE' -and $current -match '--key') {
$command = $current.Trim()
$ts = Get-Date -Format 'HH:mm:ss'
Write-Host "[$ts] Detected download command. Launching..." -ForegroundColor Green

# Build a temp .bat
# We append "-sv best -sa best" so it skips the interactive Spectre.Console prompt
$tempBat = [System.IO.Path]::GetTempFileName() + ".bat"
$bat = @"
@echo off
title Fastevo Download
echo Running: $command -sv best -sa best
echo.
$command -sv best -sa best
echo.
echo === Process finished ===
pause >nul
"@
Set-Content -Path $tempBat -Value $bat -Encoding ASCII

Start-Process -FilePath "cmd.exe" -ArgumentList "/c", "`"$tempBat`""

# Avoid re-triggering on the same clipboard content
Start-Sleep -Seconds 3
}
}
} catch {
Write-Host "Error: $_" -ForegroundColor Red
}
Start-Sleep -Milliseconds 500
}
 
У тебя есть Discord или что-то такое, чтобы помочь мне со всем этим разобраться? Я всё сделал, но когда нажимаю на кнопку расширения Tampermonkey, ничего не происходит
 
Назад
Верх