N5105,折腾笔记,2.5Gbps 局域网 2023-05-18

段落1、需求描述

基于前面讲过的N5105设备,由于它四个LAN口都是2.5Gbps的,向下可以自适应到千兆,故而,用它作为软路由,或者ALL IN ONE,可以让局域网环境成为全2.5G的高速环境

段落2、PVE场景下,2.5G实现

N5105宿主机安装Proxmox VE 7.4版本(这个是写本文的时间,最新的稳定版本了),配置它自身的网络。

主要功能就是,

1、建立一个网口汇聚,包含网口2、3、4,名为bond0,工作在负载轮循模式

2、建立一个虚机网桥vmbr0,设置一个私网的地址,桥接到bond0,网关设置为在路由虚拟机的虚拟网卡上

root@pve:/etc/network# cat interfaces
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

auto lo
iface lo inet loopback

iface enp1s0 inet manual

iface enp2s0 inet manual

iface enp3s0 inet manual

iface enp4s0 inet manual

auto bond0
iface bond0 inet manual
        bond-slaves enp2s0 enp3s0 enp4s0
        bond-miimon 100
        bond-mode balance-rr

auto vmbr0
iface vmbr0 inet static
	address 10.25.50.75/24
	gateway 10.25.50.1
	bridge-ports bond0
	bridge-stp off
	bridge-fd 0

root@pve:/etc/network# 

× 因为,我就下联一个普通的路由器,普通路由器,我暂时没有买2.5G WAN口的款式,日常bond0也就一个口Active,速率向下适配到千兆,流下贫穷的眼泪。

root@pve:/etc/network# cat  /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v5.19.17-2-pve

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

Slave Interface: enp2s0
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 60:be:b4:08:fd:72
Slave queue ID: 0

Slave Interface: enp3s0
MII Status: up
Speed: 1000 Mbps  <-- 因为接的普通千兆路由器发射WIFI信号,故而这个2.5G口工作在千兆速率
Duplex: full
Link Failure Count: 1
Permanent HW addr: 60:be:b4:08:fd:73
Slave queue ID: 0

Slave Interface: enp4s0
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 60:be:b4:08:fd:74
Slave queue ID: 0
root@pve:/etc/network# 

段落3、PVE场景下,添加 OpenWRT路由 VM

安装一个OpenWRT或者爱快的路由VM系统,其实非常简单,这里以OpenWRT示例,就在PVE的shell环境下,创建一个虚机(不含硬盘),通常规格来说2核心2GB内存10GB磁盘,足够OpenWRT使用,确保VMID无误,使用如下命令,进行创建磁盘的过程

参数 102,需要修改为,你自己OpenWRT的VMID

参数 /var/lib/vz/template/iso/openwrt-22.03.4-x86-generic-generic-squashfs-combined.img,是在上传img镜像到PVE时候,可以看到的上传路径

参数 local-lvm,一般就是默认的,后续VM的磁盘,可以迁移。

qm importdisk 102 /var/lib/vz/template/iso/openwrt-22.03.4-x86-generic-generic-squashfs-combined.img local-lvm

在OpenWRT虚机VM,硬件界面,选择刚刚生成的硬盘,加载,一般,我喜欢把它容量增加一点,点击该硬盘,磁盘操作,增加容量到11GB。

在OpenWRT虚机VM,选项界面,开机自启动(开启),引导顺序(选择刚刚扩容好的那个磁盘scsi0)

在OpenWRT虚机VM,硬件界面,添加网卡直通,选择添加,选择PCI设备,选中要直通的网口

完成上面的设置后,就可以开机这台OpenWRT了。

在OpenWRT虚机VM,控制台页面

修改LAN的地址段,这个有了,这个VLAN网关就有了,如有必要passwd命令,修改一下系统的密码,不使用默认密码,养成一个安全的好习惯。

/etc/config/network  -->  LAN --> option ipaddr '10.25.50.1'

这里,设置网卡时候,需要注意的是,如有eth0,eth1两个OpenWRT内部网卡名称,一个是桥接vmbr0的虚拟网卡,一个是直通网口,可以通过MAC地址区分哪个是哪个。

我下图设置的,LAN是走的桥接vmbr0的 eth0 ,上联的WAN走的直通口,工作在拨号PPPoE还是DHCP,就看你自己实际情况了。

至此,这个网络就算OK了,其他虚机,只要虚拟网卡桥接到vmbr0这个即可。

段落4、架构示意图

大致的架构拓扑示意图,可根据实际需要修改功能





附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

N5105,ALL IN ONE 主机,折腾笔记 2023-04-05

更新记录

