什么是AI反代,和反代什么区别

忘了在哪个群,有位大学新生询问我什么是 AI 反代,同时我突然意识到博客很久没有更新了,于是想到这个可以水一篇。关于正代反代和 AI 反代。 概念 首先 这个词是 正向代理和反向代理的简称,之前一般是用在网络应用层,如果用过nginx 部署项目也许就听说过,那么简单讲一下什么是正向代理,什么是反向代理 正向代理 小王(客户端) 要找 小李(服务器)租房,但是小王不想用自己的名义向小李租房,于是他叫小徐 (代理)去帮忙租房。这种隐藏小王身份的方式,就叫做正向代理 反向代理 小王(客户端)找 小李(代理)租房,但是小李就像二房东或者中介是在小王不知情的情况下去找小徐(服务端)租房然后把房子给小王。这会隐藏小徐的身份,这叫反向代理。 就像你在城中村签了租房合同直到最后退租可能都不知道真实房东是谁。二房东就在做反向代理。 AI 反代 AI 反向代理(AI Reverse Proxy)是指将主流 AI 服务(如 OpenAI、Claude、Gemini 等)的官方接口进行中转和协议转换的本地或云端服务。 它主要分为两大类用途: 标准 API 转换:将官方网页版(如 Google AI Studio)或不支持直接调用的平台转换为标准的 OpenAI 格式接口,供第三方客户端(如 Cherry Studio)调用。 网关中转与分流:管理多个 API 账号、进行负载均衡(解决频率限制)、隐藏真实 IP、或在国内网络环境下加速 API 访问 总结 正向代理隐藏的是客户端身份,但不是对所有人都隐藏。代理是知道客户端是谁的。 反向代理隐藏的是真实服务端,但也不是绝对隐身。响应头、错误页、日志、证书配置这些地方都可能漏出后端信息。 那么到这一步应该会发现 AI 反代这个词本身不是特别合理,但是这个词的含义已经被泛化和转义了,它不仅包含了网络层面的中转,更核心的功能是协议转换、身份伪装和多账号聚合。 这个称呼的演变主要是因为以下两个历史原因: 最早的刚需是“网络中转”:早期国内开发者无法直接连接 OpenAI 官方 API。大家最开始的做法是用 Cloudflare Workers 或海外 VPS 搭一个 Nginx,把请求直接转发给 OpenAI。这个阶段它确实是标准的网络反向代理。 概念被沿用并扩展:后来,单纯的“网络中转”无法满足需求(比如需要解决多账号限频、网页端 Cookie 登录、异构模型统一输入等问题)。开发者便在“中转服务器”上编写了业务代码(如 Python/Go)。虽然它已经变成了**“网关(Gateway)”或“中间件(Middleware)”**,但大家依然习惯性地称其为“AI 反代”。

June 22, 2026 · 1 min · 69 words · Ray

初识 BLE 协议以及微信小程序

