0%

前言

相册这种东西,堆着堆着就几万张了。粗略看了一下统计,我存放在 iCloud 上的相册中包含了 45k 张照片,在 Google Photos 上的相册有 30k 左右的照片。这些照片的成分也很复杂,包括日常拍照、屏幕截图和一堆纸片人图。因此,我需要一种方式管理这些照片。

我的初步想法是,将照片同步至本地 NAS,使用自建工具进行管理。我本地使用的是群晖。即使是群晖这种较为成熟的 NAS 系统,也只有和 Google Drive 进行同步的工具,无法和 iCloud 进行同步。甚至在 Google Drive 同步工具中,也无法和相册进行同步。好消息是很多个人开发者开发了用于同步相册的工具。本文将记录这些工具的部署流程和使用方法。

相册同步工具

Google Photos

我搜索到两个主流的、已经封装好 Docker 镜像的 Google Photos 同步工具,分别是 https://github.com/JakeWharton/docker-gphotos-synchttps://github.com/gilesknap/gphotos-sync。其中,前者需要使用 chromium-browser 登陆谷歌账号进行验证,后者需要通过 GCP 创建 OAuth API 进行账户验证。我本人更喜欢后者的方式,因此选择后者作为本地使用的同步工具。

部署步骤

后者的配置方式在 文档 中有详细介绍,此处做个总结。

Read more »

前言

心心念念 Mastodon 将近两年了,昨天终于打起精神,尝试自己部署一个。作为一名十年微博用户,我对社交网络的需求已经逐渐减少,但仍希望有一个干净的、能够自由交流的工具。因此,我决定部署属于自己的 Mastodon 实例。

部署前准备

据我所知,Mastodon 实例对机器性能的要求较高,特别是对内存的需求。考虑这些,决定在 Homelab 部署 Mastodon 实例。但问题依然存在,为了维护双向关系,Mastodon 要求在互联网公开,因此我使用 CloudFlare ZeroTrust Tunnel 将其公开至互联网。

机器我选用了长期吃灰的 昂达 H310SD3-ITX 作为平台,CPU 选用 Intel Pentium G4500T 2c/4t,内存为两条 8G DDR3 AMD 专用条。即使该平台比较老旧,但仍足够胜任一般的 Web 服务器需求。

关于这篇文章

Mastodon 的官方文档对使用纯 Docker 环境部署并不友好。因此,这篇文章主要对 Mastodon 使用 Docker Compose 部署做记录。当然也包括如何安全地将内网服务器暴露至公网。

Mastodon 部署流程

经过摸索后,在集群内使用 Docker compose 起一个 Mastodon 实例仅需两个配置文件+少量部署操作。docker-compose.yml 如下,由官方 Github 仓库中获取并微调。

由于该配置文件直接上了 production 环境,会强制 301 到 HTTPS。在测试环境中需要 Web 服务器反代并做好 SSL 配置。我在本地使用 traefik 作为 Web 服务器。

Read more »

前言

因为有私有记录笔记和维护版本的需求,我进行了一系列的调研,并最终选中了 Standard NotesOutline 两款产品。我先尝试上手部署了 Standard Notes 并试用,前后时间约一天。在本文中,我对其部署和使用做一个简单的记录。

近年来各类文档编辑工具类目繁多且各有特色。我最初接触的在线文档是石墨,后来随着需求和环境的变化,以及在线办公的普及,还曾使用了钉钉、企业微信等以中国大陆互联网企业为开发主体的文档工具,和 Notion 等更加国际化的文档。从使用的便捷程度和完善程度上说,我个人倾向于使用国际化的文档工具。

但是,我使用在线文档在大多数情况下是为了和协作者进行信息共享。因此在更多的时间里,我会使用例如 Typora 这类的本地 Markdown 编辑工具,加上 Syncthing 进行多端同步以保证数据可靠。随着 Typora 的收费和 Beta 版本的完全禁用,我决定寻找一个更安全、方便的文档编辑和同步方式。

部署

在部署部分,我着重记录官网文档中提及甚少的部分,如一些功能的不可用、插件的部署。

Read more »

前言

今天早上收到一条提醒,用来做梯子的腾讯云机器被提示封禁了。

尊敬的腾讯云用户,您好!
您的腾讯云账号(账号ID: *****, 昵称: **)下的Lighthouse服务存在违规信息,涉嫌违反相关法律法规和政策,101.32.26.12已被限制访问,感谢您理解和支持!
违规类型:存在通过技术手段使其成为跨境访问节点等行为
违规URL:N/A
违规域名:N/A
违规标识:101.32.26.12

遂怀疑是腾讯云可能存在和阿里云类似的监控用户隐私的类云盾功能,结果确实检索到了相关信息。

处理腾讯云安全(审查)组件

理论上,现在新创建的所有服务器,包括轻量都预装了这个组件。通过以下命令检查是否被插了后门。

1
ps -A | grep agent

这时候你会看到

