您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically change HTTP URLs to HTTPS, when possible.
- // ==UserScript==
- // @name Enforce HTTPS
- // @namespace i2p.schimon.enforce-https
- // @description Automatically change HTTP URLs to HTTPS, when possible.
- // @author Schimon Jehudah, Adv.
- // @homepageURL https://greasyfork.org/en/scripts/465953-enforce-https
- // @supportURL https://greasyfork.org/en/scripts/465953-enforce-https/feedback
- // @copyright 2023 - 2024, Schimon Jehudah (http://schimon.i2p)
- // @license MIT; https://opensource.org/licenses/MIT
- // @run-at document-start
- // @match http://*/*
- // @connect self
- // @grant GM_xmlhttpRequest
- // @grant GM.xmlHttpRequest
- // @icon data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjRtbSIgaGVpZ2h0PSI2NG1tIiB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHRleHQgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgc3R5bGU9ImZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTkycHg7bGluZS1oZWlnaHQ6MDt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkO3RleHQtZGVjb3JhdGlvbi1jb2xvcjojMDAwO3dyaXRpbmctbW9kZTpsci10YjtkaXJlY3Rpb246bHRyO3RleHQtb3JpZW50YXRpb246bWl4ZWQ7ZG9taW5hbnQtYmFzZWxpbmU6YXV0bztiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDtzaGFwZS1wYWRkaW5nOjA7c2hhcGUtbWFyZ2luOjA7aW5saW5lLXNpemU6MDtvcGFjaXR5OjE7ZmlsbDojMDAwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDoxLjI3OTgyO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2Utb3BhY2l0eToxO3N0b3AtY29sb3I6IzAwMDtzdG9wLW9wYWNpdHk6MSIgeD0iMTcuMDA1MjQ1IiB5PSIzMS42NTg0MDUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00LjQzNjg1NjQgNDAuODk0OTQpIHNjYWxlKC4yNjQ1OCkiPjx0c3BhbiB4PSIxNy4wMDUyNDUiIHk9IjMxLjY1ODQwNSIgc3R5bGU9ImZvbnQtc2l6ZToxOTJweCI+8J+boe+4jzwvdHNwYW4+PC90ZXh0Pjwvc3ZnPgo=
- // @version 24.04
- // ==/UserScript==
- // @makyen
- // /greasemonkey/greasemonkey/issues/3160#issuecomment-1456758080
- const gmXmlhttpRequest = typeof GM_xmlhttpRequest === 'function' ? GM_xmlhttpRequest : GM.xmlHttpRequest;
- if (!location.protocol.startsWith('http:')) return; // exit (else, continue)
- var newURL = location.href.replace('http:','https:');
- gmXmlhttpRequest({
- method: 'GET',
- url: newURL,
- onprogress: console.log('Checking for https...'),
- onload: function(response) {
- if (response.finalUrl == newURL && response.status == 200) {
- location.href = newURL;
- console.info(`Successfully redirected to https (Response status: ${response.status}).`);
- } else {
- console.log(`No https access available (Response status: ${response.status}).`);
- }
- },
- onerror: function(response) {
- console.log('Error requesting for https.')
- }
- })
- /*
- fetch(newURL)
- .then((response) => {
- if (request.reseponseURL == newURL) {
- window.open(newURL,'_self');
- }
- })
- */