<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://fejich.github.io</id>
    <title>瞎折腾分享</title>
    <updated>2022-02-16T16:30:09.063Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://fejich.github.io"/>
    <link rel="self" href="https://fejich.github.io/atom.xml"/>
    <subtitle>温故而知新</subtitle>
    <logo>https://fejich.github.io/images/avatar.png</logo>
    <icon>https://fejich.github.io/favicon.ico</icon>
    <rights>All rights reserved 2022, 瞎折腾分享</rights>
    <entry>
        <title type="html"><![CDATA[广东电信IPTV 单线复用记录]]></title>
        <id>https://fejich.github.io/post/IPTV_VLAN/</id>
        <link href="https://fejich.github.io/post/IPTV_VLAN/">
        </link>
        <updated>2022-02-13T02:11:23.000Z</updated>
        <content type="html"><![CDATA[<h2 id="账号信息">📌账号信息</h2>
<h3 id="电信光猫超级用户">电信光猫超级用户</h3>
<ul>
<li>telecomadmin</li>
<li>nE7jA%5m</li>
</ul>
<h3 id="iptv拨号账号密码">IPTV拨号账号密码</h3>
<ul>
<li>gdiptv@iptv.gd</li>
<li>password</li>
</ul>
<h2 id="思路">📖思路</h2>
<h3 id="1光猫设置-vlan-透传">1）光猫设置 VLAN 透传</h3>
<p><img src="https://fejich.github.io/post-images/1644718425274.png" alt="" loading="lazy"><br>
①截图记录电信下发的默认的设置，分别是 <code>上网</code> 跟 <code>IPTV</code> 两个业务连接<br>
最主要是记录下每个业务的 VLAN ID</p>
<blockquote>
<p>每个地区各有区别，像我这边只有 IPTV业务 有 VLAN ID</p>
</blockquote>
<p>②保存完成后<code>删掉</code>电信下发的两个默认的连接。<br>
按上图所示新建一个连接，光猫就设置完毕。</p>
<blockquote>
<p><code>透传</code>即透明传输，光猫将不处理业务 VLAN<br>
由路由器来完成 VLAN 的拆包，即收到光猫的数据时去除 VLAN 标签，把数据发给光猫时打上 VLAN<br>
这样就可以减少光猫负担，让光猫真的只做本职工作：光电转换。</p>
</blockquote>
<p>这个应该是 上网 与 IPTV 单线复用的最优使用方式</p>
<h3 id="2路由器设置-iptv-专网拨号">2）路由器设置 IPTV 专网拨号</h3>
<p>打开 网络 ⇢ 交换机 页面<br>
按下图方式添加 <code>电信IPTV业务</code> 的 VLAN ID，会建立一张虚拟网卡（eth0.45）<br>
<img src="https://fejich.github.io/post-images/1644718520325.png" alt="" loading="lazy"></p>
<p>打开 网络 ⇢ 接口 页面<br>
添加新接口，名称 <code>IPTV</code> 协议选 <code>PPPoE</code> 接口选 <code>eth0.45</code><br>
填上 IPTV拨号账号密码<br>
即可在不影响上网前提下接入 IPTV 专网<br>
<img src="https://fejich.github.io/post-images/1644718532930.png" alt="" loading="lazy">!<br>
<img src="https://fejich.github.io/post-images/1644718542818.png" alt="" loading="lazy"><br>
<strong>切记</strong>不要钩 <code>使用默认网关</code><br>
<strong>切记</strong>不要钩 <code>使用默认网关</code><br>
<strong>切记</strong>不要钩 <code>使用默认网关</code></p>
<h3 id="3通过出口设备方式指定静态路由">3）通过出口设备方式指定静态路由</h3>
<h4 id="rtsp-单播">RTSP 单播</h4>
<p>添加 单播源 用到的IP（具体得通过抓包 IPTV 机顶盒获取）<br>
网段的计算到：https://ipjisuanqi.com <code>IP地址计算器网站</code> 获取</p>
<ul>
<li>添加路由</li>
</ul>
<pre><code>ip route add 183.59.0.0/16 dev pppoe-IPTV
ip route add 125.88.54.0/24 dev pppoe-IPTV
</code></pre>
<ul>
<li>删除路由</li>
</ul>
<pre><code>ip route del 183.59.0.0/16 dev pppoe-IPTV
ip route del 125.88.54.0/24 dev pppoe-IPTV
</code></pre>
<h4 id="rtp-组播">RTP 组播</h4>
<ul>
<li>广州电信广东IPTV列表（IGMP/RTP组播地址）：https://github.com/Tzwcard/ChinaTelecom-GuangdongIPTV-RTP-List</li>
</ul>
<p><strong><code>注意</code></strong>：组播还需要配置防火墙允许相应组播端口的传入流量方可正常工作<br>
广东电信是 <code>5146</code> 端口</p>
<p>开启 UDPXY 转换组播流为 <code>http流</code></p>
<pre><code>udpxy -S -p 4000 -m pppoe-IPTV
</code></pre>
<p>关闭 UDPXY</p>
<pre><code>killall udpxy
</code></pre>
<p>打开状态查看运行情况：http://192.168.168.1:4000/status</p>
<h4 id="自动化">自动化</h4>
<p>添加 hotplug 事件脚本，可以实现相应接口上落线时候运行脚本</p>
<p><code>vi /etc/hotplug.d/iface/00-IPTV.sh</code></p>
<blockquote>
<p>按实际需要编辑完脚本后，记得 chmod +x 添加可执行权限</p>
</blockquote>
<pre><code>#!/bin/sh

if [ &quot;$INTERFACE&quot; = &quot;IPTV&quot; ] ; then

case &quot;$ACTION&quot; in
ifup)
/root/iptv-up.sh
udpxy -S -p 4000 -m pppoe-IPTV
#ip route add 183.59.0.0/16 dev pppoe-IPTV
#ip route add 125.88.54.0/24 dev pppoe-IPTV
;;

ifdown)
/root/iptv-down.sh
killall udpxy
#ip route del 183.59.0.0/16 dev pppoe-IPTV
#ip route del 125.88.54.0/24 dev pppoe-IPTV
;;
esac

