闲置笔记本改造成服务器

2022-01-13 07:58:41 +08:00
 leviathan0992

接上条 2022 年,现在的黑苹果解决方案是什么? .

分析了一波后, 自己在淘宝花了 2000 买了一个 mini 主机 i7-8750H 不带内存和硬盘, 在 JD 买了两条威刚的 8G 内存条(500) 和一个 500G 的三星 Nvme 硬盘(500), 合计 3000 元左右配了一台黑苹果, 本来想自己装系统,结果教程第一步就失败, 后来索性又花 120 在淘宝找了店家远程安装的黑苹果, 目前使用一切正常.

旧笔记本就闲置下来, 想把它改造成一个家用小服务器. 比起目前云厂商买的小服务器, 笔记本的配置还算可以. 云厂商买的低配轻量服务器, 除了部署博客以外别的什么也干不了, 加之前两天自己根据 huggingface 上机器学习的模型写了一个英汉互译的 RESTful 服务, 本来打算部署在公网上直接通过 alfred workflow 来使用结果发现连安装 pytorch 都会 OOM. 索性尝试把闲置的笔记本利用起来.

我的需求就是在笔记本部署一些简单的 TCP 服务可以直接暴露在公网使用, 或者能 SSH 上去编译 kernel 模块, 找了一圈内网穿透的工具, 配置使用都略带繁琐, 所以自己写了一个轻量级的内网穿透工具: spleen.

通过在一台具有公网 IP 的小型服务器(阿里云轻量)部署 spleen 进行转发, 可以随时随地访问(闲置笔记本)的 TCP 服务, 例如 SSH, HTTP/S 等.

公网服务器部署 spleen-server

# 配置端口转发规则
> vim .server.json

{
  "ServerIP"   : "0.0.0.0",  # 公网服务器监听地址
  "ServerPort"   : 1234,  # 公网服务器监听端口, 该端口用来与家庭服务器 /内网主机建立通信隧道
  "MappingPort" : [ # 端口映射规则
	"5000:22",  # 即访问公网服务器的 5000 端口就等于访问家庭服务器 /内网主机的 22 端口
	"5001:3306"
	...
  ]
}

# 启动
> ./spleen-server -c .server.json

家庭服务器 /内网主机部署 spleen-client

./spleen-client -c .client.json

例如 SSH 服务, 在顺利部署 spleen 的客户端和服务端后, 通过公网服务器(假定 IP 为 1.1.1.1), 可以直接通过端口映射来连接闲置笔记本:

执行 ssh -p 5000 user@1.1.1.1 # 即可直接连接到家庭服务器 /内网主机

TODO

目前仅支持 TCP 服务转发, 下一步重点是安全性的提升, 后面会根据自己的需求考虑加入 UDP 服务转发.

URL

感兴趣的朋友可以点击了解: https://github.com/Leviathan1995/spleen

5876 次点击
所在节点    分享创造
15 条回复
yaoyao1128
2022-01-13 08:02:05 +08:00
emmm 能介绍一下和别的工具相比的优势咩~更方便了解和做选择~
jifengg
2022-01-13 08:39:12 +08:00
支持一下原创。不过,frp 配置已经足够简单了呀。
hello365
2022-01-13 09:35:02 +08:00
家里有好几个老的笔记本,都是散热不行,觉着经不住 24 小时折腾,看标题我还以为是硬件拆机改造,重新定制机箱保障 24 小时运行呢。
vrlu1989
2022-01-13 10:54:59 +08:00
支持一下, 后续如果支持了 todo 写的 quic 或者 kcp 这种协议,应该会流媒体传输速度提升很大, 我就可以把家里 1T 的笔记本改成影视站,随时看美剧了.
vrlu1989
2022-01-13 10:55:36 +08:00
顺便问一句楼主写的机器学习翻译服务开源了吗,我也想自建一个.
cheung
2022-01-13 11:27:12 +08:00
80 、443 、8080 都封了,玩个锤子
zagfai
2022-01-13 11:36:09 +08:00
最近用了 tailscale 。。简单得吓人
shangyu7
2022-01-13 12:46:45 +08:00
frp 不就行了,有啥区别
lazywen
2022-01-13 14:00:47 +08:00
我一个笔记本关闭独显后功耗低的吓人,cpu 空闲时 5~7w ,挺适合的,在考虑把笔记本改成软路由
vbe
2022-01-13 14:04:15 +08:00
还是用专门的服务器吧,笔记本止不住的大电量耗能。
WebKit
2022-01-13 18:35:08 +08:00
建议卖了笔记本买个 NAS ,笔记本的散热和功耗都是个问题
nmap
2022-01-17 09:57:39 +08:00
frp 还不够简单?不比你这个复杂吧
zhangjinghua
2022-01-17 18:59:55 +08:00
好厉害啊,怎么实现的???
leviathan0992
2022-01-17 21:32:55 +08:00
@vrlu1989 暂时不开源, 模型不好, 翻译的还是不够准确. 等我重新训练了再开源.
@zhangjinghua Golang 通过 TCP 隧道,直接进行端口转发就行了.
fqzz
2022-01-18 10:52:13 +08:00
猝不及防的推广啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/827934

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX