Gradle 报错 Proxy returns "HTTP/1.1 407 Proxy Authentication Required" 解决

参考文献 https://stackoverflow.com/a/64495153/18322863 由于服务器所在的环境并非国际互联网环境,因此需要将代理运行在服务器上,而 Gradle 想要使用此代理,设置环境变量是无效的。 需要通过配置文件 ~/.gradle/gradle.properties: systemProp.http.proxyHost=127.0.0.1 systemProp.http.proxyPort=7890 systemProp.http.proxyUser=xxx systemProp.http.proxyPassword=xxx systemProp.https.proxyHost=127.0.0.1 systemProp.https.proxyPort=7890 systemProp.https.proxyUser=…

在无状态环境中实现自动化备份:基于 Duplicati 的实践

最近在使用某公共算力平台,这个平台除了指定的持久化目录外,其余数据在重启后全部丢失,而且这个持久化目录还是通过对象存储实现的,这导致里面的文件权限无法保持,比如强制 0755,因此直接把用户目录持久化的方案是不可行的,会造成奇奇怪怪的问题。 综上所有信息,我选择使用 Duplicati 完成自动化备份,并在需要的时候恢复文件。 安装 前往 duplicati/duplicati - Release 下载适用于系统的 gui 安装包。例如我这里的是 x86-64 的 Ubuntu 环境,于是下载 duplicati-2.3.0.0_stable_2026-04-14-linux-x64-gui.deb,上传到 ~/Download 目录中,使用以下命令安装: apt install ~/Download/duplicati-…

校园网突破限速、限终端数量终极办法:组网+多播

我目前所在的学校校园网单端限速 500Mbps,确实已经足够高了,不过依旧限制两个客户端。由于我有多台设备、IoT设备,数量远超限制,因此需要考虑使用一些手段。 此方法理论适用于所有高校的校园网。 1. 方案构思 1.1 利用负载均衡实现带宽叠加 首先,通过实验发现,判断是什么类型的设备是依靠浏览器自己识别,然后通过参数传递给认证网关,并且认证设备靠上游网关获取到的 MAC 地址区分,也就是说完全可以使用路由器接入校园网,让下游设备完成登陆认证,这样认证网关认证的是路由器的 MAC 地址。 接下来,如果是简单的认证,无法实现突破限速,我这里的校园网允许一个账号登陆一个手机端一个电脑端,因此我们可以通过多播的方式,让软路由虚拟出两个网口,并通过 MWan3 负载均衡,这样就能在一定程度上实现突破 500Mbps 限速。 为什么说一定程度上呢?原因如下: 1. 由于实现方式是负载均衡,这种方式仅仅是将不同请求分发给不同的网口进行通信,也就是说,单个 TCP 连接就只能一直使用同一个网口进行通信,也就是说速度无法突破 500Mbps。 2.…

解决 macOS 更改用户目录到外置硬盘后 JetBrains Toolbox 无法安装 IDE

更换白果之后,因为囊中羞涩买的是 32+256 的 macMini,所以需要把用户目录修改到外置硬盘里。但这样带来了个新问题,如题,下载 IDE 正常,但安装的时候报错“无法解压应用”,查阅日志如下: 3.2.0.65851 966 2026-02-10 13:12:14.561 INFO tDispatcher-worker-9 VerificationStateWorkerKt Correct checksum for /Volumes/Home/Library/Caches/JetBrains/Toolbox/download/b9a057c05-idea-2025.3.2-aarch64.dmg (b9a057c055fa7dde406bbf9807fca2b367f0c1d47771df6ac068a07ffdb76ec9)…

不禁用 SIP 解决 macOS 无法调用 Bitwarden SSH-Agent

前情提要:解决 macOS 上 Tabby 无法调用 Bitwarden 的 SSH-Agent 之前使用黑果的时候尝试过解决这个问题,但我忽略了一个很重要的事实:黑果默认禁用 SIP,因此上一篇帖子的解决方案仅适用于禁用 SIP 的情况,换了白果之后如果不想禁用 SIP 则需要寻找新的解决方案。 我有两个场景需要使用 SSH-Agent,一个是 Tabby 连接 SSH,一个是 JetBrains Toolbox 远程开发时,分别对应两类解决方案。 Tabby Tabby 拥有插件系统,可以使用插件 ssh-auth-socket 覆盖自定义 SSH_AUTH_SOCK 环境变量。 JetBrains Toolbox 这种可以设置为开机自启的应用,可以利用“自动操作”应用设置一个“…

WSL 中使用 Bitwarden SSH-Agent

参考文章:https://community.bitwarden.com/t/ssh-agent-native-support-for-ssh-agent-in-wsl/83831/5 很简单,把这几句加到 .bashrc 文件的开头(或结尾,或直接 /etc/profile.d/*.sh,但这样使用 JetBrains Gateway 的时候就不能访问到了,其他不受影响): alias ssh='ssh.exe' git config --global core.sshCommand "ssh.exe" alias ssh-add=…

JetBrains Gateway 不加载 .bashrc 甚至不加载 /etc/profile.d/*.sh 解决方案

参考文章:https://youtrack.jetbrains.com/issue/IJPL-166938/Bash-Profile-Not-Loaded-and-Non-Interactive-Run-Shell JetBrains Gateway 一直有个问题在困扰我,就是它启动的 IDE 不加载我放在 /etc/profile.d 的环境变量,我写在 .bashrc 里的 alias 也不生效。 经过网上冲浪找到原因:JetBrains Gateway 使用非交互式运行 shell,而这种情况下 /etc/profile 并不会加载,并且 .bashrc 文件开头有这么一句: # If not running interactively, don'…

解决 macOS 上 Tabby 无法调用 Bitwarden 的 SSH-Agent

环境介绍 使用的环境如下: * macOS 14.7.6 * Bitwarden Server self-host 2025.5.1 * Bitwarden Client 2025.5.0 * Tabby 1.0.223 解决方案 简单来说,是 macOS 自带了一个 ssh-agent,并且无法覆盖,导致设置的 Bitwarden 的 SSH-Agent 无效,Tabby 调用的一直是系统自带的 SSH-Agent。 于是解决方案如下: 1. 重启你的 macOS,重启之后,问题应该已经解决。 编辑文件 ~/Library/LaunchAgents/com.…