Skip to content

Instantly share code, notes, and snippets.

@kuyagic
kuyagic / fdfile
Created February 1, 2026 10:48
Generate the file list based on the ignore configuration and CACHEDIR.TAG.
fdfile() {
local output_file=""
local OPTIND opt
# === 选项解析:仅支持 -o output_file ===
while getopts "o:" opt; do
case "$opt" in
o) output_file="$OPTARG" ;;
*)
echo "Usage: fdfile [-o OUTPUT_FILE] DIR1 [DIR2 ...]" >&2
@kuyagic
kuyagic / fd-borg
Created January 15, 2026 02:54
borg-backup
#!/bin/bash
# fd-borg — All-in-one backup script with YOUR fdfile logic (fixed for compatibility)
# Usage: fd-borg [-s] [--config FILE] [--dry-run] [--comment TEXT] PATH [PATH...]
set -euo pipefail
SELF=$(basename "$0")
# ---- 安全初始化 USER 和 HOME ----
# 方法 1:优先用环境变量,否则 fallback 到 $(id -un)

Keybase proof

I hereby claim:

  • I am kuyagic on github.
  • I am kuyagic (https://keybase.io/kuyagic) on keybase.
  • I have a public key ASBI9UZ1i1iIY1Oq94h7NCa8iF6MJ-fXIECqE50ME-sSYgo

To claim this, I am signing this object:

Keybase proof

I hereby claim:

  • I am kuyagic on github.
  • I am kuyagic (https://keybase.io/kuyagic) on keybase.
  • I have a public key whose fingerprint is 318C 31EF 10B2 D373 DFAC DABD 899E DBC7 830E 0DA6

To claim this, I am signing this object:

#block video ad
/ip firewall layer7-protocol
add name=youku-tudou regexp="^.+(v2html.atm.youku.com|atm.youku.com|ad.api.3g.tudou.com|ad.api.3g.youku.com).*\$"
add name=tencent regexp="^.+(fp.qq.com|rcgi.video.qq.com|tj.video.qq.com).*\$"
add name=iqiyi regexp="^.+(api.cupid.iqiyi.com).*\$"
add name=letv regexp="^.+(fz.letv.com|dc.letv.com|ark.letv.com).*\$"
add name=crossdomain regexp="^.+(crossdomain.xml).\$"
/ip firewall filter
add action=reject chain=forward comment="\CC\DA\D1\B6\CA\D3\C6\B5" layer7-protocol=tencent protocol=tcp reject-with=tcp-reset