惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
GbyAI
GbyAI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
U
Unit 42
美团技术团队
NISL@THU
NISL@THU
C
Cisco Blogs
SecWiki News
SecWiki News
N
Netflix TechBlog - Medium
Forbes - Security
Forbes - Security
Cloudbric
Cloudbric
雷峰网
雷峰网
T
Tailwind CSS Blog
博客园 - 司徒正美
The Register - Security
The Register - Security
L
LangChain Blog
S
Security Affairs
Hacker News - Newest:
Hacker News - Newest: "LLM"
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Threat Research - Cisco Blogs
I
InfoQ
S
Schneier on Security
L
Lohrmann on Cybersecurity
量子位
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
Schneier on Security
Schneier on Security
F
Fortinet All Blogs
TaoSecurity Blog
TaoSecurity Blog
K
Kaspersky official blog
Google DeepMind News
Google DeepMind News
Cisco Talos Blog
Cisco Talos Blog
PCI Perspectives
PCI Perspectives
Attack and Defense Labs
Attack and Defense Labs
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
Project Zero
Project Zero
The GitHub Blog
The GitHub Blog
D
Docker
N
News | PayPal Newsroom
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
H
Hacker News: Front Page
云风的 BLOG
云风的 BLOG
Microsoft Security Blog
Microsoft Security Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 聂微东
Webroot Blog
Webroot Blog
MongoDB | Blog
MongoDB | Blog

林中阴影