2023-04-10 更新,增补章节,对于N5105 开启

一、前情回顾

最近闲的慌,找点东西玩,于是有了购买这样一套ALL IN ONE主机的想法,用来跑跑PVE环境,把原来的台式机跑的替换下来,而且有尝试2.5G局域网的想法。

二、物料清单(品牌型号仅作为折腾记录,不作为Dasmz推荐款式)

2.1 倍控 G31-N5105 i226 四个2.5G网口,准系统(不含内存条,硬盘)* 1 ,全新,淘宝, 680 元

2.2 光威 8GB DDR4 2666MHz * 2,全新,京东,98 × 2 = 196 元

2.3 秋叶原 七类网线 1.5m * 2,全新,京东,14 × 2 = 28 元

2.4 科乐多 2.5G网卡 转USB 3.0 * 1,全新,淘宝,85 元

2.5 联想 1TB SATA 3.0 SSD固态硬盘 * 1,全新,京东,429 元

2.6 金士顿 NVMe M.2 500G * 1,全新,京东,249 元

>>> 680 + 196 + 28 + 85 + 429 + 249
1667
>>> 
# 总设备材料花费 1667 元, 价格根据时间(价格仅供参考,如上采购时间为2023年3月下旬)

采购时候的避坑记录

1、 没有所谓的软路由专用内存条,就是普通的DDR4笔记本电脑用的内存条,京东购买即可
2、 购买的这款,支持NVMe M.2的固态 + SATA接口,双盘,回来拆开发现,其实由于设备内部空间小,还是应该优先选择M.2。 自己购买的SSD硬盘,质量更有保证一点。
3、 被动散热还是有点力不从心,注意可选一个简单的USB风扇吹吹它的外壳
4、 实际在2.5G这个层级,质量佳的六类网线,对比7类线,暂未发现明显的速率差别。

三、Intel N5105 四2.5G网口主机 网口直通

Intel N5105 四2.5G网口主机PVE下VM卡死,故障处理记录 2023-05-04

五、N5105 四2.5G网口主机,PVE下网络配置,2.5G局域网 2023-05-18

附录1、广告一枚

# 广告
如上的All in One主机配置,搭配商宽,可以非常丝滑,比起各家云服务器,私有化的硬件和商宽网络,可以满足DIY的需求,Dasmz亲自负责这套软硬件的实施交付

独享服务器 1台 准现货,规格情况如下:

核心 英特尔十代i5-10500H
内存 8G DDR4
磁盘 256GB-NVMe SSD
位置 上海
ISP CU
类型 商宽
流量 无限制
带宽 独享 500M 上下行对等
IPv4 1个 动态 
IPv6 分发前缀/60 地址/64
交付时间 下单后两周时间内

价格 12000 元/年

可选 操作系统 Windows/CentOS/Debian/Ubuntu/OpenWRT/ProxmoxVE/EXSi 首次安装系统免费

增值 可选
带宽 1Gbps  
内存 16G
磁盘 NVMe 1TB
运维服务

价格可谈,配置规格可加,有想要的欢迎私信DM

附录2、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

Jellyfin 修复中文字幕,字体显示为框框方块的问题 2023-03-22

段落1、问题描述

部署jellyfin的系统环境是 Debian 11,在jellyfin中,播放一些视频,特别是一些外挂字幕,中文字体显示为空白的框框

段落2、问题分析

用文本编辑工具,查看ass字幕文件,看编码部分,选择的是什么中文字体

Style: Default,方正黑体_GBK,20,&H00FFFFFF,&HF0000000,&H00000000,&H32000000,0,0,0,0,100,100,0,0.00,1,2,1,2,5,5,15,
1
Style: 译文字幕,华文楷体,20,&H00FFFFFF,&Hf0000000,&H000d0500,&H00000000,0,0,0,0,100,100,0,0.00,1,2,1,2,5,5,15,1
Style: 原文字幕,Calibri,14,&H00027CCF,&H00000000,&H00000000,&H00000000,0,1,0,0,100,100,0,0.00,1,2,1,2,5,5,15,1

像如上的,就是用了 方正黑体_GBK华文楷体 两个字体,那我只需要下载到这两个字体,让Jellyfin播放的时候,能调用到即可。

段落3、处理办法

下载 方正黑体_GBK.ttf 华文楷体.ttf 两个文件

复制这两个字体文件,到如下的两个目录下

cp 方正黑体_GBK.ttf 华文楷体.ttf /usr/local/share/fonts/
cp 方正黑体_GBK.ttf 华文楷体.ttf /usr/share/fonts/truetype/


cd /usr/share/fonts/truetype
mkfontscale
mkfontdir
fc-cache

