WWW.YOUINFO.SITE
标签聚合 老版

/tag/老版

v2ex · 2026-06-06 20:02:01+08:00 · tech

这些图片是从 Google 的服务器上直接下载的,这么多年了没想到还能被访问,为了方便我上传到 Drive 了: https://drive.google.com/drive/folders/142xZWB0TvJAxuxPVsMpo8UIM8xgAqsc-?usp=drive_link 你也可以直接从 Google 服务器上下载: mkdir -p chrome-old-default-avatars cd chrome-old-default-avatars base="https://www.gstatic.com/chrome/profile_avatars" files=( avatar_generic.png avatar_generic_aqua.png avatar_generic_blue.png avatar_generic_green.png avatar_generic_orange.png avatar_generic_purple.png avatar_generic_red.png avatar_generic_yellow.png avatar_secret_agent.png avatar_superhero.png avatar_volley_ball.png avatar_businessman.png avatar_ninja.png avatar_alien.png avatar_awesome.png avatar_flower.png avatar_pizza.png avatar_soccer.png avatar_burger.png avatar_cat.png avatar_cupcake.png avatar_dog.png avatar_horse.png avatar_margarita.png avatar_note.png avatar_sun_cloud.png ) for f in "${files[@]}"; do echo "Downloading $f" curl -fL --retry 3 --retry-delay 1 -o "$f" "$base/$f" done echo "Done. Downloaded:" ls -lh

v2ex · 2026-06-06 19:02:01+08:00 · tech

这些图片是从 Google 的服务器上直接下载的,这么多年了没想到还能被访问,为了方便我上传到 Drive 了: https://drive.google.com/drive/folders/142xZWB0TvJAxuxPVsMpo8UIM8xgAqsc-?usp=drive_link 你也可以直接从 Google 服务器上下载: mkdir -p chrome-old-default-avatars cd chrome-old-default-avatars base="https://www.gstatic.com/chrome/profile_avatars" files=( avatar_generic.png avatar_generic_aqua.png avatar_generic_blue.png avatar_generic_green.png avatar_generic_orange.png avatar_generic_purple.png avatar_generic_red.png avatar_generic_yellow.png avatar_secret_agent.png avatar_superhero.png avatar_volley_ball.png avatar_businessman.png avatar_ninja.png avatar_alien.png avatar_awesome.png avatar_flower.png avatar_pizza.png avatar_soccer.png avatar_burger.png avatar_cat.png avatar_cupcake.png avatar_dog.png avatar_horse.png avatar_margarita.png avatar_note.png avatar_sun_cloud.png ) for f in "${files[@]}"; do echo "Downloading $f" curl -fL --retry 3 --retry-delay 1 -o "$f" "$base/$f" done echo "Done. Downloaded:" ls -lh

v2ex · 2026-06-06 17:55:43+08:00 · tech

这些图片是从 Google 的服务器上直接下载的,这么多年了没想到还能被访问,为了方便我上传到 Drive 了: https://drive.google.com/drive/folders/142xZWB0TvJAxuxPVsMpo8UIM8xgAqsc-?usp=drive_link 你也可以直接从 Google 服务器上下载: mkdir -p chrome-old-default-avatars cd chrome-old-default-avatars base="https://www.gstatic.com/chrome/profile_avatars" files=( avatar_generic.png avatar_generic_aqua.png avatar_generic_blue.png avatar_generic_green.png avatar_generic_orange.png avatar_generic_purple.png avatar_generic_red.png avatar_generic_yellow.png avatar_secret_agent.png avatar_superhero.png avatar_volley_ball.png avatar_businessman.png avatar_ninja.png avatar_alien.png avatar_awesome.png avatar_flower.png avatar_pizza.png avatar_soccer.png avatar_burger.png avatar_cat.png avatar_cupcake.png avatar_dog.png avatar_horse.png avatar_margarita.png avatar_note.png avatar_sun_cloud.png ) for f in "${files[@]}"; do echo "Downloading $f" curl -fL --retry 3 --retry-delay 1 -o "$f" "$base/$f" done echo "Done. Downloaded:" ls -lh

