硬路由(0)—— 编译属于自己的 OpenWrt
回到目录
OpenWrt
OpenWrt 项目是针对嵌入式设备的 Linux 操作系统,常用在路由器上。OpenWrt 高度模块化、自动化,不仅占用空间小,而且具有强大的网络组件。
OpenWrt 项目始于 2004 年 1 月,其第一个版本采用了 LinkSys 的源码。在 LinkSys 的代码收费后,改为 Linux 内核集成,并将 OpenWrt 完全模块化,不断推出补丁和驱动。
更多的信息可以在 OpenWrt Wiki 找到。
OpenWrt 有数个民间衍生出的版本,加入了一些官方列表没有,针对国内具体情况定制的插件,且源码和开发规范与官方同步,保证了软件的纯净和稳定,目前网络上的很多固件都是针对这3个固件进行编译。
Lienol:紧跟官方版本进行更新,其编译出来的固件体积比其它版本小,集成的软件少,源码改动少,使用起来稳定性更强。
Lean:由恩山论坛 Lean 分享了全部开源代码,由于加入了很多中国特色的功能,并告诉所有人怎么通过编译去得到自己想要的 OpenWRT,定制灵活性很强。(不推荐)
ImmortalWrt:OpenWrt 的一个分支,移植了更多的软件包, ...
NAS(13)—— Navidrome + MusicTag 音乐管理
回到目录
Navidrome
概述
Navidrome 是一款全功能、开源且支持多平台的音乐服务器应用程序,可以在 MacOS、Linux、Windows 以及 Docker 等平台上运行。它支持常见的音频格式如 MP3、FLAC 和 WAV,并提供了丰富的管理工具和服务。通过 Web 界面或 API,你可以轻松管理和访问你的音乐库。
通过 Docker 部署
使用 Docker Compose:
123456789101112131415161718192021222324252627services: navidrome: image: deluan/navidrome:latest user: 1001:100 # should be owner of volumes ports: - "4533:4533" restart: unless-stopped environment: # Optional: put your config options customization here. Exampl ...
硬路由(6)—— Tricks & 组网图景
回到目录
Tricks
这里是一些笔者在配置网络中遇到并解决的问题,由于暂时无法归类到其他页面所以存放在此处。
Q:发现路由器带不动 NAS + 台式机组合,总是断流怎么办?
以下是笔者使用 AX3000T 的自述:
这大半年来配置并使用 AX3000T,我的感受是:能用,但是一点也不好用。它的配置如下:
Filogic 820(MT7981B)
WiFi 6
256 MB RAM + 128 MB Flash
虽然它支持解锁 SSH、刷入 OpenWrt(我的固件为 qwrt 改),但我为了它做了一次次妥协。
起初,我希望它能够实现以下功能:
Tailscale 远程组网
安装时发现空间不足,使用脚本装入了/tmp
导致路由器频繁 OOM 重启
最终将 Tailscale 安装在了 NAS 上
科学上网
使用自带的 OpenClash 插件时会崩溃
改用 Shellcrash
无线组网(5G + 2.4G)
5G 频段同时开启 Client 和 Master 模式导致性能下降
关闭 5G 频段的 Master 模式
即便如此,在台式机和 NAS 连接 ...
硬路由(5)—— 校园网 & 远程访问(IPv6)
回到目录
概述
经过上述配置后,我们已经能够在 IPv4 环境下实现组网,并通过 Tailscale 远程加入了内网。
但我们可能会遇到很多问题:
Tailscale 走国外中继服务器 / 自建 Derp 性能不足,导致连接不稳定
NAT 对路由器性能开销较大
校内某些网站(如 NexusHD、ZJU Mirror 等)支持 IPv6 访问
这时,我们就需要配置 IPv6 环境。
IPv6 是 Internet 协议的最新版本,旨在替换 IPv4 地址。IPv6 地址使用以冒号分隔的十六进制数字。它分为八个 16 位块,构成一个 128 位地址方案。与 IPv4 的 NAT 方案相比,IPv6 可以给主机分配全球单播地址来实现对主机的远程访问。
在配置之前,让我们简单地了解一下关于配置校园网 IPv6 的部分所需知识。
全球单播地址
全局单播地址是带有全局单播前缀的IPv6地址,其作用类似于IPv4中的公网地址。
全球单播地址由全球路由前缀、子网ID和接口标识组成,其格式如下所示:
全球单播地址的范围为2xxx::/3,其中前 3 位固定,第 4 位至第 48 位为公共拓扑(一 ...
DeaNG —— Dean 的纯主观游戏评价合集
概述
DeaNG,Dean’s Network for Games,是 Dean 对于他游玩过的游戏的纯主观评价合集。
本合集更注重个人的游玩体验,而倾向于忽略游戏的开发过程、背后故事。
满足以下要求的游戏会加入 DeaNG 当中:
Dean 已游玩过全部主要内容
Dean 愿意将此游戏加入 DeaNG
评分标准
总分为 100 分,每小项 10 分,加权后计算总分:
游戏性(GamePlay):一个游戏最重要的部分。
创新性(Innovation)| 剧情(Plot)。
不同的游戏在二者之间会有不同的侧重。
可持续性(New Game+)| 沉浸度(Flow)。
可持续性:游戏多周目 / 持续游玩的体验、价值。
沉浸度:游玩过程的连续性 / 惯性。
不同的游戏在二者之间会有不同的侧重。
图像(Graphics)。
音效 / 音乐(Sounds)。
这五项的基本权重:
(GP):(I∣P):(N∣F):(G):(S)=2:1.7:1.3:1:1(GP):(I|P):(N|F):(G):(S)=2:1.7:1.3:1:1
(GP):(I∣P):(N∣F):(G):(S ...
NAS(12)—— Immich 照片管理
回到目录
概述
Immich 是一个直接从 iPhone、Android 手机上备份照片与视频的开源解决方案,通过部署在自己的电脑、NAS、服务器中,使用 App 进行备份。界面酷似 Google Photos,支持多用户、照片和相册分享、好友上传、地理位置、机器学习识别事件等功能。是居家备份照片的好帮手。
通过 Docker 部署
使用 Docker Compose:
进入部署文件夹,下载docker-compose.yml文件:
1wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
下载.env文件:
1wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
(可选)下载hwaccel.transcoding.yml文件:
1wget -O hwaccel.transcoding.yml https: ...
NAS(11)—— HTPC
回到目录
概述
HTPC(Home Theater Personal Computer,家庭影院电脑),简单地说就是可以组建家庭影院的电脑,与功放、大屏幕电视或投影仪连接,以欣赏高清视频和音乐。
在这个部分,我们配置的机器并不能严格地称为一台 HTPC,但已经能完成媒体库的建立、管理,服务器端硬解播放,刮削等功能了,和 PT 下载配合起来,足够满足日常的影音需求。
Jellyfin
Jellyfin 是一个自由软件媒体系统,可让您控制管理和流式传输媒体。它是专有的 Emby 和 Plex 的替代方案(如:这二者的硬解功能都需付费,而 Jellyfin 是免费的),通过多个应用程序将媒体从专用服务器提供给终端用户设备。Jellyfin 衍生于 Emby 的 3.5.2 版本,并移植到 .NET Core 框架以实现完整的跨平台支持。没有附加条件,没有高级许可证或功能。
通过 Docker 部署
使用 Docker Compose:
1234567891011121314version: '3.5'services: jellyfin: image: nya ...
NAS(10)—— PT
回到目录
PT 是什么?
要想知道什么是 PT,我们先得了解什么是 BT。
BT
2001年,Bram Cohen 发明了BitTorrent协议。
BitTorrent(简称 BT)是一个文件分发协议,每个下载者在下载的同时不断向其他下载者上传已下载的数据。而在 FTP、HTTP 协议中,每个下载者在下载自己所需文件的同时,各个下载者之间没有交互。当非常多的用户同时访问和下载服务器上的文件时,由于 FTP 服务器处理能力和带宽的限制,下载速度会急剧下降,有的用户可能访问不了服务器。BT 协议与 FTP 协议不同,特点是下载的人越多,下载速度越快,原因在于每个下载者将已下载的数据提供给其他下载者下载,充分利用了用户的上载带宽。通过一定的策略保证上传速度越快,下载速度也越快。
种子
根据 BitTorrent 协议,文件发布者会根据要发布的文件生成提供一个.torrent文件,即种子文件,也简称为“种子”。.torrent 文件本质上是文本文件,包含 Tracker 信息和文件信息两部分。Tracker 信息主要是 BT 下载中需要用到的 Tracker 服务器的地址和针对 Trac ...
NAS(9)—— Homepage 导航页
回到目录
介绍
Homepage 是一个开源的、现代的、安全的、高度可自定制的应用程序仪表板(Homepage),或者,大家更习惯称这类应用为「导航页」。
如果我们在内网部署了 NAS,一般来说我们需要记住 IP 地址和各种服务的端口才能访问到各种应用,比较麻烦。但是如果将这些地址写入 Homepage 的配置当中,我们就可以直接通过 Homepage 导航页一键直达我们想要访问的服务。
Homepage 导航页的布局和背景等还能手动配置,自定义打造一个自己喜欢的主页。
通过 Docker 部署
使用 Docker Compose:
12345678910111213141516version: "3.3"services: homepage: image: ghcr.io/gethomepage/homepage:latest container_name: homepage ports: - 3000:3000 volumes: - ./homepage/config:/app/config - ./ ...
NAS(8)—— Nginx & HTTPS
回到目录
概述
Nginx 是 lgor Sysoev 为俄罗斯访问量第二的 rambler.ru 站点设计开发的。从 2004 年发布至今,凭借开源的力量,已经接近成熟与完善。
Nginx 功能丰富,可作为 HTTP 服务器,也可作为反向代理服务器,邮件服务器。支持 FastCGI、SSL、Virtual Host、URL Rewrite、Gzip 等功能。并且支持很多第三方的模块扩展。
反向代理
正向代理(Proxy)方式是指内部网络上的服务器通过代理服务器来访问 Internet 上的服务器,并把响应结果返回给内部网络服务器。
反向代理(Reverse Proxy)方式是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
通过反向代理功能,我们可以隐藏内部服务器的地址(暴露的是代理服务器),对于客户端而言,此代理是无感知的。通过 Nginx,我们可以将发送给不同子域名的请求转发到同一台机器的各个端口;我们还可以更进一步,将 ...