# 这个操作可以让Linux环境,也能使用这两个字体,不局限于Jellyfin

针对Jellyfin播放外挂字幕的生效,只需要网页打开Jellyfin控制台

选择[播放]菜单,选择[备用字体文件路径],选择到 /usr/local/share/fonts/ 这个我存放字体的目录,勾选启用备用字体。

简而言之,找到缺失的字体,下载,放到Linux主机的 /usr/local/share/fonts/ 目录下,然后,通过jellyfin的播放/备用字体文件路径的调用即可

本期博客地址 https://dasmz.com/?p=3161
本期视频地址 https://youtu.be/s_AOowLzNao

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

软路由的黑白URL名单,自定义URL域名流量走向 2023-03-01

段落1、需求描述

有一些URL,或一些设备,在设备上开启代理不是很方便,这个时候,我们可以通过软路由配置 黑白名单方式,把一些需要走代理的域名进行特别的指向。

段落2、配置软路由的黑白名单

IP/CIDR白名单,国内的一些IP地址

域名白名单,国内的一些域名,如 baidu.com bilibili.com

IP/CIDR黑名单,海外的一些需要走代理的IP的段,以可变长子网掩码表示的。

域名黑名单,海外的一些需要走代理的域名,如 github.com

值得说明的是,一些主流的大网站,通常来说,进行了CDN,图站,人机校验,友链等多个现代化的内容展现方式,通常不是单一域名,一般都会涉及很多域名。

比如 最近比较火热的ChatGPT的URL,就参考我抓取的

关于ChatGPT,OpenAI 官网的几个域名,需要加进PAC分流 2023-2-9

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

Windows 10系统下,IE浏览器强制跳转Edge浏览器 解决办法 2023-02-20

段落1、问题描述

在Windows 10系统下,打开IE浏览器,就会自动强制跳转Edge浏览器,公司一些旧软件系统,还是需要旧的这个IE浏览器的,软件项目呀,历史的包袱太重。

段落2、处理办法

关闭 Edge浏览器

打开 “控制面板”

打开 “Internet选项”

选择 “高级”

找到 “启用第三方浏览器扩展”,去掉该勾选

启动 IE浏览器,就正常啦

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

下载Twitter视频 2023-02-09

方式1、使用Youtube-DL 命令行的工具,下载视频

分享按钮,点击,复制推文链接

得到这样一串地址

其中 “https://twitter.com/HowThingsWork_/status/1617483334166409216” 这段是主地址,下载链接,只要这段就足够了。

youtube-dl -o "./017ec56e94c6820ee7ab3971d2150e21.mp4"  "https://twitter.com/HowThingsWork_/status/1617483334166409216"

# 命令-o可以不加,加它是为了防止部分视频的标题过长,导致文件保存失败。可自定义一个名称

方式2、使用在线类的解析网站,进行URL解析

参照步骤一,把需要下载视频的主链接复制贴进该类网站的表格输入框里,即可生成下载链接

它后台逻辑其实还是基于youtube-dl的,只不过封装了一个WEB网站的UI,可以方便普通人的使用。

方式3、在视频下方,召唤一些,下载Bot,它会回复你一个下载链接。

比如,在一个视频的下方,回复如下

@get_this_v

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

关于ChatGPT,OpenAI 官网的几个域名,需要加进PAC分流 2023-2-9

最近ChatGPT 比较热门,关于它打开它官网,有下面的几个域名要添加到PAC分流的proxy策略里,大家注意更新。相对而言,这是一个比较简单的网站,涉及的URL不多。

2023-04-09 补充,ChatGPT官网验证,增加了cloudflare的验证,要补相关域名
2023-04-12 补充,更新,增加了js验证的部分域名
2023-10-31 补充,更新,增加部分域名,增补了一点文档的内容。
2023-11-16 补充,更新,增加2个分流域名
2023-12-14 补充,更新,增加语音聊天的域名
2024-02-13 补充,更新,增加批量添加的方式
2024-04-15 补充,更新,增加域名
2024-05-06 补充,更新,增加图片
2024-05-12 补充,更新,PC端 chatgpt从chat.openai.com 跳转chatgpt.com,增加域名

章节1、普通的单个域名的添加方式

Shadowrocket软件,下方的菜单{配置},英文的default.conf一行,右边的小圈i符号,选择{规则},右上方的加号,类型Domain-Suffix,策略PROXY,域名栏目中,填写域名清单里的域名(务必注意,一次只增加一个域名),保存。

注意:逐个增加域名,务必保证增加域名的时候,域名栏目里的内容前后没有多余的字符,所见即所得,比如增加的 1e100.net,就这几个字符,没有http://这样多余的字符,这个是用来给程序作为匹配域名规则用的,不能带协议。