LinuxDo 最新话题 · 2026-05-21 12:56:48+08:00 · tech

最近对我的自用 New API 进行升级,由老版升级到新版 UI,升级后过了一会儿发现了几百个机器人用户。到设置一看果然开放了注册,赶紧关闭并且开始着手清理账号。由于现在 NewAPI 的 UI 上没有批量删除用户的功能,于是我让 AI 根据官方 API 写了一个 python 脚本,该脚本会删除所有用户,仅保留管理员账号。 建议修改配置后,让 AI 来运行。 #!/usr/bin/env python3 """ New API 批量删除用户脚本 删除所有普通用户,仅保留管理员账号(role >= 100) 使用方法: python delete_users.py 首次运行前请修改下方配置项。 """ import requests import time import sys # ============ 配置项 ============ BASE_URL = "http://lcoalhost:3000" # New API 地址 ACCESS_TOKEN = "" # 管理员 access_token ADMIN_USER_ID = "" # 留空则自动从 API 获取 PAGE_SIZE = 100 # 每页用户数 DRY_RUN = False # True = 仅预览不删除,False = 实际删除 # ================================ HEADERS = { "Authorization": ACCESS_TOKEN, "New-Api-User": ADMIN_USER_ID, "Content-Type": "application/json", } def resolve_admin_id(): """尝试用 access_token 配合不同 user_id,自动找到可用的管理员 ID""" for uid in range(1, 20): headers = { "Authorization": ACCESS_TOKEN, "New-Api-User": str(uid), "Content-Type": "application/json", } try: resp = requests.get( f"{BASE_URL}/api/user/", headers=headers, params={"p": 1, "page_size": 1}, timeout=10, ) if resp.status_code == 200: body = resp.json() if body.get("success"): print(f"检测到有效凭据: uid={uid}") return str(uid) except Exception: continue return None def get_all_users(): """分页获取所有用户""" users = [] page = 1 while True: resp = requests.get( f"{BASE_URL}/api/user/", headers=HEADERS, params={"p": page, "page_size": PAGE_SIZE}, ) resp.raise_for_status() body = resp.json() if not body.get("success"): print(f"获取用户列表失败: {body.get('message', '未知错误')}") sys.exit(1) data = body.get("data", {}) items = data.get("items", []) users.extend(items) total = data.get("total", 0) if len(users) >= total or len(items) < PAGE_SIZE: break page += 1 return users def delete_user(user_id, username): """删除单个用户""" resp = requests.delete( f"{BASE_URL}/api/user/{user_id}", headers=HEADERS, ) # 已知 bug: 成功删除返回空 body,status 200 即视为成功 if resp.status_code == 200: return True try: body = resp.json() print(f" 删除失败 [{username}]: {body.get('message', resp.text)}") except Exception: print(f" 删除失败 [{username}]: HTTP {resp.status_code} - {resp.text}") return False def main(): if not ACCESS_TOKEN: print("请先配置 ACCESS_TOKEN") sys.exit(1) # 自动检测管理员 ID admin_user_id = ADMIN_USER_ID if not admin_user_id: print("ADMIN_USER_ID 未填写,尝试自动检测...\n") detected = resolve_admin_id() if detected: admin_user_id = detected HEADERS["New-Api-User"] = admin_user_id print(f"已自动设置 ADMIN_USER_ID = {admin_user_id}\n") else: print("无法自动检测管理员 ID,请手动填写 ADMIN_USER_ID") sys.exit(1) print(f"连接 {BASE_URL} ...") users = get_all_users() print(f"共获取 {len(users)} 个用户\n") to_delete = [] protected = [] for u in users: username = u.get("username", "") uid = u.get("id") role = u.get("role", 0) if role >= 100: # 管理员(100) + 超级管理员(1000) 都保留 protected.append(u) else: to_delete.append(u) print(f"受保护(跳过): {len(protected)} 个") for p in protected: print(f" - {p.get('username')} (id={p.get('id')}, role={p.get('role')})") print(f"\n待删除: {len(to_delete)} 个") for u in to_delete: print(f" - {u.get('username')} (id={u.get('id')}, role={u.get('role')})") if not to_delete: print("\n没有需要删除的用户。") return if DRY_RUN: print(f"\n[预览模式] 设置 DRY_RUN = False 后执行实际删除。") return print(f"\n确认删除以上 {len(to_delete)} 个用户?(y/N): ", end="") confirm = "y" if confirm != "y": print("已取消。") return success = 0 failed = 0 for i, u in enumerate(to_delete, 1): username = u.get("username", "") uid = u.get("id") print(f"[{i}/{len(to_delete)}] 删除 {username} (id={uid}) ... ", end="", flush=True) if delete_user(uid, username): print("OK") success += 1 else: failed += 1 time.sleep(0.2) # 避免请求过快 print(f"\n完成: 成功 {success}, 失败 {failed}") if __name__ == "__main__": main() 1 个帖子 - 1 位参与者 阅读完整话题

