您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Show direct download links with file sizes, sorted largest first, on archive.org pages
// ==UserScript== // @name Archive.org Direct Download Links with Sizes & Sort // @namespace http://tampermonkey.net/ // @version 1.1 // @description Show direct download links with file sizes, sorted largest first, on archive.org pages // @match https://archive.org/details/* // @grant none // ==/UserScript== (async function () { 'use strict'; const identifierMatch = window.location.pathname.match(/^\/details\/([^/?#]+)/); if (!identifierMatch) return; const identifier = identifierMatch[1]; let metadata; try { const res = await fetch(`https://archive.org/metadata/${identifier}`); metadata = await res.json(); } catch (e) { console.error('Failed to fetch archive metadata', e); return; } const baseHost = metadata.d1 || metadata.d2 || 'https://archive.org'; const basePath = `/items/${identifier}/`; const isMetaFile = (filename) => ( filename.endsWith('_meta.xml') || filename.endsWith('_meta.json') || filename.endsWith('_files.xml') || filename.endsWith('_thumb.jpg') || filename.endsWith('_archive.torrent') || filename.endsWith('.sqlite') || filename.startsWith('dark') || filename.startsWith('__ia_thumb') || filename.startsWith('ia_logo') || filename.endsWith('.bif') ); // Convert bytes to readable string const formatSize = (bytes) => { if (bytes === undefined) return ''; if (bytes > 1e9) return (bytes / 1e9).toFixed(2) + ' GB'; if (bytes > 1e6) return (bytes / 1e6).toFixed(2) + ' MB'; if (bytes > 1e3) return (bytes / 1e3).toFixed(2) + ' KB'; return bytes + ' B'; }; // Filter & sort files largest first const files = metadata.files.filter(f => f.name && !isMetaFile(f.name)); files.sort((a, b) => (b.size || 0) - (a.size || 0)); const panel = document.createElement('div'); panel.style = ` position: fixed; top: 10px; right: 10px; background: #0078e7; padding: 10px; border-radius: 8px; z-index: 99999; box-shadow: 0 3px 8px rgba(0,0,0,0.3); max-height: 70vh; overflow-y: auto; width: 320px; font-family: Arial, sans-serif; color: white; `; const title = document.createElement('div'); title.textContent = '⬇️ Direct Download Links (Largest First)'; title.style = 'margin-bottom: 8px; font-size: 16px; font-weight: bold;'; panel.appendChild(title); files.forEach(file => { const encodedName = encodeURIComponent(file.name).replace(/%20/g, '+'); const fileUrl = `${baseHost}${basePath}${encodedName}`; const link = document.createElement('a'); link.href = fileUrl; link.textContent = `${file.name} (${formatSize(file.size)})`; link.target = '_blank'; link.style = ` display: block; margin-bottom: 6px; color: #fff; text-decoration: underline; cursor: pointer; font-size: 12px; word-break: break-word; `; link.download = file.name; panel.appendChild(link); }); document.body.appendChild(panel); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址