类型 Domain-Suffix

策略 Proxy

域名清单

1e100.net
ai.com
akamaized.net
akamaitechnologies.com
auth0.com
a-msedge.net
cloudflare.com
cloudfront.net
cloudflareinsights.com
compute-pipe.com
doubleclick.net
edgecompute.app
epsiloncdn.net
f7tk.com
featuregates.org
google-analytics.com
googleapis.com
google.com
googletagmanager.com
googleusercontent.com
gstatic.com
hcaptcha.com
identrust.com
intercomcdn.com
intercom.io
javascript.info
licdn.com
openai.com
pki.goog
sentry.io
statsigapi.net
stripe.com
stripe.network
vimeocdn.com
vimeo.com
browser-intake-datadoghq.com
oaistatic.com
oaiusercontent.com
livekit.cloud
statsig.com
revenuecat.com
mixpanel.com
chatgpt.com
openai.org
webpubsub.azure.com
gravatar.com
# 以下是 IP-CIDR / proxy类别
129.151.224.0/19
# 以下是 domain / proxy类别
chat.openai.com
chat.openai.com.cdn.cloudflare.net
nrt12s30-in-f4.1e100.net
static-ecst.licdn.com
cs1404.wpc.epsiloncdn.net
chatgpt.livekit.cloud
api-js.mixpanel.com
apis.google.com
auth0.openai.com
challenges.cloudflare.com
content.googleapis.com
docs.google.com
drive-thirdparty.googleusercontent.com
events.statsigapi.net
o33249.ingest.sentry.io
api-iam.intercom.io
jidori.g1.internal.services.openai.org
js.intercomcdn.com
js.stripe.com
snc.apps.openai.com
ssl.gstatic.com
tcr9i.chat.openai.com
widget.intercom.io
www-onepick-opensocial.googleusercontent.com
ab.chatgpt.com
cdn.oaistatic.com
chatgpt.com
content-autofill.googleapis.com
encrypted-tbn0.gstatic.com
s.gravatar.com
nexus-websocket-a.intercom.io

章节2 、高级添加方式,点击default.conf,选择编辑纯文本方式

高级的批量添加规则方式,点击default.conf,选择编辑纯文本方式,在 [Rule]标签位置下方,新开一行,贴入如下的域名清单内容,即可

