博客 | Blog

一次失败的 ARK 跨所资金费交易

最近在尝试利用 AI 写一点套利的东西,毕竟实践出真知。vibe coding 了套利面板后,很快就发现了套利机会。10 月 2 日,依据资金费监测数据,在 Bybit 买入 ARKUSDT 永续、在 Binance 卖出等量永续,试图赚取两所负资金费率之差。当晚全部平仓,最后亏损 10.22 USDT。两边的 ARK 方向敞口大致对冲了,但买入较贵的合约、卖出较便宜的合约,留下了跨交易所价差收窄的风险。

交易经过 #

08:57 左右先开 400 ARK,此后于 14:54 至 15:24 分批增至 4000 ARK;20:53 至 20:55 分批平掉两边。Binance 为 4000 ARK 空单,Bybit 为 4000 ARK 多单,API 查询时两边仓位均为零。期间两边各经历 12 次资金费结算。

交易所 方向 买入成交额 卖出成交额 价格盈亏 资金费 手续费 单边净额
Binance 空 860.46870 877.66000 +17.19130 -18.17347339 约 -0.77047 约 -1.75
Bybit 多 905.22772 871.07000 -34.15772 +26.07750936 -0.38868874 -8.46889938

金额单位为 USDT。Binance 手续费实际扣除 0.00100479 BNB;表中按 10 月 2 日账本价格 766.80 USDT/BNB 估值。按原始流水合计,双边价格亏损 16.96642 USDT,资金费净收入 7.90403597 USDT,手续费约 1.15916 USDT,最终约 -10.22155 USDT。Beancount 按账本精度四舍五入,记为 -10.22 USDT。

...

告别 wg-easy:使用 Tailscale Peer Relays 实现低延迟组网

一直以来,我都在使用 wg-easy 作为个人的 VPN 方案。它的主要痛点在于默认走服务器中转,无法实现真正的 P2P 直连,而想要用原生 WireGuard 配置 P2P 网络又过于繁琐。

我之前也尝试过 Tailscale,但由于官方的 DERP 中继服务器在亚太地区通常只有香港节点,一旦国内两台设备遇到硬 NAT 无法直连,流量回退到官方 DERP 时的延迟非常高,中转体验甚至还不如 wg-easy,之前也尝试搭建过 DERP,过于复杂。

直到最近重新梳理网络架构,我发现了 Tailscale Peer Relays 功能。它能够完美利用我手里现有的中国大陆公网服务器,彻底解决了跨国和跨网中继的延迟问题。

为什么选择 Peer Relays 而不是自建 DERP? #

以前解决 Tailscale 延迟问题的常规思路是自建 Custom DERP 服务器,但这需要处理域名、HTTPS 证书以及编译更新等一系列繁琐操作。

Peer Relays 则是 Tailscale 的原生功能。它允许将尾网 (tailnet) 内现有的设备直接转变为高吞吐量的中继节点。只要设备间无法直连,流量会自动且优先走你配置的国内公网节点中继,无需回退到海外 DERP。部署极简,且没有任何底层功能限制。

极简配置记录 #

整个配置过程只需要三步。以我打上 tag:cn-relay 标签的国内服务器为例:

1. 开启节点监听 在具备公网 IP 的服务器终端执行以下命令,指定一个 UDP 端口(例如 40000):

Bash

sudo tailscale set --relay-server-port=40000

2. 放行防火墙 在云服务商的安全组和系统防火墙中,放行 UDP 40000 端口(源 IP 设为 0.0.0.0/0)。

...

数字生活 2026Q3

本季度变更 #

本季度变动如下:

  • MICU 可以取消了,tg 的频道就有想看的各种剧
  • 2026-07-19 使用 linkding-cn 取代 karakeep,主要后者太消耗资源了。推荐我维护的项目,会更新上游变更(毕竟有了LLM) https://github.com/wogong/linkding-cn
  • iCloud 土耳其区继续涨价,已经比美区贵了,可以考虑迁移到美区
  • Anki 方面推荐我的项目 vocabulary-builder 可以划词翻译添加到自己的词库,同时使用自己的 anki sync 服务器。
  • pm 重新跑起来,支上 arcane 和各种服务,有了固定宽带后稳定很多了。尝试 GitOps

