From 82971e8d0b1e0e4f05888bce1aba2a58f6caef28 Mon Sep 17 00:00:00 2001 From: Trumeet Date: Mon, 9 Aug 2021 19:32:34 -0700 Subject: feat: new homepage --- Prototype.odp | Bin 61051 -> 0 bytes bg.svg | 57 -------- bg.webp | Bin 2880 -> 0 bytes index.css | 116 --------------- index.html | 283 +++++++++++++++++++++++++++++-------- indiHome-noBackground.png | Bin 253866 -> 0 bytes main.js | 66 --------- rickroll/Prototype.odp | Bin 0 -> 61051 bytes rickroll/bg.svg | 57 ++++++++ rickroll/bg.webp | Bin 0 -> 2880 bytes rickroll/index.css | 116 +++++++++++++++ rickroll/index.html | 65 +++++++++ rickroll/indiHome-noBackground.png | Bin 0 -> 253866 bytes rickroll/main.js | 66 +++++++++ topology.png | Bin 0 -> 259205 bytes 15 files changed, 530 insertions(+), 296 deletions(-) delete mode 100644 Prototype.odp delete mode 100644 bg.svg delete mode 100644 bg.webp delete mode 100644 index.css delete mode 100644 indiHome-noBackground.png delete mode 100644 main.js create mode 100644 rickroll/Prototype.odp create mode 100644 rickroll/bg.svg create mode 100644 rickroll/bg.webp create mode 100644 rickroll/index.css create mode 100644 rickroll/index.html create mode 100644 rickroll/indiHome-noBackground.png create mode 100644 rickroll/main.js create mode 100644 topology.png diff --git a/Prototype.odp b/Prototype.odp deleted file mode 100644 index 887a71e..0000000 Binary files a/Prototype.odp and /dev/null differ diff --git a/bg.svg b/bg.svg deleted file mode 100644 index 6fd659b..0000000 --- a/bg.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - -Created by potrace 1.16, written by Peter Selinger 2001-2019 - - - image/svg+xml - - - - - - diff --git a/bg.webp b/bg.webp deleted file mode 100644 index d3bd193..0000000 Binary files a/bg.webp and /dev/null differ diff --git a/index.css b/index.css deleted file mode 100644 index 9ef04e7..0000000 --- a/index.css +++ /dev/null @@ -1,116 +0,0 @@ - - -html { - display: table; - margin: auto; -} - - -body{ - background-repeat: no-repeat; - background-attachment: fixed; - background-image: url("indiHome-noBackground.png"); - background-size: cover; - background-position: center bottom; -} - - - - -h1{ - font-size: 2.0em; - margin-block-end: 0.05em; - margin-block-start: 0.05em; - font-weight: bold; -} -.highlight{ - font-size: 2em; - font-weight: bold; -} - -h2{ - font-size: 1em; - margin-block-end: 0.1em; - margin-block-start: 0.1em; -} - - - - -.indihome-content{ - position: absolute; - left: 5%; - top: 25%; -} - - - - - - -.indihome-line{ - height: 4em; -} - -.indihome-left{ - float: left; - width: 45%; - text-align: right; -} - -.node-left{ - padding-right: 0.5em; -} - - -.node-head{ - font-size: 0.8em; -} -.node-highlight{ - font-size: 1.2em; - color: red; - font-weight: bold; -} -.node-geo{ - font-size: 1.0em; - font-weight: bold; -} - - -.indihome-right{ - float: right; - width: 55%; - height: 4em; - display: flex; - align-items: center; -} -.node-right{ - padding-left: 0.5em; -} -.node-url{ - text-align: left; - font-size: 1.4em; - font-weight: bold; -} - - - - - -.header{ - margin: auto; - left: 0; - right: 0; - margin-block-start: 1em; - margin-block-end: 1em; - text-align: left; - width:auto; - display:inline-block; -} - -.red{ - color: red; - text-shadow: 0.05em 0.05em #0008; -} - - diff --git a/index.html b/index.html index cadb91f..6e6138c 100644 --- a/index.html +++ b/index.html @@ -1,65 +1,234 @@ - - Yuuta Network Services - - - -
-
-

Yuuta

-

Network Services

-

AS4242422980 at DN42

-

Global Network Infrastructure

-
-
+ +Yuuta Network + + + + + + Rickroll +
+
+

Yuuta Network / AS142281 / AS4242422980

+
+
+

About

+
+

Yuuta Liang (ID: YuutaW)'s personal educational and research network.

+

The main purpose running YuutaNet is to learn some networking skills.

+

I run a few nodes and personal services on my network and I am open for peering.

+

View on PeeringDB

+
+
+
+

Topology

+
+

We have seven nodes across the world:

+
+

Legend:

+
    +
  • DN42: This node is available to DN42 network (AS4242422980)
  • +
  • UIX: This node is connected to Unmetered Exchange. Infers clearnet connectivity.
  • +
  • EVIX: This node is connected to EVIX. Infers clearnet connectivity.
  • +
  • OPTiX: This node is connected to OPTiX. Infers clearnet connectivity.
  • +
  • XXX Transit: This node connectes to XXX upstream ISP and serves as an ABR in YuutaNet. Infers clearnet connectivity.
  • +
  • Peering: This node is available for peering. See the Peering section below.
  • +
  • Core: This node is a part of the backbone network and is full-meshed.
  • +
+
+

North America:

+

United States:

+
    +
  • San Jose 1: sjc1.us.nodes.yuuta.network, sjc1.us.yuuta.dn42 (DN42, EVIX, Peering, Core)
  • +
  • New Jersey 1: pis1.us.nodes.yuuta.network (Vultr Transit, LSHIY Transit)
  • +
  • Chicago: us-1.yuuta.dn42 (DN42)
  • +
+
+

Canada:

+
    +
  • Toronto 1: yyz1.ca.yuuta.dn42 (DN42, Peeing, Core)
  • +
  • Vancouver 1: yvr1.ca.nodes.yuuta.network (UIX, EVIX, OPTiX, HE Transit, Peering)
  • +
  • My home: ca-1.yuuta.dn42 (DN42)
  • +
+
+

East Asia:

+

Japan:

+
    +
  • Tokyo 1: tyo1.jp.yuuta.dn42 (DN42, Peering, Core)
  • +
+
+

Europe:

+

Germany:

+
    +
  • Frankfurt 1: fra1.de.yuuta.dn42 (DN42, Peering, Core)
  • +
+
+

I deployed a /56 subnet to each geographical region. Currently, some random backbone nodes are full-meshed. Most nodes are intra-connected by iBGP and OSPF (all area 0).

+

I am planning to move away from full-meshing and give each geographical region an OSPF area. An upgrade to switch all clearnet regions from /56 to /48 for easier announcement is on the way.

+

Most nodes run Arch Linux at this time. We are considering to upgrade our architecture to VyOS for simpler management.

+

Particial topology diagram:

+ +
+
+
+

Administration

+
+

YuutaW is the only NOC of YuutaNet. You may contact me at noc@yuuta.moe.

+

GPG Key: F99854A5DAA0D15DF2FEF89CBCD2B4B9E853C284.

+
+
+
+

Peering

+
+

We are open for peering!

+

For DN42 peering, you may use our auto peering system. It will setup our nodes immediatedly when you submit the peering form. Moreover, you may update your peering information or delete the connections at any time without contacting the NOC.

+

For clearnet peering, our most connections are established at IXs. For most IXs, we established the connection between our nodes with their route servers, which means you can just connect to their route server and you are ready to go. The whole list of peering locations could be found at our PeeringDB page. However, if you require some custom setup that require a dedicated BGP session, email our NOC. Keep in mind that this is a personal network so response time is not guaranteed.

+
+
+
+

Services

+
+

YuutaNet provides:

+
    +
  • DNS for yuuta.network., yuuta.dn42. and rDNS.
  • +
  • YMC Minecraft Server is available via YuutaNet.
  • +
+
+
+
+
+

External Links

+ +
+
+ - \ No newline at end of file + + diff --git a/indiHome-noBackground.png b/indiHome-noBackground.png deleted file mode 100644 index e48046a..0000000 Binary files a/indiHome-noBackground.png and /dev/null differ diff --git a/main.js b/main.js deleted file mode 100644 index 8f867fb..0000000 --- a/main.js +++ /dev/null @@ -1,66 +0,0 @@ -const css = window.document.styleSheets[0] - - -let currentTarget={ - fromLeft: 5, - toLeft: 5, // left: 5%; - fromTop:25, - toTop: 25, // top: 25%; - time: 0, -} - -function genTarget(){ - currentTarget.fromLeft = currentTarget.toLeft; - currentTarget.fromTop = currentTarget.toTop; - currentTarget.toLeft = 5 + (randn_bm() - 0.5)*10 - currentTarget.toTop = 25 + (randn_bm()-0.5)*10 - currentTarget.time = randn_bm() * 0.4 +0.05 -} -cssIndex = undefined; - -const toMove = document.getElementById("indihome-content"); -let keyframeId = 0; -function move(){ - genTarget() - if(cssIndex!=undefined){ - css.deleteRule(cssIndex) - } - cssIndex = css.cssRules.length - toMove.style.animation = "" - css.insertRule( - "@keyframes move"+keyframeId+" {\n" + - " 0% {\n" + - " left: "+currentTarget.fromLeft+"%;\n" + - " top: "+currentTarget.fromTop+"%;\n" + - " }\n" + - " 100% {\n" + - " left: "+currentTarget.toLeft+"%;\n" + - " top: "+currentTarget.toTop+"%;\n" + - " }\n" + - "}" - ,cssIndex) - - toMove.style.animation = "move"+keyframeId+" "+currentTarget.time+"s linear" - keyframeId++; -} - -function moveLoop(){ - move() - setTimeout(moveLoop, currentTarget.time*1000) -} -moveLoop() - - -/** - * this code uses the Box–Muller transform to give you a normal distribution between 0 and 1 inclusive. - * https://stackoverflow.com/questions/25582882/javascript-math-random-normal-distribution-gaussian-bell-curve - */ -function randn_bm() { - let u = 0, v = 0; - while(u === 0) u = Math.random(); //Converting [0,1) to (0,1) - while(v === 0) v = Math.random(); - let num = Math.sqrt( -2.0 * Math.log( u ) ) * Math.cos( 2.0 * Math.PI * v ); - num = num / 10.0 + 0.5; // Translate to 0 -> 1 - if (num > 1 || num < 0) return randn_bm() // resample between 0 and 1 - return num -} \ No newline at end of file diff --git a/rickroll/Prototype.odp b/rickroll/Prototype.odp new file mode 100644 index 0000000..887a71e Binary files /dev/null and b/rickroll/Prototype.odp differ diff --git a/rickroll/bg.svg b/rickroll/bg.svg new file mode 100644 index 0000000..6fd659b --- /dev/null +++ b/rickroll/bg.svg @@ -0,0 +1,57 @@ + + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + diff --git a/rickroll/bg.webp b/rickroll/bg.webp new file mode 100644 index 0000000..d3bd193 Binary files /dev/null and b/rickroll/bg.webp differ diff --git a/rickroll/index.css b/rickroll/index.css new file mode 100644 index 0000000..9ef04e7 --- /dev/null +++ b/rickroll/index.css @@ -0,0 +1,116 @@ + + +html { + display: table; + margin: auto; +} + + +body{ + background-repeat: no-repeat; + background-attachment: fixed; + background-image: url("indiHome-noBackground.png"); + background-size: cover; + background-position: center bottom; +} + + + + +h1{ + font-size: 2.0em; + margin-block-end: 0.05em; + margin-block-start: 0.05em; + font-weight: bold; +} +.highlight{ + font-size: 2em; + font-weight: bold; +} + +h2{ + font-size: 1em; + margin-block-end: 0.1em; + margin-block-start: 0.1em; +} + + + + +.indihome-content{ + position: absolute; + left: 5%; + top: 25%; +} + + + + + + +.indihome-line{ + height: 4em; +} + +.indihome-left{ + float: left; + width: 45%; + text-align: right; +} + +.node-left{ + padding-right: 0.5em; +} + + +.node-head{ + font-size: 0.8em; +} +.node-highlight{ + font-size: 1.2em; + color: red; + font-weight: bold; +} +.node-geo{ + font-size: 1.0em; + font-weight: bold; +} + + +.indihome-right{ + float: right; + width: 55%; + height: 4em; + display: flex; + align-items: center; +} +.node-right{ + padding-left: 0.5em; +} +.node-url{ + text-align: left; + font-size: 1.4em; + font-weight: bold; +} + + + + + +.header{ + margin: auto; + left: 0; + right: 0; + margin-block-start: 1em; + margin-block-end: 1em; + text-align: left; + width:auto; + display:inline-block; +} + +.red{ + color: red; + text-shadow: 0.05em 0.05em #0008; +} + + diff --git a/rickroll/index.html b/rickroll/index.html new file mode 100644 index 0000000..cadb91f --- /dev/null +++ b/rickroll/index.html @@ -0,0 +1,65 @@ + + + + + Yuuta Network Services + + + +
+
+

Yuuta

+

Network Services

+

AS4242422980 at DN42

+

Global Network Infrastructure

+
+
+ + +
+
+
+
Yuuta
+
Network Services
+
Tokyo, Japan
+
+
+
tyo1.jp.dn42.yuuta.moe
+
+
+
+
+
Yuuta
+
Network Services
+
San Jose, United States
+
+
+
sjc1.us.dn42.yuuta.moe
+
+
+
+
+
Yuuta
+
Network Services
+
Toronto, Canada
+
+
+
yyz1.ca.dn42.yuuta.moe
+
+
+
+
+
Yuuta
+
Network Services
+
Frankfurt, Germany
+
+
+
fra1.de.dn42.yuuta.moe
+
+
+
+ + + + + \ No newline at end of file diff --git a/rickroll/indiHome-noBackground.png b/rickroll/indiHome-noBackground.png new file mode 100644 index 0000000..e48046a Binary files /dev/null and b/rickroll/indiHome-noBackground.png differ diff --git a/rickroll/main.js b/rickroll/main.js new file mode 100644 index 0000000..8f867fb --- /dev/null +++ b/rickroll/main.js @@ -0,0 +1,66 @@ +const css = window.document.styleSheets[0] + + +let currentTarget={ + fromLeft: 5, + toLeft: 5, // left: 5%; + fromTop:25, + toTop: 25, // top: 25%; + time: 0, +} + +function genTarget(){ + currentTarget.fromLeft = currentTarget.toLeft; + currentTarget.fromTop = currentTarget.toTop; + currentTarget.toLeft = 5 + (randn_bm() - 0.5)*10 + currentTarget.toTop = 25 + (randn_bm()-0.5)*10 + currentTarget.time = randn_bm() * 0.4 +0.05 +} +cssIndex = undefined; + +const toMove = document.getElementById("indihome-content"); +let keyframeId = 0; +function move(){ + genTarget() + if(cssIndex!=undefined){ + css.deleteRule(cssIndex) + } + cssIndex = css.cssRules.length + toMove.style.animation = "" + css.insertRule( + "@keyframes move"+keyframeId+" {\n" + + " 0% {\n" + + " left: "+currentTarget.fromLeft+"%;\n" + + " top: "+currentTarget.fromTop+"%;\n" + + " }\n" + + " 100% {\n" + + " left: "+currentTarget.toLeft+"%;\n" + + " top: "+currentTarget.toTop+"%;\n" + + " }\n" + + "}" + ,cssIndex) + + toMove.style.animation = "move"+keyframeId+" "+currentTarget.time+"s linear" + keyframeId++; +} + +function moveLoop(){ + move() + setTimeout(moveLoop, currentTarget.time*1000) +} +moveLoop() + + +/** + * this code uses the Box–Muller transform to give you a normal distribution between 0 and 1 inclusive. + * https://stackoverflow.com/questions/25582882/javascript-math-random-normal-distribution-gaussian-bell-curve + */ +function randn_bm() { + let u = 0, v = 0; + while(u === 0) u = Math.random(); //Converting [0,1) to (0,1) + while(v === 0) v = Math.random(); + let num = Math.sqrt( -2.0 * Math.log( u ) ) * Math.cos( 2.0 * Math.PI * v ); + num = num / 10.0 + 0.5; // Translate to 0 -> 1 + if (num > 1 || num < 0) return randn_bm() // resample between 0 and 1 + return num +} \ No newline at end of file diff --git a/topology.png b/topology.png new file mode 100644 index 0000000..a1375b7 Binary files /dev/null and b/topology.png differ -- cgit v1.2.3