IT之家 · 2026-05-13 23:06:18+08:00 · tech

IT之家 5 月 13 日消息,据 Windows Latest 报道,微软已悄然证实,Windows 更新会自动降级用户手动安装的显卡驱动。这意味着,如果你从设备原厂官网手动下载并安装显卡驱动、覆盖电脑原有驱动后,后续某次 Windows 更新仍有可能将系统驱动还原为旧版本。 据IT之家了解,手动替换 OEM 驱动的方法很简单:只需从英伟达、英特尔、AMD 等芯片厂商官网下载最新驱动,运行后缀为 .exe 的安装程序,就能直接用芯片厂商官方最新驱动替换电脑自带的 OEM 驱动。更换后电脑性能会有肉眼可见的提升,直到某次 Windows 更新再次将驱动覆盖回旧版本。 据 Windows Latest 实测发现,Windows 更新可能会把你 2026 年 4 月安装的新版驱动,替换成 2024 年甚至更早的旧版本,具体取决于 Windows 更新目录中推送的驱动版本。 出现这种情况的原因是:Windows 更新会把老旧驱动标记为优先级更高的版本,从而覆盖用户自行安装的新版驱动。 该问题已是微软反馈中心点赞量最高的建议之一。一条收获超两万个点赞的反馈帖子中,有用户表示,大量案例显示 Windows 驱动更新要么毫无必要,要么直接引发各类故障。 用户普遍认为,微软至少应该优先保留用户已安装的最新驱动版本,而不是强行覆盖英特尔显卡更新等渠道安装的新版驱动。 有用户吐槽:“如今技术早已迭代,实在无法理解微软为何始终无法同步适配所有经过验证的最新驱动。即便做不到实时同步,推送驱动更新时,就不能检测用户已安装更高版本、并提供忽略本次更新的选项吗?看来微软根本不觉得这是刚需。” 另一位倍感无奈的 Windows 11 用户说道:“这个问题已经存在太久了。我装好最新版 AMD 驱动,结果 Windows 直接替换成自家旧驱动,导致 AMD 肾上腺素软件彻底失效。我只能重新安装新版 AMD 驱动才能恢复正常。如果我原本装的是旧驱动,自动更新还能接受,但系统强行覆盖 AMD 官方最新驱动,实在让人恼火。” 大多数在意电脑驱动版本的用户都有过相同遭遇。吐槽之余,大家最关心的核心问题是:既然系统能识别到已安装版本号更高的新版驱动,Windows 更新为何还要强行推送旧版驱动? 微软官方对此解释称,问题根源在于 Windows 更新当前对显卡驱动的优先级排序和设备匹配机制。 目前,OEM 会将驱动上传至 Windows 更新目录,经微软审核通过后正式推送,这本身并无问题。 而真正的症结在于:这类驱动采用四段式硬件 ID 匹配规则,但匹配范围过于宽泛。这导致 Windows 会为某一类设备设定一个“最高优先级驱动”,并强制适配该类别下所有设备,哪怕部分设备根本不需要安装这款旧驱动。 举个例子: 1. 你的电脑安装了从英特尔官网手动下载的最新版核显驱动,并通过英特尔驱动助手正常维护更新; 2. 后台 Windows 更新例行扫描驱动与系统补丁; 3. 当扫描到英特尔显卡对应的 OEM 审核版旧驱动时,便会通过系统更新推送; 4. 这类驱动分为可选更新和强制更新:若是可选更新则不会自动安装;若是强制更新,Windows 就会自动下载安装; 5. Windows 更新仅依据四段式硬件 ID 进行优先级判定,即便推送的驱动版本比电脑已安装的版本更旧,仍会被判定为最优匹配驱动并完成覆盖。 Windows 更新在替换新版驱动时,并不会单纯比对驱动版本号或发布日期, 只会把官方推送的驱动判定为硬件最优匹配,直接忽略用户手动安装的新版驱动 ,包括英特尔、AMD、英伟达以及设备原厂的最新驱动。 微软官方支持文档中明确写道:“这种宽泛的设备匹配机制,会为某类设备划定最高优先级驱动,即使用户已自行安装偏好的新版驱动,系统仍会强制推送替换。” 微软解释道:“最终结果就是,主动手动管理显卡驱动的用户,会被 Windows 更新无故降级驱动版本。” 若不整体重构 Windows 11 的更新机制,微软无法彻底根治该问题,但官方正着手优化,减少此类扰民情况。 微软宣布,从今年开始, 新款设备的显卡驱动将启用全新两段式匹配机制 ,结合两段式硬件 ID(2-Part HWID)与计算机硬件标识(CHID)。计算机硬件标识可精准对应具体机型和硬件配置,让 Windows 更新能够精准匹配专属设备,不再盲目推送通用旧驱动。 微软正用精准定向匹配机制替换原先宽泛的通用匹配机制,大幅降低新版显卡驱动被无故替换的概率。 官方表示:“政策调整后,新款设备的显卡驱动可在合适情况下,通过两段式硬件 ID 搭配计算机硬件标识(CHID)上架推送。这种精细化定向模式,能让驱动更新仅适配指定机型,减少整个生态内无意义的驱动覆盖降级问题。” 但需要注意的是:该新规仅适用于后续新款设备的新版驱动上架,现有已上架的旧版驱动仍可能出现降级覆盖问题。 微软将在 2026 年 4 月至 9 月开启试点运行,2026 年第四季度至 2027 年第一季度全面推行这套新机制。 此外,微软还计划优化驱动命名规则,让驱动名称更易懂、安全性更高。