完整版本工具库 #

  • 输入
    • 社交网络:Twitter
    • 论坛:V2EX, hacker news
    • RSS 订阅 (FreshRSS+Reeder),主要信息来源,订阅了包括博客、newsletter、微信公众号、微博时间线、mastodon等内容
    • 视频:Youtube, BiliBili, Telegram
    • 音乐:Youtube Music
    • 播客:Overcast、小宇宙
    • 书籍:文石Leaf3 微信读书
  • 输出
    • 笔记:Obsidian
    • 博客 hugo on cloudflare
    • 书评:豆瓣 goodread
  • 工具
    • 通讯
      • telegram, Wechat
      • Gmail
      • iCloud
      • Outlook
    • 文件
      • Dropbox 文件同步
      • Google Drive 在线文档
      • iCloud 用于照片和备份
    • 信息流
      • Linkding 网络书签
      • Instapaper 稍后阅读
      • ArchiveBox 网页存档
      • mbsync 邮件备份
      • Recoll 全文检索
    • 生产力
      • Toggl Track 时间记录
      • 滴答清单 待办管理工具
      • Google Calendar 个人日程管理
    • 个人数据
      • Obsidian 个人日志及笔记
      • Rond 个人位置时间线
      • Beanocunt 个人金融数据
      • Strava 个人运动数据
    • 隐私安全
      • Bitwarden 自建的密码管理及两步验证管理工具
      • cryptomater
      • DuckDuckGo masked email
    • 其他
      • Anki 记忆 vocabulary-builder
      • mihomo Surge 代理工具
      • https://up.wogong.net 服务监控
      • PVE 虚拟机 PBS 备份
      • borgmatic 备份文件
      • arcane GitOps
  • 硬件
    • 计算机 MacBook Air M1 Mac Mini M4 ThinkPad X1 Carbon 2020
    • 鼠标 鼠标 Logtech MX Anywhere 3 鼠标 鼠标 罗技(G)G102 有线鼠标 黑色
    • HHKB Professional HYBRID Type-S
    • iPhone 15 Pro 红米K70E
    • Apple Watch S8 GPS 45mm
    • 耳机 Apple Airpods Pro
    • 电子书 文石Leaf3
  • 信息流

数字生活 2026Q2

本季度变更 #

2026年第一季度,本篇新建在1月末,因为发现季度结束再回忆可能就忘记了,所以不如折腾了就随手记录一下。

本季度变动如下:

openclaw 的爆火让我大幅重构了个人基础设施,尤其是之前的 telegram bot 体系完全没 openclaw 替代,具体包括 beancount-bot obsidian-bot 以及各种回顾任务考虑由 openclaw cron 初加工。

输入方面:

  • 音乐方面,放弃了很多年付费订阅的 Spotify,原因第一是每年都在涨价,第二是 YouTube Prime 的订阅包含了 YouTube Music,因此尝试迁移到后者。

工具方面

  • karakeep all list 自动导入到 archivebox
  • https://healthchecks.io/ 定时服务监控和 https://uptimerobot.com 网络服务监控 一起合并到 uptime-kuma 此外还发现了 uptime-kuma 的 push 类型,可以通过服务主动发送心跳的方式做到被动监控,监控了内网的机器还有一些机器人,大幅提高掌控度。思考一下在三亚的各种服务是不是也可以使用 uptime-kuma 来监控?