林中阴影 | 关于蓝光刻录的一些调查 林中阴影 | 与IPv6地址战斗 林中阴影 | 半年前的NAS升级 林中阴影 | “智能” 家居笔记:一→两年后的回顾 林中阴影 | 旧手机做RDP客户端的一些尝试 林中阴影 | 一些矿渣的耗电量 林中阴影 | 内网访问第三季:在运营商的CGNAT网络下 林中阴影 | “智能”家居笔记,其之二 林中阴影 | “智能”家居笔记,其之一 林中阴影 | 仅IPv6家庭内网服务实现v6+v4双栈访问 林中阴影 | 下载装小蜜监理拍摄的图片 林中阴影 | 几物互联 林中阴影 | 整了个“新”平板 林中阴影 | 获取招商信用卡账单的另一种方法 林中阴影 | 我在GitHub的⭐ 林中阴影 | Python与光学计算,2021 林中阴影 | 你可能并不需要内网穿透 林中阴影 | 2020 林中阴影 | 和(基本上)什么也不能连的电脑传递信息 林中阴影 | 我将贻笑于大方之家 林中阴影 | 一个新主题 林中阴影 | 2019过去了,我…… 林中阴影 | Beancount试用,半年后 林中阴影 | 自动输入剪贴板中的内容 林中阴影 | Unicode与数学公式 林中阴影 | Python中光学计算相关的库/Awesome Python for Optics 林中阴影 | 一本厕纸小说 林中阴影 | 震惊!为了在Windows上访问EXT4分区,他竟然做出了这样的事! 林中阴影 | 我的2018 林中阴影 | 笔记软件踩雷 林中阴影 | 关于BitMEX的杠杆 林中阴影 | 用Cloudflare的v4 API实现动态DNS(DDNS) 林中阴影 | 随机性从哪里来? 林中阴影 | 这次是纽约公共图书馆……而且居然还有第三部分? 林中阴影 | 这次是纽约公共图书馆……的第二天! 林中阴影 | 这次是纽约公共图书馆…… History Data for Bitcoin and Altcoins 林中阴影 | 幂律分布与Zipf's Law 林中阴影 | 学习笔记:神经网络的优化策略 林中阴影 | 最近对博客的改动 林中阴影 | 换了个新域名 林中阴影 | VPS初始化checklist 林中阴影 | 利用kcpraw流量加速 Aeolipile boiling: Your blog (with code and formula) on Steem! Aeolipile update: new theme, link generator and more! 林中阴影 | 离 林中阴影 | 社交恐惧症患者也想用Steem,所以我做了Aeolipile Aeolipile: your code and formula on Steem 林中阴影 | 2017年的fontconfig设置 林中阴影 | 为hugo加入数学公式支持 林中阴影 | 更琐碎的编辑器细节 / Some more trival details about Steemit 林中阴影 | 对Steem的一些细节考察 / A closer look to Steem 林中阴影 | 在Hugo中折叠部分内容 Brave New World: Firefox to Quantum Yesterday Once More: Firefox to Waterfox 林中阴影 | 首都图书馆半日游 林中阴影 | 关于那个IME helper Auto-Switch IME in Vim-Mode-Plus for Atom Editor 林中阴影 | 短消息:联通IPV6 林中阴影 | 迁移到hugo,第三部分:可是我想要更多的feed地址… 林中阴影 | 由wordpress到hugo:I 林中阴影 | 迁移到hugo,第二部分:部署到github 林中阴影 | Dota 2里,什么技能的冷却时间最短? 林中阴影 | 五年 林中阴影 | 为什么已经在Word里用M$的EMF格式了,图像还是不清楚? 林中阴影 | 用nethogs实时监控每个程序的流量使用 林中阴影 | shadowsocks 2016: 一次性认证,KCP及其他 林中阴影 | Deus ex machina 林中阴影 | QArt:更漂亮的QR码 林中阴影 | 我失去了heysh.tk域名 林中阴影 | 一个简单的在线LRC编辑器 林中阴影 | 野路子科研工具二则 林中阴影 | 我有显示器辣 林中阴影 | pentadactyl 和 Firefox 43 林中阴影 | 2014年的总结 林中阴影 | shadowsocks,ipv6和便宜的VPS,还有OpenVPN 林中阴影 | 红色楼梯 林中阴影 | 用于OPENWRT的流量监控脚本:wrtbwmon 林中阴影 | SFW:治疗拖延症的一次有益尝试 林中阴影 | 木漏れ日 林中阴影 | 一次奇怪的firefox故障,还有,一个普通市民是怎么修电脑的 林中阴影 | Mortal 林中阴影 | vim again 林中阴影 | 邪恶的Archlinux 林中阴影 | 十一年前,以及今天 林中阴影 | 贺叶霜的树 林中阴影 | Limited Gear Works 林中阴影 | 永生,其二 林中阴影 | 我的云上逃亡,或,google reader的替代品 林中阴影 | 如果你像我一样主力使用xfce但又觉得GNOME3也许会变得好一点于是安装之后才发现果然还是无法接受 林中阴影 | CATIA是个好软件 林中阴影 | blog再次复活 林中阴影 | 2012-2013 林中阴影 | Texlive 在archlinux上的安装,以及中文字体的设置 林中阴影 | phpwind论坛刷分脚本(可用于openwrt) 林中阴影 | THU课程表导出,油猴脚本,输出vcal 林中阴影 | html5-世界变动率计数器(仮) 林中阴影 | 总结:简单的vCal/iCalendar/.ics格式说明 林中阴影 | Hello Again~ 林中阴影 | chicken
林中阴影 | 穷人的IP-KVM远程访问
2023-05-20 · via 林中阴影

说起DIY的IP-KVM,当然是PiKVM以及一系列衍生项目,可是对于那些把钱投入庞氏骗局的穷人来说,RPI4已经远不能称为inexpensive。近几天,我从垃圾堆里翻出了同样昂贵的Phicomm N1和一张30块的视频采集卡,发现正好也能用。

有较强的自我管理意识.png

有较强的自我管理意识.png

把远程控制取名叫作IP-KVM,这对于SEO来说过于不友好了。每当搜索Google的时候,总会看到有人试图在N1上跑虚拟化(aka KVM),可能是对2G内存有些什么不切实际的幻想。最后,在GitHub上找到了在N1上安装PiKVM的脚本:toss-a/pikvm-armbian。不过这里的说明也稍微有些简略,我会努力稍微详细一点点,尽量。

