包含 Keritial。如果你看到了不符合你印象中的 Keritial 的有关 Keritial 的内容,那么这个有关 Keritial 内容与 Keritial 无关。
This channel is now available at https://memo.krtl.top.
Hosted at Vercel.com, original project is https://github.com/ccbikai/BroadcastChannel.
Hosted at Vercel.com, original project is https://github.com/ccbikai/BroadcastChannel.
Found a very impressive article: https://kube.io/blog/liquid-glass-css-svg/
shizuku 安装器 2.0 测试版
新功能:网络安装
现在可以分享apk的下载链接到安装器,直接预览apk并安装。
预览时只下载少量元数据,安装时使用多线程下载。
这是对 安装后自动删除apk文件 需求的替代实现,从源头解决问题,不产生任何中间文件,网络一步安装进系统。
限制:
只兼容能够多线程下载的服务器;
只支持不依赖cookies的链接;
只能通过分享打开,chrome浏览器可能难以获得apk下载链接,可以临时换via等其它浏览器。
新功能:网络安装
现在可以分享apk的下载链接到安装器,直接预览apk并安装。
预览时只下载少量元数据,安装时使用多线程下载。
这是对 安装后自动删除apk文件 需求的替代实现,从源头解决问题,不产生任何中间文件,网络一步安装进系统。
限制:
只兼容能够多线程下载的服务器;
只支持不依赖cookies的链接;
只能通过分享打开,chrome浏览器可能难以获得apk下载链接,可以临时换via等其它浏览器。
华为云的日志列表,按照日志大小排序,是字符串的字典序而非数值序,114 MB < 514 KB。
当看到这一切时,我大脑皮层的褶皱仿佛瞬间被抚平了、拉展了,有股瞬间的放松,就像漫步在挪威的森林,感觉自己又像是一只灵动的蝴蝶,允吸雨后的第一滴甘露,整个人犹如化成一滩潭水,缓缓流逝,慢慢平静...
https://x.com/Vincy1230/status/1930281338965504261?s=19z
五一沉浸式体验卡粉生活流程安排
机场出发去罗湖口岸品尝域外风情,在vtm小包间里和工银亚洲约会,约会途中信息联系hsbc安排异国风味初体验。
同时借由外部网络与za 天星 信银国际的网络名流攀谈。如有机会约hsbc线下见面签一下。
返回深圳后到店体验华商银行精致服务。
机场出发去罗湖口岸品尝域外风情,在vtm小包间里和工银亚洲约会,约会途中信息联系hsbc安排异国风味初体验。
同时借由外部网络与za 天星 信银国际的网络名流攀谈。如有机会约hsbc线下见面签一下。
返回深圳后到店体验华商银行精致服务。
const a = -3 / 80;
const e = 1;
const f = 5;
const g = 8 / 3;
const h = 9 / 10;
const i = 1;
const l = 11 / 3;
const n = 3;
const o = 1 / 3;
const r = 1;
const s = 7 / 3;
const t = 10 / 3;
const u = 12 / 5;
const v = 1;
const w = 9 / 5;
const x = 18 / 7;
const z = 0;我去,我才知道
用 -j | jq 心里有底气得多:
从此再也不内耗了,再让我看到 awk/grep/sed 切字符串我直接使用纵欲卡🤬
ip(8) 有个 -j 可以输出 json 格式,比如获取一个网络接口的二层地址,我之前一直是 $ s ip -n node2 -br l sh nsim1 | awk '{print $3}'
72:b2:7a:99:fe:f4用 -j | jq 心里有底气得多:
$ s ip -n node2 -j l sh nsim1 | jq -r '.[0].address'
72:b2:7a:99:fe:f4从此再也不内耗了,再让我看到 awk/grep/sed 切字符串我直接使用纵欲卡
1. disas kernel
之前我都是用
gdb -ex 'x/100i 0x'$(ksym skb_gso_validate_network_len) -ex q vmlinux /proc/kcore 这种蹩脚的方式去看汇编;若是 bpf prog 会用 bpftool p d 。但前者要手算 call 的目标函数,后者又长期有 bug (https://github.com/libbpf/bpftool/issues/109)。但是以后我会用
bpfsnoop -d -k ip_rcv和
bpfsnoop -d -p n:cil_to_overlay来代替 gdb。输出非常好(图一),有颜色,有行号,有正确的 call 指令解析。
2. 用 --output-arg --filter-arg --filter-pkt 做 skb 观测
之前讨论过一个 nf postrouting 不会两次处理同一个 skb 的问题,本质是要观测 skb->_nfct 在生命期内的变化,用 bpfsnoop 可以一步到位:
bpfsnoop --filter-pkt 'icmp and dst host 10.244.2.2' -t '*:(struct sk_buff *)skb' --output-pkt --output-arg 'skb->_nfct' 虽然目前还不支持更复杂的操作,比如想观测 skb_sec_path(skb) 则需要写成 --output-arg 'skb->extensions->offset[1] << 3' 然而并不支持,但大部分简单的场景够用了。
3. 用 --output-lbr 观测 bpf prog
bpf prog 自身的观测性一直比较恶心,用 lbr 和 kprobe on bpf helpers 是目前为止我所知的唯二办法,而 bpfsnoop 是唯一实现了前者工程化的工具。(其实两者结合才是最吼的)
比如排查 https://github.com/cilium/cilium/issues/35023 的时候需要找到 bpf 运行的提前返回点,可以先无脑观测 bpf prog 退出时的 lbr
bpfsnoop -p i:7963 --output-lbr --filter-pkt 'dst host 1.1.1.1 and tcp[tcpflags]=tcp-syn' -m exit然后再根据结果往上以 bpf helper 为节点回溯
bpfsnoop -k bpf_skb_event_output --output-lbr --filter-pkt 'dst host 1.1.1.1 and tcp[tcpflags]=tcp-syn' -m entry最终定位代码执行流