1panel 部署nextcloud 并设置反向代理访问

要在 1Panel 中通过特定端口 https://a.com:20888 访问 Nextcloud,除了常规的反向代理设置,关键在于处理 非标准端口 的跳转识别。 1. 部署 Nextcloud 容器 在 应用商店 安装 Nextcloud。 外部访问端口:设置一个内部端口(例如 8080),此端口仅供 1Panel 内部反代使用,无需在防火墙放行。 2. 创建反向代理网站 新建网站:选择“反向代理”,域名填写 a.com。 设置 HTTPS:在网站设置中申请/配置 SSL 证书。 修改主站端口: 在网站的“设置” -> “基本信息”中,将监听端口改为 20888。 确保在 1Panel 的 防火墙 菜单中放行 20888 端口。 代理配置:代理地址指向 http://127.0.0.1:8080。 3. 修改 Nextcloud 核心配置 (解决重定向问题) 由于使用了非标准端口 20888,必须手动修改 config.php,否则 Nextcloud 会自动跳转回不带端口的默认地址。 进入 文件,打开:/opt/1panel/apps/nextcloud/nextcloud/data/config/config.php。 修改/添加以下关键配置: 'trusted_domains' => array ( 0 => '127.0.0.1:8080', 1 => 'a.com:20888', // 必须包含端口号 ), 'overwrite.cli.url' => 'https://a.com:20888', 'overwritehost' => 'a.com:20888', 'overwriteprotocol' => 'https', 'trusted_proxies' => array('127.0.0.1'), 保存并 重启 Nextcloud 容器。 ...

五月 19, 2026 · 1 分钟 · Yancey

Arch Linux 删除软件包

在 Arch Linux 中,删除软件及其配置文件的操作取决于你是想删除 系统级配置文件(如 /etc 下的文件)还是用户级配置文件(家目录下的“点文件”,如 ~/.config)。 以下是具体的操作方法: 删除软件及系统级配置文件 使用 pacman 的递归删除参数可以清理软件本身、其未被其他软件使用的依赖以及系统级配置文件: 删除软件及其未使用的依赖和系统配置: bash sudo pacman -Rns <软件名> 请谨慎使用此类代码。 -R: 删除软件包。 -n: 删除软件时同时移除其在系统路径(如 /etc)下的配置文件。如果不加 -n,pacman 会保留并重命名这些文件为 .pacsave。 -s: 递归删除那些不再被其他软件包需要的依赖项。 极端彻底删除(包含依赖软件的配置文件): bash sudo pacman -Rscn <软件名> 请谨慎使用此类代码。 -c: 级联删除。除了删除该软件,还会删除所有依赖于它的软件。请务必检查输出列表,防止误删重要系统组件。 删除用户级配置文件夹(手动) pacman 不会触碰用户家目录(~)下的任何文件,这些文件是由程序在运行时生成的,不属于包管理器管理范围。你需要手动清理: 通常这些文件夹位于以下位置: 主配置文件: ~/.config/<软件名> 缓存文件: ~/.cache/<软件名> 数据文件: ~/.local/share/<软件名> 手动删除示例: bash rm -rf ~/.config/<软件名> rm -rf ~/.local/share/<软件名> rm -rf ~/.cache/<软件名> 请谨慎使用此类代码。 清理残留的孤立包(孤儿包) 如果你之前删除软件时没带 -s 参数,可能会留下许多无用的依赖包,可以使用以下命令清理: bash # 列出并删除所有孤儿依赖包及其配置文件 sudo pacman -Rns $(pacman -Qdtq) 请谨慎使用此类代码。 ...

五月 19, 2026 · 1 分钟 · Yancey

Beancount复式记账

