大家好,最近在调优量化交易的网络架构时遇到了一个非常诡异的网络连通性问题,折腾了一圈没找到根本原因,特来向各位网络/DevOps 大佬求助。 📌 核心现象 我手里有一个带有账号密码认证的 HTTP 代理(类似住宅/节点代理池)。 运行同一条 curl 测试指令请求 google 的时间戳 API: 在海外 Linux 服务器上: 秒回,完全正常。 在本地 macOS 上: 无法连通(无论是否开启 Clash TUN 模式)。 测试指令如下: curl -v -xhttp://[USERNAME]:[PASSWORD]@[PROXY_IP]:[PROXY_PORT]/" https://www.google.com 💻 运行环境比对 ** [环境 A:本地(无法连通)] ** OS: macOS (Apple Silicon / Intel) 网络环境: 国内直连 / 挂载了 Clash Verge (无论关闭代理、开启系统代理还是开启 TUN 模式,该指令均失败) Curl 版本: macOS 自带 (SecureTransport / LibreSSL) ** [环境 B:服务器(正常连通)] ** OS: Ubuntu 22.04 / CentOS 网络环境: 海外机器 Curl 版本: Linux 自带 (OpenSSL) 🤔 我的猜测与疑问 结合以上现象,我目前有几个猜测,希望大佬们帮忙看看哪个最有可能,或者指导一下下一步的抓包排查方向: GFW 阻断? 本地发往海外 [PROXY_IP] 的代理请求是明文 HTTP 握手,是不是直接被运营商或 GFW 识别并重置( RST )了? 代理服务商白名单限制? 这种带账密的代理,服务商后台是否通常会绑定请求端的公网 IP ?因为服务器 IP 可能在白名单内,而我本地宽带 IP 每天都在变。 底层 SSL 库差异? macOS 自带的 curl 库与目标代理服务器之间,在建立 CONNECT 隧道时的 SSL 握手失败了? 如果有大佬遇到过类似“本地挂代理调不通,服务器畅通”的坑,或者知道怎么用 tcpdump 精准抓这个过程的包,恳请指点迷津!感激不尽。
大家好,最近在调优量化交易的网络架构时遇到了一个非常诡异的网络连通性问题,折腾了一圈没找到根本原因,特来向各位网络/DevOps 大佬求助。 📌 核心现象 我手里有一个带有账号密码认证的 HTTP 代理(类似住宅/节点代理池)。 运行同一条 curl 测试指令请求 google 的时间戳 API: 在海外 Linux 服务器上: 秒回,完全正常。 在本地 macOS 上: 无法连通(无论是否开启 Clash TUN 模式)。 测试指令如下: curl -v -xhttp://[USERNAME]:[PASSWORD]@[PROXY_IP]:[PROXY_PORT]/" https://www.google.com 💻 运行环境比对 ** [环境 A:本地(无法连通)] ** OS: macOS (Apple Silicon / Intel) 网络环境: 国内直连 / 挂载了 Clash Verge (无论关闭代理、开启系统代理还是开启 TUN 模式,该指令均失败) Curl 版本: macOS 自带 (SecureTransport / LibreSSL) ** [环境 B:服务器(正常连通)] ** OS: Ubuntu 22.04 / CentOS 网络环境: 海外机器 Curl 版本: Linux 自带 (OpenSSL) 🤔 我的猜测与疑问 结合以上现象,我目前有几个猜测,希望大佬们帮忙看看哪个最有可能,或者指导一下下一步的抓包排查方向: GFW 阻断? 本地发往海外 [PROXY_IP] 的代理请求是明文 HTTP 握手,是不是直接被运营商或 GFW 识别并重置( RST )了? 代理服务商白名单限制? 这种带账密的代理,服务商后台是否通常会绑定请求端的公网 IP ?因为服务器 IP 可能在白名单内,而我本地宽带 IP 每天都在变。 底层 SSL 库差异? macOS 自带的 curl 库与目标代理服务器之间,在建立 CONNECT 隧道时的 SSL 握手失败了? 如果有大佬遇到过类似“本地挂代理调不通,服务器畅通”的坑,或者知道怎么用 tcpdump 精准抓这个过程的包,恳请指点迷津!感激不尽。
大家好,最近在调优量化交易的网络架构时遇到了一个非常诡异的网络连通性问题,折腾了一圈没找到根本原因,特来向各位网络/DevOps 大佬求助。 📌 核心现象 我手里有一个带有账号密码认证的 HTTP 代理(类似住宅/节点代理池)。 运行同一条 curl 测试指令请求 google 的时间戳 API: 在海外 Linux 服务器上: 秒回,完全正常。 在本地 macOS 上: 无法连通(无论是否开启 Clash TUN 模式)。 测试指令如下: curl -v -xhttp://[USERNAME]:[PASSWORD]@[PROXY_IP]:[PROXY_PORT]/" https://www.google.com 💻 运行环境比对 ** [环境 A:本地(无法连通)] ** OS: macOS (Apple Silicon / Intel) 网络环境: 国内直连 / 挂载了 Clash Verge (无论关闭代理、开启系统代理还是开启 TUN 模式,该指令均失败) Curl 版本: macOS 自带 (SecureTransport / LibreSSL) ** [环境 B:服务器(正常连通)] ** OS: Ubuntu 22.04 / CentOS 网络环境: 海外机器 Curl 版本: Linux 自带 (OpenSSL) 🤔 我的猜测与疑问 结合以上现象,我目前有几个猜测,希望大佬们帮忙看看哪个最有可能,或者指导一下下一步的抓包排查方向: GFW 阻断? 本地发往海外 [PROXY_IP] 的代理请求是明文 HTTP 握手,是不是直接被运营商或 GFW 识别并重置( RST )了? 代理服务商白名单限制? 这种带账密的代理,服务商后台是否通常会绑定请求端的公网 IP ?因为服务器 IP 可能在白名单内,而我本地宽带 IP 每天都在变。 底层 SSL 库差异? macOS 自带的 curl 库与目标代理服务器之间,在建立 CONNECT 隧道时的 SSL 握手失败了? 如果有大佬遇到过类似“本地挂代理调不通,服务器畅通”的坑,或者知道怎么用 tcpdump 精准抓这个过程的包,恳请指点迷津!感激不尽。
大家好,最近在调优量化交易的网络架构时遇到了一个非常诡异的网络连通性问题,折腾了一圈没找到根本原因,特来向各位网络/DevOps 大佬求助。 📌 核心现象 我手里有一个带有账号密码认证的 HTTP 代理(类似住宅/节点代理池)。 运行同一条 curl 测试指令请求 google 的时间戳 API: 在海外 Linux 服务器上: 秒回,完全正常。 在本地 macOS 上: 无法连通(无论是否开启 Clash TUN 模式)。 测试指令如下: curl -v -xhttp://[USERNAME]:[PASSWORD]@[PROXY_IP]:[PROXY_PORT]/" https://www.google.com 💻 运行环境比对 ** [环境 A:本地(无法连通)] ** OS: macOS (Apple Silicon / Intel) 网络环境: 国内直连 / 挂载了 Clash Verge (无论关闭代理、开启系统代理还是开启 TUN 模式,该指令均失败) Curl 版本: macOS 自带 (SecureTransport / LibreSSL) ** [环境 B:服务器(正常连通)] ** OS: Ubuntu 22.04 / CentOS 网络环境: 海外机器 Curl 版本: Linux 自带 (OpenSSL) 🤔 我的猜测与疑问 结合以上现象,我目前有几个猜测,希望大佬们帮忙看看哪个最有可能,或者指导一下下一步的抓包排查方向: GFW 阻断? 本地发往海外 [PROXY_IP] 的代理请求是明文 HTTP 握手,是不是直接被运营商或 GFW 识别并重置( RST )了? 代理服务商白名单限制? 这种带账密的代理,服务商后台是否通常会绑定请求端的公网 IP ?因为服务器 IP 可能在白名单内,而我本地宽带 IP 每天都在变。 底层 SSL 库差异? macOS 自带的 curl 库与目标代理服务器之间,在建立 CONNECT 隧道时的 SSL 握手失败了? 如果有大佬遇到过类似“本地挂代理调不通,服务器畅通”的坑,或者知道怎么用 tcpdump 精准抓这个过程的包,恳请指点迷津!感激不尽。
大家好,最近在调优量化交易的网络架构时遇到了一个非常诡异的网络连通性问题,折腾了一圈没找到根本原因,特来向各位网络/DevOps 大佬求助。 📌 核心现象 我手里有一个带有账号密码认证的 HTTP 代理(类似住宅/节点代理池)。 运行同一条 curl 测试指令请求 google 的时间戳 API: 在海外 Linux 服务器上: 秒回,完全正常。 在本地 macOS 上: 无法连通(无论是否开启 Clash TUN 模式)。 测试指令如下: curl -v -xhttp://[USERNAME]:[PASSWORD]@[PROXY_IP]:[PROXY_PORT]/" https://www.google.com 💻 运行环境比对 ** [环境 A:本地(无法连通)] ** OS: macOS (Apple Silicon / Intel) 网络环境: 国内直连 / 挂载了 Clash Verge (无论关闭代理、开启系统代理还是开启 TUN 模式,该指令均失败) Curl 版本: macOS 自带 (SecureTransport / LibreSSL) ** [环境 B:服务器(正常连通)] ** OS: Ubuntu 22.04 / CentOS 网络环境: 海外机器 Curl 版本: Linux 自带 (OpenSSL) 🤔 我的猜测与疑问 结合以上现象,我目前有几个猜测,希望大佬们帮忙看看哪个最有可能,或者指导一下下一步的抓包排查方向: GFW 阻断? 本地发往海外 [PROXY_IP] 的代理请求是明文 HTTP 握手,是不是直接被运营商或 GFW 识别并重置( RST )了? 代理服务商白名单限制? 这种带账密的代理,服务商后台是否通常会绑定请求端的公网 IP ?因为服务器 IP 可能在白名单内,而我本地宽带 IP 每天都在变。 底层 SSL 库差异? macOS 自带的 curl 库与目标代理服务器之间,在建立 CONNECT 隧道时的 SSL 握手失败了? 如果有大佬遇到过类似“本地挂代理调不通,服务器畅通”的坑,或者知道怎么用 tcpdump 精准抓这个过程的包,恳请指点迷津!感激不尽。
大家好,最近在调优量化交易的网络架构时遇到了一个非常诡异的网络连通性问题,折腾了一圈没找到根本原因,特来向各位网络/DevOps 大佬求助。 📌 核心现象 我手里有一个带有账号密码认证的 HTTP 代理(类似住宅/节点代理池)。 运行同一条 curl 测试指令请求 google 的时间戳 API: 在海外 Linux 服务器上: 秒回,完全正常。 在本地 macOS 上: 无法连通(无论是否开启 Clash TUN 模式)。 测试指令如下: curl -v -xhttp://[USERNAME]:[PASSWORD]@[PROXY_IP]:[PROXY_PORT]/" https://www.google.com 💻 运行环境比对 ** [环境 A:本地(无法连通)] ** OS: macOS (Apple Silicon / Intel) 网络环境: 国内直连 / 挂载了 Clash Verge (无论关闭代理、开启系统代理还是开启 TUN 模式,该指令均失败) Curl 版本: macOS 自带 (SecureTransport / LibreSSL) ** [环境 B:服务器(正常连通)] ** OS: Ubuntu 22.04 / CentOS 网络环境: 海外机器 Curl 版本: Linux 自带 (OpenSSL) 🤔 我的猜测与疑问 结合以上现象,我目前有几个猜测,希望大佬们帮忙看看哪个最有可能,或者指导一下下一步的抓包排查方向: GFW 阻断? 本地发往海外 [PROXY_IP] 的代理请求是明文 HTTP 握手,是不是直接被运营商或 GFW 识别并重置( RST )了? 代理服务商白名单限制? 这种带账密的代理,服务商后台是否通常会绑定请求端的公网 IP ?因为服务器 IP 可能在白名单内,而我本地宽带 IP 每天都在变。 底层 SSL 库差异? macOS 自带的 curl 库与目标代理服务器之间,在建立 CONNECT 隧道时的 SSL 握手失败了? 如果有大佬遇到过类似“本地挂代理调不通,服务器畅通”的坑,或者知道怎么用 tcpdump 精准抓这个过程的包,恳请指点迷津!感激不尽。
以 iOS 18 的设计风格做一个带有动画效果的天气卡片,要求是使用 HTML、CSS 和基础 JavaScript,使用横板天气页面(拥有 4 个天气卡片 (晴天,大风,暴雨,暴雪))。应足够美观,实现一定的交互效果。 点击预览: claude-Fable-5-weather-cards 其他模型: Qoder额度用不完,用里面的所有模型跑了天气卡片看看 开发调优 当家花旦-Qwen3.7-Max 六月新茶-MiniMax-M3 编码一哥-DeepSeek-V4-PRO 国产A初-GLM-5.1 后劲不足-Kimi-K2.6 裁判组大善人-GPT-5.5(ui-ux-pro-max skill) 白月光-Claude-Opus-4.8(ui-ux-pro-max skill) 小甜甜牛夫人-Claude-Opus-4.6 北美豆包-Gemini 3.5 F… 你可以永远相信Claude hmmm…感觉差点 酱油通道 点击以查看投票。 4 个帖子 - 4 位参与者 阅读完整话题
以 iOS 18 的设计风格做一个带有动画效果的天气卡片,要求是使用 HTML、CSS 和基础 JavaScript,使用横板天气页面(拥有 4 个天气卡片 (晴天,大风,暴雨,暴雪))。应足够美观,实现一定的交互效果。 总花费5m41s 效果图: html (点击了解更多详细信息) 18 个帖子 - 14 位参与者 阅读完整话题
http://github-age.bloodkev.lol/ 带有排行榜,看看你第几名 7 个帖子 - 7 位参与者 阅读完整话题
希望是带有RAG、langchain(langgraph)等技术栈和知识点的开源项目 想学习一下,感谢各位佬友 1 个帖子 - 1 位参与者 阅读完整话题
能到40个跟帖的话题,一般都是很火的,一天都没几个能做到 如果只要实现帖子数量,就一定能实现话题数量,那么话题限制存在的意义是什么 2 个帖子 - 2 位参与者 阅读完整话题
我有一个开发的原型文档docx格式,文档里带有一些产品的原型图片和ui资源。 问题就是claude只能读取到文档里的文字,但是不会读到文档里的原型设计图,怎么办。 2 个帖子 - 2 位参与者 阅读完整话题
以 iOS 18 的设计风格做一个带有动画效果的天气卡片,要求是使用 HTML、CSS 和基础 JavaScript,使用横板天气页面(拥有 4 个天气卡片 (晴天,大风,暴雨,暴雪))。应足够美观,实现一定的交互效果。 HTML代码: <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>天气 · Weather</title> <style> *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent} :root{ --ease:cubic-bezier(.34,1.56,.64,1); --glass:rgba(255,255,255,.18); --glass-brd:rgba(255,255,255,.35); } html,body{height:100%} body{ font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; background:#0a0a14; color:#fff; min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px 20px; overflow-x:hidden; transition:background 1.2s ease; } /* 顶部标题 */ .head{ text-align:center; margin-bottom:32px; user-select:none; } .head h1{ font-size:30px;font-weight:700;letter-spacing:.5px; text-shadow:0 2px 20px rgba(0,0,0,.4); } .head p{ margin-top:6px;font-size:14px;font-weight:500;opacity:.6; } /* 横向滚动容器 */ .scroller{ display:flex; gap:26px; padding:30px 10px 40px; max-width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; } .scroller::-webkit-scrollbar{display:none} /* 卡片 */ .card{ position:relative; flex:0 0 280px; height:420px; border-radius:34px; padding:26px; overflow:hidden; cursor:pointer; scroll-snap-align:center; display:flex; flex-direction:column; justify-content:space-between; isolation:isolate; box-shadow:0 24px 50px -12px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.25); transition:transform .55s var(--ease), box-shadow .55s var(--ease); transform:perspective(900px); } .card:hover{ transform:perspective(900px) translateY(-14px) scale(1.03); box-shadow:0 40px 70px -10px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.35); } .card:active{transform:perspective(900px) translateY(-6px) scale(.99)} /* 各卡片背景渐变 */ .sunny{background:linear-gradient(160deg,#48a9ff 0%,#7ec8ff 45%,#ffd86b 120%)} .windy{background:linear-gradient(160deg,#5a7d8c 0%,#9fb8c4 55%,#cfe0e6 120%)} .rainy{background:linear-gradient(160deg,#243b55 0%,#3a5a78 55%,#1c2b3a 120%)} .snowy{background:linear-gradient(160deg,#5d6d8c 0%,#8fa3c4 50%,#dfe8f5 120%)} /* 玻璃高光层 */ .card::before{ content:"";position:absolute;inset:0;z-index:6;pointer-events:none; background:radial-gradient(120% 80% at 20% 0%,rgba(255,255,255,.35),transparent 50%); mix-blend-mode:overlay; } .card-top{position:relative;z-index:5} .city{font-size:13px;font-weight:600;letter-spacing:2px;opacity:.85;text-transform:uppercase} .cond{font-size:23px;font-weight:700;margin-top:2px;text-shadow:0 2px 10px rgba(0,0,0,.25)} .temp{ position:relative;z-index:5; font-size:74px;font-weight:300;line-height:1; letter-spacing:-2px; text-shadow:0 4px 24px rgba(0,0,0,.3); } .temp sup{font-size:28px;font-weight:400;top:-1.3em} .meta{ position:relative;z-index:5; display:flex;gap:18px;font-size:12.5px;font-weight:600;opacity:.9; } .meta div{display:flex;flex-direction:column;gap:3px} .meta span{opacity:.6;font-weight:500;font-size:10.5px;letter-spacing:.5px} /* 动画画布层 */ .fx{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden} /* ---------- 晴天:太阳 ---------- */ .sun{ position:absolute;top:50px;right:46px;width:84px;height:84px;border-radius:50%; background:radial-gradient(circle at 40% 40%,#fff6c2,#ffd23f 60%,#ff9d2f); box-shadow:0 0 50px 14px rgba(255,210,63,.7); animation:sun-pulse 4s ease-in-out infinite; } .sun::after{ content:"";position:absolute;inset:-26px;border-radius:50%; background:conic-gradient(from 0deg,transparent 0 12%,rgba(255,225,120,.55) 12% 14%,transparent 14% 25%,rgba(255,225,120,.55) 25% 27%,transparent 27% 37%,rgba(255,225,120,.55) 37% 39%,transparent 39% 50%,rgba(255,225,120,.55) 50% 52%,transparent 52% 62%,rgba(255,225,120,.55) 62% 64%,transparent 64% 75%,rgba(255,225,120,.55) 75% 77%,transparent 77% 87%,rgba(255,225,120,.55) 87% 89%,transparent 89%); animation:spin 18s linear infinite; -webkit-mask:radial-gradient(circle,transparent 42px,#000 43px); mask:radial-gradient(circle,transparent 42px,#000 43px); } @keyframes sun-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}} @keyframes spin{to{transform:rotate(360deg)}} .heat{position:absolute;bottom:0;left:0;right:0;height:60%; background:linear-gradient(transparent,rgba(255,221,128,.25)); animation:heat-wave 5s ease-in-out infinite;} @keyframes heat-wave{0%,100%{opacity:.4}50%{opacity:.8}} /* ---------- 大风:流线 ---------- */ .wind-line{ position:absolute;height:3px;border-radius:3px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent); left:-50%;opacity:0; animation:gust 2.6s linear infinite; } @keyframes gust{ 0%{transform:translateX(0);opacity:0} 15%{opacity:.9} 85%{opacity:.9} 100%{transform:translateX(360px);opacity:0} } .leaf{ position:absolute;font-size:20px;left:-30px;opacity:0; animation:leaf-fly 3.4s linear infinite; } @keyframes leaf-fly{ 0%{transform:translate(0,0) rotate(0);opacity:0} 10%{opacity:1} 90%{opacity:1} 100%{transform:translate(340px,40px) rotate(540deg);opacity:0} } /* ---------- 暴雨:雨滴 + 闪电 ---------- */ .drop{ position:absolute;top:-20px;width:2px;height:18px;border-radius:2px; background:linear-gradient(rgba(255,255,255,.05),rgba(190,220,255,.9)); animation:fall linear infinite; } @keyframes fall{ 0%{transform:translateY(-20px);opacity:0} 10%{opacity:1} 100%{transform:translateY(440px);opacity:.3} } .cloud{ position:absolute;top:42px;right:40px;width:96px;height:34px;border-radius:30px; background:rgba(255,255,255,.55);filter:blur(1px); box-shadow:-30px 6px 0 -6px rgba(255,255,255,.45),26px 8px 0 -8px rgba(255,255,255,.4); animation:cloud-drift 6s ease-in-out infinite; } @keyframes cloud-drift{0%,100%{transform:translateX(0)}50%{transform:translateX(-12px)}} .flash{position:absolute;inset:0;background:rgba(255,255,255,.85);opacity:0;z-index:4;mix-blend-mode:screen} .flash.bolt{animation:bolt 6s ease-out infinite} @keyframes bolt{ 0%,100%{opacity:0} 1%{opacity:.9}2%{opacity:.1}3%{opacity:.8}5%{opacity:0} } /* ---------- 暴雪:雪花 ---------- */ .flake{ position:absolute;top:-12px;border-radius:50%; background:radial-gradient(circle,#fff,rgba(255,255,255,.6)); box-shadow:0 0 6px rgba(255,255,255,.8); animation:snow linear infinite; } @keyframes snow{ 0%{transform:translate(0,-12px);opacity:0} 10%{opacity:1} 100%{transform:translate(var(--sx,20px),440px);opacity:.4} } .blizzard{position:absolute;inset:0; background:linear-gradient(120deg,transparent,rgba(255,255,255,.12),transparent); background-size:200% 100%;animation:bliz 3s linear infinite;} @keyframes bliz{to{background-position:200% 0}} /* 进场动画 */ .card{opacity:0;transform:perspective(900px) translateY(40px) scale(.94);animation:enter .8s var(--ease) forwards} .card:nth-child(1){animation-delay:.05s} .card:nth-child(2){animation-delay:.16s} .card:nth-child(3){animation-delay:.27s} .card:nth-child(4){animation-delay:.38s} @keyframes enter{to{opacity:1;transform:perspective(900px) translateY(0) scale(1)}} .hint{margin-top:6px;font-size:12px;opacity:.45;letter-spacing:1px;user-select:none} @media(max-width:640px){ .scroller{gap:18px} .card{flex-basis:240px;height:380px} .temp{font-size:62px} } </style> </head> <body> <div class="head"> <h1>天气预报</h1> <p id="clock">--:--</p> </div> <div class="scroller" id="scroller"></div> <div class="hint">← 左右滑动 · 点击卡片切换实况 →</div> <script> const data = [ {key:"sunny", cls:"sunny", city:"Sanya · 三亚", cond:"晴", temp:32, hi:34, lo:27, hum:"58%", wind:"2级", bg:"linear-gradient(160deg,#48a9ff,#7ec8ff 45%,#ffd86b 120%)"}, {key:"windy", cls:"windy", city:"Dalian · 大连", cond:"大风", temp:18, hi:21, lo:12, hum:"40%", wind:"8级", bg:"linear-gradient(160deg,#5a7d8c,#9fb8c4 55%,#cfe0e6 120%)"}, {key:"rainy", cls:"rainy", city:"Guangzhou · 广州", cond:"暴雨", temp:24, hi:26, lo:22, hum:"95%", wind:"6级", bg:"linear-gradient(160deg,#243b55,#3a5a78 55%,#1c2b3a 120%)"}, {key:"snowy", cls:"snowy", city:"Harbin · 哈尔滨", cond:"暴雪", temp:-12, hi:-8, lo:-19, hum:"82%", wind:"7级", bg:"linear-gradient(160deg,#5d6d8c,#8fa3c4 50%,#dfe8f5 120%)"}, ]; const bodyBg = { sunny:"radial-gradient(circle at 30% 20%,#1a3a5c,#0a0a14 70%)", windy:"radial-gradient(circle at 30% 20%,#2a3a42,#0a0a14 70%)", rainy:"radial-gradient(circle at 30% 20%,#0f1f33,#06060c 70%)", snowy:"radial-gradient(circle at 30% 20%,#28324a,#0a0a14 70%)", }; function fxFor(key){ const fx = document.createElement('div'); fx.className = 'fx'; if(key==='sunny'){ fx.innerHTML = `<div class="heat"></div><div class="sun"></div>`; } if(key==='windy'){ let h=''; for(let i=0;i<7;i++){ const top=20+i*52+Math.random()*20, w=80+Math.random()*120, d=(Math.random()*2).toFixed(2), dur=(2+Math.random()*1.5).toFixed(2); h+=`<div class="wind-line" style="top:${top}px;width:${w}px;animation-delay:${d}s;animation-duration:${dur}s"></div>`; } h+=`<div class="leaf" style="top:90px;animation-delay:.4s">🍃</div><div class="leaf" style="top:240px;animation-delay:1.8s">🍂</div>`; fx.innerHTML=h; } if(key==='rainy'){ let h=`<div class="cloud"></div><div class="flash bolt"></div>`; for(let i=0;i<60;i++){ const left=Math.random()*100, d=(Math.random()*1.2).toFixed(2), dur=(0.45+Math.random()*0.35).toFixed(2); h+=`<div class="drop" style="left:${left}%;animation-delay:${d}s;animation-duration:${dur}s"></div>`; } fx.innerHTML=h; } if(key==='snowy'){ let h=`<div class="blizzard"></div>`; for(let i=0;i<55;i++){ const left=Math.random()*100, sz=(2+Math.random()*5).toFixed(1), d=(Math.random()*4).toFixed(2), dur=(3+Math.random()*4).toFixed(2), sx=(Math.random()*120-60).toFixed(0); h+=`<div class="flake" style="left:${left}%;width:${sz}px;height:${sz}px;--sx:${sx}px;animation-delay:${d}s;animation-duration:${dur}s"></div>`; } fx.innerHTML=h; } return fx; } const scroller = document.getElementById('scroller'); data.forEach(d=>{ const card=document.createElement('div'); card.className='card '+d.cls; card.dataset.key=d.key; card.innerHTML=` <div class="card-top"> <div class="city">${d.city}</div> <div class="cond">${d.cond}</div> </div> <div class="temp">${d.temp}<sup>°</sup></div> <div class="meta"> <div><span>最高</span>${d.hi}°</div> <div><span>最低</span>${d.lo}°</div> <div><span>湿度</span>${d.hum}</div> <div><span>风力</span>${d.wind}</div> </div>`; card.appendChild(fxFor(d.key)); // 点击:切换实时温度 + 主题背景 + 轻微抖动 card.addEventListener('click',()=>{ document.body.style.background = bodyBg[d.key]; const t=card.querySelector('.temp'); const cur=parseInt(t.firstChild.textContent); const next=cur + (Math.random()>.5?1:-1); t.firstChild.textContent=next; card.animate([ {transform:'perspective(900px) translateY(-14px) scale(1.03)'}, {transform:'perspective(900px) translateY(-14px) scale(1.06) rotate(.6deg)'}, {transform:'perspective(900px) translateY(-14px) scale(1.03)'} ],{duration:380,easing:'cubic-bezier(.34,1.56,.64,1)'}); }); // 鼠标视差:跟随指针轻微倾斜 card.addEventListener('mousemove',e=>{ const r=card.getBoundingClientRect(); const px=(e.clientX-r.left)/r.width-0.5, py=(e.clientY-r.top)/r.height-0.5; card.style.transform=`perspective(900px) translateY(-14px) scale(1.03) rotateY(${px*10}deg) rotateX(${-py*10}deg)`; }); card.addEventListener('mouseleave',()=>{card.style.transform=''}); scroller.appendChild(card); }); // 默认应用首张卡片主题 document.body.style.background = bodyBg[data[0].key]; // 时钟 function tick(){ const n=new Date(); document.getElementById('clock').textContent = n.toLocaleDateString('zh-CN',{month:'long',day:'numeric',weekday:'long'})+' '+ n.toTimeString().slice(0,5); } tick();setInterval(tick,1000*30); </script> </body> </html> 5 个帖子 - 5 位参与者 阅读完整话题
几个很复杂的重构【一晚上用30-70刀那种程度的复杂】,几乎一把就能 0bug【主要指没有漏import,没有ts错误,用例全过,不包括业务bug】 上生产,太爽了。 这几天挂了,我用其他渠道的opus4.7。发现没这个效果。 是1m上下文的原因?还是带有什么skill或者system提示词? 如果是后者能否用什么方式测试出来? 22 个帖子 - 16 位参与者 阅读完整话题
卡夫卡式悲剧(Kafkaesque Tragedy) ,是指一种 荒诞、冷酷且带有强烈无力感 的现代悲剧形式 荒谬的“隐形规则” 庞大且冷漠的“系统” “越努力,越绝望”的死循环 彻底的孤独与异化 4 个帖子 - 4 位参与者 阅读完整话题
#安全资讯 虎牙旗下安卓应用下载站 APKPure 被发现分发带有间谍框架的 Telegram 安装包,这个间谍框架会收集用户的聊天记录 (包括历史聊天记录)、通讯录、相册、文件、GPS 位置、SIM 卡信息。开发者南宫雪珊注意到这些安装包签名不正确,安全研究员 Eric 逆向后发现安装包包含间谍框架。 https://www.landian.news/archives/113057.html https://x.com/landiantech/status/2058715170021548068
#安全资讯 虎牙旗下安卓应用下载站 APKPure 被发现分发带有间谍框架的 Telegram 安装包,这个间谍框架会收集用户的聊天记录 (包括历史聊天记录)、通讯录、相册、文件、GPS 位置、SIM 卡信息。开发者南宫雪珊注意到这些安装包签名不正确,安全研究员 Eric 逆向后发现安装包包含间谍框架。 https://www.landian.news/archives/113057.html https://x.com/landiantech/status/2058715170021548068
还是说直接客户端里调xhigh,之后发给api方的参数就是带有xhigh的参数?对于反代出的claude也是如此吗 4 个帖子 - 4 位参与者 阅读完整话题
虎牙旗下知名Android应用商店 APKPure 日前被开发者发现分发带有后门程序的 Telegram 安装包,这个恶意版本存在明显的错误包名和签名不正确,该应用商店提供的 Telegram 和 Telegram X 均为恶意版本,而提供的 Telegram Web 版虽然没后门程序但是属于旧版本。 重新封装官方包增加后门框架收集用户信息: 根据安全研究人员 @EricParker 发布的分析,APKPure 分发的 Telegram 12.6.5 版被添加间谍框架 DataCollector 后重新签名封装,而这个间谍框架则可以窃取用户的多种私密信息,包括全部聊天记录 (以及所有未删除的历史消息)、通讯录、手机相册内容 (如有权限)、文档文件 (如有权限)、GPS 位置信息、SIM 卡信息。 间谍框架收集的信息会通过 AES-GCM 算法加密后发送到黑客的命令与控制服务器 (38.190.225.166),这个 IP 地址属于 Cogent Communications 在香港的服务器,目前尚未发现与该 IP 地址有关联的域名。 APKPure 出现内部问题的概率极高: 从目前情况来看包含间谍框架的安装包是通过 APKPure 官方服务器进行分发,并非出现 DNS 劫持或者发生其他中间人攻击,开发者 @南宫雪珊发布的信息显示,APKPure 提供的 12.7.3 版签名是正确的,这也是 Telegram 官方Android版的最新版。 所以为什么 APKPure 指向 Telegram 最新版的链接会下载带有后门程序的 12.6.5 版呢?这个版本并非最新版但却被 APKPure 指定为最新版提供,这显然可以排除是 DNS 劫持或者中间人攻击,更有可能是 APKPure 内部出现问题。 从 Google Play 等渠道获取 Telegram 官方版安装包并非难事,所以为什么 APKPure 会提供经过重新封装的恶意版本就很让人惊讶了, 无非是要么 APKPure 内部基础设施已经遭到黑客入侵,要么就是 APKPure 内鬼执行的恶意操作。 最后提醒各位下载Android应用程序时优先通过 Google Play 安装,如果无法通过 Google Play 安装则应当从软件官方网站下载,尽可能不要通过这些第三方的应用商店下载,以免出现安全问题泄露隐私。 查看评论
粘贴了多行文本,结果被拆成2个提问马上就发出去了,有人懂怎么真铁带有换行的内容的文本吗 6 个帖子 - 6 位参与者 阅读完整话题