DOMAIN-SUFFIX,1e100.net,PROXY
DOMAIN-SUFFIX,ai.com,PROXY
DOMAIN-SUFFIX,akamaized.net,PROXY
DOMAIN-SUFFIX,akamaitechnologies.com,PROXY
DOMAIN-SUFFIX,auth0.com,PROXY
DOMAIN-SUFFIX,a-msedge.net,PROXY
DOMAIN-SUFFIX,cloudflare.com,PROXY
DOMAIN-SUFFIX,cloudfront.net,PROXY
DOMAIN-SUFFIX,cloudflareinsights.com,PROXY
DOMAIN-SUFFIX,compute-pipe.com,PROXY
DOMAIN-SUFFIX,doubleclick.net,PROXY
DOMAIN-SUFFIX,edgecompute.app,PROXY
DOMAIN-SUFFIX,epsiloncdn.net,PROXY
DOMAIN-SUFFIX,f7tk.com,PROXY
DOMAIN-SUFFIX,featuregates.org,PROXY
DOMAIN-SUFFIX,google-analytics.com,PROXY
DOMAIN-SUFFIX,googleapis.com,PROXY
DOMAIN-SUFFIX,google.com,PROXY
DOMAIN-SUFFIX,googletagmanager.com,PROXY
DOMAIN-SUFFIX,googleusercontent.com,PROXY
DOMAIN-SUFFIX,gstatic.com,PROXY
DOMAIN-SUFFIX,hcaptcha.com,PROXY
DOMAIN-SUFFIX,identrust.com,PROXY
DOMAIN-SUFFIX,intercomcdn.com,PROXY
DOMAIN-SUFFIX,intercom.io,PROXY
DOMAIN-SUFFIX,javascript.info,PROXY
DOMAIN-SUFFIX,licdn.com,PROXY
DOMAIN-SUFFIX,openai.com,PROXY
DOMAIN-SUFFIX,pki.goog,PROXY
DOMAIN-SUFFIX,sentry.io,PROXY
DOMAIN-SUFFIX,statsigapi.net,PROXY
DOMAIN-SUFFIX,stripe.com,PROXY
DOMAIN-SUFFIX,stripe.network,PROXY
DOMAIN-SUFFIX,vimeocdn.com,PROXY
DOMAIN-SUFFIX,vimeo.com,PROXY
DOMAIN-SUFFIX,browser-intake-datadoghq.com,PROXY
DOMAIN-SUFFIX,oaistatic.com,PROXY
DOMAIN-SUFFIX,oaiusercontent.com,PROXY
DOMAIN-SUFFIX,livekit.cloud,PROXY
DOMAIN-SUFFIX,statsig.com,PROXY
DOMAIN-SUFFIX,revenuecat.com,PROXY
DOMAIN-SUFFIX,mixpanel.com,PROXY
DOMAIN-SUFFIX,chatgpt.com,PROXY
DOMAIN-SUFFIX,openai.org,PROXY
DOMAIN-SUFFIX,webpubsub.azure.com,PROXY
DOMAIN-SUFFIX,azure.com,PROXY
DOMAIN-SUFFIX,gravatar.com,PROXY
DOMAIN,chat.openai.com,PROXY
DOMAIN,chat.openai.com.cdn.cloudflare.net,PROXY
DOMAIN,nrt12s30-in-f4.1e100.net,PROXY
DOMAIN,static-ecst.licdn.com,PROXY
DOMAIN,cs1404.wpc.epsiloncdn.net,PROXY
DOMAIN,chatgpt.livekit.cloud,PROXY
DOMAIN,api-js.mixpanel.com,PROXY
DOMAIN,apis.google.com,PROXY
DOMAIN,auth0.openai.com,PROXY
DOMAIN,challenges.cloudflare.com,PROXY
DOMAIN,content.googleapis.com,PROXY
DOMAIN,docs.google.com,PROXY
DOMAIN,drive-thirdparty.googleusercontent.com,PROXY
DOMAIN,events.statsigapi.net,PROXY
DOMAIN,o33249.ingest.sentry.io,PROXY
DOMAIN,api-iam.intercom.io,PROXY
DOMAIN,jidori.g1.internal.services.openai.org,PROXY
DOMAIN,js.intercomcdn.com,PROXY
DOMAIN,js.stripe.com,PROXY
DOMAIN,snc.apps.openai.com,PROXY
DOMAIN,ssl.gstatic.com,PROXY
DOMAIN,tcr9i.chat.openai.com,PROXY
DOMAIN,widget.intercom.io,PROXY
DOMAIN,www-onepick-opensocial.googleusercontent.com,PROXY
DOMAIN,ab.chatgpt.com,PROXY
DOMAIN,cdn.oaistatic.com,PROXY
DOMAIN,chatgpt.com,PROXY
DOMAIN,content-autofill.googleapis.com,PROXY
DOMAIN,encrypted-tbn0.gstatic.com,PROXY
DOMAIN,s.gravatar.com,PROXY
DOMAIN,nexus-websocket-a.intercom.io,PROXY

编辑纯文本的位置如下:

在10到20行之间,有一个[rule]标签,在这个标签下方,把上面框里格式化的文件全部贴进来,贴完后,把贴的内容的上下位置的空行删掉。

完成后,在规则里,检查一下,自己增加的规则清单

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

搭建 Jellyfin,影视媒体平台,DIY一条龙教程,安装部署使用 2023-01-15

前缀、文档修改记录

2023-01-15 初始化编辑此文章
2024-01-05 更新需要走代理的域名规则,主要为了刮削
2024-03-21 更新扩展SATA的内容,更新检索视频的内容,更新显卡的内容,以便服务端解码转码。

段落1、需求描述

搭建Jellyfin,影视媒体平台,自己看美剧、泰剧、日剧、韩剧,未删减版本,不求人,1080P/4K资源,统统可以。

搭建的资源,在自己的家里的私网,不对外开放。家里如果有公网IP,或者走云服务器转发,也就可以在公网访问到自己的影视资源了。(不推荐搭建后,给公众开放,这个版权问题,大家稍微注意一下)

Jellyfin,是全平台支持的,苹果、安卓、计算机PC、电视,都是有客户端软件的。

效果图:

段落2、硬件配置

我这里选择的架构是硬件直接安装Linux,然后直接部署Jellyfin,我没有选用Docker架构方式,后续的硬件直通问题,后续想要加独立显卡,也简单。使用该方式,对于增加存储盘,也非常简单。对CPU的利用率也最大。