profileName: yecnay.com postId: “1782” postType: post categories: 640 Beancount 复式记账 一 、为什么 我在在 Google 的这四年(三)这篇文章中提到了一个「秘密武器」Beancount 以及「复式记账」的概念。我说过我要专门写一篇文章来分享我的经验,这篇文章就是我承诺的兑现了。 如何实现财务自由 这个章节标题有点吸引人眼球,像是成功学教程。但是我保证我下面说的内容都是严肃,而且有明确定义和方法的。 为什么要记账,我来用一句话总结就是为了提升对自我的认识。记账是个人理财的基础,更是通往财务自由的必经之路。财务自由这件事情固然是根本需要赚钱来实现,但并不是只有一夜暴富才能实现的。财务自由其实并不是一件虚无缥缈的事情,而是每个人都可以努力达到的一种状态,换句话说就是「退休」,只不是有人能在三十多岁退休,有人要六十岁,有人则要到八十岁。 财务自由的一般定义是由资产产生的收入不少于生活开销。如果不知道自己有多少开销,甚至不知道自己有多少资产、收入,即便是一夜暴富,财务自由是一件不可能的事情。 接下来我来解释为什么财务自由是可以实现的,而且应该是每个人的目标。首先需要强调的概念是**资产(Assets)和净资产(Net Assets)**的区别,虽然我之后还会详细解释,但是这里需要记住,财务自由并非对个人净资产的要求,这也就是为什么不需要暴富就能实现。像所有投资都有期限一样,个人的寿命也是有期限的。每当我想到我总有一天会死,都会觉得有些忧伤,但这是无法改变的自然规律。只要在预期的寿命之内资产(而不是净资产)产生现金流能够满足生活所需的开销,这就是财务自由。我对资产产生现金流的定义较为宽泛,不仅包括利息、分红、租金、版税这类收入,还包括了直接通过资产折现的收入,即净资产减少。 要想达到财务自由,需要三点要求:对支出的预期、对资产和收入的了解、对寿命的期望。这三点都是说起来容易,做起来难的,但是记账可以帮助你很大程度上解决至少前两个问题。至于第三个问题,才是财务自由的根本困难所在,不过这个问题的解决方案已经超出了本文探讨的内容了。 为什么要复式记账 记账这件事是那种容易让人因为一时冲动开始,但是很快就放弃的事情。每个记过账人都有不同的原因和契机,但能坚持下来的则凤毛麟角。记账的好处是提升对自己的了解,解决那种不知道自己赚的钱都到哪里去了的问题。但记账的困难也显而易见,那就是麻烦,还容易遗漏、错误。一般来说普通人对记账的理解就是每笔消费都干什么了,所以就是每一笔消费都有一个金额和类别就可以了。这种记账方式一开始简单,但能带来的价值有限,只是开支记录而已,长期看来难以说服自己为了这些价值而忍受麻烦的记账过程。 相比普通的流水账,复式记账的核心理念是账户之间的进出关系,要求所有的记录全部入账,它可以保证账目的完整性和一致性。复式记账可以提供除了开支记录之外的损益表、资产负债表、现金流量表、试算平衡表等报表。复式记账还可以把投资和消费轻易区分,譬如购入电脑、手机,可以作为资产项目入账并定期折旧。同理对各种代金券、点数积分的购入一样要算入资产而不是消费。 虽然有各种各样的手机应用号称可以简化记账,它们把用户交互做得更加简单友善,有的还可以从银行账户、信用卡公司直接抓取数据,降低心理障碍,但与此同时它们却带来了另一个问题,就是数据所有权、安全性和持久性的疑虑。这些工具大多都是把数据存储在云端的,泄漏隐私的可能性不言而喻。更麻烦的是,它们几乎都是自己的专有格式,无法导出保存,或者哪怕可以导出也难以使用。这也意味着你不得不一直用一个产品,直到有一天倒闭或者服务关闭为止。这对我来说是不可接受的,因为在互联网时代能活过十年的产品非常稀少,无论是像 Google 这样随意关闭服务的大公司,还是随时有可能倒闭的小公司。复式记账的价值在于数据的完整性,我对其数据寿命的要求是二十年以上。 复式记账是一种划时代的发明,这个发明被认为是源于中世纪的地中海城邦(意大利或者埃及犹太人)。复式记账技术成为中世纪至大航海时代复杂贸易的支柱性工具,使得复杂的合约、信贷成为可能。后世会计学、金融学的许多概念都来自于复式记账,可以说体系化的资本主义是从复式记账的实践中诞生的。 如何复式记账 网上对于复式记账的文章也是汗牛充栋了,但各种晦涩难懂的名词可能会吓跑人。我不打算在这里介绍什么是复式记账,因为很难一句话说清楚,说得复杂了又没有意义。其实你并不需要懂很多才能开始复式记账,只需要一些最基本的概念就可以了。这个概念就是会计恒等式。 会计恒等式 作为会计学的核心,复式记账是一种实践中诞生的技术。除了最基本的会计恒等式之外,复式记账只有规范,没有对错。那么什么是会计恒等式呢?最基本的形式就是: 资产 = 负债 + 权益(净资产) 这个等式对于没有接触过会计学的人来说可能不太容易理解,但是记账实践过马上会明白的。理解的难点在于,会计学上的「资产(Assets)」和一般人对一个人富有程度的理解不太一样,因为资产是负债和权益的总和,负债(Liabilities)也是资产的一部分。 更容易理解的部分其实是权益(Equity),在个人理财的上下文中,又和净资产(Net Assets)是等价的,也就是经常说的「个人净值」。净资产需要由总资产排除负债,一个人到底是否富有,看的是净资产,而不是资产。 举例说明,一个人首付 20 万美元,贷款 80 万美元,买了价格为 100 万美元的房产。假设这个人没有别的资产和负债,那么他的资产就是 100 万美元,负债是 80 万美元,而净资产是 20 万美元。在房价没有变化的情况下,买房对一个人的净资产没有什么影响(忽略手续费的话),而他的资产和负债都暴增,也就是所谓的「扩大资产负债表」。 如果你理解了会计恒等式,那么复式记账的一切知识障碍已经扫除了。 使用 Beancount 再说一遍,复式记账在于实践,在开始实践之前学很多艰深的会计学概念没有任何意义。要开始实践,就要有工具上手了。在众多工具中我推荐使用 Beancount,原因如下: Beancount 是一个开源工具,用 Python 实现的,可以本地运行。 账本是一套基于文本的语法,方便存储和管理,个人拥有全部的数据,还可以使用 Git 管理。 账本的语法很规范,也具备灵活度,像编程语言一样可以嵌套引入,也有语法高亮和代码检查工具。 有完整的命令行工具链和可视化工具 fava,还有基于 SQL 的查询和报表生成。 没有预先定义的类别、货币等现实世界概念,可以轻松实现多币种记账,包括各种点数、虚拟货币。 除了 Beancount,Plain Text Accounting网站还列出了其他的开源工具比较,类似的具有竞争力的开源工具还有 Ledger 和 hledger,其中 Ledger 是这类工具的开创者。无论使用里面介绍的哪个工具,其基本理念都差不多,即记录账户之间的资金流动。最重要的是,你是账本的所有者,如果不喜欢一个工具了,可以轻易转换到另一个工具。虽然它们语法有些许区别,但写一个脚本来转换不难。 ...