完整版本工具库 #

  • 输入
    • 社交网络:Twitter
    • 论坛:V2EX, hacker news
    • RSS 订阅 (FreshRSS+Reeder),主要信息来源,订阅了包括博客、newsletter、微信公众号、微博时间线、mastodon等内容
    • 视频:Youtube, BiliBili, MICU
    • 音乐:Youtube Music
    • 播客:Overcast、小宇宙
    • 书籍:文石Leaf3 微信读书
  • 输出
    • 笔记:Obsidian
    • 博客 hugo on cloudflare
    • 书评:豆瓣 goodread
  • 工具
    • 通讯
      • telegram, Wechat
      • Gmail
      • iCloud
      • Outlook
    • 文件
      • Dropbox 文件同步
      • Google Drive 在线文档
      • iCloud 用于照片和备份
    • 信息流
      • Karakeep 网络书签
      • Instapaper 稍后阅读
      • ArchiveBox 网页存档
      • mbsync 邮件备份
      • Recoll 全文检索
    • 生产力
      • Toggl 时间记录
      • 滴答清单 待办管理工具
      • Google Calendar 个人日程管理
    • 个人数据
      • Obsidian 个人日志及笔记
      • Rond 个人位置时间线
      • Beanocunt 个人金融数据
      • Strava 个人运动数据
    • 隐私安全
      • Bitwarden 自建的密码管理及两步验证管理工具
      • cryptomater
      • DuckDuckGo masked email
    • 其他
  • 硬件
    • 计算机 MacBook Air M1 Mac Mini M4 ThinkPad X1 Carbon 2020
    • 鼠标 鼠标 Logtech MX Anywhere 3 鼠标 鼠标 罗技(G)G102 有线鼠标 黑色
    • HHKB Professional HYBRID Type-S
    • iPhone 15 Pro 红米K70E
    • Apple Watch S8 GPS 45mm
    • 耳机 Apple Airpods Pro
    • 电子书 文石Leaf3
  • 信息流
    • Douban RSS -> Karakeep
    • FreshRSS starred RSS -> Karakeep
    • Instapaper RSS -> Karakeep
    • Web -> Karakeep (manual)
    • Karakeep -> Archivebox

beancount 加密货币记账实践

beancount 记录数字货币有很大的优势,天然支持多币种,且有完善的投资记账支持(cost/price/lots)。然而 beancount 设计之初没有考虑到加密货币,因此某些场景极不方便。下面列举常见的加密货币场景以及我使用 beancount 记账的实践,可能谈不上最佳,读者若有好的记账办法也不吝赐教。

稳定币 #

将 USDT 设置为本币,其他所有稳定币都当作以 USDT 计价的货币。在稳定币之间的兑换可以这样记录(其实就是当作价格为1.00 USDT的加密货币),因为价格差导致的损失/收益统一记录在 Expenses 账户中。

2025-01-01 * "" ""
    Assets:Crypto:CEX:Binance:USDT -1000.00 USDT
    Expenses:Crypto:Spot:USDC
    Assets:Crypto:CEX:Binance:USDC 999.99 USDC {1.00 USDT}

转账 #

精确但繁琐 #

最精确的是写清楚每一笔 lots 的成本,但是比较繁琐(可以借助脚本来自动填充)。

2025-01-01 * "" ""
    Assets:Crypto:CEX:Binance:USDC -999.99 USDC {1.00 USDT}
    Expenses:Crypto:Transfer
    Assets:Crypto:Wallet:XXXX:USDC 999.99 UDSC {1.00 USDT}

洗成本 #

每次转账当成一次卖出,优点是简单,账户中不会出发繁多的不同 cost 的 lots,缺点是会使未实现收益转变为实现收益,同时成本发生变化。

2025-01-01 * "" ""
    Assets:Crypto:CEX:Binance:USDC -999.99 USDC {} @ 1.00 USDT
    Expenses:Crypto:Transfer
    Assets:Crypto:Wallet:XXXX:USDC 999.99 UDSC {1.00 USDT}

新建无成本的虚拟资产 #

这个是我早期的做法,方便,但是无法追踪投资收益变化,且会增加记账复杂度,这里介绍但不推荐了。例如对于 BTC 转账,如果只是短期行为,可以记录为 BTC_PH 转账

...

2025-2026雪季总结

2025-2026 雪季安排

这个雪季的安排非常奇怪的一波三折,不过最终结束居然是我这么多年雪季天数最多的一天。下面细细道来。

260101玉龙湾开板 #

元旦和PP一起在北京,玉龙湾滑雪场,参加的野狼户外的活动。其实在这次之前就有想过从单板切换为双板,因为单板滑了几年,目前也就能勉强换刃,距离流畅和刻滑还有不小的差距,每次雪季开始都兴致冲冲,但是重摔了几次后就对速度充满了恐惧,让滑雪的乐趣降低不少。另外PP也是新手,以前滑的也是双板,次数寥寥。考虑到避免单板摔的太狠,还是一起滑双板比较安全。

这一天的总体体验还是不错的,我体验了单眼隐形的快乐(取戴隐形真的太麻烦了!),一天下来也没摔几次,半犁式因为滑的像模像样。