手头有个项目,涉及到 app 端蓝牙连接。硬件开发伙伴给到了 BLE 协议,完全一头雾水 最近忙的没空推进 Go 的学习,想着博客至少不能落下更新,不管怎么样也要逼自己写一篇水文。 什么是 BLE 首先得知道什么是蓝牙(Bluetooth) 小时候肯定有人好奇为什么要叫 Bluetooth,无奈好奇心还不够,只停留在发起 why,今天才是真的解惑。 不出意外是和人名有关,他是Harald Bluetooth(哈拉尔德·蓝牙王) 他是丹麦国王,功绩差不多是统一了分裂的丹麦与挪威。90 年代蓝牙技术的研发小组以其名号期许新技术能集成各大资通品牌的标准。蓝牙的 logo 也是如此 卢恩字母 (Hagall,ᚼ)和 (Bjarkan,ᛒ)的组合,也就是Harald Blåtand的首字母HB的合写。 蓝牙技术规范由蓝牙技术联盟 (Bluetooth Special Interest Group, SIG) 制定,版本现如今已经更新到 第六代了 其中第四代开始,支持了本文的主角,也就是蓝牙低功耗 (Bluetooth Low Energy, BLE) 目前蓝牙最为普遍使用的有两种规格: 蓝牙基础率/增强数据率 (Bluetooth Basic Rate/Enhanced Data Rate, BR/EDR): 也称为经典蓝牙。常用在对数据传输带宽有一定要求的场景上,比如需要传输音频数据的蓝牙音箱、蓝牙耳机等; 蓝牙低功耗 (Bluetooth Low Energy, BLE): 从蓝牙 4.0 起支持的协议,特点就是功耗极低、传输速度更快,常用在对续航要求较高且只需小数据量传输的各种智能电子产品中,比如智能穿戴设备、智能家电、传感器等,应用场景广泛。 BLE 大概是什么 大概分成三个核心维度来了解 BLE:架构(Stack)、连接机制(GAP-Generic Access Profile) 和 数据交互(GATT-Generic Attribute Profile)。 BLE 的分层架构 (Protocol Stack) BLE 协议栈主要分为两大部分:控制器 (Controller) 和 主机 (Host)。 ...

January 19, 2026 · 2 min · 374 words · Ray

tmux是什么