1
2
3
4
5
root@VM-4-9-debian:~# ps -A | grep agent
1229 ? 00:00:00 sgagent
1282 ? 00:00:00 barad_agent
1288 ? 00:00:00 barad_agent
1289 ? 00:00:00 barad_agent

果然是插满了后门啊。

解决方法很简单,参考 hostloc 论坛帖子提供的方法,直接在ssh执行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sudo -i
systemctl stop tat_agent
systemctl disable tat_agent
/usr/local/qcloud/stargate/admin/uninstall.sh
/usr/local/qcloud/YunJing/uninst.sh
/usr/local/qcloud/monitor/barad/admin/uninstall.sh
rm -f /etc/systemd/system/tat_agent.service
rm -rf /usr/local/qcloud
rm -rf /usr/local/sa
rm -rf /usr/local/agenttools
rm -rf /usr/local/qcloud
process=(sap100 secu-tcs-agent sgagent64 barad_agent agent agentPlugInD pvdriver )
for i in ${process[@]}
do
for A in $(ps aux | grep $i | grep -v grep | awk '{print $2}')
do
kill -9 $A
done
done

即可。最后再使用 ps -A | grep agent 检查一次。

References

————
License: BY-NC-SA 4.0
Link: https://wasteland.touko.moe//blog/2022/05/uninst-txagent/
Written with Passion and Hope

前言

拖延症是这样的,从抽屉里翻出了半年前买的、打算做软路由的 T620 Plus。这一拖就是半年,这次准备给它部署 Openwrt,替代目前使用的单口软路由。

T620 Plus 应该被不少人推荐过,包括 B 站 UP 主司波图 https://www.bilibili.com/video/BV1J54y1m7ar。这台机器的 CPU 性能超过 J1900,且带 AES 指令集,从性能上看绰绰有余,甚至可以安装一些虚拟化应用。

老家伙

之前我使用的软路由是 1037U + 定制亚克力外壳。1037U 作为软路由来说,性能已经足够,就算用来科学上网也能够跑到 500Mbps 左右。但我使用的定制外壳防尘性能较差,处理器散热器已经有一定的积灰,且有时候会莫名卡死。且当前软路由只有一个网口,我将其以单臂路由的形式下挂在连接到光猫的交换机上,链路重复利用,可能也会导致某些不可知的问题。因此,我将其更换为 T620 Plus。

T620 Plus

我于半年前从闲鱼购入这台 T620 Plus,当时的价格为 RMB328。机器是普通小型桌面机器的大小,加装硬件部分全部采用免螺丝设计,非常好评。机器内部结构如下。

翻开盖板后,可以看到内部结构,非常整洁。

Read more »

前言

老是忘记怎么在 Ubuntu 上安装 CUDA,每次有新机器都要在环境恶劣的互联网上寻找各种不靠谱又容易炸的教程。还是简单做个总结,关于如何安装炼丹人必备的依赖 CUDA

一些链接

安装流程

安装前准备

先看看机器的版本号啥的

1
2
3
4
5
6
7
sudo lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic

再看看显卡在不在

1
2
3
4
lspci | grep NVIDIA

18:00.0 3D controller: NVIDIA Corporation Device 1eb8 (rev a1)
af:00.0 3D controller: NVIDIA Corporation Device 1eb8 (rev a1)

再换个源。机器在深圳,用科大了

1
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

安装

Step 1:安装 ubuntu-drivers 并配置驱动

1
2
sudo apt update
sudo apt install ubuntu-drivers-common -y

运行

1
2
3
4
5
6
7
8
9
10
11
ubuntu-drivers devices

== /sys/devices/pci0000:17/0000:17:00.0/0000:18:00.0 ==
modalias : pci:balabalabala
vendor : NVIDIA Corporation
driver : nvidia-driver-440-server - distro non-free
driver : nvidia-driver-450-server - distro non-free
driver : nvidia-driver-455 - distro non-free recommended
driver : nvidia-driver-450 - distro non-free
driver : nvidia-driver-418-server - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin

装那个 recommended 的

1
sudo apt install nvidia-driver-455
Read more »

简短地水一篇

闲置了一块主板

前段时间给实验室配置了软路由,为了避免意外,多买了一块主板。最近,在实验室成功部署了异地组网后,才想起来自己多买了一台机器。这台机器的配置是 1037u,我之前买过三块,分别用于各种地方的软路由和小型机。这块u价格便宜,没有 J1900 那样的溢价,性能和 J1900 差不多,功耗不高,非常适合用来做 NAS 和软路由。对于手上这块 1037u,我准备拿来挖矿。

硬件

这次的硬件没有什么好介绍的,主要如下

主板 / CPU 1037u 集成主板
内存 杂牌 DDR3 2G
电源 12V DC
系统硬盘 minisata
数据硬盘 WD 500G 黑盘

给主板来一张全貌图

Read more »

前言

