序言

在上一篇博文里,我成功搭建了 LANraragi 服务器,并且分享给了家庭局域网内的其他设备。但是,又产生了新的问题:

  • LANraragi 不需要登录就能访问其中的漫画;
  • 就算 LANraragi 有登录的功能,用的也还是 HTTP 明文传输,相当于没有密码;

这些问题的根源是:可以联网的手机、智能家居都和 LANraragi 服务器在一个局域网内,这些设备并不可信,可能有后门(“用户自愿传输隐私数据以改善服务”)。无论如何,上述问题亟需解决。

解决方案 —— Nginx:

  • 使用 Nginx 自带的 basic authentication,只有输入账号密码才能访问 URL;
  • 利用 Nginx 的反向代理。只要给 Nginx 配置了 HTTPS,被代理的软件都可以使用加密传输;

因此,重点在于 Nginx 的配置和 SSL 证书的配置。麻烦之处在于,我要给内网 IP 请求证书,并且这个 IP 没有对应的域名。这篇文章探讨了这些解决方案,同时也是我第一次接触 Nginx 和 SSL 证书的配置。

阅读全文 »

序言

最近在研究家庭媒体库,教程大多以 NAS 为主机,实际上大多数软件都跑在 Docker 上。

现在有如下看漫画/同人志的需求:

  • 电脑上存有大量的漫画的压缩包,想要各种设备能访问这些资源。—— 服务端软件,能够以 HTTP 的方式传输图片。
  • 漫画的目录管理以我为主,而不能以服务端软件的规则为主。
  • 手机 / pad 浏览漫画时,操作方便易用。—— 客户端好用,或者直接提供 web 端。
  • 客户端有随机选择漫画功能。—— 收集的漫画太多了,出于消磨时间的目的,随便挑一本看最方便。

综上,我选择了 LANraragi。尽管 KomgaKavitaTachidesk (Sorayomi) 也都是开源的漫画服务器,但都不尽如人意。

这篇文章是对官方文档的一些摘录,以及我自己使用的一些心得。

阅读全文 »

pip

  1. 安装 script-house,版本为 0.0.2

    1
    pip install script-house==0.0.2

    如果默认安装最新版,则不需要写 ==0.0.2

    所有要安装的依赖也可以写在一行:

    1
    pip install script-house==0.0.2 pydantic==2.5.3 pymongo==4.6.1
阅读全文 »

序言

VS Code 的 Remote SSH 插件提供了远程连接其他主机的功能。连接就需要用户名和密码,而密钥可以在每次登录时不输入密码、直接登录。

但是,VS Code 实际上只是提供了 GUI,而 SSH 如何使用密钥登录,则是另一码事。两者不应该混为一谈。

本文将主要讲解 SSH 密钥在本机和远程机器上如何配置。之后,讲解 VS Code Remote SSH 插件的使用。

阅读全文 »

序言

Python 以其模块丰富而著称。但是,不同于 Java 开发中 Maven 使用 group Id、artifact Id 和 version 来唯一确定一个依赖。在实践中,绝大多数 Python 项目通过模块名来区分模块。pip install <module>,一个模块就装好了。那么模块的版本呢?大部分项目的 requirements 都不会提及版本,造成后来者跑项目时不停地报错。

因此,弱化版本号的概念无疑弊大于利。如何解决?使用 venv(虚拟环境)。

如果直接使用 pip install ,那么所有 Python 项目共用这些模块,会产生版本会兼容。venv 将原始的 Python 环境拷贝一份。虚拟环境的运行只依赖于拷贝后的 Python,安装的模块也只会存在于该虚拟环境中。多个虚拟环境间相互隔离。

使用

1️⃣创建 venv :

1
python -m venv C:\Users\Gustav\Desktop\test\venv

C:\Users\Gustav\Desktop\test\venv 目录就是该虚拟环境

阅读全文 »
0%