🍿 小雅媒体库终级板emby+infuse
type
status
date
slug
summary
tags
category
icon
password
Property
Mar 24, 2024 01:15 PM

零 前言

个人使用流媒体方式播放影音来实现家庭影院或者手机追剧的主流方式大概分为几种:
  • 直接订阅 Netflix、Disney+ 等流媒体服务。能第一时间获取到最新的剧集,但是对于付款渠道和网络要求都非常的高。现在 Netflix 等分区解锁封锁力度不断加大,最直接的方法对于大陆用户来说已经成为了最曲折的方法。
  • 从各大 PT 站点下载离线观看。这个方案其实是能理论上获取到最高质量的媒体资源的,但是 PT 站点的入门门槛也不低,资源还需要筛选和下载,手动管理资源的时间成本还是存在的。
    • 直接使用别人做好的在线流媒体库,一般也分付费和免费。有些是 VOD 网站、有些是 Emby、Jellyfin 等媒体库。好处是不用自己管理媒体资源、也不用管理服务器,主流设备都可以观看。缺点是良莠不齐,特别是免费的服务器,片源数量和网络质量都未必好。
    因为别人做好的媒体库很有可能是直接把媒体存放在国内外的网盘上,然后挂到媒体库里面去的,理论上我们自己也可以进行这样的操作。Alist 就是把网盘当作磁盘挂载到本机的服务,本期的主角「小雅」是利用 Alist 进行大量媒体整理过后的一个开源项目。
    截止到2023年12月15日,「小雅」媒体库数量已经达到43万4601个资源,涵盖了国内外的电视剧、电影、动画、动漫、记录片等海量的资源。
    notion image
    以前小雅媒体库中的资源想要直接播放还需要颇费一番周折,直到最近的两个重磅更新,彻底改变了局面,「小雅」的终极形态成为了个人影视媒体的完美选择。
    终级形态的「小雅」除了资源更新稍微有些滞后之外,没有太大的缺点。
    一个更新是「小雅」1031 版本之后的 Emby 库支持。 一个更新是苹果生态系统下的 Infuse 在 7.7 版本史诗级的支持了 Emby、Jellyfin 和 Plex 直连模式。

    一 安装小雅

    📝 优秀的macOS软件清单
    type
    status
    date
    slug
    summary
    tags
    category
    icon
    password
    Property
    Nov 17, 2023 02:36 AM

    零 前言

    这篇文章维护了一个主要面向开发者的 Mac 软件以及命令行终端优秀工具软件的列表。
    软件按照字母顺序进行排序,同类产品给出最好的选择,并给出强有力的竞争产品。对于🪙高级功能付费的软件会简单介绍哪些核心功能是付费后有权使用的。

    一 软件清单

    软件名称
    授权
    分类
    简介
    官网

    二 命令行工具

    • zsh - 用于替代 Bash 的强大 shell。
      • tmux - 强大的终端多路器。
        • vim - 神的编辑器。
          • aria2 - 支持多协议的极速下载工具。
            • htop - 增强的 top 命令,提供交互式的系统进程查看。
            🗒️ 高效搭建稳定代理节点
            type
            status
            date
            slug
            summary
            tags
            category
            icon
            password
            Property
            Jun 19, 2023 09:57 AM

            安装 X-UI

            x-ui 是一个支持多协议多用户的 xray 面板,安装 x-ui 非常方便,root 用户运行:
            出于安全考虑,安装时输入 y 更改默认端口,用户名和密码。
            安装完成后通过 ip/hostname+端口访问面板,建议将 xray core 切换到最新版本:
            notion image

            创建 vmess+ws 协议代理

            创建一个新的入站协议,备注随意,选择 vmess,传输协议选择 ws,路径可以复制 id 粘贴到下面,关闭 sniffing 嗅探。
            notion image
            此时就可以把节点导入客户端进行测试。
            notion image

            安装 Caddy

            利用 nginx 实现本地端口转发
            type
            status
            date
            slug
            summary
            tags
            category
            icon
            password
            Property
            Nov 18, 2022 01:54 AM

            零 前言

            我在文章 中介绍了使用端口转发来实现将本地端口转发到远程端口,完成一些网络服务的调试,但是 SSH 毕竟是一个临时的方案,如果我们需要长期把本地的端口的 TCP 请求转发某个远端的服务的话,更好的办法是在本地启动一个反向代理服务,例如 nginx。

            一 遇到了什么问题

            「简悦」是一款功能强大,自定义程度很高的浏览器阅读模式插件,其主体功能在浏览器扩展端,但是一些高阶的功能依赖桌面端的程序「简悦-同步助手」,以及配合坚果云等文件同步工具实现的跨设备配置同步。「简悦-同步助手」会在本机开启一个 localhost:7026 的服务,扩展端通过这个服务地址完成通信。因此,为了在多个设备上同步使用「简悦」,我不得不在每个设备上都安装扩展端、桌面同步助手和坚果云盘。
            将简悦 · 同步助手部署在远程( SaasS 化 ),方便多个扩展端共用一个同步助手 文章的启发下,我在想是不是可以利用家中的 Windows 服务器,实现部署一套「简悦-同步助手」的服务,其他设备通过 nginx 把 localhost:7026 的请求转发到服务端,简化多端设备的安装复杂度,也减少了同步带来的时差和错误。

            二 整体架构

            整体架构我以 Windows 服务端和 Windows + Mac 两个客户端为例来说明。而且现在「简悦-同步助手」已经发布了命令行版本,所以服务端部署在 Linux Server 或者 Docker 容器中也都是可以的。
            notion image
            服务端是一台 Windows 电脑,安装「简悦-同步助手」,由于「简悦-同步助手」为了安全起见监听的是 127.0.0.1 的主机名,所以只接受本机的请求,外部请求是不会接受的,因此我们在服务器又搭建了一个 nginx server 反向代理了「简悦-同步助手」的服务,0.0.0.0:80127.0.0.1:7026,因此外部可以通过服务器 IP 加上端口号 80(或者是其他未被占用的合法端口,我选择 80 是因为我通过不同的 server name 做了分流,因此 tcp 端口复用了 80)来访问到服务器上的「简悦-同步助手」。
            客户端:
            • 一台 Windows PC,在 Edge 上安装简悦,nginx 反代 127.0.0.1:7026192.168.84.2:80
            • 一台 Macbook,在 Chrome 上安装简悦,nginx 反代 127.0.0.1:7026192.168.84.2:80
            家庭服务器搭建(二)-多媒体服务篇
            type
            status
            date
            slug
            summary
            tags
            category
            icon
            password
            Property
            Feb 27, 2024 09:34 AM

            0. 前言

            本文是《家庭服务器搭建》系列文章的第二篇——多媒体服务篇。
            家庭服务器是利用家里的小型服务器搭建网络服务,提高内网网络质量,替代公共网络服务的一体化解决方案。Self-Hosted 是一个庞大的范畴,有大量的社区和资源可以探索研究,本系列文章会介绍网络存储设施 NAS,网盘,网络相册,影音娱乐,下载器等各种实用的个人自建网络服务。

            1. 下载工具

            qbittorrent

            开启种子监听
            开启webui

            Aria2c

            Windows 配置 Aria2教程
            对于下载这块大多数人接触HTTP、FTP、种子(torrent)和当下很火的磁链,应该很多人用的都是浏览器自带下载、迅雷、PDM、IDM,各个 网盘的下载(当然限度地非常厉害),比如百度网盘限速的emm~╮(╯▽╰)╭,之前写过一篇 速盘和 proxyee down下载器 。windows中用的比较多的应该是IDM(Internet Download Manager)了,的确是炒鸡好用的多线程下载,Aria2 跟 IDM 类似,不仅可以下载,还可以通过多来源进行下载,简单的说就是从多个镜像服务器同时下载一个文件,Aria2 还支持 BT 协议,弥补了 IDM 只支持 HTTP 和 FTP 的痛点。 Aria2是一款自由、跨平台命令行界面的下载管理器,该软件根据GPLv2许可证进行分发。支持的下载协议有:HTTP、HTTPS、FTP、Bittorrent和Metalink。 评价:Linux Format杂志在2008年的108期中认为从该软件的下载效率和可用性来看是Linux下最好用的下载管理器之一 Aria2网上的教程大多数都是千篇一律~,我就做下整理再改善一下,帮助萌新实现Aria2下载。 Aria2 是一个命令行下载工具,使用的时候要输Linux命令,可是每下载一个文件一条命令,太麻烦了,那咋办?Aria2 支持远程接口调用,只需要配置一个 Web 管理面板就可以在浏览器管理 Aira2 了。 1.下载并解压 Aria2 主程序 选择合适的版本,下载 Aria2 主程序;选择一个解压,尽量不要C盘,我这里解压在D盘 2.下载并解压 Web 管理面板 和 Web 服务器 3安装/配置 Aria2 及 Web 管理面板,下载 Aria2 配置文件
            Windows 配置 Aria2教程
            直接使用 WebUI

            6. NAS NextCloud

            家庭服务器搭建(一)-环境网络篇
            type
            status
            date
            slug
            summary
            tags
            category
            icon
            password
            Property
            Dec 6, 2022 08:30 AM

            0. 前言

            本文是《家庭服务器搭建》系列文章的第一篇——环境网络篇。
            家庭服务器是利用家里的小型服务器搭建网络服务,提高内网网络质量,替代公共网络服务的一体化解决方案。Self-Hosted 是一个庞大的范畴,有大量的社区和资源可以探索研究,本系列文章会介绍网络存储设施 NAS,网盘,网络相册,影音娱乐,下载器等各种实用的个人自建网络服务。

            1. 物理网络部分

            路由器网关设置为:192.168.84.1
            服务器的网卡:
            • 2.5G NIC1 84-47-09-04-F1-AE 这个连接着路由器的电口 2.5G
            • 2.5G NIC2 84-47-09-04-F1-AF
            • Wifi E0-D4-64-81-54-FC
            路由器 dhcp 地址池从 192.168.84.100 开始分配,192.168.84.1-99 用于手工指定固定的设备,避免 ip 占用:
            • 192.168.84.1 - 分配给路由器
            🧰 怪奇工具包:神奇海螺试验场
            type
            status
            date
            slug
            summary
            tags
            category
            icon
            password
            Property
            Nov 17, 2022 01:31 AM

            能不能好好说话?

            notion image
            拼音首字母缩写释义工具。社交平台上通过拼音首字母缩写指代特定词句的情况越来越多,为了让更多人能勉强理解这一门另类沟通方式、做了这一个划词转义工具,脚本版本目前会在微博贴吧哔哩哔哩页面下运行,划词时会提交所选文字以用于转义。

            电子包浆

            notion image
            图片“绿化”工具箱。快速给你的图片赋予“年代感”,以及反复经手把玩,层层包浆的火爆。

            蒸 気 機

            notion image
            虚拟信号蒸汽波风格化影像后期工具。通过抽象虚拟信号影像展现过程中的各种可能性、实现了九十年代影像风格的重现。工具提供了大量的风格化,以及可以精细化调整的参数,让你一键梦回荧屏初现的时代。
            💰 资本主义的经济危机
            type
            status
            date
            slug
            summary
            tags
            category
            icon
            password
            Property
            Nov 17, 2022 01:31 AM

            第一节 经济危机的可能性和必然性

            资本主义社会在进入大机器工业时期以后,从19世纪初叶开始,每隔若干年就要经历一次经济危机。
            每当经济危机爆发时,资本主义国家的经济生活和整个社会生活,就象受到一次瘟疫或战争的剧烈破坏一样,突然陷入瘫痰和混乱的状态中。在危机期间,商品流通停滞,大量商品由于找不到销路而堆满仓库,甚至被成批地毁掉,企业开工时间缩短,生产猛烈下降;信用关系遭到严重的破坏;工厂、商店和银行纷纷倒闭,失业人数急剧增长,工人和其他劳动人民的收入显着下降,生活困苦不堪。
            在不同的资本主义国家和不同的时期,危机的表现形式和具体进程虽然有所不同,但一般说来,每一次经济危机都是生产过剩的危机。危机的最一般最普遍的现象,就是商品的生产过剩。危机时期的各种现象都是直接或间接由生产过剩引起的,都是生产过剩在社会经济生活各个方面的表现。
            这种生产过剩的经济危机,是资本主义以前一切时代的人们所从来不曾经历过的。在资本主义以前的各个社会里,由于战争、天灾或瘟疫等原因,也会在或长或短的时期内使生产陷于瘫痪,造成社会生产的危机。但是,作为这种危机的特征的现象并不是生产的过剩,而是生产的严重不足,因而,它同资本主义生产过剩的危机是根本不同的。资本主义经济危机的根本特点是,一方面有着堆积如山的找不到销路的过剩商品,另一方面却是广大人民的饥寒交迫。
            那么,资本主义生产过剩的危机,这种“在过去一切时代看来都好象是荒唐现象的社会瘟疫”,究竞是由什么原因引起的呢?
            这种危机给资本主义生产和各阶级的状况带来了一些什么样的影响呢?怎样才能摆脱这种可怕的社会灾难呢?下面,我们就来说明这些问题。
            先从经济危机的可能性说起。
            经济危机的一般的表现,是商品买和卖的脱节,也就是商品卖不出去。我们在前面分析货币的职能时曾经说过,商品买卖脱节的可能性,远在以货币为媒介的商品交换即商品流通出现以后就产生了。在商品流通的条件下,买和卖在时间上和空间上分裂成了两个互相独立的行为,这时如果有一些商品生产者在出卖了自己的商品之后,不接着实行购买,就会有另一些商品生产者的商品卖不出去。
            这种在商品的形态变化中所包含的危机的可能性,是危机的第一种可能性。危机的第二种可能性,是由货币作为支付手段的职能引起的。随着商品生产和商品流通的发展,商品买卖日益有更多的部分采取赊购赊销的方式,因此在商品生产者之间,便逐渐形成了错综复杂的债务连锁关系。在这种情况下,如果有某一些务人在债务到期时不能支付,就会影响到其他一些生产者也不能支付,从而使整个信用关系遭到破坏。
            但是,在简单商品经济的条件下,危机毕竞只是一种可能性,它并没有变成现实性,即没有成为社会范围的生产过剩。这主要是因为:第一,在资本主义以前的社会经济中,占统治地位的是自给自足的自然经济,商品生产所占的比重不大,因此,商品买卖的脱节和支付连锁关系的破坏,虽然对某些商品生产者会发生较大的影响,但不致于牵动整个社会经济。第二,在商品生产的领域内,小商品生产者之间虽然有着各种经济联系,但由于各个地方市场彼此处于相互隔绝的状态中,因而这种联系毕竟不是很广泛的,一般来说,它是被限制在比较狭小的范围以内。在这种情况下,如果某个地方发生了买和卖的脱节或者支付方面的困难,对商品经济本身的影响显然是很有限的。第三,小商品生产者通常是为自己所熟悉的本地市场或者固定的买主进行生产,因而供求关系是比较稳定的。
            上述危机的可能性,只是抽象地说明了危机可能产生的条件和危机的最一般的形式,并不说明危机必然爆发的原因。马克思曾一再指出:在买卖脱节等形态上听表现的危机的可能性,只是“危机的最抽象的形式”,只是“危机的形式上的可能性”,“这个形式本身所包含的只是:危机的形式已经存在”。他并且还指出,在仅仅存在危机可能性的条件下,“没有危机是可能的,也是现实的。”随着简单商品经济向资本主义经济的过渡,危机的可能性得到了进一步的发展,并且获得了更加具体的内容。这是因为,在资本主义制度下,商品生产已经成为占统治地位的生产形式,商品的形态变化已经表现为资本的形态变化,商业和信用关系也获得了普遍的发展,因面产生买卖脱节和支付连锁关系遭到破坏的可能性比以前大大增多了。
            分流规则简析
            type
            status
            date
            slug
            summary
            tags
            category
            icon
            password
            Property
            Nov 17, 2022 01:31 AM

            哪些客户端支持分流规则

            从 Surge 开创了分流规则配置化之后,新一代的代理工具都纷纷实现了以配置文件为核心的分流代理。其中代表作有:
            notion image
            • Surge for iOS 和 Surge for Mac,拥有最强大的规则表达能力,iOS 端最稳定的 VPN 连接体验,当然订阅时长解锁制,也是所有软件中收费最贵的。
            • Quantumult X 新兴崛起的 iOS 代理软件,有近乎 Surge 的规则表达能力,和不输 Surge 的稳定性。颜值在线,价格也就是 Surge 的十分之一。
            • Clash 家族,沿袭了 Surge 的分流配置思想,提出了 Proxy 和 Proxy Group 概念,形成连环嵌套的代理节点选择方式。因为 Clash 开源,所以其客户端众多,而且都免费,同时支持 Clash for Windows、Clash for Android 和 ClashX(macOS)。
            这三个客户端虽然分流配置格式不同,概念也不同,但是大部分规则是可以互相转化的,我的 k-surgio 项目就以 ConnerHua 维护的神机规则为蓝本,进行了扩充和优化,实现一套配置,多个客户端同步使用的效果。

            分流规则是怎么工作的

            首先看看,当你载入一个配置之后,节点形成的策略组(Clash 中又叫 Proxy Group):
            notion image
            策略组是一组下游节点的集合,策略组命中哪一个下游一般有几种情况,也就是策略:
            • 手工选择
            如何求单链表的环入口点 - 龟兔赛跑法 - 动画解释
            type
            status
            date
            slug
            summary
            tags
            category
            icon
            password
            Property
            Nov 17, 2022 01:31 AM
            当单向链表中存在环的时候,遍历此链表会发生无限循环,无法到达末尾(入环后链表就不存在末尾了)的情况,所以在可能发生这种情况的时候,需要检查链表中是否存在一个环。
            检查是链表是否存在环的方法就是「龟兔赛跑」法:乌龟和兔子同时从头节点开始遍历链表,兔子遍历的速度大于乌龟的速度,如果链表中存在环,兔子和乌龟就会先后进环,由于兔子的速度比乌龟快,他们必然会在环内相遇。
            下面的动图解释了这一过程:
            notion image
            这个算法的美妙之处在于,乌龟和兔子相遇的地方和环入口点的位置是有关系的。
            根据动画所示,我们令兔子的遍历速度为2,乌龟的遍历速度为1,则他们的速度差也为1。设乌龟进环的时候已经遍历了  个节点,那么此时兔子也已经在环内遍历了  个节点。若令环的大小为 ,兔子和乌龟在环内的遍历就是一次追及问题,兔子需要追上乌龟的距离为 。由于兔子和乌龟的速度差为1,所以追及时间 ,那么乌龟和兔子相遇的点距离环入口也就是  了。此时只需要将兔子放回起点,并把兔子的遍历速度换成1,则乌龟将会和兔子在环入口处再次相遇。
            最后附上 Java 算法:
            玩转 macOS 修饰键
            type
            status
            date
            slug
            summary
            tags
            category
            icon
            password
            Property
            Nov 17, 2022 01:31 AM
            长期使用电脑的朋友想必对电脑的修饰键并不陌生。修饰键是在任何系统下,使用快捷键的重要甚至是必要辅助按键,我们在键盘上通过按组合键来执行通常需要鼠标、触控板或其他输入设备才能完成的操作。
            使用键盘快捷键,需要按住一个或多个修饰键,同时按快捷键的最后一个键。Mac 菜单和键盘通常使用某些按键的符号,其中包括以下修饰键:
            • ⌘ Command
            • ⇧ Shift
            • ⌥ Option
            • ⌃ Control
            • ⇪ Caps Lock
            • Fn
            如果你使用的是 Windows PC (以下简称 PC)专用键盘,可以使用 Alt 键代替 Option 键,用 Windows 标志键代替 Command 键。有些 Mac 键盘在顶行中设有特殊按键,这些按键上有音量图标、显示屏亮度图标和其他功能图标。按下图标键可执行相应功能,将其与 Fn 键组合可用作 F1、F2、F3 或其他标准功能键。 所以除去 Fn 键外,其余 5 个修饰键在 Mac 专用键盘和 PC 专用键盘上基本可以互换使用。
            今天的这篇教程水猫将会带领大家通过系统设定和部分软件,来开发这几个修饰键高级用法,已实现更加高效的操作效率。文章由浅入深将会介绍:
            • 如何调整修饰键的默认行为
            • 如何替换修饰键的默认行为
            🔐 SSH 端口转发
            type
            status
            date
            slug
            summary
            tags
            category
            icon
            password
            Property
            Nov 17, 2022 01:31 AM

            什么是 SSH

            SSH 为 Secure Shell 的缩写,由IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
            简单的说来 SSH 是一种网络协议,用来进行远程登录,在源主机和目标主机之间形成一条加密的数据通道,有时又称为 SSH Tunnel。
            但凡对 Linux 系统不陌生的人,都应该都知道 ssh 指令,其最基本的用法为:
            表示建立本机到 hostname 的远程登录,用户名 user 为可选项,缺省时默认使用本机当前用户名。想详细了解远程登录、免密远程登录和中间人攻击的同学可以移步 SSH 原理与运用(一):端口转发 - 阮一峰的网络日志但是,今天我们想谈的并不是用 SSH 来实现远程登录,而是端口转发。

            什么是端口转发

            我们从一个实际的例子出发来看什么是端口转发。
            假设我们现在有三台计算机,SourceHost A 想要访问 DestinationHost C,而两者之间并没有网络连接,但是在中间有一个 MiddleHost B 可以访问到两台计算机。我们便可以通过访问 B 从而将端口数据转发到 C 上,完成通信。一个典型的场景便是,B 下有一个私有的子网,子网内有 C,而在外网的 A 想要访问 C 上的数据,我们在建立虚拟机时常遇到这样的场景。
            notion image
            下面我们通过各种端口转发来看看如何突破限制,使得 A 可以访问到 C 的数据。

            本地转发