您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Modify limit_rate directly from the fetched data
当前为
- // ==UserScript==
- // @name Modify Limit Rate Script
- // @namespace http://tampermonkey.net/
- // @version 0.9
- // @description Modify limit_rate directly from the fetched data
- // @author Your Name
- // @match *://*/*
- // @license MIT
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- // Create modify limit_rate button
- const modifyButton = document.createElement('button');
- modifyButton.textContent = '修改 limit_rate';
- modifyButton.style.position = 'fixed';
- modifyButton.style.top = '10px';
- modifyButton.style.right = '10px';
- modifyButton.style.zIndex = 1000;
- modifyButton.style.padding = '10px 15px';
- modifyButton.style.backgroundColor = '#007BFF';
- modifyButton.style.color = '#FFFFFF';
- modifyButton.style.border = 'none';
- modifyButton.style.borderRadius = '5px';
- modifyButton.style.cursor = 'pointer';
- document.body.appendChild(modifyButton);
- // Get the id from the current URL path
- function getIdFromUrl() {
- const pathSegments = window.location.pathname.split('/'); // Split the path into segments
- return pathSegments[pathSegments.length - 1]; // Get the last segment which should be the id
- }
- // Modify limit_rate button event handler
- modifyButton.addEventListener('click', () => {
- const id = getIdFromUrl(); // Fetch the id from the URL
- if (!id) {
- alert("无法获取 ID,请确保 URL 中包含 'id'。");
- return;
- }
- const fetchUrl = window.location.origin + `/api/admin/storage/get?id=${id}`;
- const token = window.localStorage['token'];
- fetch(fetchUrl, {
- method: "GET",
- headers: {
- "authorization": token
- }
- })
- .then(response => response.json())
- .then(data => {
- console.log("获取成功:", data);
- // Prompt for limit_rate modification based on current value
- const newLimitRate = prompt("当前 limit_rate: " + data.data.limit_rate + "\n请输入新的 limit_rate 值(留空则不修改):");
- if (newLimitRate !== null && newLimitRate.trim() !== "") {
- // Update limit_rate in data
- const limitRateValue = parseFloat(newLimitRate);
- data.data.limit_rate = limitRateValue; // Update limit_rate
- // Parse and modify the addition field
- const additionData = JSON.parse(data.data.addition);
- // Update the addition field with the new limit_rate
- additionData.limit_rate = limitRateValue;
- // Remove sensitive information if not necessary
- delete additionData.AccessToken; // Remove if not needed
- delete additionData.refresh_token; // Remove if not needed
- // Update the addition field back to JSON string
- data.data.addition = JSON.stringify(additionData);
- }
- // Confirm before updating
- if (confirm("是否更新 limit_rate 到以下值: " + data.data.limit_rate + "?")) {
- const updateUrl = window.location.origin + "/api/admin/storage/update"; // Assuming the update URL follows this pattern
- // Send updated data back to the server
- fetch(updateUrl, {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- "authorization": token
- },
- body: JSON.stringify(data.data), // Send the modified data
- })
- .then(response => response.json())
- .then(responseData => {
- console.log("更新成功:", responseData);
- alert("limit_rate 更新成功!新值为: " + data.data.limit_rate);
- })
- .catch(error => {
- console.error("更新错误:", error);
- alert("limit_rate 更新失败,请查看控制台以获取详情。");
- });
- }
- })
- .catch(error => {
- console.error("获取错误:", error);
- alert("数据获取失败,请查看控制台以获取详情。");
- });
- });
- })();