我与 LoCyanFrp -(一)初识与深入

夏沫花火zzz🌙 (Muska_Ami) Lv4

LoCyanFrp 目前是我为现任站长的一个项目,这篇文章主要是想简单聊一聊,我与 LoCyanFrp,和其他友商的一些经历。

LoCyanFrp 简写 LCF

关于这个项目

相识

这个项目并不是我发起的。
2022年,我生日当天,刚好正在寻找一个免费的 Frp 服务。像往常一般,我在搜索引擎简单搜索了一下,找到了这家 Frp 内网穿透服务。却曾想,这成为了我接下来几年里的转折点。

前世

早期 LoCyanFrp 由站长 Daiyangcheng 以及另外两位成员 DXCFTDE、Zhiyuan36 共同维护。记得那时候还在用 Freenom 的免费域名,这个域名目前我还记得,是 freenat.gq 。不过这个域名现在已经被回收了,并不属于 LoCyanFrp 。
当时完全是使用的 SakuraPanel 以及 Daiyangcheng 手搓 ThinkPHP 框架造的后端,虽然能用,但是因为数据库问题出过一些事故(吐槽一下 PHP 还没关 DEBUG 输出,官网上面两行大大的连不上数据库难绷)。客户端也非常简陋,甚至没有图形化界面(就是 PyLauncher)
包括后来的实名,最开始是人工审核,后面换成了 BOT,现在还保留着这个功能,不过实际意义不大了
这期间我也是成功和站长和管理成员混熟了成功混入

一个小插曲

刚好那天是我生日,于是我进官方群那会看到群里的人都在 @Daiyangcheng 要管理,我凑热闹结果他因为刚好当天是我生日送了我一天管理体验卡结果后面因为比较活跃一直都是管理了

从陌生到相识

从最开始的局外人,到成为团队的一员,总归来说是社区贡献。

LCF 首页

当时 ZDX(DXCFTDE) 写了个新的起始页,用的 MDUI 1
写出来有很多奇怪的地方,于是 DYC 就叫 ZDX 来问我改byd为什么是我,然后我看太炸裂了干脆直接帮他们改了tmd我还改了

LoCyanFrpPanel

当时初三,但是成就优异,并不是很担心学业,刚好设计了一套系统,本来打算实现的,不过后面弃坑了
结果技术全部用到了 LoCyanFrpPanel 上 xd

关于一本书(题外)

我没有恰广告,而是阐述我的观点

书名叫《Vue.js 设计与实现》。
这本书非常详细的解释了 Vue 3 的设计及实现,这也是我学习 Vue 3 的起点。
在这之前,我一直都在写原生的 HTML5/CSS3/JS,当时看到很多网站都在使用框架,于是决定入门一个框架,最终决定入坑 Vue。
但是我并没有看过任何 Vue 3 完整的教程,而是从 Vue 3 的原理上去学习的。《Vue.js 设计与实现》这本书给了我很大的帮助,它详细的解释了 Vue 3 的设计理念,并给出了具体的实现。我初三中后期在校期间除了把没啥难度的试题做完,就是在看这本书,因为 Vue 3 的逻辑很有趣,同时这是我买的第一本关于程序相关的书,兴趣使然使我简单了解了 Vue 3 在各种方法上与 Vue 2 的差异,以及 Vue.js 的优点和简便性。
虽然最后看到 Diff 算法之后就没有看了,但是这本书影响了我后续编程的思想和代码理念,不仅局限于 Vue,在其他语言上我也深受此书启发。

代码能跑和能优雅的运行永远是不一样的,能跑局限于能跑,而后者则更令人赏心悦目。
我不喜欢看到一大堆混乱的代码,也不喜欢看到一大堆的警告。

正题

