0%

之前一直想在wsl里配置autobangumi,但是有各种网络问题。这次折腾了一下

配置环境

WSL 版本: 2.0.14.0
内核版本: 5.15.133.1-1
WSLg 版本: 1.0.59
MSRDC 版本: 1.2.4677
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 版本: 10.0.22631.3007
docker版本:Docker version 24.0.7, build afdd53b

docker run -d –name=AutoBangumi -v S:/AutoBangumi/config:/app/config -v S:/AutoBangumi/data:/app/data -p 7892:7892 -e TZ=Asia/Shanghai -e PUID=$(id -u) -e PGID=$(id -g) -e UMASK=022 –network=bridge –restart unless-stopped ghcr.io/estrellaxd/auto_bangumi:latest –dns=8.8.8.8

docker run -d –name=AutoBangumi -v S:/AutoBangumi/config:/app/config -v S:/AutoBangumi/data:/app/data -p 7892:7892 -e TZ=Asia/Shanghai -e PUID=$(id -u) -e PGID=$(id -g) -e UMASK=022 –restart unless-stopped ghcr.io/estrellaxd/auto_bangumi:latest

docker run -d –name=AutoBangumi -v S:/AutoBangumi/config:/app/config -v S:/AutoBangumi/data:/app/data -p 7892:7892 -e TZ=Asia/Shanghai -e PUID=1000 -e PGID=1000 -e UMASK=022 –restart unless-stopped ghcr.io/estrellaxd/auto_bangumi:latest

总结

2023年可以算是很特别的一年

  • “摆脱”疫情的第一年
  • 毕业后经济独立的第一年
  • ChatGPT元年

在此简单做个回顾,想到哪写到哪。

Coding & etc

看着很满不过水分很多。提交中除了代码还包括文档和ci。

分几个方面简单回顾一下,可能会有交叉。

sc-viewer-v2

去年12月开始写的项目,到现在算是一年多了。趁着机会学习了vue3的一些东西。经过几次迭代目前网站的整体功能的完成度已经不错了,交互的完成度还有提升空间但目前应该没什么大问题了。项目能做到今天这个地步主要还是靠着几位朋友的帮助弄明白了sc的资源是怎么混淆的。目前项目的整体架构我还是相当满意的,维护比较轻量化。有一些关键的技能点也是靠着这个项目点起来的。

  • 一票前端知识(vue3,naive-ui,PWA,iframe交互…)
  • 为了接入ChatGPT的prompt engineering
  • 为了简化维护成本的github action脚本
  • 为了维护本地数据的手撸的资源下载器(我觉得还写得挺好)

去年做完github交互那块本来不打算加新功能了,不过后续还是陆陆续续做了不少东西,也加上了不少优化。有些时候真的觉得挺神奇,有时候就是临门一脚的小优化能让用户体验上一个台阶。新的一年里不知道还会不会投入很多时间到这个项目里。如果有的话可能会希望做以下功能

  • 预翻译功能的重构,提供缓存,优化读取。目前预翻译很容易丢失连接,也需要很长的等待时间。改进后应该是发布——查询的pattern。同时也可以考虑在游戏数据更新后直接预翻译并推送到远端仓库,这样甚至可以在进入页面时直接查询并选择是否加载预翻译。
  • SCSP的剧情数据bridge到站点。目前的困难在于没办法弄出来每句台词的说话人,希望能整明白。
  • 利用vercel的serverless功能做迁移。

这边也有一些遗憾,年初三四月是撸出来了一个剧情制作器的原型的,但是当时没有进一步投入时间。年中时发现蔚蓝档案侧有各种剧情编辑器可以用,而且实现也远远比我自己设想的成熟。我这边手撸其实不太经济。但无奈的是没有能开源复用的项目。这事应该也只能搁置了。

AI

今年很多生成式AI项目都迎来了大爆发,为首的是ChatGPT为代表的LLM,而语音、图像生成技术在前两年的可用性已经很高了,今年则是进一步成熟,门槛降的更低。年初时我仔细整理了一下自己对这类项目的看法,目前应该还是没有变

不过我搞不太清楚底层的事情,今年做的事情主要还是调库调库prompt engineering。核心偏重在翻译这块。本来想重写一个优化版的n46whisper,但是做了一半搁置了。

新的一年里应该会有更多成熟的AI工具用来辅助创作。不知道有没有机会尝试。也希望自己能进一步了解一下ai的底层。

开源项目

今年算是极其简单地参与了一些开源项目,比如给whisperX提了个小PR,给eth-keyfile挑了个安全缺陷。

此外可能不完全算是开源项目,和酸菜资料站点的开发者搭上了线,合作做了一些开发。

希望明年能提一些新feature的PR吧,比如web3py的type hints。

乱七八糟的服务

参考之前的music server那篇博客。现在还卡在新歌曲加入的工作流。希望2024能整好(然后别吃版权攻击)

游戏