本文大大大大量参考 阮一峰老师的博客,虽然我在之前的使用中没有翻阅他的文章,不过哪怕是抄,我也觉得应该抄个优秀的。 Tmux 使用教程 - 阮一峰的网络日志 这我没想到这篇写在19年,比我上次看的那个 async 要小很多了 Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。 我常用是因为两个情况 懒得开多个窗口 远控服务器经过堡垒机 一、Tmux是什么 1.1 会话与进程 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session) 。 会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。 也就是初学的时候,连上虚拟机或者ssh连上Linux之后部署运行程序是直接在这个窗口中运行的。当窗口关闭时程序也随之关闭,在当时接触了解了nohup 和 screen 。 一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。 history能存上一次执行的命令,这里回头一定要学习一下,因为我也不知道什么情况才会存进history中 为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。 1.2 Tmux 的作用 Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。 (1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。 (2) 它可以让新窗口"接入"已经存在的会话。 (3)它允许每个会话有多个连接窗口,因此可以多人实时共享会话。 (4)它还支持窗口任意的垂直和水平拆分。 类似的终端复用器还有 GNU Screen。Tmux 与它功能相似,但是更易用,也更强大。 二、基本用法 2.1 安装 Tmux 一般需要自己安装。 1 2 3 4 5 6 7 8 # Ubuntu 或 Debian $ sudo apt-get install tmux # CentOS 或 Fedora $ sudo yum install tmux # Mac $ brew install tmux 2.2 启动与退出 安装完成后,键入tmux命令,就进入了 Tmux 窗口。 ...

January 7, 2026 · 3 min · 520 words · Ray

什么是浏览器指纹:10 分钟彻底了解 16 个指纹

什么是浏览器指纹:10 分钟彻底了解 16 个指纹 作者:AdsPower — 2024-04-29 整理者:gpt5.1 Note 虽说摘自他山,但是这是开启什么系列以来第一个合适的命题,干脆直接塞进分类充数。跑起来最重要。 简介 当你访问网站(例如社交网站 / 电商网站)时,网站可能会悄悄收集你浏览器 / 设备的各种细节 —— 比如 IP、所用操作系统、屏幕分辨率、安装字体等。 这些看似无关紧要的信息组合在一起,就可能构成一个“浏览器指纹”(browser fingerprint),使网站能够识别你为一个独特访问者 —— 即使你清除 Cookies 或启用了“隐私模式”。 理解常见的浏览器指纹项,有助于: 理解网站为何/如何“识别”你; 在使用“指纹浏览器”或“反指纹/虚拟环境”时,更理性地设计你的环境配置; 提高多个账号并行运营时(例如电商、社媒、营销等)的安全性与隐蔽性。 为什么网站要收集浏览器指纹 浏览器指纹可以让网站“记住你是谁”。即便你清除 Cookies,网站也可能通过指纹判断“你回来过”。 对于电商网站 / 社交平台,识别用户是否“真实”、是否“同人 操作多个账号”很重要,指纹就是一个重要依据。 对于需要管理多个账号(例如营销、社媒运营、电商多店铺等)的用户/团队,了解、控制指纹可以帮助减少账号关联、降低被封禁/风控的风险。 常见的 16 种浏览器指纹及其含义 以下是文章列出的 16 项指纹(fingerprint)及其作用/特性: # 指纹类型 含义 / 来源 / 作用 1 IP 地址 用于识别用户设备的网络地址,是最基础的识别方式。 2 地理位置 通过 IP 推断出用户所在国家 / 地区 /城市甚至经纬度/邮政编码等。 3 时区与当地时间 基于地理位置或系统设置,可以反映用户的“真实”或“伪装”时区信息;如果与 IP 的地理位置不一致,则可能被检测为异常。 4 User Agent(UA) 表示浏览器类型、版本、操作系统等信息,是常见且重要的指纹组成。 5 浏览器语言 浏览器设置的首选语言 (Accept-Language) 。不同语言设置也可能被用作识别。 6 字体 (Fonts) 设备安装的字体集合 — 不同用户可能安装不同字体,通过字体列表也能区分用户。 7 屏幕分辨率 包括显示器分辨率以及浏览器窗口的可视区域大小,不同显示设备和窗口设置会不同。 8 WebGL / WebGPU 通过图形 API 获取设备 GPU / 显示能力相关信息,作为硬件相关指纹的一部分。 9 媒体设备指纹 (Media Devices) 通过浏览器对音频 / 视频设备 (如麦克风、摄像头) 的检测获取硬件信息 (设备类型、标签、分辨率等)。 10 AudioContext 浏览器处理音频的能力 /特性 — 也可能因设备 /软件设置不同而不同,可用于区分用户。 11 ClientRects 浏览器在渲染网页时,对页面元素的位置、布局进行计算 — 这些布局信息(受设备/窗口/浏览器微差异影响)也可能差异显著。 12 SpeechVoices 浏览器/系统提供的语音合成 (Text-to-Speech) 选项 (语音种类、语言、性别等) — 设备不同可能有不同选项,也可作为指纹。 13 硬件并发数 (hardwareConcurrency) 表示设备处理器的逻辑核心数 (CPU 线程数),通过 navigator.hardwareConcurrency 获取 — 不同设备可能不同。 14 设备内存 (deviceMemory) 设备可用内存 (RAM) 大小 (通过 navigator.deviceMemory 获取) — 虽然该值有限制 (通常返回 2/4/6/8 之一),但仍可能被用于区分。 15 Do Not Track (DNT) 浏览器隐私设置中的 “不追踪” 标志 — 如果用户开启了 DNT,该设置也可能成为唯一性特征。 16 Canvas 指纹 (Canvas Fingerprint) 通过让浏览器在一个 <canvas> 上绘制图形/文本,然后分析其渲染结果 (轮廓/像素/抗锯齿等细节) — 因为每台设备 (硬件 + 字体 + 显卡) 不同,渲染结果可能略有不同,从而形成独特“指纹”。 使用“指纹浏览器 / 虚拟环境”保护账户安全 如果你在运营多个账号 — 比如社交媒体账号、电商店铺账号、营销账号等 — 想避免因“相同设备/环境指纹”被关联或封禁,可以考虑使用“指纹浏览器 / 虚拟浏览器环境”。例如 AdsPower 就是这样一种工具,它允许你为每个账号创建独立的浏览器环境,并对上述多个指纹项目进行自定义/模拟。 ...

December 10, 2025 · 2 min · 242 words · Ray