Jellyfin 影视平台 规格选型如下:

  • 长城电源 300W * 1
  • 机箱 多盘位机箱 * 1
  • 主板 B75 含6个板载SATA口 * 1
  • 处理器 i5 3470 * 1
  • 内存 12GB
  • 硬盘供电线 1分5 SATA电源线 * 2
  • 硬盘SATA数据线 * 10
  • 系统盘 SSD 240GB * 1 , Debian 11
  • 缓存盘 SSD 1TB * 1
  • 存储盘 东芝 4TB * 1 ,利旧
  • 存储盘 西数 12TB 氮气盘 * 2
  • 1050TI 显卡 * 1
  • 公网 IP,带宽 Nginx + HTTPS/TLS * 1
  • 软件,BT下载 Transmission * 1
  • 软件,影视平台 Jellyfin * 1
  • 软件,削刮器 TinyMediaManager * 1

段落3、硬件组装,基础Linux系统安装

这个没啥说的,就是电脑台式机的组装而已,板载6个SATA口,注意一下,一般SATA0编号的,是连接系统盘。其他的,就是连接缓存盘,存储盘。

组装台式机,需要一定的动手能力,各位看DIY 一条龙教程的,量力而行。

操作系统的安装,也比较简单,我这里,就安装最常规安装Debian 11操作系统。你们也可以选择自己喜欢的Linux系统发行版本。

硬盘12TB格式化,选用GPT分区

对于磁盘的挂载,参考我 Ubuntu/Debian 的Linux环境,格式化超过2TB的磁盘 2022-4-24 这个教程,使用parted对磁盘格式化,我这里都是单盘挂载,让容量最大化,不使用RAID,你们对于磁盘的格式化,是否组RAID的架构,酌情考虑。

截至2024-03-21,更新此页博客的时间,我这台单机跑的磁盘容量,已经50多个TB了,共计存放了1000+电影,1800+电视剧,2300+音乐,因为都是这些影视文件,不是重要数据,不做RAID,硬盘真坏掉,也就更换硬盘就是了,没啥遗憾的。

硬盘,在主板SATA口全部用完的情况下,我用的这个PCIx1的4口SATA扩展的,供电用大4Pin转15Pin路的供电。

段落4、安装部署 Jellyfin

参考 https://jellyfin.org/docs/general/installation 这个是Jellyfin官方的安装指导,不管是群晖、Windows/Linux 或者 Docker方式的安装,都建议先看一看官方的安装知道文档,这个比任何其他文档都要靠谱。

由于我安装的是Debian 11 操作系统,这里就可以到官方教程的Debian位置

Debian 11,在添加Jellyfin源的地方,有2个方式,如果用extrepo方式,就不必1到3步骤编号

添加源

root@server:~# apt update
root@server:~# apt install extrepo
root@server:~# extrepo enable jellyfin

# 1
root@server:~# apt update
root@server:~# apt install curl gnupg

# 2
root@server:~# mkdir /etc/apt/keyrings
root@server:~# curl -fsSL https://repo.jellyfin.org/$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release )/jellyfin_team.gpg.key | gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg

# 3 
root@server:~# cat <<EOF | tee /etc/apt/sources.list.d/jellyfin.sources
Types: deb
URIs: https://repo.jellyfin.org/$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release )
Suites: $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release )
Components: main
Architectures: $( dpkg --print-architecture )
Signed-By: /etc/apt/keyrings/jellyfin.gpg
EOF

添加源后,就可以更新,安装Jellyfin

# 4
root@server:~# apt update
root@server:~# apt install jellyfin

# 5  重启Jellyfin
root@server:~# systemctl restart jellyfin

# 6  关闭Jellyfin
root@server:~# systemctl stop jellyfin

# 7  启动Jellyfin
root@server:~# systemctl start jellyfin

# 8  开机启动Jellyfin
root@server:~# systemctl enable jellyfin

安装后,启动Jellyfin,能在Linux上,看到对应业务端口 8096的监听

然后,就可以通过 http://IP地址:8096/ 访问jellyfin了。

段落5、初始化Jellyfin

登录Jellyfin,设置语言为 汉语(简体),设置登录Jellyfin的用户名,密码

首选无数据语言的语言选“Chinese”,国家/地区选择“People’s Republic of China”

设置远程访问两个都打勾

登录进入页面后,点击右上方的小头像,进入字幕,字幕语言偏好:Chinese简体中文,字幕模式:默认,烧录字幕:全部。

段落6、添加影视媒体资源

点击左上角三横线菜单,选择控制台,选择媒体库,选择加号+添加影视媒体。

我这里,就添加一个电视剧文件夹,一个电影文件夹。

其中,如下图的,如果是电影,文件夹,就选中对应磁盘上的电影目录,可以选中多个磁盘上,对应的电影目录。简而言之,就是,一个电影分类,可以从多个文件夹里提取资源清单。

还有下面的勾选框,基本除了最后2个,都勾上。