今年很多时间在Coding了,所以游戏这块没原来玩得多了。不过很意外的是今年在steam上的时间变长了不少,杀戮尖塔随手就能开一局然后几个小时就不见了(不过现在100小时了还没进阶20,我好菜)

主机

主机侧主要还是ns。这块花时间最多的是fe engage和王国之泪,都接近100小时。没有玩得很深入,但也还行了。之后是ns sports,快30小时。

其他时间比较短的就没弄上来了。年末的马力欧惊奇撞上了搬家,所以还搁置在,等博德之门3之后再玩。

pc

steam这块最大头是杀戮尖塔,之后是影之诗(woc 怎么还有影之诗),再之后是年中玩的hifi rush、幽灵诡计。还有没算上的冬促后正在玩的博德之门。此外还有两个小体量的gal:ginka & 候鸟。

此外还有樱之刻。之前的博客里也提过了。

手游 / gacha game

gacha game这块儿最主要的就是对时间和精力的消耗,对金钱的消耗还是次要的。到年底,手头还在玩的gacha game应该算是三款:gbf,sc页游 & 手游。

这些算是被捆住了的坑吧,2024应该也会不会弃掉。不过sc的手游和页游还是很让人担心它的未来。

偶像大师

偶像大师单开一栏。今年2月北京MOIW线下观影可以说某种意义上彻底改变了我这一年。完全没有想到这场live会如此精彩。后续的sc 5th,solo live,5.5th也去了线下观影。不过目前还没现地的欲望,如果有下一次的MOIW也许会push我自己吧。

某种意义上来说,也是因为爱马仕,今年开始尝试以“创作者”的身份来做一些东西。不过由于剪辑技能太差,主要是做了规划、脚本和统筹这方面的事,某种程度上也算是体会到了想法和做出东西来之间的差距。新的一年应该会尝试自己去剪一些东西。

而今年也因为爱马仕认识了很多人,做了很多尝试,增长了行动力。比如做了自己的第一张名片、尝试在微博/Pixiv联系画师、尝试去推一个小企划落地……相信这些经验也能在未来起上用场。

动画

今年动画还是看得很开心的,无职第二季、U149、百万、葬送的芙莉莲、蜘蛛侠纵横宇宙。好像无职之后这种高规格制作的作品就越来越多,挺好。明年还有sc动画看。

三次元

三次元也有几件关键的事情。

装机

6月趁着618和手上的一点积蓄组了自己的主机。之前没有系统性地了解相关知识,这次恶补了一番。最终的结果我还是相对满意的——除了机箱。现在感觉没啥必要买静音机箱,反而影响散热。

搬家

10月中从北京搬了上海,基本是自己操办了全过程。

  • 千方百计想要转租出北京的租房真是痛苦万分(最后还没租出去)。
  • 把机箱从北京搬到上海真的好麻烦——啊啊啊啊啊怎么这么重啊
  • 自己一个人住了自由很多了——但是隔音好差啊啊啊啊啊

新年展望

新年也不做太多不切实际的梦了,交到女朋友就不指望了。希望:

  • 多参加一些开源项目
  • 多填一些之前挖的坑
  • 多攒一点米
  • 有空玩喜欢的游戏
  • 多打乒乓球
  • 有契机push自己出国一趟

因为阿里云服务器太贵,迁移到腾讯云

ssh 密钥配置

直接从本地复制写到 ~/.ssh/authorized_keys里

apt update

sudo apt update

miniconda

https://docs.conda.io/projects/miniconda/en/latest/index.html#quick-command-line-install

1
2
3
4
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh

nvm

1
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

github ssh key 配置

ssh-keygen -t ed25519 -C "your_email@example.com"

https://github.com/settings/keys

nginx 配置

安装
https://nginx.org/en/linux_packages.html#Ubuntu

vi /etc/nginx/nginx.conf

总之就把之前的挪过来。

acme

chmod 600 ./aliyun_credentials.ini

sudo certbot certonly --authenticator=dns-aliyun --dns-aliyun-credentials='/home/ubuntu/aliyun_credentials.ini' -d "*.strawberrytree.top,strawberrytree.top"

sudo certbot certonly --authenticator=dns-aliyun --dns-aliyun-credentials='/home/ubuntu/aliyun_credentials.ini' -d "*.sc-viewer.top,sc-viewer.top"

业务迁移

nginx service.sc-viewer.top

(之后需要加cdn和serverless function)

mongodb 安装

https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/

注意设置 ulimit -n 64000。然后pin一下版本,没什么了。可以用mongosh测试一下是否安装成功。

git 服务器迁移

在我的原有服务器上,配置了 git 服务器,在古老时代用来做博客的自动化部署。这次考虑了一下要不要使用 vercel 来自动化部署,想想暂时还是维持原样比较好。