石河子小雪场练活 #

春节前夕,在石河子周边的小雪场疯狂练活。第一天去的将军山,后面几天去新开的花果山,在石河子滑雪的微信群里蹭到了车,每天早出晚归,中饭就在雪场吃点干粮,虽然雪道短,但是进步还是非常明显的,这几天里体验到了各种雪况,第一次直观感受到不同雪况导致滑雪体验的迥然不同。

吉林通化万峰 #

和弟弟及其女朋友的 Double Ski Travel,最终为什么是这个样子比较一言难尽,我作为首发本来要退出,导致弟弟上了替补,最后我又回来要位置(没位置了),最终只能4人一起滑雪。

可惜 通化万峰滑雪场 的雪况太差了,今年是个暖冬,上午还可以的雪况下午基本就融化了,虽然过来的前一天已经造雪(只造初级道),整体体验还是一般。

弟弟单转双居然这么艰难,让我有点意外。

260307-北京高山滑雪中心封板 #

高山滑雪中心真不错,早上雪质量非常好,粉扑扑,厚度也还能接受,部分地方有点薄,一对比万峰差太远。

顶门直接上山是对的,9点多刚开门山下缆车还不需要排队,第二趟下来开始排队就非常可怕了,就这还不是村里的缆车。

穿越海坨确实初级道,第一趟可以一边滑一边瞅瞅其他高级道的样子,不过今天就开了ABCD索。主要滑C索部分的穿越海坨,因为B索排队太可怕了。

中间有一趟从彩霞下了(高级道!),不过由于向阳,我下的时候雪已经开始化了,坡太陡我这种愚昧巅峰都没到的人只能勉强平行刹车下去,没摔就能接受吧,但是也练不了啥,不认识路还滑到了B索排了一辈子。

上山后签订吃牛肉干鸭爪当午饭,配合带的保温杯喝口水。休息的时候滑了28公里,下午一点多继续滑,最后四点多点最后一趟前半段拍了视频,后半段走的回村雪道上到集散中心,再回村雪道下,这里摔了好几次,一方面是累了,另一方面这个雪也太一言难尽了,一坨一坨的冰沙。

最后60.3公里结束!一天贡献了本雪季三分之一的里程😆 我的雪季这次真的结束了!(吧)

Final #

这个雪季的雪日是滑雪以来最多的,从第一次双板体验,到后来曲折的单板学习,兜兜转转今年又是整个雪季的双板。感觉双板的水平已经和这么多年的单板差不多了。可能双板才是更适合我?

未来应该怎么进步呢?卡宾,自由式这些都可以尝试。在滑行的过程中感受到自由,比焦虑地练技术可能更适合我。我对滑雪的热爱,有相当一部分是因为弟弟每年的固定安排,这个雪季的双板让我自己确信,即使没有弟弟我也应该会一直滑下去 XD

数字生活 2026Q1

本季度变更 #

2026年第一季度,本篇新建在1月末,因为发现季度结束再回忆可能就忘记了,所以不如折腾了就随手记录一下。

本季度变动如下:

openclaw 的爆火让我大幅重构了个人基础设施,尤其是之前的 telegram bot 体系完全没 openclaw 替代,具体包括 beancount-bot obsidian-bot 以及各种回顾任务考虑由 openclaw cron 初加工。

输入方面:

  • 音乐方面,放弃了很多年付费订阅的 Spotify,原因第一是每年都在涨价,第二是 YouTube Prime 的订阅包含了 YouTube Music,因此尝试迁移到后者。

工具方面

  • karakeep all list 自动导入到 archivebox
  • https://healthchecks.io/ 定时服务监控和 https://uptimerobot.com 网络服务监控 一起合并到 uptime-kuma 此外还发现了 uptime-kuma 的 push 类型,可以通过服务主动发送心跳的方式做到被动监控,监控了内网的机器还有一些机器人,大幅提高掌控度。思考一下在三亚的各种服务是不是也可以使用 uptime-kuma 来监控?