段落7、关于刮削

刮削,其实可以自动的,主要看你电影名字的命名,电视剧文件夹的命名。还有,刮削的几个源网站,基本都是被BLOCK的,所以,你需要一个Nice的网络环境,才可以正常刮削影视封面,专辑信息。

如下的域名,最好都把它们加入到软路由的代理里面。如果没有条件的,就增加到jellyfin的Linux主机hosts文件里。

repo.jellyfin.org
jellyfin.org
imdb.com
media-amazon.com
www.imdb.com
themoviedb.org
zap2it.com
bootstrapcdn.com
tmsimg.com
api.themoviedb.org
image.tmdb.org
tmdb.org
trakt.tv

文件命名方式如下,就可以自动刮削了

电影名称-年份.mp4

一般,遇到错误的刮削,很常见,可以在视频/电视剧,选择”识别”,输入该电影的名称或imdb里面的编号,进行人工查找,更新削刮信息。

如果遇到重名的,封面不同的,可以根据IMDB的ID进行检索,比如下图这部韩剧,用tt29311421这个参数,可以找到唯一的IMDB信息

在XX电视剧/识别/IMDB ID这个参数位置,检索tt29311421,即可

如果影视,特别一些短剧,没有被IMDB的收录,或其他错误,就可以自己上传封面,修改年份,修改完成后,记得锁定资源的刮削信息,勾选”锁定此项目防止改动”。

段落8、关于公网映射

配置Nginx的反向代理,需要修改配置DNS指向,配置域名证书,在路由器上配置端口转发到内部的IP端口即可。

访问 https://域名:端口/

server {
    listen 443 ssl;
    server_name 你的域名;

    client_max_body_size 100M;


    ssl_certificate /root/certs/你的域名/fullchain.cer;
    ssl_certificate_key /root/certs/你的域名/你的域名.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'TLS-CHACHA20-POLY1305-SHA256:TLS-AES-256-GCM-SHA384:TLS-AES-128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_prefer_server_ciphers on;    




    location / {
        proxy_pass http://127.0.0.1:8096;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;

        # Disable buffering when the nginx proxy gets very resource heavy upon streaming
        proxy_buffering off;
    }

    location = /web/ {
        proxy_pass http://127.0.0.1:8096/web/index.html;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
    }

    location /socket {
        proxy_pass http://127.0.0.1:8096;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
    }
}

段落9、增加显卡,满足服务端解码的需求

当今,BT/PT影视站点,已经越来越多的4K视频资源了,此时台式机里面这颗桌面级旧CPU(Intel Core i5-3470 CPU @ 3.20GHz,各位垃圾佬勿嘲笑),已经无法满足解码4K视频的能力,CPU软解码会让CPU跑满负载,着实难为它了,后来思来想去,在满足省电费,低价,地板级满足解码4K,给设备补了一张显卡(GeForce GTX 1050 Ti @ 75W)。

买这种旧卡,没什么说的,直接插主板的PCI插槽即可。

// 增加apt源
// Debian Sid   /etc/apt/sources.list中增加如下的一行内容
# deb http://deb.debian.org/debian/ sid main contrib non-free non-free-firmware

// 安装驱动(一般需要重启)
# apt update
# apt install nvidia-driver firmware-misc-nonfree

// 测试GPU是否正常工作,如果如下图显示的,则表示正常工作
# nvidia-smi

NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0

同步需要做的是,在Jellyfin的WEB页面,控制台/播放/转码,选择”Nvidia NVENC”

同时,要注意,”FFmpeg 路径” 这个参数,选择的ffmpeg,必须为支持英伟达CUDA的版本

使用命令ffmpeg无参数运行,可以明显看到有CUDA参数,如图” –enable-cuda –enable-cuda-llvm –enable-cuvid –enable-nvdec –enable-nvenc,则表示,你选择的这个ffmpeg是正确的,这个务必要注意

如果ffmpeg版本正确,在需要转码的设备播放视频时候,通过nvidia-smi命令,可以看到GPU解码并占了解码带宽,有对应的程序。

如下图,可看到470MB/4096MB,被占了大概500MB的显存,下方是ffmpeg进程号240848。

如果ffmpeg版本不对,可以参考jellyfin官方,对于英伟达显卡支持的页面说明

https://jellyfin.org/docs/general/administration/hardware-acceleration/nvidia

安装它官方支持的ffmpeg大致步骤如下

9.1 确保官方的源已经添加到sources.list

// 增加apt源
// Debian Sid   /etc/apt/sources.list中增加如下的一行内容
# deb http://deb.debian.org/debian/ sid main contrib non-free non-free-firmware

