之前的 git.solsynth.dev 一直都是我的本地群晖跑的,效果不错,但是不知道为什么最近爬虫非常喜欢这个服务,这破天的流量直接给我绷不住了。
robots.txt 设了,但是很明显他们有一些是不遵守这个的,有一些还是缓存。Cloudflare 开了,但是因为一些工具链的原因不能老是开着 Bot Challenging Mode。所以只好考虑迁移了。
从本地的 gitea 迁移到了和 SN 一个服务器的 forgejo。这个更换的服务器的理由没有什么,纯粹是因为因为 forgejo 的 UI 比较好看(虽然 gitea 可以改主题)
迁移数据这一块没有什么好说的,虽然我的 gitea 版本的数据库可以直接上到 forgejo 用。但是也顺便重新整理一下我的代码库,所以就手动导入了。
所有的东西都没有什么问题,唯一的一个问题就是我很常用的 SSH clone 不能用了。
也不能说完全不能用,主要是我的主服务器也占着 :22 端口。改端口是能用了,但是太丑了吧,我绝对不能接受这种东西。于是就想起来了我的 tailscale。
tailscale 可以提供另一个 IP 地址作为内网使用,我只要把 forgejo 绑定到那个 IP 地址就好了。
基本上就是
$ sudo vim /etc/ssh/sshd_config
ListenAddress <public-ipv4>
ListenAddress <public-ipv6>
ListenAddress 127.0.0.1
ListenAddress ::1
$ sudo vim docker-compose.yml
ports:
- "100.x.x.x:22:22"
$ sudo sshd -t
$ sudo systemctl disable --now ssh.socket
$ sudo systemctl restart ssh.service
$ sudo systemctl enable --now ssh.service
$ ss -tulpn | grep :22
$ sudo ss -tulpn | grep :22
tcp LISTEN 0 128 10.5.8.17:22 0.0.0.0:*
tcp LISTEN 0 4096 100.x.x.x:22 0.0.0.0:*
tcp LISTEN 0 128 127.0.0.1:22 0.0.0.0:*
tcp LISTEN 0 128 [::1]:22 [::]:*
非常好啊 xdm
这样我就可以继续使用 git clone [email protected] 愉快的 vibing 了