五月 19, 2026 · 7 分钟 · Yancey

Cachyos gpu 直通

Cachyos 使用qemu kvm安装操作系统后,网络nat与ufw冲突,如何解决 在 CachyOS(以及大多数 Arch 系发行版)中,QEMU/KVM 的 NAT 网络(通常是 virbr0)与 UFW 冲突是一个经典问题。 其根本原因在于:Libvirt 10.x 及更高版本默认改用了 nftables 作为后端,而 UFW 主要是为 iptables 设计的,或者其默认的“拒绝转发”策略(DROP Forward)拦截了虚拟机的流量。 以下是解决此问题的步骤,建议按顺序操作: 1. 将 Libvirt 切换回 iptables 后端(最推荐) 这是目前最有效的解决办法,因为 UFW 能够更好地识别和处理 iptables 生成的转发规则。 修改 Libvirt 的网络配置文件: Bash sudo nano /etc/libvirt/network.conf 找到 #firewall_backend = "nftables" 这一行(可能被注释掉了),取消注释并改为: Plaintext firewall_backend = "iptables" 保存并退出 (Ctrl+O, Enter, Ctrl+X)。 2. 修改 UFW 的转发规则 即使修改了后端,UFW 默认也会禁止所有“路由(Route)”流量。你需要显式允许虚拟网桥的流量。 执行以下命令: Bash # 允许虚拟网桥 virbr0 的入站流量 sudo ufw allow in on virbr0 # 允许经由 virbr0 的路由流量(这一步至关重要) sudo ufw route allow in on virbr0 sudo ufw route allow out on virbr0 3. 修改 UFW 的默认转发策略 如果上述操作后仍无法上网,请检查 UFW 的全局转发配置: ...

