跳至主要內容
类原生系统上的Mifare Classic UID模拟

前言

最近更新了手机,由OnePlus Ace换成了Ace3,并且在收货后立刻刷入了PixelOS。在刷入过程中虽遇到了一些问题(见这里及之后几条,但最终成功刷入。使用过程中发现,类原生系统并无国产OEM系统的门禁卡模拟(即Mifare Classic卡的UID模拟)功能。本文记录了我在类原生系统上实现Mifare Classic卡UID模拟的过程。

基础知识


NaiveTomcat大约 2 分钟开发NFCAndroid
NTEREN北美网络重构

在与Ayanami Rei IV达成合作后,我得以将其节点接入NTEREN,并利用这些节点建立NTEREN全球主干网。相应的,NTEREN要向其提供网络基础设施,如IPv6地址,以及网络运维等服务。

作为合作的第一步,目前需要接收其一台San Jose区域的VPS,将其接入NTEREN北美网络,并配置该节点与提供商之间的BGP会话。应要求同步写下这篇文章以作记录。

网络结构重构


NaiveTomcat大约 2 分钟开发开发网络
NTEREN网络重构

自从NTEREN DN42网的教育网西北节点由于政策原因下线以来,NTEREN的DN42网便仅剩一个节点。2022中国大学生方程式汽车大赛结束后,终于有时间对网络进行重构了,值此机会写篇文章以记录。

网络结构

目前重构后,NTEREN DN42网拥有三个互联的节点,分别位于洛杉矶、中国香港和中国陕西。NTEREN公网节点除DN42节点外另有独立的中国香港和拉斯维加斯两个节点。所有节点均接受对应网络的Peer。

DN42网络中,洛杉矶节点与香港节点有直接隧道连接,香港节点与陕西节点有隧道连接。节点间建立了BGP Confederation以保证内部互联和路由信息传递。Confederation的架构也保证了未来网络的可扩展性。未来可能会将另两个公网节点也接入DN42主干网。


NaiveTomcat大约 2 分钟开发网络开发
AloLang Docker镜像使用方法

AloLang Docker镜像是什么

早在2020年的7月,我发起了一项程序语言项目,后来命名为AloLang。截至目前,该项目定义了一个新的计算机语言并初步实现了其编译器(aloc)和标准库(libalolangcore)。编译器目前仅支持64位Little Endian Unix-like系统,且仅在Linux上(包含Arch LinuxUbuntu 18.04Ubuntu 20.04Fedora 33Android 10)测试过。并且,由于各发行版上的依赖管理区别较大,目前我们只提供了Arch Linux上的PKGBUIlD一种包管理构建方案,在其余系统上需要自行解决依赖问题,并可能还需要处理类似UbuntuLLVM打包问题所导致的依赖路径问题,最后使用基于Autotools工具链的构建工具进行构建和安装,整体较为麻烦。因此,我们提供了一个基于ubuntu:latest构建的包含了aloc及其必要依赖和alolang标准库的docker镜像,可以直接进行编译运行操作。


NaiveTomcat大约 6 分钟开发开发AloLang
机械革命Umi Pro 3的Linux EC踩坑记录

前言

突然发现已经有一个月没更博客了 (虽然说这大概是正常频率) ,最近把Windows升到了最新的内部预览版本22000.100,有了wslg的支持(虽然看起来wslg默认用户uid1000,导致dbus出了亿点点问题,好多程序跑不起来……),据说也支持挂载硬盘进去了。我就想这对于双系统十分利好,主要在文件共享方面。同时D盘也快满了,于是就将D盘挪到一整块1t的固态上去,腾出来的地方装了一个Arch Linux,没想到遇到了非常多的问题……


NaiveTomcat大约 8 分钟开发开发系统笔记本
年轻人的第一个公网AS

前言

在加入DN42网络后不久,我通过某个契机获赠了一个公网ASN和一块/44的IPv6地址块。但是这段时间事情比较多,六月初录了个节目,录完就接上了期末考试。今天考试结束了,写篇文章总结一下。

AS相关介绍

AS(Autonomous System,自治系统)是指在互联网中,一个或多个实体管辖下的所有IP网络和路由器的组合,它们对互联网执行共同的路由策略。一个AS会被分配一些IP地址用于其内部互联网节点的连接。AS之间通过边界网关协议(BGP)互联,而BGP区分AS的方式是通过唯一的自治系统编号,即ASN。ASN由IANA成批分配到各大RIR,再由RIR进行下一级的分配,和IP地址类似。


NaiveTomcat大约 4 分钟开发开发网络
加入DN42网络的简明教程

DN42是什么

DN42 全称 Decentralized Network 42(42 号去中心网络),是一个大型、去中心化的 VPN 网络。但是与其它传统 VPN 不同的是,DN42 本身不提供 VPN 出口服务,即不提供规避网络审查、流媒体解锁等类似服务。相反,DN42 的目的是模拟一个互联网。它使用了大量在目前互联网骨干上应用的技术(例如 BGP 和递归 DNS),可以很好地模拟一个真实的网络环境。

简而言之,DN42:

  • 不适合单纯想要保护隐私、规避网络审查的用户
  • 不适合在网内消耗大量流量,例如用于解锁流媒体服务的用户
  • 适合想要研究网络技术,练习服务器、路由器等网络设备配置,甚至后续在真实互联网建立 AS 的用户
  • 适合拥有真实 AS,但担心自己配置错误广播出错误路由、干掉半个互联网,希望有个地方测试的用户。

NaiveTomcat大约 11 分钟开发开发网络
DN42网络Peer信息

我已经开始接入DN42网络,目前在多个地点可以进行Peer(后续部署更多节点)

我的DN42 ASN:4242423309

I have started to access DN42 network, currently I can peer using nodes at multiple locations
(More nodes are going to be deployed)

My ASN in DN42: 4242423309

目前在洛杉矶、拉斯维加斯和CERNET西北网机房有节点部署。注意,我不接受中国大陆地区的跨境peer。


NaiveTomcat大约 2 分钟开发开发网络
小米路由器3G安装openwrt的折腾记录

前言

这篇博文其实记录的大概是将近两个月之前的事情了,但是这两个月也在断断续续折腾,现在应该折腾的差不多了,所以现在才写。

宿舍以前用的是一个TP-Link的WR886n Rev 2的路由器(非常老了),甚至连IPv6都不支持,导致因为要刷pt,宿舍原来的网络拓扑是入户网线接交换机,再接到我的台式机上,台式机拨号做第一轮NAT,第二块网卡再接到路由器上。因为我台式机装的Arch Linux,内核更新的比较勤,每次更完内核都得重启(不然会出玄学错误),所以网络可用性也没啥保证。

于是这个学期,我打算换个路由器。开学的时候从网管协会某学长那里收了一个小米路由器4A千兆版,原来刷的Pandavan,为了刷openwrt拆了机焊了串口线,结果不知道什么原因,用SPI夹子读闪存的时候可能把它烧了吧,于是第二天从闲鱼上买了个R3G,初始版本带USB的,大概第四天到的。


NaiveTomcat大约 3 分钟随笔开发开发杂项
在机械革命Umi Pro 3的Windows上安装tensorflow的踩坑记录(With RTX 3060 Laptop)

前言

本来打算在这个机子上装Arch跑开发的,然而因为Linux上糟糕的国内软件支持(上台机子上QQ for Linux/Wine QQ/Wine TIM就没跑起来连续超过10分钟过),以及放不下Microsoft Office,最终还是留在了Windows里面进行开发。

最近刚好有个深度学习的活,那就顺便把TF装了吧,3060的算力肯定比我之前的2400G要好,我想。

然后我就开始了这个踩坑之旅

Anaconda大坑

本来我想用Anaconda装的,然而30系显卡只支持CUDA11,Anaconda上对Windows提供的最新TF版本是2.3.0(至少清华镜像源是这样),同时TF2.4+的版本才支持CUDA11。因此Anaconda的方案Pass。


NaiveTomcat大约 6 分钟开发开发PythonTensorFlowCUDA