您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Show unused bandwidth
- // ==UserScript==
- // @name P2P Usage Progressbar
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description Show unused bandwidth
- // @author You
- // @match https://portal.ptpbroadband.com/datausage.php
- // @grant none
- // ==/UserScript==
- (function () {
- 'use strict';
- setTimeout(function () {
- var xhr = new XMLHttpRequest(),
- formData = new FormData();
- formData.append("action", "getDailyUsage");
- formData.append("customerId", "8730600");
- xhr.open('POST', 'https://portal.ptpbroadband.com/webService.php');
- // LINE ADDED
- xhr.setRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01");
- xhr.setRequestHeader("Accept-Language", "en-US,en;q=0.5");
- xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
- xhr.setRequestHeader("Cache-Control", "no-cache");
- xhr.send('action=getDailyUsage&customerId=8730600');
- xhr.onload = function () {
- if (xhr.readyState === xhr.DONE) {
- if (xhr.status === 200) {
- console.log(xhr.response);
- update(JSON.parse(xhr.response).data);
- }
- }
- };
- function update(data) {
- console.log(data);
- let progressBarDiv = document.querySelector(".progress-bar");
- let parentDiv = document.querySelector(".progress-bar").parentElement;
- progressBarDiv.remove();
- let expectedUsage = new Date(Date.now()).getDate() / data.recentUsage.length;
- let totalGB = data.recentUsage.reduce(function (count, it) {return count + it.y}, 0);
- let currentUsage = totalGB / 400;
- if (currentUsage < expectedUsage) {
- parentDiv.appendChild(createProgressbar(currentUsage, "#47a447"));
- parentDiv.appendChild(createProgressbar(expectedUsage - currentUsage, "#80918c"));
- }
- else {
- parentDiv.appendChild(createProgressbar(expectedUsage, "#a49c20"));
- parentDiv.appendChild(createProgressbar(currentUsage - expectedUsage, "#a42911"));
- }
- parentDiv.insertAdjacentHTML("afterend","<p>Your daily bandwidth budget is <strong>" + (400 / data.recentUsage.length).toFixed(1) + "GB</strong></p>" );
- function createProgressbar(percentage, bg) {
- let percent100 = (percentage * 100).toFixed(3);
- let div = document.createElement("div");
- div.classList.add("progress-bar");
- div.setAttribute("role", "progressbar");
- div.setAttribute("aria-valuenow", percent100);
- div.setAttribute("aria-valuemin", "0");
- div.setAttribute("aria-valuemax", "100");
- div.style.width = percent100 + "%";
- div.style.borderRadius = "0";
- div.style.background = bg;
- return div;
- }
- }
- }, 1000);
- })();