Category Archives: nodejs

『側に / Sobani』 —— 在你身旁

Sobani —— Fully self-hostable and customizable media entertaining stream service based on Node.js for couples, friends, collaboration teams, and even quarantined office workers.

在几周前的一个晚上,跟猫猫闲聊时,猫猫有提到说「要是可以一起听音乐 / 看电影就好了」。虽然 Team Viewer 的音频共享可以将被连接的电脑的音频发送过来,同时也会将屏幕共享过来,在网络不太好的情况下音频会断断续续,同时视频的质量也不太高,体验会比较差QwQ 另外 Team Viewer 在开始语音的时候,就不能 forward 电脑输出的音频给对方了,因此还需要别的软件来做语音通话Σ(・□・;)

在一边想象着跟猫猫听音乐 / 看电影的时候,一边就在跟猫猫开始计划着写这个项目。每次开始写项目时,猫猫和 Cocoa 一致认为日常最难问题就是叫什么名字喵,一开始猫猫提到可以用「接続 / Setsuzoku」抽取一个部分和 link 接起来,也就是「setsulink」这样的;又或者是「cosetsu」,即 coop 和 setsuzoku。在我们纠结一段时间名字之后,

猫猫提议:把自己的心愿写进去

Cocoa:Sobani そばに?

猫猫:诶 是什么呀

Cocoa:就是在身边的意思,要说心愿的话,大概就是这个 w 想要在身边,但是又只能暂时用软件来实现啦

在决定好用这样的心愿起名字之后,就开始了这个满怀爱(狗)意(粮)的项目啦/ 头一次用 VS Code 的 Live Share 一起写代码!

那么想到的连接办法当然就是 NAT 穿透 了!在最开始的时候,我们决定使用的语言是 Go,然后本来是想用 libp2p 来完成的,但是后来验证发现,libp2p 默认使用的是 TCP 连接,虽然 TCP 的 NAT 穿透是有方法的,但是似乎实现起来会太复杂了,以及对于 Go 上跨平台的、好看的 UI 还没有什么头绪(>﹏<)

项目的地址在 nekomeowww/sobani,最新的 build 都放在 release 里面啦~同时支持 macOS / Linux / Windows 的说(*^3^)

公开的 tracker 服务器的地址是 34.80.41.119:3000,这个 Sobani 的 tracker 服务器也是可以自己搭建的/

Sobani tracker 的项目地址是 nekomeowww/sobani-tracker,里面的 deploy.sh 脚本在 Debian / Ubuntu 上验证过~

Continue reading 『側に / Sobani』 —— 在你身旁