那么,需要准备下面这些东西:

  1. N1一台;

    我的N1是从垃圾堆里捡回来的,如果是新购的话,应该会有一些更新、更好的选择。注意,这些选择需要能够OTG。

  2. USB公对公数据线一条;

    因为N1的USB口有OTG功能,直接连接被控电脑就可以模拟鼠标和键盘。

  3. 视频采集卡一张,配HDMI线一条;

    因为N1没有USB3.0接口,MS2109芯片就足够了,可以跑1080p@30Hz。 大概长这样:

  4. U盘一块;
  5. Linux知识一些;
  6. 可能会需要:
    1. USB键盘一个;
    2. USB延长线一条;
    3. 理想的上网环境。

      根据相关法律法规和政策(下略)

不需要准备Arduino、BadUSB、USB Rubber Ducky,或者其他的单片机,虽然我的垃圾堆里也有不少。

安装系统:Armbian(Ubuntu口味的)

这部分已经有很多人写过了,大概步骤是降级—BalenaEcther镜像写入U盘—Armbian写入EMMC。可以参考GitHub说明其他人的博客或者B站。要注意,在盒子的原始系统尚未关机时不要插入U盘,Android系统会破坏U盘文件的权限。

Armbian镜像我使用的是Armbian_23.05.0_amlogic_s905d_jammy_6.1.27_server_2023.05.13.img.gz,其中,S905d是N1所用的芯片,Jammy是Ubuntu的版本号,6.1.27代表使用的是最新版本的Linux内核。如果安装PiKVM,Debian系列(bullseye)的软件包有些太老了。

修改dtb文件

好,到这里时,我会假设:N1已经刷成了Ubuntu风味的Armbian系统;连接好网络,有线无线都可以;能够输入命令——不管是直接插键盘显示器,或是通过SSH,还是直接从电路板上引出导线。

在上述的Armbian引导文件中,默认的USB模式是Host,为了模拟鼠标、键盘等设备,需要将dr_modehost更改为peripheral1。那么,我们需要重新编译dtb文件:

# 将dtb编译为dts文件
dtc -I dtb -O dts -o test.dts /boot/dtb/amlogic/meson-gxl-s905d-phicomm-n1.dtb
# 用你喜欢的编辑器打开这个文件
vim test.dts

test.dts中搜索dr_mode,寻找首个dr_mode = "host";,改为dr_mode = "peripheral";。 这里的上下文大概是这样: 注意红字位置 后面的dr_mode不必修改。不要问我为什么,这部分超出了我的能力。之后重新把dts编译回去,移动到/boot/dtb/amlogic/,并且修改启动项:

dtc -I dts -O dtb -o n1-test.dtb test.dts
sudo mv n1-test.dtb /boot/dtb/amlogic/
sudo vim /boot/uEnv.txt

FDT一行改为FDT=/dtb/amlogic/n1-test.dtb最近觉得carbon.now.sh还挺棒哒

然后重启系统。

安装脚本

此时,假设你能够透明地访问github和其他网站,curl google.com返回302或者200。如果不行的话,可以尝试在N1上安装zfl9/ss-tproxy,让N1同时承担旁路网关的功能。

git clone https://github.com/toss-a/pikvm-armbian.git
cd pikvm-armbian
./install.sh

在提示"Do you want to apply custom patches? [y/n] "时,选择N。

接下来,重启系统,再次运行install.sh,然后关机。

连线和启动

N1靠近HDMI接口的USB口已经改为OTG从机模式,把双公头USB线插在这里,另一头插到被控计算机上。这时候,如果视频采集卡插不上的话,拿出提前准备好的延长线。下面的照片来自这里,照相技术牛逼疯了。

牛逼疯了!

重新插入电源,用随便的浏览器访问N1的IP地址,并忽略证书错误提示。初始用户名和密码都是admin,别忘了修改登录密码,用sudo kvmd-htpasswd set admin

另外,感谢pikvm项目,有钱的话就去支持他们的硬件吧!