9.2 安装jellyfin-ffmpeg5这个包

# apt update 
# apt install -y jellyfin-ffmpeg5

9.3 安装对应系统版本的驱动

// Debian
# apt update
# apt install -y libnvcuvid1 libnvidia-encode1

// Ubuntu
# apt update 
# apt install -y libnvidia-decode libnvidia-encode

操作完,一般显卡正常工作的,就可以支持显卡的硬件加速&服务端解码视频流了。

该章节补充于2024-3-21 21:00PM

附录1、视频讲解

1.1、搭建Jellyfin

1.2、修复字幕的框框问题

附录2、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

Proxmox Virtual Environment 配置双ISP上联的网络 2023-1-3

段落1、需求描述

在Proxmox Virtual Environment(以下简称PVE)环境中,除了当前管理网络,增加了一个网卡,接入另一个网络,以后,各个业务系统,可根据需求,选择默认的路由为某一个ISP运营商。

物理接网线:

整个PVE为单台台式机/工作站的独立环境,未配置PVE集群,故而,场景,还简单一点。

PVE 以太网卡1 — 网线 — 电信IP的路由器1(主管理PVE,管理地址)

PVE 以太网卡2 — 网线 — 联通IP的路由器2

假设,其中一个虚拟机VM,安装有Ubuntu 20.04 LTS,需要使用电信网络作为管理网络,使用联通网络为业务网络。

依据黑色加粗的需求,对PVE作出配置,登录PVE的WEB地址,进入数据中心内宿主机的网络选项

一般,初始时候,只有默认网络的桥接,这里我们需要对另一个桥接进行添加

创建 / Linux Bridge / 桥接端口 enp3s1 / 备注联通

完成添加的样子,PVE内,具备vmbr0(桥接电信网络),vmbr1(桥接联通网络)双ISP网络的能力了。

然后,就是对对应的虚拟机VM,增加网络设备

网络设备net1 ,桥接vmbr0,电信,限速5MB/s,管理网络

网络设备net0,桥接vmbr1,联通,限速30MB/s,业务网络

Linux系统内,按照我们需要的这个场景,还需要自定义一下路由表,让默认路由到 net0 联通网络,通过开机启动指定路由即可。

root@server:/etc/network/if-up.d# cat route.sh 
#!/bin/sh
# START
/sbin/ip  route del default via 电信网关IP地址 dev ens19  
/sbin/ip  route add default via 联通网关IP地址 dev ens18  
# END
root@server:/etc/network/if-up.d# 

# 其中,两个网关IP地址,需要自定义,按实际的来,网络在主机内部对应的名称,可能是ens18,ens19,ens3,ens5,eth0,eth1,根据实际来。

这样配置的好处是,即便是业务流量,在某个方向跑满带宽出现拥堵的场景,管理方向,永远可以保持一个空闲的可用状态。

苹果iOS,Shadowrocket进阶,基于小火箭自定义规则,配置微信/淘宝的直连规则,微信规则 2022-12-04

2023-10-11 更新淘宝APP的3个直连规则
2023-12-31 更新,增加淘宝APP的域名
2024-11-13 更新,增加微信的3个域名

段落1、需求描述

微信版本 >= 8.0.2

在默认的配置模式下,微信的两个分流域名qlogo.cn qpic.cn会走proxy,会造成可感知的微信卡顿现象,建议把这如下的几个域名,添加到配置文件的domain-suffix direct规则

FINAL 在规则未匹配的情况下,默认走到了PROXY

段落2、增加微信的直连规则

在下方菜单的{配置}栏目,选则中间位置的default.conf规则,选择右侧的info按钮,进入规则,右上角的加号,添加规则

# 微信,匹配到DOMAIN-SUFFIX
qq.com
qpic.cn
qlogo.cn
# 2024-11-13 ADD
qq.com.cn
wechatpay.cn
tencent-cloud.net

增加完成,点击default.conf,选择使用规则即可

段落3,增加淘宝的直连规则

淘宝APP的很多直连规则,在default.conf里面,原本就有,所以不必增加,如下的3个,只是走错方向的,需要校正调整到直连的。

在下方菜单的{配置}栏目,选则中间位置的default.conf规则,选择右侧的info按钮,进入规则,右上角的加号,添加规则。一次增加一个域名规则。

# 淘宝,支付宝,匹配到DOMAIN-SUFFIX
aliapp.org
alicdn.com
alipay.com
alipayobjects.com
taobao.com
uc.cn
ucweb.com

附录1、发现时间 2021-2-15

https://twitter.com/fdmove/status/1361196913991712770?s=20&t=YahArISwAFXa3BdVUlAQBQ

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