当时 LCF 正在更新 2.0,用 Vue + NaiveUI 写了一个面板,好看归好看,但是因为 @Daiyangcheng 当时糟糕的 Vue 水平,导致面板移动端适配很怪以及组件间距非常难绷,于是我就看到经常吐槽太史了以及经常给出一堆 CSS 样式,然后 DYC(Daiyangcheng) 按我说的去改了
不过后面还是有很多地方看着不满意(强迫症(悲)),干脆直接 fork 改

Nya LoCyanFrp! 乐青映射启动器

此项目是我成为 LCT 成员的主要贡献。
当时 LCF 还没有一个带 GUI 的启动器,刚好另一边有其他项目拉我去开发(现在一直咕咕咕还没新建文件夹),定了前端要用 Flutter 开发,但是当时我并不会 Flutter,所以本来不打算学的,但是定好了大家都不打算改的样子,就顺便打算写个 LCF 启动器练练手的。
Flutter 我是从《Flutter 技术入门与实战》《Flutter 实战 第2版》这两本书中学来的,虽然随着 Dart 和 Flutter 更新这两本书内容稍微有点过时了,不过想学我还是很推荐这两本书的。
刚开始入坑 Flutter 并不顺手,因为当时我还没有那么成熟的界面设计观念,要设计一整套完整的交互,确实对于一个初三生有点那啥了(
后面也是因为各种原因弃坑大概有2个月?(记得不清楚),因为期间 LCF 官方在开发新的客户端,我就没管这个项目。
后面觉得 LCF 那个新客户端太丑了,功能啥也没有,觉得这根本不行啊(恼
于是又回坑去填坑了
当时已经有初版的 v2 API 了,但是那会我是 Query 一把梭类型(对的,令牌都用 Query Params),调 API 出了点小插曲,调用 dio 卡了半天
后面各种奇葩操作把启动器拼出来了,欸你别说比官方的好看(
这不得直接发 LCF 群找个幸运儿体验(x
在这里我要吐槽一下 Dart 的垃圾 IO 库,进程操作啥也没有,属于是要啥没啥,全部得自己造轮子系列
后面研究打包器发现沟槽的打包器有 BUG,又自己 fork 下来魔改,最后成功发布了 0.1.x 版本
但是后面有用户反馈说 macOS 版用不了,加上我没有 macOS 的设备,翻 Apple 那个构思文档翻了半天,最后才解决了权限之类的各种我自己根本不可能遇到的问题。

随着 Nya LoCyanFrp! 的不断完善,最终成为了新的官方启动器。
后续工作中,我也在潜移默化中成为了 LCT(LoCyanTeam) 的一员。

我是如何成为站长的

我在 NyaLCF 开发以后,随着暑假过去,顺理成章成为了市一中的一员,但是后面因为一些我个人原因(性别认同之类的),导致我高一中期重度抑郁休学。
休学后我病情稍微好转一些,也和 DYC 的关系逐渐比较近,同时虽然抑郁但是有时候非常无聊我就会去更新 NyaLCF,本身原站长和 LCT 其他成员人就比较忙,作为为 LCF 产生了大量社区贡献的我最终成为了 LCT 的一员,后面由于原站长即将踏入高三,便把项目托付给我了。

自此我成为 LCF 的站长,但其实我并不是特别了解 Frp 及 SakuraPanel 的很多东西,后面虽然原站长暂时退出,但我依然会去请教相关问题,包括现在,我希望尊重原站长的意见,他虽然很忙但是还是很在意这个项目的,毕竟这也是他亲手创办的东西嘛。

——To be continued

  • 标题: 我与 LoCyanFrp -(一)初识与深入
  • 作者: 夏沫花火zzz🌙 (Muska_Ami)
  • 创建于 : 2024-10-05 08:38:24
  • 更新于 : 2024-10-11 04:42:08
  • 链接: https://blog.1l1.icu/2024/10/05/wo-yu-locyanfrp-yi-chu-shi-yu-shen-ru/
  • 版权声明: 本文章采用 CC BY-SA 4.0 进行许可。
 评论