完整版本工具库 #

  • 输入
    • 社交网络:Twitter
    • 论坛:V2EX, hacker news
    • RSS 订阅 (FreshRSS+Reeder),主要信息来源,订阅了包括博客、newsletter、微信公众号、微博时间线、mastodon等内容
    • 视频:Youtube, BiliBili, MICU
    • 音乐:Youtube Music
    • 播客:Overcast、小宇宙
    • 书籍:文石Leaf3 微信读书
  • 输出
    • 笔记:Obsidian
    • 博客 hugo on cloudflare
    • 书评:豆瓣 goodread
  • 工具
    • 通讯
      • telegram, Wechat
      • Gmail
      • iCloud
      • Outlook
    • 文件
      • Dropbox 文件同步
      • Google Drive 在线文档
      • iCloud 用于照片和备份
    • 信息流
      • Karakeep 网络书签
      • Instapaper 稍后阅读
      • ArchiveBox 网页存档
      • mbsync 邮件备份
      • Recoll 全文检索
    • 生产力
      • Toggl 时间记录
      • 滴答清单 待办管理工具
      • Google Calendar 个人日程管理
    • 个人数据
      • Obsidian 个人日志及笔记
      • Rond 个人位置时间线
      • Beanocunt 个人金融数据
      • Strava 个人运动数据
    • 隐私安全
      • Bitwarden 自建的密码管理及两步验证管理工具
      • cryptomater
      • DuckDuckGo masked email
    • 其他
  • 硬件
    • 计算机 MacBook Air M1 Mac Mini M4 ThinkPad X1 Carbon 2020
    • 鼠标 鼠标 Logtech MX Anywhere 3 鼠标 鼠标 罗技(G)G102 有线鼠标 黑色
    • HHKB Professional HYBRID Type-S
    • iPhone 15 Pro 红米K70E
    • Apple Watch S8 GPS 45mm
    • 耳机 Apple Airpods Pro
    • 电子书 文石Leaf3
  • 信息流
    • Douban RSS -> Karakeep
    • FreshRSS starred RSS -> Karakeep
    • Instapaper RSS -> Karakeep
    • Web -> Karakeep (manual)
    • Karakeep -> Archivebox

Uptime-kuma 使用

今年看RSS订阅中的年终总结时,频繁看到 uptime-kuma1 ,其实之前就耳闻过,这次刚好有动力折腾一下。在此之前我的监控需求主要由两个工具满足,其一是 uptimerobot2,主要监控网站是否正常,其二是 healthcheck3,主要监控定时任务是否正常。

从名字来看,我一直以为 uptime-kuma 只能替代 uptimerobot,没想到部署后发现对于定时任务 uptime-kuma 也可以使用 Push 的方式被动监控,因此完美替代了我此前的监控需求。删除 healthcheck 账户,uptimerobot 留着继续监控 uptime-kuma 本身。

另外在折腾的过程中,我的 Telegram Bot 频繁出问题,因此和大模型聊了一下 uptime-kuma 是否可以监控 Telegram Bot 的运行状况,Gemini 给了非常不错的回答,按照实现难度从低到高给了3种方案。

方案 监控粒度 复杂度 适用场景
Push 心跳 进程级 低 最通用,适合大多数个人 Bot
HTTP 检查 服务级 中 适合使用 Webhook 部署的专业 Bot
模拟用户 业务级 高 关键业务,需要确保指令响应完全正常

偷懒的个人用户当然选择 Push 心跳方式,在 uptime-kuma 中还是使用和定时任务一样的 Push 监控,需要在 Telegram Bot 的代码中实现心跳逻辑。

import requests
from apscheduler.schedulers.background import BackgroundScheduler

def send_heartbeat():
    try:
        requests.get("https://your-kuma-url/api/push/TOKEN?status=up&msg=OK")
    except Exception as e:
        print(f"Heartbeat failed: {e}")

scheduler = BackgroundScheduler()
scheduler.add_job(send_heartbeat, 'interval', minutes=1)
scheduler.start()

参考 #


  1. A fancy self-hosted monitoring tool https://github.com/louislam/uptime-kuma ↩︎

    ...

Bitwarden as SSH agent

SSH 密码登录由于安全/便利问题现在几乎不会推荐使用,使用密钥登录应该已经是基本操作。但是如何管理不同设备不同私钥是个大的问题,我之前的实践是同一份私钥复制到有登录需求的各个设备(几乎等于所有设备),毕竟为每台设备生成独立的密钥大幅提高了管理的难度。