LinuxDo 最新话题 · 2026-05-10 11:07:56+08:00 · tech

刚刚自掏腰包搞到了Deepseek的官方API接入公益站,但是一看日志 好吧,不支持这个新路径,目前正在瞎捣鼓,佬友们可以先用 https://api.chy本尊.top/v1/chat/completions, https://api.chy本尊.top/v1/messages 崩了,也正在恢复 还有一个事就是CHY公益站也接入CF盾了 更新:已支持 https://api.chy本尊.top/v1/responses 调用 3 个帖子 - 2 位参与者 阅读完整话题

LinuxDo 最新话题 · 2026-05-09 19:37:18+08:00 · tech

站点名称已从CHY API公益站改成CHY公益站,因为CHYAPI公益站有点难理解 对了,我看New-API有新版前端,目前是老版前端,佬友们支不支持呢,新版前端虽然功能多美观但是bug比较多 支持 不支持 点击以查看投票。 11 个帖子 - 8 位参与者 阅读完整话题

linux.do · 2026-04-27 14:04:27+08:00 · tech

目前已有:GLM Coding Plan(老版Pro套餐一年),GPT 中转站一个 日常需求:轻中度开发和Hermes Agent。 国内的部分看好Kimi和阿里云的 ¥199,预算想压在¥200 以内每月,上个月 Token 差不多是 1.5-2B。 好像把 200 块换成 2~4 个 OpenCode Go,或者Ollama Cloud 比较好? 一是担心稳定性,目前 GLM 几乎整天 429,国内其他 Plan 好像也差不多? 二是担心用量,看站里讨论很多 Plan 的用量很小。 三是希望支持的模型多一些:V4 Pro、K2.6、GLM-5.1,甚至 Mimo V2.5 Pro 也想试试 大家有好的方案吗?还是我直接把钱充进中转站里? 6 个帖子 - 4 位参与者 阅读完整话题