近期,拼拼凑凑从各类垃圾中组装出了一台轻便的 ITX 主机。主板是真白丢给我的,在他那不能工作的 华擎 H110M-ITX ;CPU 是我之前测试 QL3X 时点亮用的 Pentium G4500T 6 代低压 U;电源是 tb 买的韩国牌子 全汉代工 450W SFX ;机箱是 酷鱼 T40 ;内存是 影驰 镭 RGB 灯条 3200MHz 8G×2;硬盘是以前捡的 昂达 480G SSD,显卡是亮机卡 NVIDIA Quadro K600。这么一套东西装起来,我就想,能不能搞个黑苹果玩玩。于是,查了一段时间的资料,准备动手。

本文仅记录点亮黑苹果的过程。其他驱动的修改预计会在后续记录。

配置价格

装机之前,大致估算一下目前这套机器的价格。散热我用的酷冷十几块的(AMD 原装)散热铝块,就不计入总价了。

主板 ASRock H110M-ITX 150
CPU Pentium G4500T 230
内存 影驰 镭 RGB 灯条 3200MHz 8G×2 400
电源 全汉代工 450W SFX 130
硬盘 昂达 480G SSD 240
机箱 & 延长线 酷鱼 T40 140
显卡 NVIDIA Quadro K600 140
总价 1430

其中内存可以不用这么好的,CPU 可以再上好一些的,显卡可以换矿卡(等矿难)。整机价格偏高,不过既然都是捡来的垃圾,那就无所谓性价比了。

上机图片

酷鱼 T40 的设计十分紧凑,附带扶手,单手就能轻松提起。机器显卡为倒装,很有意思。由于是非模组电源,走线较为凌乱。

Read more »

前言

之前我用 NAS 虚拟化了一台 OpenWrt 用作软路由。随着使用频率的增加,我越发离不开它带来的优秀的上网体验。但是用虚拟化的软路由总觉得有些不舒适,比如万一 NAS 掉线(虽然暂时没出现过),内网就会瞬间瘫痪。同时,用这种方法虚拟出来的软路由和小米路由自带的 Mesh 功能有冲突,小米路由无法获取 Mesh 节点的拓扑图,也没有办法进行完整的设备管理(识别不出设备)。

解决方案是在小米路由器的上级部署软路由,将原本放在小米路由器内网的软路由移动到光猫内网。我先用树莓派 4 作为软路由进行测试,另一块 1037U 主板在路上。光猫只有一个千兆网口,但是恰好前些时间我买了台网件的 GS105 ,得以在光猫的内网中接入更多千兆设备。

这是一个五口非网管型交换机,自适应 10/100/1000M,带指示灯,发热量不大,价格百元内。这样一来,网络拓扑就可以进行下面的改动

将内网的 DHCP 分发任务交给小米路由,允许小米路由 app 完全发挥功能,带来更严格的 WiFi 接入控制和 Mesh 组网体验。另一方面,改变静态 IP 配置将小米路由的网关设置为软路由地址,让其流量通过作为软单臂路由的树莓派,达到科学上网等目的。

树莓派组装

Read more »

前言

捡了块树莓派

临时被叫回学校办毕业手续,想起当年(五年前)我在淘宝买了块树莓派 2B,给家里做了个通过 HTTP 代理自动分流国内外流量的工具。那块树莓派被我带到了学校,放着吃灰三年多了。这次回学校,就顺手把这块树莓派带了回来。

最近优化了家里的网络,大学四年也断断续续买了不少米家的 IoT 设备。米家设备能够原生支持 HomeKit 也应该只是最近的事,我手上只有一个台灯、三个智能插座能够加入 HomeKit 管理。因此,我打算把这台树莓派挂在 IoT 设备专用中继路由器下,作为一个中介,将其他无法原生支持 HomeKit 的米家设备接入 HomeKit,实现统一管理。

为什么我不直接用米家做管理呢?一是米家的操作逻辑比较恼人;二是米家无法长期运行于后台,一些和离家、回家相关的自动化逻辑无法很好的运行。接入 HomeKit 后,这种情况会得到一定的改善。

桥接平台的选择

通过资料调查和实际测试,我最终选择了 Home Assistant 作为接入智能家居设备的平台。同类解决方案还有很多,比如同样提供智能家居接入方案的 Home Bridge,ioBroker 等。我同时尝试了 Home Bridge,但是由于米家相关插件文档模糊,接入后无法正常连接挂载在网关的设备,最终作罢。

其实 Home Assistant 的安装也并不容易。安装过程存在各种各样的问题和 bug,我尝试了非常多种方案才成功运行。

树莓派的初步配置

SD 卡安装树莓派系统

我掏出了之前留在机器上的传家宝 TF 卡 三星 EVO+ 32G,不料卡在经过几次刷写后,自动写保护了。于是我又从 NS 里掏出了从 tb 20 RMB 买的朗科 32G TF 卡。现在 TF 卡的价格真的越来越便宜了,我打算屯一堆,免得弄坏了没有替换卡。

Read more »