大师兄周刊(第12期):homelab家庭实验室和web应用程序

大师兄周刊Homelab
NO.1
本期内容
  1. homelab
  2. web应用程序(pwa,webassembly等)
  3. 可视化面板(宝塔,portainer等)
  4. 内网穿透Frp和进程服务Pm2
NO.2
pwa

渐进式web应用

文档地址:https://web.dev/progressive-web-apps/

pwa有以下优点

  1. 支持离线使用
  2. 支持在浏览器打开并添加桌面快捷方式
  3. 可以url分享

举个栗子

玩nes或者街机游戏的时候

  1. 不想在window,macOs,linux各种安装游戏客户端,避免平台不兼容,以及病毒或者信息安全隐私之类的问题,首选web
  2. 断网离线也可以继续玩,不依赖公网或者内网,数据本地存储
  3. 手机也可以,只要有浏览器的地方,就可以继续

玩游戏的方式

  1. 本地http server服务,访问html(对于不懂编程的不友好,每次起服务也很不方便,同时也不支持file://协议访问html,影响了某些资源的引用)
  2. 写入chrome扩展插件,访问html(v3版本的安全策略和沙盒限制,导致web街机无法正常使用,因为使用了webassembly和indexdb等)
  3. 部署到在线网站,云服务(但是一旦断网就无法继续)

最终的方式为pwa

chrome有专门的app页面,点击图片可访问街机游戏

独立窗口,离线访问

也就实现了类chrome插件的效果

笔记本跟着人走,浏览器跟着笔记本走,街机游戏就在浏览器里

NO.3
webassembly

WebAssembly(缩写为Wasm)是一种用于基于堆栈的虚拟机的二进制指令格式。Wasm 被设计为编程语言的可移植编译目标,支持在 Web 上部署客户端和服务器应用程序。

文档地址:https://webassembly.org/

上述web街机游戏,也是js使用webassembly实现了模拟器

NO.4
tinyRss

Tiny Tiny RSS 是一个免费和开源的基于 Web 的新闻提要 (RSS/Atom) 阅读器和聚合器

  1. OPML 导入/导出
  2. 多种分享方式:导出 RSS 提要、各种社交网站的插件、通过 URL 分享等

官网地址:https://tt-rss.org/

参考自部署 <<自建RSS订阅-开源软件Tiny>>

搭建效果

中文独立博客

github地址:https://github.com/timqian/chinese-independent-blogs

以上订阅内容参考中文独立博客列表订阅rss

有的仍然在定期更新,如

阮一峰:https://www.ruanyifeng.com/blog/

有的2019年甚至更早就没有更新了

其他如古天乐新浪博客:http://blog.sina.com.cn/louiskoo2008

几乎每天都有在更新,但是只能算做微博,以博客平台发布

NO.5
树莓派

树莓派 raspberry pi 是一款只有信用卡大小的开发板(微型电脑或单板计算机)

  1. 有丰富的硬件接口,可以学习嵌入式开发
  2. 体积小巧,只有信用卡大小,方便用户随身携带,或者制作掌机之类的项目
  3. 可以使用充电宝充电,意味3v-5v的电源可以供电,即使停电也能持续运行,也方便随身运行
  4. 可以安装各种系统,如ubuntu,Raspberry Pi OS,用作服务器,学习linux等

树莓派官网:https://www.raspberrypi.org/

homeLab的应用场景,可以是一个家用服务器,也可以是旧的笔记本,也可以是树莓派等

尤其是树莓派4B,选择4GB内存或者8GB内存的型号,性能足以支撑一些小型项目和实验内容

注意事项,树莓派是ARM架构,非x86架构,有一些应用不支持也无法安装相关依赖项

NO.6
frp

一种快速反向代理,可帮助您将 NAT 或防火墙后面的本地服务器暴露给 Internet

github地址:https://github.com/fatedier/frp

需要把内网的服务代理到公网访问的时候,可以尝试使用frp

如homeLab上部署的一些网站和API等,可以设置ssh连接,web服务

内网穿透支持tcp,udp,stcp,xtcp等

NO.6
openWrt

OpenWrt Project 是一个针对嵌入式设备的 Linux 操作系统。

常常被用于工控设备、电话、小型机器人、智能家居、路由器等

github地址:https://github.com/openwrt/openwrt

树莓派3B,4B等都可以安装openWrt,来作为路由器使用

openWrt提供各类插件,如docker,frp,WOL网络唤醒,访问时间控制,广告屏蔽大师Plus,文件传输,DNS管理,应用过滤,动态DNS等

NO.7
宝塔面板

宝塔Linux面板是提升运维效率的服务器管理软件。

支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。

官网地址:https://www.bt.cn/new/product_linux.html

使用可视化面板能节省不少服务器操作的时间,主要有以下应用场景

  1. 静态网站部署,直接拖拽文件到网页面板上,指定端口或者域名接口
  2. 一键免费申请宝塔或者第三方SSL证书,支持自动续期
  3. 安装php环境,部署需要php环境的项目,如wordpress。nextcloud,showdoc等等
  4. 使用网页ssh终端和代码编辑器(在没有设置frp和code-server之前)
  5. 方便查看内存,cpu,剩余容量以及带宽流量等

注意!注意!注意!

使用主要绑定手机号!!!

不考虑手机号登录的不要考虑它

NO.8
Pm2

PM2 是具有内置负载均衡器的 Node.js 应用程序的生产流程管理器。

使应用程序永远保持活动状态,在不停机的情况下重新加载它们。

github地址:https://github.com/Unitech/pm2

NO.9
portainer

可视化容器管理面板,使 Docker 和 Kubernetes 管理变得容易。

github地址:https://github.com/portainer/portainer

homeLab的服务多数是由docker或docker-compose搭建

使用portainer可视化管理,节省一些时间,简化操作流程

END.