-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 This message is to certify that access to my old domain name cth451.tk will terminate on Jan 5, 2021 due to registration expiry. If you haven't updated your references to the current cth451.me, please do so ASAP. -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQSEpw/kxI2CHoPWNplrwXv80PB4YgUCX+uymgAKCRBrwXv80PB4 Yg9DAP0WegtNQoOi+vAYviayE+IY3t+tuaE2EnsIz+wj20aSQAD+PeDsSNs/mfi9 Adp3jPW/1PWvKKrWn8WyA97AI3YW1Ag= =Z3pM -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 This message is to certify that my old RSA key 3EA4556BFDA919931884606919F85E55F96644FC is still valid, but won't be used as often. A new ed25519 key pair with the following fingerprint has been generated for my new Yubikey. This new key has been signed with the original one. 84A70FE4C48D821E83D636996BC17BFCD0F07862 The old key might be revoked in the future if I decide to repurpose my old Yubikey. Please use the new key for future correspondence. -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEPqRVa/2pGZMYhGBpGfheVflmRPwFAl/QYmwACgkQGfheVflm RPxlCw//fIiSgPvIGEg0UHJ2Wm10mrfCsL3lkrJo0nk4DgQvPgG0ssu//KDSTk7+ ZKN07pcvVAfsbhEOwewZblYzeHMwAj/X2kiUejqSbh+OUlge/Nq3rfLlyAAAbfjg Y9cvP3toZgro7nmvMjZNNAuHqrMg56YHL5oFlCb3frBaN901yTOnRa3Asvd0u7Ad YBrxNBjIffLtI/2ns2rp6KlZNKaxNzwaFos936BLDazbMrfehsclKHqo9WBDp/KQ j4Jzrtmpiq/fAcqot7rcl81KUnQHw2CmvLyhn8vnsCBRQhzlqB7V4sla0ihZyem6 4HIQb+6KqxCcerWUZs0nz+RylB9wBBenrBaRzyGJXXKxKjhFGJG84vEwkFlonm7+ GH99qKdnX65ADQKYHCtH3VAo8HEG0+oEjqnh7wM4G5bdv+I8K+QjFnK+P+RFTTe6 r9SNQD0LxKb4B1nRtvSkvCbMDwGipHqakQpVfWHejLjTvjgF0r1GYWL3ZmKy+PqL j/BDPFfl2YTjlx96QZA1izGKagRG/QlWsAsmaZa47FilcNxVb6Q2FhoF3y2oyiRZ FAp6LkiN/kaesQzvZJBXSt0dtXq7PSNnxtiOwTev2gjxa5frAoJsOOc13vuyPAx7 yXG/ZAPSpgtQcPGLC9gYcy71qVzagQxLe33X5FrBJPezsWlvyXQ= =FH/6 -----END PGP SIGNATURE-----
“裂车马上就要进站了 本次裂车终点站 菇岛 请乘客们在屏蔽门完全打开后 先下后上 依次登车 带小孩的乘客 请照看好您的小孩 以免发生危险”
站台标识参考（没有狗皮膏药的）上海地铁 1 号线，列车本体涂装基本参考五号线的旧车 05C01，加上了真车上没有的车厢连接通道。本图和我服务器的锈湖站并不相同。哪天心情好了就把以前的旧坑地铁 mod 拿出来重新做成这个样子好了（笑）
本篇出图其实一开始是放在 Pixiv 的，但是经 Homan 提醒，现在的 Pixiv 以不允许游客查看作品的方式逼迫用户注册或者登陆。今后的作品将不会再投稿到 Pixiv，我会在本站提供（足够）高清的出图。
Station signages and other visual elements are heavily based on the current design in Shanghai Metro system. The trains themselves are a reference to the 05C01 trains (now demoted to servicing the branch line only). Note that the Rusty Lake in this station is entirely different from the one currently in my Minecraft server (by Homan).
This work was originally published on Pixiv a while earlier. However, Pixiv is marking my work as “sensitive” out of no particular reason. According to yahoo chiebukuro, Pixiv is forcing users to sign in before they can view the work in the name of “sensitive content”. As a result, my future works will be posted on this personal website instead of Pixiv.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Old Key Fingerprint: 336E9D9A9B80E1BEFFE4CBB994333B156BD49DC0 New Key Fingerprint: 3EA4556BFDA919931884606919F85E55F96644FC This message is to certify that my old RSA key is expiring on Sep 18 2019. A new key pair with fingerprint above has been generated and will replace the expiring key soon. The new key will carry a signature from the original one. Chai, Sept 5 2019 -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEM26dmpuA4b7/5Mu5lDM7FWvUncAFAl1xJ98ACgkQlDM7FWvU ncA9GhAAm5aJzHDKgmAVqqB9ipK1+UbYJqmY4NiBTDowOo5hb3ueN0Rbxu7dS2zD UQKbov8YkHjNkIUWCacx7tQ+NAJpf6Carbr2AwoXE2cvdLPWxmVwtqe4CZkwkWPQ Y7alq7B399Ewtc5T2cdNrfY+QjdQTVwBH8If6SbyOox8fg+rES4LPXAuQVNwJ6li ZUNTHUbOJdOzQf0RDKJB0SHlVB1kH9hvYczEQSbsDkfJwqnSWkKBPTT19WDA8lMN WaPNS2b2Q+gtVvUjH6pa7g77CCALgEmmSzdMQrHvudzOYg4oJGUcQG9C3bzAn6UO iZlWaKi1plI2GbGRpYnQki9PVkH1g+K9FOokuLUUuiP/kcmIN84CiplnXCxqYrfN ammag1dXRqWQnfpIXOFBWWbNeAa7/DI2nnJkVVriwBcPebeldvDEXqHgnx5azTQa 7tCa+PsU8Yqs2sykYYxSMcCEbcsuc9HYa3gXdNi/GDPDc+d6Ebgcf5vd4S9Gcu1i zC9mV2gzd/j8F0dSg9OXs7ABSiwrmnj84QvR2C/j7KXYr29pHNaV/J227VrBr/H6 7WH1VGGqWegFj9tHixUXcPdzWUXNUvYyglLCeIyEGK5uGHFrU1KmhEOacLUImgOT FGi01Suo6030ZEl2cQjilO8U81cb7qDtUdNGFx2ajPi2Ldjfyeg= =MqyP -----END PGP SIGNATURE-----
This blog article records the progress of setting up IPv6 tunnel to Hurricane Electric at home where my ISP has no plan in sight to provide prefix-delegated IPv6 access over a PPPoE.
Shorthands and Assumptions in This Note
eth0connects to the Internet via IPv4. This note shall also apply to encapsulated interfaces, e.g.
eth1connects to local LAN. Similar as above, the process shall be the same when LAN side is a VLAN or bridge (or both).
sittunnel interface created in this step.
- A line beginning with
#denotes comments in the configuration notes.
Setting up the Tunnel Interface on ER-X
If registered correctly on TunnelBroker, it should provide the following information:
- Logical address at local endpoint, e.g.
- Logical address at remote endpoint, e.g.
- IPv4 address at remote endpoint where encapsulated traffic is sent, e.g.
18.104.22.168, the HE tunneling endpoint in Paris.
- A routable prefix for client side delegation, e.g.
2001:444:112:222::/64. This is usually different from the v6 addresses for the endpoint, and HE will show segments of the prefix in bold.
Now fill ER-X configuration nodes with corresponding information and default routing for IPv6:
interfaces: tunnel: tun0: address: [Fill logical v6 address in CIDR at endpoint] description: [Give a name to this tun] encapsulation: sit local-ip: [Fill in IPv4 address at eth0] remote-ip: [Fill in IPv4 address at tunneling endpoint] protocols: static: interface-route6: ::/0: next-hop-interface: tun0 # This creates a default IPv6 routing table entry that # routes all non-link-local address to the tunnel.
At this point, one should be able to ping any IPv6 address from the ER-X. If this is working, continue to instruct the LAN interface to delegate the prefix
interface: <path-to-interface-config-node>: ipv6: dup-addr-detect-transmits: 1 # Stateless SLAAC configuration might produce identical # IP addresses. This allow the network to detect whether # a stateless address already exists. address: autoconf # Set autoconf to allow stateless delegation by SLAAC router-advert: prefix: [Fill routable delegated prefix here]: autonomous-flag: true # Instructs computers on this network to auto # discover DNS servers on-link-flag: true # Indicates that this prefix exists on the # same Ethernet link, i.e. these addresses # does not require routing
IPv6 enabled devices shall now receive globally unique IPv6 address assigned via SLAAC and prefix delegation.
- Confirm IPv6 assignment on LAN devices
$ ip addr <------ MORE INTERFACES REDACTED ------> 2: eno1: mtu 1480 qdisc fq_codel state UP group default qlen 1000 link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff inet 192.168.5.4/24 brd 192.168.5.255 scope global dynamic noprefixroute eno1 valid_lft 80444sec preferred_lft 80444sec inet6 2001:470:d:XXXX:XXXX:XXXX:XXXX:dfd3/64 scope global dynamic noprefixroute valid_lft 2591976sec preferred_lft 86376sec inet6 fe80::be40:XXXX:XXXX:XXXX/64 scope link noprefixroute valid_lft forever preferred_lft forever <------ MORE INTERFACES REDACTED ------>
- Trace IPv6 connections to an IPv6 enabled website
$ traceroute -6 ac.cth451.me -n traceroute to ac.cth451.me (2606:4700:30::681c:1b16), 30 hops max, 80 byte packets 1 2001:470:d:XXXX:XXXX:XXXX:XXXX:XXXX 0.415 ms 0.533 ms 0.624 ms 2 2001:470:c:XXXX::1 185.353 ms * 203.802 ms 3 2001:470:0:9d::1 178.603 ms 167.001 ms 189.255 ms 4 2001:504:0:3:0:1:3335:1 196.520 ms 179.737 ms 196.117 ms 5 2400:cb00:12:1024::6ca2:d61d 185.036 ms 2400:cb00:12:1024::6ca2:d614 175.573 ms 2400:cb00:12:1024::6ca2:d608 185.263 ms
- It is advisable to setup network wide firewall on the router, as addresses can be reached by any other IPv6 connected devices from the Internet.
sittunnel shall also work if setup correctly on any other router or even a personal computer with public IPv4 address. I am unable to replicate the settings on a Linux router via raw commands as I do not own a linux machine with public IPv4 address.
- I am not sure if the method would work if the local endpoint is behind NAT. This scenario will be experimented on after I return to campus.
The story begins with the moment I bought Cytus II on the very first day of its release from google play, expecting some real music gaming on my Surface Pro 3 running homebrew Android 7.1 (yes, that’s totally possible and it runs suprisingly fine with all hardware buttons and touchscreen working). However the game quits immediately and no logs are shown through the adb interface. I contacted Rayark for support and got reply like this:
Cytus II might only be compatible for native Android devices at the moment. Please also check if you have installed Xposed, firewalls, block ads, or any rooting software. If yes, these may effect the performance of the game. We’d like to suggest you to remove these software to ensure the game runs smoothly and properly.
(Probably) 3 weeks after the game’s release, I ended up playing Cytus II on my crammed 5′ mobile phone, not by choice though. Someone asked me, why I can’t buy a regular Android tablet or an iPad to do the same job. Well that could be an option if those people would donate in any means for a new one, and I really don’t think utilizing an existing hardware piece could cause any troubles for commercial devs and companies (Google: really?).
After some searches I reached conclusion that Cytus II has integrated an “compliance check” called SafetyNet and the underlying Compatibility Test Suite (CTS), a framework introduced by Google to verify if any android device falls into the category of “compatible”. Since Surface Pro 3 has never got an official Android release (it’s a Microsoft thing, of course) and the base android x86 is shipped with root and development mode on, there is probably no way that any CTS tests on Surface Pro 3 would pass any time sooner.
Just earlier this day, I saw the news that Google is attmpting to block Gapps from running on “uncertified” devices, where modding the android device or unlocking bootloader would void the “certified” status. There’s even a webpage letting people to “register” their Androids with their device identifier which is absolutely not working after I attempted to register my Surface only getting an unknown error.
I would not blame Rayark for their attempt to place a layer of piracy protection on such a nice game while hurting the ones who modded their devices properly exactly to play these games. My question is: If such a lockdown is so important that this system had been deployed to thousands of android software by now, why make android an open standard? Why not switch to the Apple production mode if a centralized control force seems so vital to the whole android community? Such blockage wouldn’t be easily tolerated if the so called “register uncertified devide page” is just a lie, and I believe there will be a solution to circumvent such unreasonable restrictions eventually. Before that, the vast population of “uncertified” androids and modders wouldn’t be so comfortable and I might really need to ask myself: Why I should spend 3 months porting an open source OS to a new device just to find nothing should works by design.
When I told someone Chengdu is a hot city, I meant both food and the city itself. Hopefully, I finally remembered that I forgot
procrastinated to post my photos I took when I travelled to Chengdu and stayed for a few days this winter. Still, these pictures are taken from my old Canon 50D DSLR and the mediocre lens.
It’s -30 degree celcius in Madison. It’s snowing. It’s the season of white album again.
Camera: Canon EOS 50D (a really old DSLR)
Lens: Canon EF-S 17-85mm f4-5.6 IS USM (yes, the very mediocre default)
Location: In my room [precise location redacted]