CINXE.COM

Taiwan Digital Streaming Co. Open Source Project Mirror Site | TWDS Open Source Mirror

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content="Mirror Monitoring, with traffic and disk usage, cpu, memory and mirror sync status | Taiwan Digital Streaming Co. Open Source Project Mirror Site"> <meta name="keywords" content="Linux Mirror,Mirror Site,Linux,Opensource"> <meta name="author" content="TWDS Mirror Op Group"> <link rel="shortcut icon" href="/static/img/favicon.png"> <link rel="alternate" type="application/rss+xml" title="Mirror News" href="/feed.xml"> <!-- Open Graph metadata --> <meta property="og:title" content="Taiwan Digital Streaming Co. Open Source Project Mirror Site | TWDS Open Source Mirror" /> <meta property="og:description" content="Mirror Monitoring, with traffic and disk usage, cpu, memory and mirror sync status | Taiwan Digital Streaming Co. Open Source Project Mirror Site" /> <meta property="og:image" content="https://mirror.twds.com.tw/static/img/logo.png" /> <!-- WeChat requires that thumbnail image is larger than 300x300 --> <meta property="og:url" content="https://mirror.twds.com.tw/status/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="website" /> <title>Taiwan Digital Streaming Co. Open Source Project Mirror Site | TWDS Open Source Mirror</title> <link rel="stylesheet" href="/static/css/bootstrap.min.css?"> <link rel="stylesheet" href="/static/css/bootstrap-select.min.css?"> <link rel="stylesheet" href="/static/css/style.css?"> <script src="/static/js/jquery.min.js?"></script> <script src="/static/js/bootstrap.min.js?"></script> <script src="/static/js/bootstrap-select.min.js?"></script> <script src="/static/js/vue.min.js?"></script> <script src="/static/js/timeago.min.js?"></script> <script src="/static/js/markup.min.js?"></script> <script src="/static/js/webfont.js?"></script> <script src="/static/js/thuhidden.js?"></script> </head> <body> <div class="navbar navbar-default" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="/"> <span class="thuhidden"> <picture> <source srcset="/static/img/logo-small-dark.png 1x, /static/img/logo-small-dark@2x.png 2x, /static/img/logo-small-dark@3x.png 3x, /static/img/logo-small-dark@4x.png 4x" media="(prefers-color-scheme: dark)"/> <img src="/static/img/logo-small.png" srcset="/static/img/logo-small.png 1x, /static/img/logo-small@2x.png 2x, /static/img/logo-small@3x.png 3x, /static/img/logo-small@4x.png 4x" alt=""/> </picture> Taiwan Digital Streaming Co.</span> Open Source Mirror Site </a> </div> <div class="navbar-collapse collapse navbar-right"> <ul class="nav navbar-nav" role="menubar"> <li role="none"><a role="menuitem" href="https://www.twds.com.tw">HOME</a></li> <li role="none" class="active"><a role="menuitem" aria-checked="true" href="https://mirror.twds.com.tw">MIRRORS</a></li> </ul> </div><!--/.nav-collapse --> </div> </div> <div id="status-page"> <div class="spacing hidden-xs"></div> <div class="container"> <h3 id="server-status"> # Server Status Monitoring </h3> <h4> # Network Connection / Traffic </h4> <div class="row"> <div class="col-md-6 col-xs-12"> <picture class="thumbnail"> <source srcset="/static/status/dark_connection_24h.png 1x" media="(prefers-color-scheme: dark)" /> <img class="img-responsive" src="/static/status/light_connection_24h.png" srcset="/static/status/light_connection_24h.png 1x" /> </picture> </div> <div class="col-md-6 col-xs-12"> <picture class="thumbnail"> <source srcset="/static/status/dark_traffic_24h.png 1x" media="(prefers-color-scheme: dark)" /> <img class="img-responsive" src="/static/status/light_traffic_24h.png" srcset="/static/status/light_traffic_24h.png 1x" /> </picture> </div> </div> <h4># CPU / Memory</h4> <div class="row"> <div class="col-md-6 col-xs-12"> <picture class="thumbnail"> <source srcset="/static/status/dark_cpu_24h.png 1x" media="(prefers-color-scheme: dark)" /> <img class="img-responsive" src="/static/status/light_cpu_24h.png" srcset="/static/status/light_cpu_24h.png 1x" /> </picture> </div> <div class="col-md-6 col-xs-12"> <picture class="thumbnail"> <source srcset="/static/status/dark_memory_24h.png 1x" media="(prefers-color-scheme: dark)" /> <img class="img-responsive" src="/static/status/light_memory_24h.png" srcset="/static/status/light_memory_24h.png 1x" /> </picture> </div> </div> <h4># Disk Usage </h4> <div class="row" id="disk-usage"> <div class="col-xs-12" v-if="diskUsages.length"><strong>Disk Usage</strong>: </div> <template v-for="disk in diskUsages"> <div class="col-xs-1" v-if="disk.desc">{{ disk.desc }}</div> <div :class="['col-xs-' + (disk.desc ? '11' : '12')]"> <div class="progress"> <div class="progress-bar" role="progressbar" :aria-valuenow="disk.percentage" aria-valuemin="0" aria-valuemax="100" :style="{width: disk.percentage + '%'}"> <strong>{{ disk.used }} / {{ disk.total }}</strong> </div> </div> </div> </template> <div class="col-md-6 col-xs-12"> <picture class="thumbnail"> <source srcset="/static/status/dark_diskrw_24h.png 1x" media="(prefers-color-scheme: dark)" /> <img class="img-responsive" src="/static/status/light_diskrw_24h.png" srcset="/static/status/light_diskrw_24h.png 1x" /> </picture> </div> <div class="col-md-6 col-xs-12"> <picture class="thumbnail"> <source srcset="/static/status/dark_disku_24h.png 1x" media="(prefers-color-scheme: dark)" /> <img class="img-responsive" src="/static/status/light_disku_24h.png" srcset="/static/status/light_disku_24h.png 1x" /> </picture> </div> <div class="col-md-6 col-xs-12"> <picture class="thumbnail"> <source srcset="/static/status/dark_disk1_24h.png 1x" media="(prefers-color-scheme: dark)" /> <img class="img-responsive" src="/static/status/light_disk1_24h.png" srcset="/static/status/light_disk1_24h.png 1x" /> </picture> </div> <div class="col-md-6 col-xs-12"> <picture class="thumbnail"> <source srcset="/static/status/dark_disk2_24h.png 1x" media="(prefers-color-scheme: dark)" /> <img class="img-responsive" src="/static/status/light_disk2_24h.png" srcset="/static/status/light_disk2_24h.png 1x" /> </picture> </div> </div> <h3 id="syncing-status"># Sync Status</h3> <table class="table table-condensed flat-md"> <thead class="hidden-xs hidden-sm"> <tr> <th class="col-xs-12 col-md-2">Name</th> <th class="col-xs-12 col-md-4" colspan=2>Last Update</th> <th class="col-xs-12 col-md-4">Upstream</th> <th class="col-xs-12 col-md-1">Status</th> <th class="col-xs-12 col-md-1">Size</th> </tr> </thead> <tbody id="mirror-list" data-tuna-roll-cur="-1" data-tuna-roll-max="6"> <tr v-for="mir in rawMirrorList" :class="['row', 'status-'+mir.status, mir.last_ended_ts == mir.last_update_ts ? 'last-succ' : 'last-fail']" :key="mir.name"> <td class="col-xs-4">Name</td> <td class="col-md-2 col-xs-8">{{mir.name}}{{mir.is_master ? '' : ' [slave]'}}</td> <td class="col-xs-4">Last Success</td> <td class="col-xs-8 hidden-md hidden-lg">{{mir.last_update}}, {{mir.last_update_ago}}</td> <template v-if="mir.last_ended_ts != mir.last_update_ts"> <td class="col-xs-4">Last Attempt</td> <td class="col-xs-8 hidden-md hidden-lg">{{mir.last_ended}}, {{mir.last_ended_ago}}</td> </template> <td class="col-xs-4">Next Sync</td> <td class="col-xs-8 hidden-md hidden-lg" v-if="mir.status != 'syncing'">{{mir.next_schedule}}, {{mir.next_schedule_ago}}</td> <td class="col-xs-8 hidden-md hidden-lg" v-else>Syncing Now</td> <td class="hidden-xs hidden-sm hidden-md hidden-lg"></td> <td class="col-md-2 col-xs-3 rolling-3 text-left-md text-right-xs hidden-xs hidden-sm"> <div v-if="dateTooltip" class="tuna-roll">&nbsp; <template v-if="mir.last_ended_ts == mir.last_update_ts"> <div data-tuna-roll-seq="0 1 2 3">Last Successful Sync</div> </template> <template v-else> <div data-tuna-roll-seq="0 1">Last Successful Sync</div> <div data-tuna-roll-seq="2 3">Last Attempted Sync</div> </template> <div v-if="mir.status == 'syncing'" data-tuna-roll-seq="4 5">Sync Started</div> <div v-else data-tuna-roll-seq="4 5">Next Scheduled Sync</div> </div> <div v-else class="tuna-roll">&nbsp; <template v-if="mir.last_ended_ts == mir.last_update_ts"> <div data-tuna-roll-seq="0 1 2 3">Last Successful Sync</div> </template> <template v-else> <div data-tuna-roll-seq="0">Last Successful Sync</div> <div data-tuna-roll-seq="1">Last Attempted Sync</div> <div data-tuna-roll-seq="2">Last Successful Sync</div> <div data-tuna-roll-seq="3">Last Attempted Sync</div> </template> <div data-tuna-roll-seq="4 5">Next Scheduled Sync</div> </div> </td> <td class="hidden-xs hidden-sm hidden-md hidden-lg"></td> <td class="col-md-2 col-xs-5 rolling-6 hidden-xs hidden-sm"> <div v-if="dateTooltip" class="tuna-roll">&nbsp; <template v-if="mir.last_ended_ts == mir.last_update_ts"> <div data-tuna-roll-seq="0 1 2 3">{{mir.last_update_ago}} <div class="tooltiptext">{{mir.last_update}}</div> </div> </template> <template v-else> <div data-tuna-roll-seq="0 1">{{mir.last_update_ago}} <div class="tooltiptext">{{mir.last_update}}</div> </div> <div data-tuna-roll-seq="2 3" v-if="mir.last_ended_ts != mir.last_update_ts">{{mir.last_ended_ago}} <div class="tooltiptext">{{mir.last_ended}}</div> </div> </template> <div v-if="mir.status == 'syncing'" data-tuna-roll-seq="4 5">{{mir.last_started_ago}} <div class="tooltiptext">{{mir.last_started}}</div> </div> <div v-else data-tuna-roll-seq="4 5">{{mir.next_schedule_ago}} <div class="tooltiptext">{{mir.next_schedule}}</div> </div> </div> <div v-else class="tuna-roll">&nbsp; <template v-if="mir.last_ended_ts == mir.last_update_ts"> <div data-tuna-roll-seq="0 1">{{mir.last_update}}</div> <div data-tuna-roll-seq="2 3">{{mir.last_update_ago}}</div> </template> <template v-else> <div data-tuna-roll-seq="0">{{mir.last_update}}</div> <div data-tuna-roll-seq="1" v-if="mir.last_ended_ts != mir.last_update_ts">{{mir.last_ended}}</div> <div data-tuna-roll-seq="2">{{mir.last_update_ago}}</div> <div data-tuna-roll-seq="3" v-if="mir.last_ended_ts != mir.last_update_ts">{{mir.last_ended_ago}}</div> </template> <template v-if="mir.status == 'syncing'"> <div data-tuna-roll-seq="4 5">Syncing Now</div> </template> <template v-else> <div data-tuna-roll-seq="4">{{mir.next_schedule}}</div> <div data-tuna-roll-seq="5">{{mir.next_schedule_ago}}</div> </template> </div> </td> <td class="col-xs-4">Upstream</td> <td class="col-md-4 col-xs-8">{{mir.upstream}}</td> <td class="col-xs-4">Status</td> <td class="col-md-1 col-xs-8">{{mir.status}}</td> <td class="col-xs-4">Size</td> <td class="col-md-1 col-xs-8">{{mir.size}}</td> </tr> </tbody> </table> </div><!--/container --> </div><!--/status --> <div id="footerwrap" class="tuna-foot-1"> <div class="container"> <div class="row"> <div class="col-lg-4 col-md-4"> <p class="thuhidden">This site is operating by seadog007 & james58899 & Haraguroicha, with infrastructure provided by Taiwan Digital Streaming Co.</p> <p>The source code of this site can be found on <a href="https://github.com/tuna/tunasync"><em>Here (Mirror Manager)</em></a> and <a href="https://github.com/twdsco/twds-mirror-web"><em>Here (Website)</em></a></p> </div> <div class="col-lg-4 col-md-4"> <h4>Contact Us</h4> <div class="thuhidden"> <ul class="social"> <li> <a href="https://github.com/twdsco/"><svg class="icon"><use xlink:href='#fab.fa-github'></use></svg> GitHub </a> </li> </ul> </div> </div> <div class="col-lg-4 col-md-4"> <img class="img-responsive thuhidden center-block" style="margin-top:5%" src="/static/img/logo-white.png" srcset="/static/img/logo-white.png 1x, /static/img/logo-white@2x.png 2x, /static/img/logo-white@3x.png 3x, /static/img/logo-white@4x.png 4x" /> </div> </div><!--/row --> </div><!--/container --> </div><!--/footerwrap --> <div id="footerwrap" class="tuna-foot-2"> <div class="container"> <div class="row"> <div class="col-lg-4 col-md-4"> <p class="thuhidden">This site is operating by seadog007 & james58899 & Haraguroicha, with infrastructure provided by Taiwan Digital Streaming Co.</p> <p>The source code of this site can be found on <a href="https://github.com/tuna/tunasync"><em>Here (Mirror Manager)</em></a> and <a href="https://github.com/twdsco/twds-mirror-web"><em>Here (Website)</em></a></p> </div> <div class="col-lg-4 col-md-4"> <h4>Contact Us</h4> <div class="thuhidden"> <ul class="social"> <li> <a href="https://github.com/twdsco/"><svg class="icon"><use xlink:href='#fab.fa-github'></use></svg> GitHub </a> </li> </ul> </div> </div> <div class="col-lg-4 col-md-4"> <img class="img-responsive thuhidden center-block" style="margin-top:5%" src="/static/img/logo-white.png" srcset="/static/img/logo-white.png 1x, /static/img/logo-white@2x.png 2x, /static/img/logo-white@3x.png 3x, /static/img/logo-white@4x.png 4x" /> </div> </div><!--/row --> </div><!--/container --> </div><!--/footerwrap --> <script> WebFont.load({ custom: { families: ['Lato'] } }); var lei3Po8h = ["mirror", ["twds", "tw"].join(".")].join("@"); $('a.eib1gieB') .text(lei3Po8h) .attr('href', ["ma","lto:"].join("i") + lei3Po8h); </script> <svg display="none" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <!-- Font Awesome Free 5.5.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --> <symbol id='fab.fa-github' viewBox='0 0 496 512'> <title>github</title> <path class='path1' d='M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z'></path> </symbol> </defs> </svg> <script src="/static/js/status.js?"></script> <script src="/static/js/index.js?"></script> </body> </html> <!-- vim: ts=2 sts=2 sw=2 noexpandtab -->

Pages: 1 2 3 4 5 6 7 8 9 10