序文#
これは家用ミニサーバーサービス構築の第三篇で、第一篇ではデバイスの選定、第二篇ではいくつかの必需品を解決しました。この篇では、まずいくつかの見落とされた必需品や面白いものを解決します。
前回の記事が公開されてから 11 日が経過しました。
前置きとして、Markdown で記事を書く習慣があるため、WeChat のレイアウトや違反防止策についてはまだ研究が不十分です。内容が不完全またはリンクが表示されない場合は、原文をクリックしてブログの原文を確認することをお勧めします。
ソフトルーターをいじるのは不幸になることがあります。私はすでに不幸になりました。
なぜか、元々設定した ikuai の DHCP と元ルーターの DHCP が同じネットワークセグメントの時、OP と組み合わせると、寝て起きたら内部ネットワークセグメントのサービスにアクセスできなくなる現象が発生し、数日間イライラして、実際には再インストールする必要はなく、管理ポートを接続して再調査すればよいことに気づきました。
pve の CT テンプレートダウンロードソースの変更#
参考記事を変更
cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back && sed -i 's|http://download.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm && systemctl restart pvedaemon.service
これで国内ソースに変わり、速度が速くなります。
PVE の Debian および企業サブスクリプションソースは、以下のスクリプトでワンクリックで置き換えられます。これはこの記事から来ています。
wget https://www.geekxw.top/jiaoben/yuan.sh -O yuan.sh && chmod +x yuan.sh && ./yuan.sh
openwrt での AdGuard Home コアの手動置換#
公式アドレスにアクセス最新ダウンロードアドレス
AdGuardHome_linux_amd64.tar.gz をダウンロードし、実行ファイルのパスに配置します。一般的には/usr/bin/AdGuardHome/AdGuardHome
です。
コマンドラインでその権限を 755 に変更し、その後 openwrt を再起動します。
それでも core error が表示されるかもしれませんが、正常にログインできるようになります。
1panel のサードパーティストア#
非常に多くのサードパーティアプリがあります。
git clone -b localApps https://github.com/okxlin/appstore /opt/1panel/resource/apps/local/appstore-localApps
cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/
rm -r /opt/1panel/resource/apps/local/appstore-localApps
アプリケーションリストを更新すると、アプリケーションリストが 280 + アプリに変わっていることに気づきます。
DDNSTO の内部マッピング#
いくつかのサービスは、緊急時やその他の理由で、パブリックアクセスが必要です。
ただパブリックアクセスが必要な場合は、DDNSTOの無料サービスプランを使用して、ローカルネットワーク内の 5 つの IP + ポートの形式をマッピングできます。
残念ながら、スラッシュの後に何もアドレスを接続できないため、1panel などのセキュリティパネルアドレスを開いた場合は、自分でアドレスを組み合わせてブックマークして保存する必要があります。他のサービスは具体的なドメイン名を覚える必要はなく、DDNSTO のコントロールパネルに直接ログインすればアクセスできます。
本来、DDNSTO はサインインスクリプトを通じて自動更新 7 日間の無料プランを実現できると思っていましたが、どうやら無理なようです?
ddns-go を使用して動的マッピングを実現することもでき、1panel にサードパーティストアを追加すれば使用できます。
RSS 関連#
まずまとめますと、私は
- RSSHUB+rsspushを使用して Github プロジェクトの監視 / 自分が興味のあるトレンドの変動通知を実現しています。
- READWISEを使用して RSS/Newsletter タイプ /epub 電子書籍の読書マークを行っています。
- AutoBangumiを使用してアニメの RSS 変動を監視し、qBittorrent などで自動追跡を行っています(あまり使用しません)。
RSSHUB#
RSSHub はオープンソースで、使いやすく、拡張が容易な RSS ジェネレーターで、あらゆる奇妙なコンテンツに RSS フィードを生成できます。RSSHub はオープンソースコミュニティの力を借りて急速に発展しており、現在数百のウェブサイトの千以上のコンテンツに対応しています。
RSSHUB はDIY 神の大プロジェクトで、もう一つの大プロジェクトXlogもこの記事の初出です。興味のある方はぜひ見てみてください。活発な若者たちが多く、ハードスキルを持つ大物もいます。主にページが美しく、自分でサーバーを立てる必要がなく、見る人も多く、コミュニティの雰囲気も良いです。DIY 神が見ていたら 5 毛送金してください、ありがとうございます。
以前、RSSHUBの公式チュートリアルに従って、無料のpikapodsを構築しました。
残念ながら、pikapods の毎月の無料枠は最小構成よりも少し少なく、または Serveless サービスは故意にそうなっているのかもしれません。
自分で構築することもできますし、公式のものを直接使用することもできますが、頻度は高くしないでください。
私は RSSHUB を使用して、特定の動的な監視を実現しています。たとえば、特定の Github プロジェクトの更新や新しいオープンソースのトレンドなどを監視できます。私のgistを確認できます。
Server 酱の作者easychenの無料オープンソースプロジェクトrsspushを組み合わせることで、プッシュ通知を実現できます。
rsspush を構築した後、ページ上には他のパスにプッシュするオプションはありませんが、GitHub の README に以下の内容が見つかります。
2022.09.04.09.28 + 以降のミラーは web hook へのプッシュをサポートしています。Sendkey が http で始まる場合、それは webhook として認識されます。
私が使用しているのは iOS 上の Bark というソフトウェアで、公式ドメインがすでに個人使用に完全に満足しています。これで、rsshub+rsspush+bark によるカスタマイズされたコンテンツ監視と即時プッシュが完了します。
また、rsspush の README に従ってappriseを使用することもでき、以下にプッシュできます。
数百のチャネル、Telegram、Discord、Slack、Amazon SNS、Gotify などを含みます。
apprise:raw -i html tgram://botid/chatid
READWISE#
読書関連の RSS は、私はすでに READWISE が提供するread readwiseを安定して使用しています。
発展途上国 / 学生割引を申請して半額にすることができ、半額後は毎月 4.49 ドルの支払いで、私のサブスクリプションの中で月額費用が最も高いサービスですが、私はそれだけの価値があると思います。
すべての RSS/Newsletter タイプ /epub 電子書籍の読書をこれで実現し、公式のブラウザプラグインを使えば、自由に内容を切り取ってマークできます。
AutoBangumi の自動追跡構築#
現在、まだ完全には理解していません。
AutoBangumi は RSS に基づく全自動アニメ追跡整理ダウンロードツールです。Mikan Project などのウェブサイトでアニメを購読するだけで、全自動でアニメを追跡できます。整理された名前とディレクトリは、Plex、Jellyfin などのメディアライブラリソフトウェアに直接認識され、二次的なスクレイピングは不要です。
公式チュートリアルに従って構築パラメータを取得します。
ここで注意が必要なのは、コマンドラインで Docker を直接起動しないことです。1panel の公式およびサードパーティアプリストアにはまだこのアプリがないため、1panel のコンテナインターフェースで手動で作成します。
必ずネットワークを 1panel-network に選択してください。そうしないと、ホスト IP アドレスでは接続できません。
同様に、マーケットプレイスにインストールされていないすべてのアプリケーションは、ネットワークが相互に通信する必要がある場合、手動で 1panel-network に追加するのが最良です。
作成後、内部ネットワークアドレスとホスト IP アドレスの両方を使用できます。内部ネットワーク IP はコンテナインターフェースで直接確認できます。
ウィー云脆弱性ライブラリの構築#
docker run --name wooyun -p 11415:80 --restart=always -dit v7hinc/wooyun /bin/bash
Jupyter Lab の構築#
まず、イメージをプルします:docker pull jupyter/base-notebook
ネットワークの相互接続を保証するために、1panel ページで展開を選択します。
docker exec -it jupyternotebook /bin/bash -c 'jupyter server list'
これでトークンが印刷され、ログインに入力します。
構築過程でのいくつかの知識点#
- スイッチのプロキシアドレスを openwrt アドレスに設定するか、直接 MAC をワールドインターネットセグメントに固定すると、遅延が大きく、基本的に使用できません。
- pve 8.1 で Debian 12 LXC CT テンプレートの SSH ログインを許可するコマンド
sed -i 's/^#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config && systemctl restart ssh
タイムゾーンを変更します。dpkg-reconfigure tzdata
で Asia、Shanghai を選択します。
CentOS 8 LXC CT テンプレートで SSH ログインを許可する
mv /etc/yum.repos.d/CentOS-* /tmp/ && \
cat <<EOF > /etc/yum.repos.d/CentOS-Vault.repo
[BaseOS]
name=CentOS-8 - Base
baseurl=https://vault.centos.org/8.5.2111/BaseOS/x86_64/os/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[AppStream]
name=CentOS-8 - AppStream
baseurl=https://vault.centos.org/8.5.2111/AppStream/x86_64/os/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
EOF
dnf clean all && \
dnf makecache && \
dnf install -y openssh-server firewalld && \
sed -i 's/^#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && \
sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config && \
dnf install -y firewalld && \
systemctl enable --now sshd firewalld
CentOS 9 LXC CT テンプレートで SSH ログインを許可する
dnf install -y openssh-server && sed -i 's/^#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config && systemctl restart sshd
こうしてまた一篇が混ざりました