fi
</code></pre>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[适合 KVM 内核虚拟机使用的 黑群晖DS918+引导（集成 VirtIO 驱动）]]></title>
        <id>https://fejich.github.io/post/gua-he-kvm-nei-he-xu-ni-ji-shi-yong-de-hei-qun-hui-ds918yin-dao-ji-cheng-virtio-qu-dong/</id>
        <link href="https://fejich.github.io/post/gua-he-kvm-nei-he-xu-ni-ji-shi-yong-de-hei-qun-hui-ds918yin-dao-ji-cheng-virtio-qu-dong/">
        </link>
        <updated>2021-09-13T09:47:36.000Z</updated>
        <content type="html"><![CDATA[<h2 id="说明">📖说明</h2>
<p><strong>DSM 6.2.2 24922 DS918+ 引导（集成 Virtio 驱动）</strong></p>
<blockquote>
<p>注意：本引导只支持Proxmox VE，unRAID 等 <strong>KVM 内核虚拟机</strong><br>
不支持ESXi和裸机，DSM版本只支持<code>6.2.2 24922</code>，其他版本全部不支持</p>
</blockquote>
<h2 id="下载地址">📥下载地址</h2>
<h3 id="引导文件">引导文件</h3>
<ul>
<li>度盘：https://pan.baidu.com/s/1urA4H92nyNRz2LVlOEw60A  提取码: adgm</li>
<li>直链：https://f-ever.cn/files/synoboot_dsm_ds918_24922_pve.zip</li>
</ul>
<h3 id="pat文件">PAT文件</h3>
<p>目录：https://archive.synology.com/download/Os/DSM/6.2.2-24922<br>
直链：https://global.download.synology.com/download/DSM/release/6.2.2/24922/DSM_DS918%2B_24922.pat</p>
<h2 id="️unraid-虚拟机安装说明">⚙️unRAID 虚拟机安装说明</h2>
<figure data-type="image" tabindex="1"><img src="https://fejich.github.io/post-images/1631526617423.png" alt="" loading="lazy"></figure>
<p>注意：</p>
<ul>
<li>机器类型推荐选 <code>i400-fx</code> （选 Q35 情况下，系统会把第一块数据盘识别到2号盘位）</li>
<li>引导盘选 <code>USB 总线</code></li>
<li>数据盘选 <code>SCSI 总线</code></li>
<li>网卡保持默认<br>
按以上选项使用 半虚拟化VirtIO硬件 实现性能最优化</li>
</ul>
<h2 id="其他选项">🔩其他选项</h2>
<h3 id="通过-virsh-console-连接到黑裙系统串口终端">通过 virsh console 连接到黑裙系统串口终端</h3>
<pre><code>virsh console {虚拟机名}
</code></pre>
<p>可以用来观察引导的启动情况，未安装pat文件前默认用户名为：root 密码为空</p>
<h3 id="挂载宿主机文件夹virtfs">挂载宿主机文件夹(VirtFS)</h3>
<blockquote>
<p>VirtFS 是基于QEMU、KVM、VirtIO技术和9P2000.L协议实现的，由VirtFSServer和VirtFSClient两部分组成。通过VirtFSServer分享在宿主机上指定的文件目录，虚拟机系统使用mount指令通过9P2000.L协议挂载VirtFS，虚拟机用户使用VirtFS获取如同使用本地文件一般的IO性能。</p>
</blockquote>
<p>首先在编辑虚拟机设置，配置好 <code>Unraid 共享</code> 跟 <code>Unraid 挂载标签</code><br>
黑群系统启动后于终端输入命令即可挂载宿主机文件夹</p>
<pre><code>sudo mount -t 9p -o trans=virtio unRAID /volume1/test
</code></pre>
<p>比较可惜的是群晖的 FileStation 套件只能对这种方式挂载的文件进行：<code>读取、删除、重命名</code>，无法进行<code>新增文件、移动文件</code><br>
其他第一方套件也有类似情况</p>
<h3 id="挂载引导分区">挂载引导分区</h3>
<p>用于修改引导分区内文件的（编辑序列号洗白，修改硬盘盘位顺序等）</p>
<pre><code>sudo -i
cd /dev
mount -t vfat synoboot1 /volume1/test
</code></pre>
<h2 id="来源">📍来源</h2>
<p>http://www.nasyun.com/thread-71576-1-1.html</p>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Mac 升级系统后，自动操作app 提示“代码签名出错”的问题]]></title>
        <id>https://fejich.github.io/post/mac-sheng-ji-xi-tong-hou-zi-dong-cao-zuo-app-ti-shi-dai-ma-qian-ming-chu-cuo-de-wen-ti/</id>
        <link href="https://fejich.github.io/post/mac-sheng-ji-xi-tong-hou-zi-dong-cao-zuo-app-ti-shi-dai-ma-qian-ming-chu-cuo-de-wen-ti/">
        </link>
        <updated>2021-09-13T09:30:53.000Z</updated>
        <content type="html"><![CDATA[<h2 id="️症状">⚠️症状</h2>
<p>无论是使用 自动操作app 修改还是新建程序都会提示： “代码签名出错”</p>
<h2 id="解决方法">💡解决方法</h2>
<ul>
<li>终端运行以下命令</li>
</ul>
<pre><code>xcode-select --install
</code></pre>
<figure data-type="image" tabindex="1"><img src="https://fejich.github.io/post-images/1631525661202.png" alt="" loading="lazy"></figure>
<ul>
<li>如果没有解决问题，执行以下命令</li>
</ul>
<pre><code>sudo xcode-select -switch /
</code></pre>
<h2 id="来源">来源</h2>
<p><a href="https://www.jianshu.com/p/50b6771eb853">解决MacOS升级后出现xcrun: error: invalid active developer path, missing xcrun的问题</a></p>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Docker Compose 简单使用手册]]></title>
        <id>https://fejich.github.io/post/docker-compose-jian-dan-shi-yong-shou-ce/</id>
        <link href="https://fejich.github.io/post/docker-compose-jian-dan-shi-yong-shou-ce/">
        </link>
        <updated>2021-09-10T11:25:20.000Z</updated>
        <content type="html"><![CDATA[<h2 id="介绍">📖介绍</h2>
<p>Docker Compose 是 Docker 官方编排（Orchestration）项目之一，负责快速的部署分布式应用。<br>
它允许用户通过一个单独的 docker-compose.yml 模板文件（YAML 格式）来定义一组相关联的应用容器为一个项目（project）。</p>
<p><strong>优点非常明显，通过易读的 YAML 格式文件。实现复杂容器部署，快速修改配置</strong></p>
<h2 id="安装">🔩安装</h2>
<p>群晖NAS系统内置就有 docker-compose ，为其工程师点赞</p>
<h3 id="二进制包方式">二进制包方式</h3>
<pre><code>sudo curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` &gt; /usr/local/bin/docker-compose

# 国内用户可以使用以下方式加快下载
sudo curl -L https://download.fastgit.org/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` &gt; /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose
</code></pre>
<h3 id="docker-run-方式">Docker run 方式</h3>
<p>适合 <code>unRAID</code> 这类精简 Linux 系统，使用 alias 命令别名方式实现免安装使用</p>
<pre><code>echo alias docker-compose=&quot;'&quot;'docker run --rm --name docker-compose \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v &quot;$PWD:$PWD&quot; \
    -w=&quot;$PWD&quot; \
    docker/compose'&quot;'&quot; &gt;&gt;  ~/.bashrc

source ~/.bashrc
</code></pre>
<p>推荐一同部署 ctop 这个可视化的容器管理程序</p>
<pre><code>echo alias ctop=&quot;'&quot;'docker run --rm --name ctop -ti \
    -v /var/run/docker.sock:/var/run/docker.sock \
    quay.io/vektorlab/ctop'&quot;'&quot; &gt;&gt;  ~/.bashrc
</code></pre>
<h2 id="compose-模板文件">📝Compose 模板文件</h2>
<p>默认的模板文件名称为 <code>docker-compose.yml</code>，格式为 YAML 格式。</p>
<pre><code>---
version: &quot;2.1&quot;
services:
  xxx:
    image: uuuu/xxx
    container_name: xxx
    environment:
#      - ALL_PROXY=socks5://192.168.168.4:7890
      - PUID=1000
      - PGID=100
      - TZ=Asia/Shanghai
#    tty: true
#    privileged: true
    volumes:
      - ./config:/config
    network_mode: bridge #host
#    dns:
#      - 8.8.8.8
#    ports:
#      - 8096:8096
#    devices:
#      - /dev/dri:/dev/dri #分配显卡给容器
#    tmpfs:
#      - /tmp #共享/tmp目录
#    command: sh -c &quot;cd /config &amp;&amp; chmod a+x npc &amp;&amp; ./npc&quot;
  mem_limit: 512m #限制容器可用内存
  cpus: 0.5 #限制容器可用 CPU占比
  restart: unless-stopped
</code></pre>
<h2 id="常用命令">📌常用命令</h2>
<p>yaml 文件同目录内输入命令</p>
<ul>
<li>启动容器：<code>docker-compose up -d</code></li>
<li>停止容器：<code>docker-compose down</code></li>
<li>查看进程：<code>docker-compose top</code></li>
<li>重启容器：<code>docker-compose restart</code></li>
<li>查看日志：<code>docker-compose logs</code></li>
<li>查看端口：<code>docker-compose port</code></li>
<li>拉取镜像：<code>docker-compose pull</code></li>
<li>进入容器内的终端：<code>docker-compose exec {container-name} sh</code></li>
</ul>
<hr>
<h2 id="参考">📍参考</h2>
<ul>
<li><a href="https://www.jianshu.com/p/2217cfed29d7">Docker Compose 配置文件详解</a></li>
<li><a href="https://yeasy.gitbook.io/docker_practice/compose/introduction">Docker —— 从入门到实践</a></li>
</ul>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Youtube-DLP 使用记录，配合 emby]]></title>
        <id>https://fejich.github.io/post/youtube-dlp-shi-yong-ji-lu-pei-he-emby-shi-yong/</id>
        <link href="https://fejich.github.io/post/youtube-dlp-shi-yong-ji-lu-pei-he-emby-shi-yong/">
        </link>
        <updated>2021-09-10T07:38:28.000Z</updated>
        <content type="html"><![CDATA[<h2 id="简介">📖简介</h2>
<p><strong>yt-dlp</strong> 是 Youtube-DL 的增强版，更新维护很积极。相比起原版更为稳定，功能更完善。</p>
<ul>
<li>主页：https://github.com/yt-dlp/yt-dlp</li>
</ul>
<blockquote>
<p>Win 系统直接下载 exe 即可运行，其他系统下还需要系统安装有 Python3.6+ 环境。<br>
Linux, macOS, BSD 系统均为同一个提供可执行文件</p>
</blockquote>
<h2 id="高级功能需要调用-ffmpeg">🤺高级功能需要调用 ffmpeg</h2>
<p>没有 ffmpeg 情况下，能下载的文件格式有限封面图转换之类的功能也不能工作</p>
<blockquote>
<p>还有一些平常用不到的功能需要依赖另外的软件，具体看项目主页</p>
</blockquote>
<h2 id="️配置文件">⚙️配置文件</h2>
<p>于主程序目录或者用户HOME目录下建立 <code>yt-dlp.conf</code> 文件，即会调用。<br>
用来设置输出文件名，下载代理服务器，下载封面，下载视频简介等非常方便</p>
<blockquote>
<p>注意配置文件内不能有中文字符，否则会报错</p>
</blockquote>
<pre><code>#filename
-o '%(title)s[%(resolution)s][%(upload_date)s].%(ext)s'

# best HDR or best SDR
#-f 'bestvideo[vcodec=vp9.2]+bestaudio/bestvideo[vcodec=vp9]+bestaudio'

#only m4a
#-f 'ba[ext=m4a]'
#-f wa

#thumbnail to jpg
--write-thumbnail
--convert-thumbnails jpg
#--embed-thumbnail

#proxy
--proxy 127.0.0.1:7890

#other
--write-description
--write-subs
--compat-options no-live-chat
--remux-video mkv

#playlist
#--playlist-items 1-2,11-20

#--skip-download

--exec 'sh /Users/fejich/Movies/Youtube/nfo.sh'
</code></pre>
<h2 id="视频简介转换为-emby-能识别的-nfo-文件">📝视频简介转换为 emby 能识别的 nfo 文件</h2>
<p>用于把视频简介（description文件）转换成 emby 能识别的格式，<br>
可保存为 sh 脚本使用 <code>--exec</code>  参数调用。</p>
<blockquote>
<p>适用于 Linux 与 Mac 系统</p>
</blockquote>
<figure data-type="image" tabindex="1"><img src="https://fejich.github.io/post-images/1631260550740.png" alt="" loading="lazy"></figure>
<pre><code class="language-sh">#!/bin/bash

# 生成临时文件
tee nfo1.temp &lt;&lt;-'EOF'
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;?&gt;
&lt;movie&gt;
  &lt;plot&gt;&lt;![CDATA[
EOF

tee nfo2.temp &lt;&lt;-'EOF'

]]&gt;&lt;/plot&gt;
&lt;/movie&gt;
EOF

# 生成 emby 可识别的 nfo 文件并添加换行符号
file=$1
filename=${file%.*}
nfo=${filename}.nfo
description=${filename}.description

touch &quot;${nfo}&quot;;
cat nfo1.temp &gt; &quot;${nfo}&quot;;
sed 's#$#&amp;&lt;br/&gt;#g' &quot;${description}&quot; &gt;&gt; &quot;${nfo}&quot;;
cat nfo2.temp &gt;&gt; &quot;${nfo}&quot;;

# 删除临时文件
rm nfo1.temp nfo2.temp
</code></pre>
<h2 id="win-系统下简单可交互-bat-脚本">🖥Win 系统下简单可交互 bat 脚本</h2>
<p>保存为 bat 脚本，与主程序放同一个目录即可</p>
<pre><code>@ECHO OFF&amp;PUSHD %~DP0 &amp;TITLE Youtube-DLP 下载脚本
@ echo.
@ echo.
@ echo.
@ echo.
set /p ID= 输入 视频/播放列表网址 按回车：
@ echo.
@ echo.
@ echo.
@ echo.
ECHO 分析下载地址......
yt-dlp %ID%
@ echo.
@ echo.
@ echo.
@ echo.
ECHO 下载完成，任意键退出......
pause&gt;NUL
</code></pre>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[通过网络唤醒(WOL)叫醒睡眠状态中的Mac]]></title>
        <id>https://fejich.github.io/post/tong-guo-wang-luo-huan-xing-woljiao-xing-shui-mian-zhuang-tai-zhong-de-mac/</id>
        <link href="https://fejich.github.io/post/tong-guo-wang-luo-huan-xing-woljiao-xing-shui-mian-zhuang-tai-zhong-de-mac/">
        </link>
        <updated>2021-09-10T01:31:55.000Z</updated>
        <content type="html"><![CDATA[<h2 id="wol-是什么">❔WOL 是什么</h2>
<p>Wake-on-LAN简称WOL或WoL，中文多译为“网络唤醒”、“远程唤醒”技术。WOL是一种技术，同时也是该技术的规范标准，它的功效在于让休眠状态或关机状态的电脑，透过局域网的另一台电脑对其发令，使其唤醒、恢复成运作状态，或从关机状态转成引导状态。</p>
<p>有关WOL技术，最初是在1997年4月由IBM公司的先进管理联盟（Advanced Manageability Alliance）所提出，然而当时仅约略透露，之后其他业者及产业也逐渐推行。</p>
<blockquote>
<p>引用自：<a href="https://zh.wikipedia.org/wiki/%E7%B6%B2%E8%B7%AF%E5%96%9A%E9%86%92">网络唤醒 - 维基百科，自由的百科全书 (wikipedia.org)</a></p>
</blockquote>
<h2 id="mac-电脑的-wol-支持情况">💻 Mac 电脑的 WOL 支持情况</h2>
<p>WOL 基本上是个 PC电脑 都支持，然而苹果嘛~~不跟 PC 厂们玩这一套。</p>
<p>Mac 并没有完整支持 WOL ，<strong>关机状态</strong>是无法使用 WOL 唤醒的（黑苹果倒是支持关机唤醒）</p>
<p>但是会在<strong>睡眠状态</strong>下对会对 WOL 的<strong>魔法数据包</strong>（Magic Packet）有所反应，进入一个类似Android手机<strong>超级省电模式</strong>的状态。</p>
<ul>
<li>屏幕保持着关闭</li>
<li>各种 App 也并没有运行</li>
<li>机器会对 ping 的请求有所回应</li>
<li>部分网络服务像是 文件共享 和 SSH远程登陆 能工作（前提是你在<strong>系统偏好设置</strong>打开了该功能）</li>
</ul>
<p>这时候唯有通过按下键盘鼠标的按键才能真正唤醒 Mac</p>
<h2 id="通过-wol-唤醒-mac-的方法">💡通过 WOL 唤醒 Mac 的方法</h2>
<p>由于睡眠状态下 Mac 会对 WOL 有所反应，而且可以进行 SSH远程登陆。</p>
<p>所以可以通过其他电脑 SSH 访问 Mac 执行 <code>caffeinate</code> 命令模拟鼠标键盘按键，实现曲线救国！</p>
<h3 id="1mac-上的设置">1）Mac 上的设置</h3>
<p><img src="https://fejich.github.io/post-images/1631237578173.png" alt="" loading="lazy"><br>
<img src="https://fejich.github.io/post-images/1631237581532.png" alt="" loading="lazy"></p>
<p>开启服务后，在 系统偏好设置 <code>→</code> 网络 找到 IP 与 MAC地址 记下来后续操作要用到</p>
<p>让机器进入睡眠状态</p>
<h3 id="2其他电脑执行命令唤醒-mac">2）其他电脑执行命令唤醒 Mac</h3>
<p>于另一台电脑上，执行以下命令即可唤醒 Mac ！</p>
<pre><code class="language-shell">etherwake {Mac_MAC_ADDRESS}
ssh {MacUserName}@{MacIP} 'caffeinate -u -t 1'
</code></pre>
<h3 id="可选配置-ssh-免密码登陆-mac">[可选]配置 ssh 免密码登陆 Mac</h3>
<pre><code class="language-shell">ssh-keygen -t rsa
</code></pre>
<blockquote>
<p>连续三次回车,即在本地主机上生成了公钥和私钥,不设置密码</p>
</blockquote>
<pre><code class="language-shell">cat ~/.ssh/id_rsa.pub | ssh {MacUserName}@{MacIP} 'mkdir .ssh ;cat &gt;&gt; .ssh/authorized_keys'
</code></pre>
<blockquote>
<p>将本地密钥写入到 Mac 主机信任列表内</p>
</blockquote>
<hr>
<p>参考：<a href="https://www.tweaking4all.com/forum/macos-x-software/waking-up-a-mac-with-wake-on-lan/">Waking up a Mac with Wake On LAN – MacOS X Software – Forum</a></p>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[迎广MS04机箱更换记录]]></title>
        <id>https://fejich.github.io/post/ying-guang-ms04-ji-xiang-geng-huan-ji-lu/</id>
        <link href="https://fejich.github.io/post/ying-guang-ms04-ji-xiang-geng-huan-ji-lu/">
        </link>
        <updated>2021-09-09T09:08:48.000Z</updated>
        <content type="html"><![CDATA[<h2 id="起因">🚀起因</h2>
<p>更换机箱没有什么特别理由，仅仅是因为用得久了颜值下降还有厚厚的积灰难以清理.....</p>
<p>干脆就物色一只新的箱子，提升使用体验增加生活幸福感。</p>
<blockquote>
<p>原本计划是双11再剁手的，不过好基友 shenhaiyu 得知后送了套 8Gx2 的内存助我升级硬件。我也就毫不犹豫的提前下单了😄</p>
</blockquote>
<h2 id="挑选">🎯挑选</h2>
<p>NAS 机箱相对小众，颜值高做工好还要设计合理的NAS机箱市面上能选的没几台。</p>
<ul>
<li>蜗牛星际那种垃圾佬专用矿箱直接略过</li>
<li>万由出的两款没有明显缺陷，我原本就在用所以略过</li>
<li>拓普龙这类工控机箱倒是便宜皮实，但是颜值有点不在线</li>
<li>小作坊DIY做的机箱交货期久，做工没保证出问题翻车几率高</li>
<li>“大厂银欣”出的几款都是塑料硬盘托架，做工设计方面网上评价褒贬不一</li>
<li>乔思伯N1直立式5盘位机箱有点长草，然而得抽出整个外壳才能换硬盘实在是个容易出状况的设计</li>
<li>mineNAS迈K1介绍说是超微设计国内代工生产，但是看淘宝买家发的评论图与超微官网有好些出入</li>
</ul>
<p>挑来选去最终是买了 <strong>IN WIN 迎广MS04 NAS机箱</strong>。选这款最大的原因是其可拉出的主板托盘设计，这个为安装调试与日后维护提供了便利。</p>
<p>整体做工与颜值也符合我的要求，详细优点开箱网上已经有很多这里就不再重复了。</p>
<figure data-type="image" tabindex="1"><img src="https://fejich.github.io/post-images/1631239922166.png" alt="" loading="lazy"></figure>
<h2 id="️装机">⚙️装机</h2>
<p>淘宝选一家销量最高的授权代理商下单，全新机箱+原装电源 顺丰包邮 <strong>总价：869</strong></p>
<p>2天时间顺丰小哥横跨大半个中国把机箱送到我手上，拿到后第一时间开箱检查却是发现翻了车 😂</p>
<p>说好的全新机箱倒是不假，但是里边的电源却是<strong>生了锈</strong>的。。。条码也被划花，明显就是使用过的</p>
<figure data-type="image" tabindex="2"><img src="https://fejich.github.io/post-images/1631239929847.jpg" alt="" loading="lazy"></figure>
<p>然后前置面板 USB 也是有状况，两个 USB 口都没对齐外壳，其中一只更是完全无法插进去。</p>
<figure data-type="image" tabindex="3"><img src="https://fejich.github.io/post-images/1631239935249.jpg" alt="" loading="lazy"></figure>
<p>万幸的是联系客服后，店铺处理很迅速承认过失并安排了替换。</p>
<p>我最后是决定把问题电源做退货处理，机箱留着。USB 口的问题客服承诺补偿50块红包，等有时间我再自行拆机看看能不能拨正位置。</p>
<p>其他方面倒是没遇到问题，使用旧机电源顺利完成装机。</p>
<blockquote>
<p>实际使用一天后发现，机箱硬盘托板不能实时显示每只硬盘的读写状态。通电后只长亮蓝灯，读写时候没有其他提示实在是可惜。</p>
</blockquote>
<h2 id="️最后记念">♥️最后记念</h2>
<p>相册里边翻出 2015.05.13 号拍的万由4盘位NAS整机开箱，即使从今天来看这个做工跟设计都是很给力的。希望万由日后能设计出更出色的NAS机箱，让消费者可以有更多靠谱的NAS机箱选择。</p>
<figure data-type="image" tabindex="4"><img src="https://fejich.github.io/post-images/1631239945588.png" alt="" loading="lazy"></figure>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[群辉反代虚拟机套件noVNC窗口提示“无法连线到伺服器”的解决方法]]></title>
        <id>https://fejich.github.io/post/Synology-reverse-proxy/</id>
        <link href="https://fejich.github.io/post/Synology-reverse-proxy/">
        </link>
        <updated>2021-09-08T05:53:34.000Z</updated>
        <content type="html"><![CDATA[<h2 id="问题情况">🚧问题情况</h2>
<p>群晖 <code>DSM 6.2.1</code>以上版本，在使用   反向代理用域名访问<code>虚拟机（Virtual Machine）</code>时标题为 noVNC 的网页 提示<code>“无法连线到伺服器”（Failed to connect to server）</code>。</p>
<p>看过之前大神的帖子让改 Portal.mustache 文件，但是在 DSM 6.2.1 及以上版本中这种改法不但不起作用，还会让 DSM 无法启动，请大家一定要注意。</p>
<h2 id="解决办法">💡解决办法</h2>
<p>在 控制面板-应用程序门户-反向代理服务器 中选中要访问虚拟机的那条反向代理， 编辑-“自定义标题”选项卡-“新增”的下拉箭头-WebSocket，然后随便点一下新添加的 “Upgrade”或者“Connection”标签名称，确定保存即可。每个需要访问虚拟机的反代域名都要设置一遍才行。<br>
<img src="https://fejich.github.io/post-images/1631239017002.png" alt="" loading="lazy"></p>
<h2 id="转载整理自">🎈转载整理自</h2>
<p><a href="http://www.nasyun.com/thread-70881-1-1.html">解决使用反向代理域名访问群晖虚拟机时提示noVNC“无法连线到伺服器”的问题</a></p>
<ul>
<li>作者：<code>shenhaiyu</code> 于 2020-5-17 20:15 编辑</li>
</ul>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[unRAID 系统下定时运行脚本获取 bing每日壁纸]]></title>
        <id>https://fejich.github.io/post/unraid-xi-tong-xia-ding-shi-yun-xing-jiao-ben-huo-qu-bing-mei-ri-bi-zhi/</id>
        <link href="https://fejich.github.io/post/unraid-xi-tong-xia-ding-shi-yun-xing-jiao-ben-huo-qu-bing-mei-ri-bi-zhi/">
        </link>
        <updated>2021-09-08T03:14:54.000Z</updated>
        <content type="html"><![CDATA[<h2 id="前言">📖前言</h2>
<p>最近 Fork 了一个使用  GitHub Action 自动抓取bing壁纸的项目</p>
<p>https://github.com/yfun-lab/bing-wallpaper</p>
<p>感觉项目的Python脚本写得十分优雅，按个人的习惯简单修改了脚本部署到自己的 GitHub 上。<br>
同时顺手在本地 NAS 上也跑一个，供日常观赏。</p>
<h2 id="操作步骤">🔨操作步骤</h2>
<h3 id="1安装所需的运行环境">1）安装所需的运行环境</h3>
<p>首先于 unRAID  <code>Community Applications</code> 安装 <strong>Nerd Tools</strong> 和 <strong>User Scripts</strong> 两个插件</p>
<figure data-type="image" tabindex="1"><img src="https://fejich.github.io/post-images/1631240567548.png" alt="" loading="lazy"></figure>
<p>然后打开 <strong>Nerd Tools</strong> 安装 <code>Python3</code></p>
<figure data-type="image" tabindex="2"><img src="https://fejich.github.io/post-images/1631240579291.png" alt="" loading="lazy"></figure>
<p>至此所需的运行环境就部署完成了</p>
<h3 id="2运行脚本">2）运行脚本</h3>
<p>保存为 <code>main.py</code> ，同时于同目录建一个 <code>Wallpaper</code> 文件夹用于存放下载来的文件</p>
<p>在终端使用 <code>python3 main.py</code> 测试脚本是否正常运作</p>
<pre><code class="language-python">import urllib.request as req
import json
import re


url = 'http://cn.bing.com/HPImageArchive.aspx?format=js&amp;idx=0&amp;n=1&amp;nc=1614319565639&amp;pid=hp&amp;FORM=BEHPTB&amp;uhd=1&amp;uhdwidth=3840&amp;uhdheight=2160'

# try:
res = req.urlopen(url)
res = res.read().decode('utf-8')

api = json.loads(res)

api = api['images']
downloadURL = &quot;https://bing.com&quot; + api[0]['url']
dateTime = api[0]['enddate']
copyright = api[0]['copyright'] # 获取版权信息
rstr = r'[\/\\\:\*\?\&quot;\&lt;\&gt;\|]'  # '/ \ : * ? &quot; &lt; &gt; |'
new_copyright = re.sub(rstr, '_', copyright)  # 替换为下划线

req.urlretrieve(downloadURL, &quot;./Wallpaper/{0}{1}{2}.jpg&quot;.format(dateTime, '@', new_copyright))
req.urlretrieve(url, &quot;./Wallpaper/{}.json&quot;.format(dateTime))

# except:
#     print(&quot;Error.&quot;)
</code></pre>
<blockquote>
<p>于原项目基础上修改了图片保存的目录与文件名（按 日期@版权信息 命名）<br>
增加保存当日完整的 json 信息到本地，以供日后可能有用得上的时候</p>
</blockquote>
<h3 id="3配置定时执行">3）配置定时执行</h3>
<figure data-type="image" tabindex="3"><img src="https://fejich.github.io/post-images/1631240598782.png" alt="" loading="lazy"></figure>
<p>到 <strong>User Scripts</strong> 插件内添加一个新脚本，内容按实际情况编辑</p>
<pre><code class="language-bash">#!/bin/bash
cd /mnt/disk1/appdata/bing/ &amp;&amp; python3 main.py
</code></pre>
<p>最后设置 <a href="https://corntab.com/">Cron</a> 计划任务定时运行</p>
<p><code>2 0 * * *</code></p>
<blockquote>
<p>每日凌晨零点02分</p>
</blockquote>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[导出视频内嵌字幕文件的两个方法]]></title>
        <id>https://fejich.github.io/post/dao-chu-shi-pin-nei-qian-zi-mu-wen-jian-de-liang-ge-fang-fa/</id>
        <link href="https://fejich.github.io/post/dao-chu-shi-pin-nei-qian-zi-mu-wen-jian-de-liang-ge-fang-fa/">
        </link>
        <updated>2021-09-08T01:42:39.000Z</updated>
        <content type="html"><![CDATA[<h2 id="前言">📖前言</h2>
<p>一切起因是发现了 emby 这个媒体中心软件有个 “bug”</p>
<p>内嵌了 .ass字幕 的视频如果是 directplay 方式（直接播放）字幕能正确显示，</p>
<p>但是一旦触发了转码，字幕就得隔一分钟左右才能显示出来。</p>
<p>而造成这么慢的原因，是因为实时导出字幕这个操作比较耗时（目前我尝试过好几个软件都得实现不了秒出）</p>
<p>直接外挂的字幕就没这种烦恼，所以有了这个文章。</p>
<h2 id="方法1-使用-mkvtoolnix-工具包">💡方法1 使用 mkvtoolnix 工具包</h2>
<p>Mac 系统安装：<code>brew install mkvtoolnix</code></p>
<p>查看文件信息：<code>mkvmerge -i test.mkv</code></p>
<figure data-type="image" tabindex="1"><img src="https://fejich.github.io/post-images/1631241923771.png" alt="" loading="lazy"></figure>
<p>可以看到 4 跟 5 是 ass 字幕</p>
<p>导出命令：<code>mkvextract tracks test.mkv 4:sub1.ass 5:sub2.ass</code></p>
<p>批量操作脚本</p>
<pre><code class="language-sh">for file in *.mkv; do
    filename=${file%.*}
    mkvextract tracks &quot;${file}&quot; 4:&quot;${filename}.map4.ass&quot; 4:&quot;${filename}.map5.ass&quot;
done
</code></pre>
<h2 id="方法2-使用-ffmpeg">💡方法2 使用 ffmpeg</h2>
<p>查看文件信息：<code>ffmpeg -i test.mkv</code></p>
<p>导出字幕：<code>ffmpeg -i test.mkv -map 0:5 sub.ass</code></p>
<blockquote>
<p>ffmpeg 还可以给字幕转格式，例如 ass 转 srt。只要指定输出的格式就会自动处理</p>
</blockquote>
<p>批量操作脚本</p>
<pre><code class="language-sh">for file in *.mkv; do
    filename=${file%.*}
    ffmpeg -i &quot;${file}&quot; -map 0:2 &quot;${filename}.map2.ass&quot; -map 0:3 &quot;${filename}.map3.ass&quot; -map 0:4 &quot;${filename}.map4.ass&quot; -map 0:5 &quot;${filename}.map5.ass&quot;
done
</code></pre>
]]></content>
    </entry>
</feed>