今天偶然看到(RSS订阅突然多出了600+未读) Xuanwo 的文章: 2023-21: 我的 1Password 密钥管理实践,决定在安全方面优化一下 SSH 密钥管理体系。我日常使用 Bitwarden,搜索发现也支持了 SSH agent 功能1 。下面依次介绍不同平台的使用。

Windows 11 WSL2 #

参考文章 https://www.rebelpeon.com/bitwarden-ssh-agent-on-wsl2/

# host, you should install chocolate first
choco install npiperelay

# wsl2
sudo apt install socat

~/scripts/agent-bridge.sh, add source <path> to your shell rc.

export SSH_AUTH_SOCK=$HOME/.ssh/agent.sock
ss -a | grep -q $SSH_AUTH_SOCK
if [ $? -ne 0   ]; then
    rm -f $SSH_AUTH_SOCK
    ( setsid socat UNIX-LISTEN:$SSH_AUTH_SOCK,fork EXEC:"/mnt/c/ProgramData/chocolatey/lib/npiperelay/tools/npiperelay.exe -ei -s //./pipe/openssh-ssh-agent",nofork & ) >/dev/null 2>&1
fi

Then you can use ssh-add -l to test.

...

数字生活 2025Q4

本季度变更 #

2025年的最后一个季度,一直在三亚,Q3 发现的问题还需要抽空慢慢解决。

  • 本地网络网关一定要简单化,保持 wg 的稳定
  • 重要服务不要在本地跑

本季度变动如下:

输入方面:

  • RSS 阅读器放弃 Folo,重新用回 FreshRSS+Reeder 组合,订阅中加入了 mastodon ( https://douchi.space/@wogong/115220705802148678 )
  • 又又下载了小宇宙,Overcast 因为网络问题和中文搜索问题,使用起来体验确实差了点。

工具方面

  • 部署了 karakeep 替代 Raindrop,据此重构了信息流,甚至可以观察看看是否可以取代 archivebox
  • Paperless 扫描文档仓库几乎没有再使用了,如何管理扫描票据还真是个问题,直接照片可能更好其实

完整版本工具库 #

  • 输入
    • 社交网络:Twitter
    • 论坛:V2EX, hacker news
    • RSS 订阅 (FreshRSS+Reeder),主要信息来源,订阅了包括博客、newsletter、微信公众号、微博时间线、mastodon等内容
    • 视频:Youtube, BiliBili, MICU
    • 音乐:Spotify
    • 播客:Overcast、小宇宙
    • 书籍:文石Leaf3 微信读书
  • 输出
    • 笔记:Obsidian
    • 博客 hugo on cloudflare
    • 书评:豆瓣 goodread
  • 工具
    • 通讯
      • telegram, Wechat
      • Gmail
      • iCloud
      • Outlook
    • 文件
      • Dropbox 文件同步
      • Google Drive 在线文档
      • iCloud 用于照片和备份
    • 信息流
      • Karakeep 网络书签
      • Instapaper 稍后阅读
      • ArchiveBox 网页存档
      • mbsync 邮件备份
      • Recoll 全文检索
    • 生产力
      • Toggl 时间记录
      • 滴答清单 待办管理工具
      • Google Calendar 个人日程管理
    • 个人数据
      • Obsidian 个人日志及笔记
      • Rond 个人位置时间线
      • Beanocunt 个人金融数据
      • Strava 个人运动数据
    • 隐私安全
      • Bitwarden 自建的密码管理及两步验证管理工具
      • cryptomater
      • DuckDuckGo masked email
    • 其他
  • 硬件
    • 计算机 MacBook Air M1 Mac Mini M4 ThinkPad X1 Carbon 2020
    • 鼠标 鼠标 Logtech MX Anywhere 3 鼠标 鼠标 罗技(G)G102 有线鼠标 黑色
    • HHKB Professional HYBRID Type-S
    • iPhone 15 Pro 红米K70E
    • Apple Watch S8 GPS 45mm
    • 耳机 Apple Airpods Pro
    • 电子书 文石Leaf3
  • 信息流
    • Douban RSS -> Karakeep
    • FreshRSS starred RSS -> Karakeep
    • Instapaper RSS -> Karakeep
    • Web -> Karakeep (manual)