五月 19, 2026 · 8 分钟 · Yancey

Debian启用BBR

五月 19, 2026 · 0 分钟 · Yancey

Fcitx 最佳配置实践 2026-01-06

title: “Fcitx 最佳配置实践 2026-01-06” source: “https://manateelazycat.github.io/2026/01/06/fcitx-best-config/" author: published: created: 2026-01-11 description: tags: “clippings” Fcitx 最佳配置实践 2026-01-06 「Fcitx 」 2026-01-06 2486字 Linux 下最爽的输入法就是 Fcitx 了, 但是没有配置好, 就会出现各种各样的问题, 比如打太快漏字这种问题。 今天把所有博客关于 Fcitx 的配置都整理成一篇, 方便我自己和大家以后用。 安装 Fcitx5 输入法框架 安装 Fcitx5 软件包: sudo pacman -S fcitx5 fcitx5-gtk fcitx5-qt fcitx5-configtool fcitx5-rime librime fcitx5: 输入法基础框架主程序 fcitx5-gtk: GTK 程序的支持, 必须安装, 修复打字太快漏字的问题 fcitx5-qt: QT5 程序的支持, 必须安装, 修复打字太快漏字的问题 fcitx5-configtool: 图形化配置工具 fcitx5-rime: RIME 输入法 fcitx5-im: 输入法设置工具 librime: rime 相关库, 下面的 emacs-rime 会用到 备注: ...

五月 19, 2026 · 2 分钟 · Yancey

ghostty 配置文件

Config generated by Ghostty Config shell-integration = zsh shell-integration-features = cursor,sudo,title custom-shader-animation = true clipboard-read = allow clipboard-write = allow font-family = “ZedMono NFM Extd” font-style-bold = “Medium” font-style-bold-italic = “Medium Italic” font-size = 13.8 font-thicken = true grapheme-width-method = “unicode” adjust-cell-width = -5% palette = 0=#212733 palette = 1=#f08778 palette = 2=#53bf97 palette = 3=#fdcc60 palette = 4=#60b8d6 palette = 5=#ec7171 palette = 6=#98e6ca palette = 7=#fafafa palette = 8=#686868 palette = 9=#f58c7d palette = 10=#58c49c palette = 11=#ffd165 palette = 12=#65bddb palette = 13=#f17676 palette = 14=#9debcf palette = 15=#ffffff background = foreground = ...

五月 19, 2026 · 1 分钟 · Yancey

How to change hostname on Debian 121110 Linux

title: “How to change hostname on Debian 12/11/10 Linux” source: “https://www.cyberciti.biz/faq/how-to-change-hostname-on-debian-10-linux/" author: “[Vivek Gite](/tags/Vivek Gite/)” published: 2019-07-13 created: 2025-06-02 description: “This step-by-step guide explains how to change the hostname on your Debian Linux 12/11/10/9 system using the hostnamectl and /etc/hosts file.” tags: “Linux” H ow do I change the hostname of a Debian Linux 12/11/10 (“bullseye” or “Buster”) operating system permanently using the command line tools? You can use the hostnamectl command or hostname command to display or set the Debian Linux system’s host name. In this tutorial, you will learn how to change your hostname on Debian Linux. ...

五月 19, 2026 · 5 分钟 · Yancey

How to Fix SSH Failed Permission Denied

五月 19, 2026 · 0 分钟 · Yancey

Linux Xargs 命令使用

五月 19, 2026 · 0 分钟 · Yancey