参考(https://www.liaoxuefeng.com/wiki/896043488029600/899998870925664)。

简单地把原有用户下的文件打包成压缩文件,然后扔到新机器去了。扔过去之后发现有403 forbidden,于是切了一下root用户。

docker

docker理论上是要安装的,这次先不管。

定期任务

可以通过crontab -e 编辑。将之前的搬过来即可。

其他项目迁移

确认一下还在run的项目有哪些

想要解包某游戏但不想在实机中安装、折腾数据,正好尝试一下windows11的wsa(windows subsystem android)。简单记录一下配置过程。

这次配置的核心是代理问题。主要参考了:

该文章提供了三种解决思路。我最开始尝试了方法二但是没能成功,最后转头使用方法一:win11 安卓子系统(WSA)ROOT安装面具(Magisk)与谷歌框架(Google Apps)

阅读全文 »

由于本周末直至下周需要出差,所以这两天给出租屋的windows&wsl2配置了一下内网穿透,这样在外面也能倒腾。

(假设wsl2已经安装完成了,相关教程比较多,不再赘述)

首先是整体方案的选型,我这里是选用了frp作为内网穿透的软件,整体方案为windows与远端服务器分别配置为frp的客户端和服务器端,windows充当跳板机连接至wsl2。这一选型主要是能提供较大的冗余,除了能操作wsl2外还能操作windows。

整体的步骤如下:

windows配置openssh

参考官方文档即可进行配置Windows 中的 OpenSSH

由于windows安全很重要,我只允许了密钥登录。配置完成后参考这里进行公钥的配置。如果windows本机只有一个用户(那也会是管理员用户),需要将公钥写到C:\ProgramData\ssh\administrators_authorized_keys中。操作完之后可以使用ssh username@xx.xx.xx.xx检查是否配置成功(本机ip通过ipconfig查询)。注意默认的终端是cmd,可以参考官网的指南配置为powershell。

wsl2配置openssh

也许是莫名的权限问题,我在连接windows的wsl后无法通过wsl命令访问wsl。这里选择开启wsl的ssh端口解决。只要开启相应端口,就可以在本机通过ssh访问wsl了。(某种意义上讲这比wsl命令会更好一些,这提供了ssh命令的相关支持)

安装过程主要参考这里,需要注意的是端口绑定2222以避免潜在的端口冲突。此外需要在windows启动项中进行配置以便wsl能开机启动openssh(听说有更简便的方式,但总之能跑就行了)。配置分为两步:1)在wsl的/etc/init.wsl中写入openssh启动命令;2)在windows的启动文件夹中加入linux-start.vbs文件,写入

1
2
3
Set ws = CreateObject("Wscript.Shell")

ws.run "wsl -d Ubuntu-20.04 -u root /etc/init.wsl start", vbhide

即可。

测试好之后可以重启计算机,并尝试ssh wslusername@localhost -p 2222是否成功。

frp配置

使用frp官方示例即可。我在common中额外加入了128比特的密钥

1
2
3
[common]
bind_port = 7000
token = 0xxxxxxx

运行ssh -oPort=6000 windowsusername@serverip能连接至windows即可。

在服务器端运行无误后参考这里将frp设置为了服务器端的服务。

不过不幸的是,我在windows的powershell中安装了oh-my-posh,因此从mac连接过来的时候会乱码。这一点还得找时间修复一下。大概率是字体问题。连接之后则可以通过命令ssh到wsl中了。

此外,还可以使用ssh的跳板命令来直接连接到wsl

ssh -J windowsusername@serverip:6000 wslusername@localhost -p 2222

为了提高windows连接的可用性,可以参考这里设置frpc的自动启动。之后重启计算机测试上面的命令,通过后一整套配置就完成了。

(对了,出门在外记得暂停windows更新计划)

去年因为疫情,谢师宴“方便”地取消了。我和去年一同毕业的师姐原本计划同今年毕业的师兄一起补办,但师兄今年也没能毕业😢。

各位师兄师姐和小老师对我的现状表现出两种态度。

其一是较为普遍的态度,表示我目前的生活状态表示认可。另一则是对我有所寄托,认为我不该停留于做当前的工作。抱有后面想法的主要是大老板与一位与我关系较好的小老师。

他人对我的不同期待一定程度上也折射了本人的价值观,尤其是后者。小时候我读过李开复的自传,他对“make a difference”的解释让我印象很深:“想象有两个世界,一个世界中有你,一个世界中没有你,让两者的不同最大,最大化你的影响,这就是你一生的意义”。小老师也这样和我说:一个人的一生中,会有一些非平凡的目标。

对我来说,我选择前进的道路的最主要影响还是我最根本的目标:我想做我想做的事情、我想做我喜欢做的事情——而我现在在做的事情,既是终点、也是过程,我在做我想做的事情,也是为了让我自己有能力去做我想做的事情。从这个角度而言,我本人其实是不在意于特定的非平凡的目标的。就目前而言,我的切实的想做的事情是能去自由地做开源软件。而另一方面,更“务虚”的方向而言,我的志趣在于让人建立联系,但如何去实现这一目标却并没有详细的考虑,是创作作品?还是以软件的形式?这些都很难说。但我确实是不能仅仅安于现状。