您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
4/21/2022, 9:17:28 PM
// ==UserScript== // @name Voat->Gvid archive // @namespace Violentmonkey Scripts // @match *://www.voat.xyz/* // @match *://www.talk.lol/* // @grant none // @version 1.0 // @author - // @description 4/21/2022, 9:17:28 PM // @require https://cdnjs.cloudflare.com/ajax/libs/js-sha1/0.6.0/sha1.min.js // @license MIT // ==/UserScript== /* jshint esversion: 6 */ const user=''; const key=''; //Get a key at https://gvid.tv/manage const buttontext='Archive on Gvid' var extensions = new Set(['webm','mp4']); function sha1hash(string) { var hash=sha1.create(); hash.update(string); hash.update(key); hash.digest(); return hash.hex(); } function sendsecure(action,parameters,cb) { var innerobj={user,action,parameters,time:Date.now()}; var innerjson=JSON.stringify(innerobj); var outerobj={payload:innerjson,hmac:sha1hash(innerjson)}; fetch('https://gvid.tv/userapi',{ method:'POST', body:JSON.stringify(outerobj) }).then(resp=>cb(null,resp)).catch(cb); } function buttonclick(e) { var b = e.target; var post = b.closest('.post-container,.post-container2'); var url=posturl(post); var title=posttitle(post); var postid=post.id.replace('post_',''); var host=location.host.indexOf('voat.xyz')!=-1?'voat.xyz':'talk.lol'; //Also gets rid of www var hostname=host=='voat.xyz'?'Voat':'Talk.lol'; //Display version var commentsurl=`https://${host}/viewpost?postid=${postid}`; var description=`[Discussion on ${hostname}](${commentsurl})`; //Markdown sendsecure('directupload',{title,url,description},(err,resp)=>{ if(err) return alert(err); b.remove(); }); } function testurl(url) { var extension=url.split('.').pop().toLowerCase(); if(extensions.has(extension)) return true; return false; } function posturl(post) { return post.querySelector('a').href; } function posttitle(post) { return post.querySelector('.post-title a').innerText; } function testpost(post) { return testurl(posturl(post)); } function postlist() { return document.querySelectorAll('.post-container,.post-container2'); } function targetposts() { return Array.prototype.filter.apply(postlist(),[testpost]); } function addbuttontopost(post) { var button=document.createElement('button'); button.innerText=buttontext; button.addEventListener('click',buttonclick); post.querySelector('.post-title').append(button); button.style="cursor:pointer;"; } function addbuttons() { targetposts().forEach(addbuttontopost); } addbuttons();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址