可能大家要试试自己的手机流量套餐在流量超过某个数值时会不会限速,限速多少,当然你也可以找一些IDC商家的测速文件下载测试。这个项目是很久之前看到别人拿来刷流量的一个小工具,效果也是相当不错。
代码就是纯静态的,直接上精简版优化好的代码:
<!DOCTYPE html>
<html lang="cn">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="theme-color" content="#3F51B5">
<title>流量消耗器</title>
<meta name="description" content="The most straightforward way to waste all of your data.">
<!--<link rel="shortcut icon" href="favicon.ico">-->
<!--<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/material-components-web/3.0.0/material-components-web.min.css" integrity="sha256-sljrYCrrEK55ECAXF6gHxng8RLXHZYpsblwhH4P7bsM=" crossorigin="anonymous" />-->
<!--<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/material-components/material-components-web@3.0.0/packages/material-components-web/material-components-web.scss" crossorigin="anonymous" />-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/material-components-web@3.0.0/dist/material-components-web.min.css" crossorigin="anonymous" />
<style>
body {
--mdc-theme-primary: #3f51b5;
--mdc-theme-secondary: #f44336;
background-color: #fafafa;
}
body .ribbon {
top: 0;
z-index: -1;
background-color: var(--mdc-theme-primary, #6200ee);
width: 100%;
height: 10rem;
position: absolute;
}
body .main-content {
background-color: white;
border-radius: 4px;
margin: 1.5rem;
padding: 2rem;
min-height: calc(100vh - 7rem);
}
body .main-content .option__mbs {
width: 100%;
margin-top: 32px;
}
body .main-content .mdc-switch__label {
margin-left: 10px;
}
body .main-content .option__threads-title {
margin-bottom: 0;
}
body .main-content img {
max-width: 100%;
}
body .main-content .mdc-button.mdc-button--raised {
background-color: var(--mdc-theme-secondary, #018786);
}
body .main-content .theme-toggle {
position: absolute;
top: 0.5rem;
right: 3rem;
}
body .main-content a {
color: var(--mdc-theme-primary, #6200ee);
}
body .main-content::-moz-selection {
background-color: var(--mdc-theme-primary, #6200ee);
color: white;
}
body .main-content::selection {
background-color: var(--mdc-theme-primary, #6200ee);
color: white;
}
body .main-content #carbonads {
margin-bottom: 1rem;
float: right;
border-radius: 6px;
box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
font-family: Roboto, sans-serif;
line-height: 28px;
padding: 8px;
box-sizing: border-box;
transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
@media only screen and (max-width: 425px) {
body .main-content #carbonads {
width: 100%;
}
}
body .main-content #carbonads:hover {
box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
body .main-content #carbonads .carbon-wrap .carbon-img > img {
margin-right: 9px;
float: left;
}
@media only screen and (max-width: 400px) {
body .main-content #carbonads .carbon-wrap .carbon-img > img {
width: auto;
max-width: 130px;
height: 50px;
}
}
body .main-content #carbonads .carbon-wrap .carbon-text {
color: #637381;
font-weight: 300;
display: block;
font-size: 12px;
line-height: 15.96px;
margin-bottom: 0;
margin-top: 8px;
text-decoration: none;
}
body .main-content #carbonads .carbon-poweredby {
color: #c5cdd0;
font-size: 8px;
font-weight: 500;
line-height: 10px;
text-transform: uppercase;
text-decoration: none;
}
body .output__progress {
bottom: 0px;
height: 8px;
position: fixed;
}
body .full-width {
width: 100%;
}
body.setting--dark {
background-color: #121212 !important;
--mdc-theme-text-primary-on-background: white;
--mdc-theme-text-secondary-on-background: white;
--mdc-theme-text-icon-on-background: white;
}
body.setting--dark::-webkit-scrollbar {
background-color: #424242;
}
body.setting--dark .main-content {
color: white;
background-color: #212121;
}
body.setting--dark .mdc-linear-progress__buffer {
background-color: #404040;
}
body.setting--dark .mdc-select__selected-text,
body.setting--dark .mdc-text-field__input,
body.setting--dark .mdc-floating-label,
body.setting--dark #carbonads .carbon-text {
color: white !important;
}
body.setting--dark .mdc-notched-outline__leading,
body.setting--dark .mdc-notched-outline__notch,
body.setting--dark .mdc-notched-outline__trailing {
border-color: white !important;
}
body.setting--dark a {
color: #5c6bc0;
}
body.setting--dark::-moz-selection {
background-color: #c5cae9;
color: black;
}
body.setting--dark::selection {
background-color: #c5cae9;
color: black;
}
body.setting--animate-colours {
transition: background-color 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
body.setting--animate-colours .main-content,
body.setting--animate-colours a,
body.setting--animate-colours::-moz-selection {
transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
transition-property: background-color, color;
}
body.setting--animate-colours .main-content,
body.setting--animate-colours a,
body.setting--animate-colours::selection {
transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
transition-property: background-color, color;
}
body::-webkit-scrollbar {
border-radius: 100px;
background-color: transparent;
width: 8px;
height: 8px;
}
body::-webkit-scrollbar-button {
height: 0;
width: 0;
}
body::-webkit-scrollbar-corner {
background-color: transparent;
}
body::-webkit-scrollbar-thumb {
border-radius: 100px;
background-color: rgba(0, 0, 0, 0.2);
min-height: 28px;
}
body::-webkit-scrollbar-thumb:hover {
background-color: rgba(0, 0, 0, 0.4);
}
body::-webkit-scrollbar-thumb:active {
background-color: rgba(0, 0, 0, 0.5);
}
body::-webkit-scrollbar-track {
background-clip: padding-box;
border-width: 0 0 0 4px;
}
</style>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500">
<!--<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css" integrity="sha256-l85OmPOjvil/SOvVt3HnSSjzF1TUMyT9eV0c2BzEGzU=" crossorigin="anonymous" />-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/necolas/normalize.css@master/normalize.css" crossorigin="anonymous" />
</head>
<body>
<div class="ribbon mdc-elevation--z4"></div>
<main class="main-content mdc-typography mdc-elevation--z8">
<!--<script async src="https://jcksb/carbon.js?serve=CK7I6K3E&placement=wwwrichie-bendallml" id="_carbonads_js"></script>-->
<button class="theme-toggle mdc-fab mdc-fab--mini" aria-label="Toggle Theme Settings" data-mdc-auto-init="MDCRipple">
<svg class="theme-toggle__svg mdc-fab__icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0V0z" />
<path d="M11 7l-3.2 9h1.9l.7-2h3.2l.7 2h1.9L13 7h-2zm-.15 5.65L12 9l1.15 3.65h-2.3zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zm-2 5.79V18h-3.52L12 20.48 9.52 18H6v-3.52L3.52 12 6 9.52V6h3.52L12 3.52 14.48 6H18v3.52L20.48 12 18 14.48z" />
</svg>
</button>
<h1 class="mdc-typography--headline2">流量消失器</h1>
<p class="mdc-typography--body1">多线程消耗流量 机场佬直呼内行.</p>
<br>
<div class="option__unlimited mdc-switch mdc-switch--checked" data-mdc-auto-init="MDCSwitch">
<div class="mdc-switch__track"></div>
<div class="mdc-switch__thumb-underlay">
<div class="mdc-switch__thumb">
<input type="checkbox" class="mdc-switch__native-control" role="switch" checked>
</div>
</div>
</div>
<label class="mdc-switch__label" for="option--unlimited-input">无限制的跑下去</label>
<div class="option__mbs mdc-text-field mdc-text-field--outlined mdc-text-field--disabled" data-mdc-auto-init="MDCTextField">
<input type="number" min="1" id="goal" value="100" class="mdc-text-field__input" disabled>
<div class="mdc-notched-outline">
<div class="mdc-notched-outline__leading"></div>
<div class="mdc-notched-outline__notch">
<label for="goal" class="mdc-floating-label">MBs of data to waste</label>
</div>
<div class="mdc-notched-outline__trailing"></div>
</div>
</div>
<br>
<br>
<p class="option__threads-title mdc-typography--body2">线程(较高浪费速度更快,较低浪费精度更高)</p>
<div class="option__threads mdc-slider mdc-slider--discrete mdc-slider--display-markers" tabindex="0" role="slider" aria-valuemin="1" aria-valuemax="32" aria-valuenow="8" aria-label="Select Value" data-mdc-auto-init="MDCSlider">
<div class="mdc-slider__track-container">
<div class="mdc-slider__track"></div>
<div class="mdc-slider__track-marker-container"></div>
</div>
<div class="mdc-slider__thumb-container">
<div class="mdc-slider__pin">
<span class="mdc-slider__pin-value-marker"></span>
</div>
<svg class="mdc-slider__thumb" width="21" height="21">
<circle cx="10.5" cy="10.5" r="7.875"></circle>
</svg>
<div class="mdc-slider__focus-ring"></div>
</div>
</div>
<br>
<button class="option__waste mdc-fab mdc-fab--extended" data-mdc-auto-init="MDCRipple">
<svg class="mdc-fab__icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0V0z" />
<path d="M10 8.64L15.27 12 10 15.36V8.64M8 5v14l11-7L8 5z" />
</svg>
<span class="mdc-fab__label">GO</span>
</button>
<br>
<br>
<ul class="mdc-list mdc-list--two-line">
<li class="mdc-list-item" tabindex="0" data-mdc-auto-init="MDCRipple">
<svg class="mdc-list-item__graphic" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0V0z" />
<path d="M13 2.05v3.03c3.39.49 6 3.39 6 6.92 0 .9-.18 1.75-.48 2.54l2.6 1.53c.56-1.24.88-2.62.88-4.07 0-5.18-3.95-9.45-9-9.95zM12 19c-3.87 0-7-3.13-7-7 0-3.53 2.61-6.43 6-6.92V2.05c-5.06.5-9 4.76-9 9.95 0 5.52 4.47 10 9.99 10 3.31 0 6.24-1.61 8.06-4.09l-2.6-1.53C16.17 17.98 14.21 19 12 19z" />
</svg>
<span class="mdc-list-item__text">
<span class="mdc-list-item__primary-text">已消失的流量</span>
<span class="mdc-list-item__secondary-text output__wasted">0.00 MB</span>
</span>
</li>
<li class="mdc-list-item" data-mdc-auto-init="MDCRipple">
<svg class="mdc-list-item__graphic" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0V0z" />
<path d="M11 17c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1zm0-14v4h2V5.08c3.39.49 6 3.39 6 6.92 0 3.87-3.13 7-7 7s-7-3.13-7-7c0-1.68.59-3.22 1.58-4.42L12 13l1.41-1.41-6.8-6.8v.02C4.42 6.45 3 9.05 3 12c0 4.97 4.02 9 9 9 4.97 0 9-4.03 9-9s-4.03-9-9-9h-1zm7 9c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1zM6 12c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1z" />
</svg>
<span class="mdc-list-item__text">
<span class="mdc-list-item__primary-text">每秒实时流量</span>
<span class="mdc-list-item__secondary-text"><span class="output__speed">0.00 MB</span>/s</span>
</span>
</li>
<li class="mdc-list-item" data-mdc-auto-init="MDCRipple">
<svg class="mdc-list-item__graphic" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path fill="none" d="M0 0h24v24H0V0z" />
<path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z" />
</svg>
<span class="mdc-list-item__text">
<span class="mdc-list-item__primary-text">运行时长</span>
<span class="output__time mdc-list-item__secondary-text">0 seconds</span>
</span>
</li>
</ul>
<div class="snackbar__done mdc-snackbar mdc-snackbar--leading" data-mdc-auto-init="MDCSnackbar">
<div class="mdc-snackbar__surface">
<div class="mdc-snackbar__label" role="status" aria-live="polite">
The specified amount of data was wasted.
</div>
</div>
</div>
</main>
<div role="progressbar" class="output__progress mdc-linear-progress mdc-linear-progress--indeterminate mdc-linear-progress--closed" data-mdc-auto-init="MDCLinearProgress">
<div class="mdc-linear-progress__buffering-dots"></div>
<div class="mdc-linear-progress__buffer"></div>
<div class="mdc-linear-progress__bar mdc-linear-progress__primary-bar">
<span class="mdc-linear-progress__bar-inner"></span>
</div>
<div class="mdc-linear-progress__bar mdc-linear-progress__secondary-bar">
<span class="mdc-linear-progress__bar-inner"></span>
</div>
</div>
<!--[if lt IE 9]> <script async src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js" integrity="sha256-1eSvllkLdrfxD6G8RGF9h+mQuD93Af5+GdPBMNc7uMQ=" crossorigin="anonymous"></script> <![endif]-->
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/material-components-web/3.0.0/material-components-web.min.js" integrity="sha256-EsosgypLTQhhyhYTy8y+WbACaQsmG2Tpvoq1186sISE=" crossorigin="anonymous"></script>-->
<script src="https://cdn.jsdelivr.net/npm/material-components-web@3.0.0/dist/material-components-web.min.js" crossorigin="anonymous"></script>
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>-->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<!--<script src="https://unpkg.com/stopwatchjs@0.1.1/stopwatch.min.js" integrity="sha384-YVHQrJc4DzNQAtLqXkQ+16NBc9BuQSEWt5At/0hgASbDJ+659CMhYJeuh2EHtqJ8" crossorigin="anonymous"></script>-->
<script src="https://cdn.jsdelivr.net/npm/stopwatchjs@0.1.1/stopwatch.min.js" crossorigin="anonymous"></script>
<!--<script async src="https://cdnjs.cloudflare.com/ajax/libs/humanize-duration/3.20.0/humanize-duration.min.js" integrity="sha256-/Z/Xzo8lduQxHd+muddFmswME6zBTWH+UGYdNEE0upo=" crossorigin="anonymous"></script>-->
<script async src="https://cdnjs.cloudflare.com/ajax/libs/humanize-duration/3.20.0/humanize-duration.min.js" integrity="sha256-/Z/Xzo8lduQxHd+muddFmswME6zBTWH+UGYdNEE0upo=" crossorigin="anonymous"></script>
<!--<script async src="https://cdnjs.cloudflare.com/ajax/libs/filesize/4.1.2/filesize.min.js" integrity="sha256-znN6cqu0LRpYU05qFKU85KS24giwC5kI6KTtLypmans=" crossorigin="anonymous"></script>-->
<script async src="https://cdn.jsdelivr.net/gh/avoidwork/filesize.js@4.1.2/lib/filesize.min.js" integrity="sha256-znN6cqu0LRpYU05qFKU85KS24giwC5kI6KTtLypmans=" crossorigin="anonymous"></script>
<script>
mdc.autoInit();
$(".option__mbs").hide();
Array.prototype.cycle = function(str) {
var i = this.indexOf(str);
if (i === -1)
return undefined;
return this[(i + 1) % this.length];
};
var handleTheme = function() {
switch (localStorage.getItem("theme")) {
case "light":
$(".theme-toggle__svg").html("<path fill=\"none\" d=\"M0 0h24v24H0V0z\"/><path d=\"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zm-2 5.79V18h-3.52L12 20.48 9.52 18H6v-3.52L3.52 12 6 9.52V6h3.52L12 3.52 14.48 6H18v3.52L20.48 12 18 14.48zM12 6c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zm0 10c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4z\"/><circle cx=\"12\" cy=\"12\" r=\"2.5\"/>");
$("body").removeClass("setting--dark");
break;
case "dark":
$(".theme-toggle__svg").html("<path fill=\"none\" d=\"M0 0h24v24H0V0z\"/><path d=\"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zm-2 5.79V18h-3.52L12 20.48 9.52 18H6v-3.52L3.52 12 6 9.52V6h3.52L12 3.52 14.48 6H18v3.52L20.48 12 18 14.48zM12 6c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zm0 10c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4z\"/>");
$("body").addClass("setting--dark");
break;
default:
$(".theme-toggle__svg").html("<path fill=\"none\" d=\"M0 0h24v24H0V0z\"/><path d=\"M11 7l-3.2 9h1.9l.7-2h3.2l.7 2h1.9L13 7h-2zm-.15 5.65L12 9l1.15 3.65h-2.3zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zm-2 5.79V18h-3.52L12 20.48 9.52 18H6v-3.52L3.52 12 6 9.52V6h3.52L12 3.52 14.48 6H18v3.52L20.48 12 18 14.48z\"/>");
var hours = new Date().getHours();
$("body").toggleClass("setting--dark", hours <= 6 ||
hours >= 20 ||
window.matchMedia("(prefers-color-scheme: dark)").matches ||
window.matchMedia("(-ms-high-contrast: white-on-black)").matches);
}
};
if (["auto", "light", "dark"].indexOf(localStorage.getItem("theme")) === -1)
localStorage.setItem("theme", "auto");
handleTheme();
$("body").addClass("setting--animate-colours");
$(".theme-toggle").click(function() {
localStorage.setItem("theme", ["auto", "light", "dark"].cycle(localStorage.getItem("theme")));
handleTheme();
});
var stopwatch = new Stopwatch();
var running = false;
var wasted = 0;
var xhr = [];
var threads = 8;
var time = 0;
var goal = 0;
var chunk = 930816;
var stopped = false;
var formatSize = function(size) {
var o = filesize(size, {
locale: true,
output: "object"
});
return (+o.value).toFixed(2) + " " + o.symbol;
};
var getmbs = function() {
return $(".option__unlimited").get(0).MDCSwitch.checked ?
0 :
parseInt($(".option__mbs").get(0).MDCTextField.value);
};
var download = function(id) {
if (xhr[id] && xhr[id].status == 200) {
wasted += chunk;
$(".output__wasted").html(formatSize(wasted));
$(".output__speed").html(formatSize(wasted / ((new Date().getTime() / 1000) - (time / 1000))));
if (getmbs() !== 0 &&
parseInt($(".output__wasted").html()) /
parseInt($(".option__mbs").get(0).MDCTextField.value) <
1.0) {
$(".output__progress").get(0).MDCLinearProgress.progress =
parseInt($(".output__wasted").html()) /
parseInt($(".option__mbs").get(0).MDCTextField.value);
} else {
$(".output__progress").get(0).MDCLinearProgress.progress = 1.0;
}
if (goal !== 0 && wasted >= goal * 1048576) {
$(".snackbar__done").
get(0).
MDCSnackbar.open();
stop();
}
}
if (running == true)
xhr[id] = $.get("https://ossweb-img.qq.com/upload/adw/image/752/20211219/f4b5919ec683f49d8532cef90644b9ac.jpeg?" + Math.random(), function() {
return download(id);
});
};
var ticker;
var start = function() {
stopwatch.reset();
$(".output__time").html("0 seconds");
stopwatch.start();
ticker = setInterval(function() {
return $(".output__time").html(humanizeDuration(stopwatch.value * 1000));
}, 1000);
threads = $(".option__threads").get(0).MDCSlider.value;
$(".option__mbs").get(0).MDCTextField.disabled = true;
$(".option__unlimited").get(0).MDCSwitch.disabled = true;
$(".option__threads").get(0).MDCSlider.disabled = true;
$(".option__unlimited").get(0).MDCSwitch.disabled = true;
$(".output__progress").get(0).MDCLinearProgress.determinate =
getmbs() !== 0;
$(".output__progress").
get(0).
MDCLinearProgress.open();
$(".option__waste > .mdc-fab__label").html("Stop Wasting");
$(".option__waste > .mdc-fab__icon").html('<path fill="none" d="M0 0h24v24H0V0z"/><path d="M16 8v8H8V8h8m2-2H6v12h12V6z"/>');
running = true;
wasted = 0;
xhr = [];
time = new Date().getTime();
goal = getmbs();
for (var i = 0; i < threads; i++) download(i);
};
var stop = function() {
stopwatch.stop();
clearInterval(ticker);
running = false;
$(".option__mbs").get(0).MDCTextField.disabled = $(".option__unlimited").get(0).MDCSwitch.checked;
$(".option__unlimited").get(0).MDCSwitch.disabled = false;
$(".option__threads").get(0).MDCSlider.disabled = false;
$(".output__progress").
get(0).
MDCLinearProgress.close();
$(".option__waste > .mdc-fab__label").html("Start Wasting");
$(".option__waste > .mdc-fab__icon").html('<path fill="none" d="M0 0h24v24H0V0z"/><path d="M10 8.64L15.27 12 10 15.36V8.64M8 5v14l11-7L8 5z"/>');
};
var unlimitedChanged = function() {
var on = $(".option__unlimited").get(0).MDCSwitch.checked;
$(".option__mbs").toggle(!on);
$(".option__mbs").get(0).MDCTextField.disabled = on;
$(".output__progress").get(0).MDCLinearProgress.determinate = !on;
};
$(".option__unlimited").
get(0).
MDCSwitch.listen("change", function() {
return unlimitedChanged();
});
$(".option__waste").click(function() {
if ($(".option__mbs").get(0).MDCTextField.value === "") {
$(".option__unlimited").get(0).MDCSwitch.checked = true;
unlimitedChanged();
}
if (running === false && stopped === false) start();
else if (stopped === false) stop();
});
</script>
</body>
</html>
10G/50G/1000G的大文件:
https://www.leaseweb.com/platform/network
阿姆斯特丹AMS-01数据中心
http://mirror.nl.leaseweb.net/speedtest/10000mb.bin
达拉斯DAL-10数据中心
http://mirror.dal10.us.leaseweb.net/speedtest/10000mb.bin
香港HKG-10数据中心
http://mirror.hk.leaseweb.net/speedtest/10000mb.bin
旧金山SFO-12数据中心
http://mirror.sfo12.us.leaseweb.net/speedtest/10000mb.bin
美因河畔法兰克福FRA-10数据中心
http://mirror.de.leaseweb.net/speedtest/10000mb.bin
悉尼SYD-10数据中心
http://mirror.syd10.au.leaseweb.net/speedtest/10000mb.bin
华盛顿WDC-01数据中心
http://mirror.wdc1.us.leaseweb.net/speedtest/10000mb.bin
华盛顿WDC-02数据中心
http://mirror.wdc1.us.leaseweb.net/speedtest/10000mb.bin
hetztner德国(https://speed.hetzner.de/):
https://speed.hetzner.de/10GB.bin
http://proof.ovh.net/files/
ovh法国:
http://proof.ovh.net/files/10Gio.dat
https://www.fdcservers.net/looking-glass
新加坡:
http://lg-sin.fdcservers.net/10GBtest.zip
日本东京:
http://lg-tok.fdcservers.net/10GBtest.zip
香港:
http://lg-hkg.fdcservers.net/10GBtest.zip
亚特兰大:
http://lg-atl.fdcservers.net/10GBtest.zip
芝加哥:
http://lg-chie.fdcservers.net/10GBtest.zip
丹佛:
http://lg-dene.fdcservers.net/10GBtest.zip
休斯顿:
http://lg-hou.fdcservers.net/10GBtest.zip
洛杉矶:
http://lg-lax.fdcservers.net/10GBtest.zip
迈阿密:
http://lg-mia.fdcservers.net/10GBtest.zip
明尼苏达州:
http://lg-minn.fdcservers.net/10GBtest.zip
纽约:
http://lg-nyc.fdcservers.net/10GBtest.zip
西雅图:
http://lg-sea.fdcservers.net/10GBtest.zip
多伦多(加拿大):
http://lg-tor.fdcservers.net/10GBtest.zip
巴西圣保罗:
http://lg-spb.fdcservers.net/10GBtest.zip
荷兰阿姆斯特丹:
http://lg-ams.fdcservers.net/10GBtest.zip
爱尔兰都柏林:
http://lg-dub.fdcservers.net/10GBtest.zip
德国法兰克福:
http://lg-fra.fdcservers.net/10GBtest.zip
芬兰赫尔辛基:
http://lg-hel.fdcservers.net/10GBtest.zip
乌克兰基辅:
http://lg-kie.fdcservers.net/10GBtest.zip
葡萄牙里斯本:
http://lg-lis.fdcservers.net/10GBtest.zip
英国伦敦:
http://lg-lon.fdcservers.net/10GBtest.zip
西班牙马德里:
http://lg-mad.fdcservers.net/10GBtest.zip
法国巴黎:
http://lg-par2.fdcservers.net/10GBtest.zip
保加利亚索非亚
http://lg-sof.fdcservers.net/10GBtest.zip
芬兰斯德哥尔摩:
http://lg-sto.fdcservers.net/10GBtest.zip
奥地利维也纳:
http://lg-vie.fdcservers.net/10GBtest.zip
波兰华沙:
http://lg-war.fdcservers.net/10GBtest.zip
瑞士苏黎世:
http://lg-zur.fdcservers.net/10GBtest.zip
https://www.turnkeyinternet.net/speed-test/
turnkeyinternet加利福尼亚:
http://speedtest-ca.turnkeyinternet.net/10000mb.bin
turnkeyinternet纽约:
http://speedtest-ny.turnkeyinternet.net/10000mb.bin
https://www.hostwinds.com/company/datacenters
hostwinds西雅图:
http://sea-repo.hostwinds.net/tests/10gb.zip
hostwinds达拉斯:
http://dal-repo.hostwinds.net/tests/10gb.zip
hostwinds阿姆斯特丹:
http://ams-repo.hostwinds.net/tests/10gb.zip
http://speedtest.tele2.net/
tele2克罗地亚,萨格勒布
http://zgb-speedtest-1.tele2.net/10GB.zip
http://zgb-speedtest-1.tele2.net/50GB.zip
http://zgb-speedtest-1.tele2.net/100GB.zip
http://zgb-speedtest-1.tele2.net/1000GB.zip
tele2德国,法兰克福
http://fra36-speedtest-1.tele2.net/10GB.zip
http://fra36-speedtest-1.tele2.net/50GB.zip
http://fra36-speedtest-1.tele2.net/100GB.zip
http://fra36-speedtest-1.tele2.net/1000GB.zip
tele2拉脱维亚,里加
http://bks4-speedtest-1.tele2.net/10GB.zip
http://bks4-speedtest-1.tele2.net/50GB.zip
http://bks4-speedtest-1.tele2.net/100GB.zip
http://bks4-speedtest-1.tele2.net/1000GB.zip
tele2立陶宛,维尔纽斯
http://vln038-speedtest-1.tele2.net/10GB.zip
http://vln038-speedtest-1.tele2.net/50GB.zip
http://vln038-speedtest-1.tele2.net/100GB.zip
http://vln038-speedtest-1.tele2.net/1000GB.zip
tele2荷兰,阿姆斯特丹
http://ams-speedtest-1.tele2.net/10GB.zip
http://ams-speedtest-1.tele2.net/50GB.zip
http://ams-speedtest-1.tele2.net/100GB.zip
http://ams-speedtest-1.tele2.net/1000GB.zip
tele2瑞典,哥德堡
http://bck-speedtest-1.tele2.net/10GB.zip
http://bck-speedtest-1.tele2.net/50GB.zip
http://bck-speedtest-1.tele2.net/100GB.zip
http://bck-speedtest-1.tele2.net/1000GB.zip
tele2瑞典,斯德哥尔摩
http://hgd-speedtest-1.tele2.net/10GB.zip
http://hgd-speedtest-1.tele2.net/50GB.zip
http://hgd-speedtest-1.tele2.net/100GB.zip
http://hgd-speedtest-1.tele2.net/1000GB.zip
暂无评论