-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
268 lines (261 loc) · 15.4 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/reset.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Bellefair|Source+Sans+Pro" rel="stylesheet">
<title>nato laboratory</title>
</head>
<body>
<div class="header">
<span class="title_wrap">
<span class="title_part title_part_b">nato</span><span class="title_part title_part_w">laboratory</span>
</span>
</div>
<div class="content">
<section>
<div class="subtitle">About</div>
<p>
This "lab" is a programming playground for me to try out stuff that I learned or find interested.
</p>
<p>
You might find most of the projects here useless since my goal was neven to create useful stuff.
The projects here are, however, most definitely fun.
</p>
<p>
Most of the projects here are published under the public domain, with a few exceptions that is using
MIT license. Please refer to the <tt>LICENSE</tt> file in each project for details. If the
license for a project is not specified, you are free to assume it as the public domain.</p>
</section>
<section>
<div class="subtitle">Services</div>
<p>List of services provided by Nato Laboratory.</p>
<ul>
<li>
<a href="https://internet.nat.moe" target="_blank">nato-internet</a>
<p>
Nato Laboratory operates <a href="https://bgp.he.net/AS46997" target="_blank">AS46997</a>, a non-profit eudcational network.
</p>
</li>
<li>
<a href="https://service.nat.moe/open.php?topicId=13" target="_blank">2602:feda</a>
<p>
IPv6 blocks for everyone (who has an autonomous system).
</p>
</li>
<li>
<a href="https://service.nat.moe/open.php?topicId=17" target="_blank">bgp-tunnel</a>
<p>
Free IPv6 tunnel broker service with BGP support.
</p>
</li>
<li>
<a href="https://service.nat.moe/open.php?topicId=15" target="_blank">bgp-lxc</a>
<p>
Free Linux containers with BGP support.
</p>
</li>
</ul>
</section>
<section>
<div class="subtitle">Network Engineering</div>
<p>Some network-related projects. BGP, VPN, DNS, all that kind of fun stuff.</p>
<ul>
<li>
<a href="https://github.com/Nat-Lab/sitd" target="_blank">sitd</a>
<p>
A simple daemon that for managing multiple SIT (Simple Internet Transition) tunnels. Created for self-hosted IPv6 tunnel broker service.
</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/s5tunnel" target="_blank">s5tunnel</a>
<p>
A simple tool that tunnels local TCP/UDP ports to remote servers through a SOCKS5 proxy.
</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/distributor" target="_blank">distributor</a>
<p>
A fast UDP-based virtual ethernet switch. Basically, a client-to-client layer 2 VPN. Tests show that it can runs at over 90% of the link speed. It was initially designed for ns3 as a part of the SEED internet simulator project but was later generalized as a virtual ethernet switch.
</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/eoip" target="_blank">eoip</a>
<p>
A fast MikroTik's EoIP/EoIPv6 implementation for <tt>*nix</tt>.
</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/vswitch" target="_blank">vswitch</a>
<p>
A not-so-fast multi-protocol virtual ethernet switch. It was a class project, so I didn't bother to improve it any more.
</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/libbgp" target="_blank">libbgp</a>
<p>
A somewhat useable BGP library written in C++11. With support for some modern BGP features (MP-BGP, 4-bytes ASN) and a simple to use deserialization/serialization interface. A BGP FSM is also included. Might not continue development anymore since it was again initially designed for the "legacy" SEED internet simulator.
</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/cn-routefeed" target="_blank">cn-routefeed</a>
<p>
A BGP speaker that feeds IP blocks that delegated to China to peer. Useful if you try to do some special routing against China's IP block. (e.g., route to/exclude from VPN)
</p>
</li>
</ul>
</section>
<section>
<div class="subtitle">Toys</div>
<p>
List of projects I created that I had fun using them or had fun writing them.
</p>
<ul>
<li>
<a class="projlink" href="https://github.com/Nat-Lab/natolang" target="_blank">natolang</a>
<p>A cursed programing language created by me after I finally learned to write compilers. Everyone tries to make their programming language safe, but <tt>natolang</tt> aims the absolute opposite. ;)</p>
<p>This project is for sarcasm. I used this as my answer to those people saying "Hey, you can <<i>insert unsafe, undefined behavior which archive some weird hacks here</i>> in C! isn't that awwwwwesome?" Not that I like the "safe" language like rustlang, but please, at least, do not play with the undefined behaviors. It can be fun, but please just don't.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/chunithm-touch" target="_blank">chunithm-touch</a>
<p>Touchscreen and Leap Motion support for Chunithm. Rhythm games are great!</p>
</li>
<li><a href="https://github.com/Nat-Lab/chunithm-vcontroller" target="_blank">chunithm-vcontroller</a>
<p>OSK, but for Chunithm.</p>
</li>
<li><a href="https://github.com/Nat-Lab/mahonato-ng" target="_blank">mahonato-ng</a>
<p>Nato's Telegram bot.</p>
</li>
<li><a href="https://github.com/Nat-Lab/osu_pulse" target="_blank">osu!pulse</a>
<p>Convert <tt>osu!</tt> beatmap file to pulse, so you can control stuff like LEDs with headphone output. I once connected it to a TENS unit and have it simulate my finger muscles so my fingers will click automatically. It works, but I really don't recommend trying it.</p>
</li>
</ul>
</section>
<section>
<div class="subtitle">Web Development</div>
<p>Web related projects.</p>
<ul>
<li>
<a href="https://github.com/Nat-Lab/natoClock" target="_blank">natoclock</a> (<a href="https://lab.nat.moe/natoClock/" target="_blank">run</a>)
<p>A base-100 clock. I really liked it in the old days and used it as my tabletop clock for a long time. Then I got a nixie tube clock, that replaced it.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/as-graph" target="_blank">as-graph</a> (<a href="https://lab.nat.moe/as-graph/" target="_blank">run</a>)
<p>A simple tool for visualizing and debugging BGP route propagation.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/steamap" target="_blank">steamap</a> (<a href="https://lab.nat.moe/steamap/" target="_blank">run</a>)
<p>An interactive Steam friend relationship map.</p>
</li>
<li><a href="https://github.com/Nat-Lab/telegram-html-bot" target="_blank">telegram-html-bot</a> (<a href="https://lab.nat.moe/telegram-html-bot/" target="_blank">run</a>)
<p>A Telegram bot that runs in a web browser that allows you to modify bot's code on-the-fly and check API request/respond in real-time - an interesting toy.</p>
</li>
<li><a href="https://github.com/Nat-Lab/neimap" target="_blank">neimap</a> (<a href="https://lab.nat.moe/neimap/" target="_blank">run</a>)
<p>An interactive BGP neighbor map.</p>
</li>
<li><a href="https://github.com/Nat-Lab/nato_board" target="_blank">natoboard</a>
<p>A collaborative editor. More like Google Docs w/ only plain-text support. A collaborative <tt>notepad.exe</tt>.</p>
</li>
<li><a href="https://github.com/Nat-Lab/simple_chat" target="_blank">simplechat</a>
<p>A web IRC-like client allows you to chat as a Telegram bot.</p>
</li>
<li><a href="https://github.com/Nat-Lab/json.js" target="_blank">json.js</a>
<p>A JSON parser written in Javascript. Because writing parser is fun.</p>
</li>
</ul>
</section>
<section>
<div class="subtitle">Miscellaneous</div>
<p>Tiny utilities, mini research, stupid tools, etc.</p>
<ul>
<li>
<a href="https://github.com/Nat-Lab/CVE-2018-5951" target="_blank">cve-2018-5951</a>
<p>A MikroTik RouterOS remote DoS vulnerability, found by me when developing the EoIP project.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/arp-send" target="_blank">arp-send</a>
<p>A low-level ARP sender. Useful for anti-ARP spoofing and ARP spoofing.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/cndns" target="_blank">cndns</a>
<p>A trivial ChinaDNS implementation for demonstration.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/tapio" target="_blank">tapio</a>
<p>A tool that pipe TUN/TAP from/to <tt>stdio</tt>.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/css-colors" target="_blank">css-colors</a>
<p>A tool that grabs <tt>color</tt> and <tt>background-color</tt> from list of websites. <a href="assets/top-300-color.pdf" target="_blank">top-300-color.pdf</a> shows the colors used by the top-300 websites.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/ltree.py" target="_blank">dnspy</a>
<p>A DNS spy that get vistor's DNS server.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/ltree.py" target="_blank">ltree.py</a>
<p>A crawler that draws the link relation between sites.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/ASN-MAP" target="_blank">asn-map</a>
<p>The relation between every AS on the Internet.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/natutils" target="_blank">natutils</a>
<p>Set of stupid tools that I created in highschool.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/ripestat-cli" target="_blank">ripestat-cli</a>
<p>A command line utility for accessing RIPEstat data.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/qgrouop_analyzer" target="_blank">qgrouop-analyzer</a>
<p>A group analyzer for Tencent QQ.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/tg_common_groups" target="_blank">tg-common-groups</a>
<p>A common groups analyzer for Tencent Telegram.</p>
</li>
</ul>
</section>
<section>
<div class="subtitle">The Graveyard</div>
<p>Dead projects that I am not likely to be maintaining them ever again. Projects mentioned here are at least useable, projects in <tt>nat-lab</tt> that are not even mentioned here means they are not useable at all.</p>
<ul>
<li><a href="https://github.com/Nat-Lab/libbgp-legacy" target="_blank">libbgp-legacy</a>
<p>A BGP packet deserialization/serialization tool written in C++. Not very usable. C++, for libbgp-legacy. Discontinued.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/ns3-bgp" target="_blank">ns3-bgp</a>
<p>BGP module for ns3, powered by libbgp. Abandoned since the SEED internet simulator project no longer uses ns3.</p>
</li>
<li><a href="https://github.com/Nat-Lab/ns3-remote-net-device" target="_blank">ns3-remote-net-device</a>
<p><tt>distributor</tt> client for ns3. Discontinued.</p>
</li>
<li><a href="https://github.com/Nat-Lab/ns3-bgp-netgen-ng" target="_blank">ns3-bgp-netgen-ng</a> (<a href="https://lab.nat.moe/ns3-bgp-netgen-ng/" target="_blank">run</a>)
<p>A web-based UI for creating ns3 networks. Discontinued.</p>
</li>
<li><a href="https://github.com/Nat-Lab/ns3-bgp-netgen" target="_blank">ns3-bgp-netgen</a>
<p>A tool for creating ns3 networks, written in C++, for libbgp-legacy. Discontinued.</p>
</li>
<li><a href="https://github.com/Nat-Lab/ns3-gearbox-simulator-impl" target="_blank">ns3-gearbox-simulator-impl</a>
<p>An ns3 simulator implementation that allows you to alter the speed of time. Discontinued.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/routeview" target="_blank">routeview</a> (<a href="https://lab.nat.moe/routeview" target="_blank">run</a>)
<p>A looking glass server. Discontinued.</p>
</li>
<li>
<a href="https://github.com/Nat-Lab/node-bird-routeparse" target="_blank">node-bird-routeparse</a>
<p>Dump BIRD's routing table to JSON. Used by routeview project.</p>
</li>
</ul>
</section>
</div>
<div class="footer">
<p>Copyleft <span class="copyleft">©</span> <a href="https://nat.moe" target="_blank">Nato Morichika</a>, no rights reserved. Assets have their own licenses.</p>
</div>
</body>
</html>