使用 Bitwarden 保护你的 Steam 账号

我是用 Bitwarden 有一段时间了,之前也将 Steam 账号添加到了里面,但是后面再次将添加 Steam 账号的时候已经完全忘记了之前是怎么添加的,则此在查阅了网上的信息之后做一个记录总结。

通过 Bitwarden 的帮助文档可以知道,Bitwarden 是可以为 Steam 账号添加 Steam Guard TOTPS 的,但是需要获取账号的 secret key,在帮助文档里面提到了两个工具可以获取 secret key,分别是 SteamTimeIdler and Steam Desktop Authenticator。我使用的是 Steam Desktop Authenticator,在此时的最新版本是 1.0.14,具体的使用方法参考如下:

  1. This is my first time and I just want to sign into my Steam Account(s);
  2. Setup New Account;
  3. Steam Login. 分别输入账号密码;
  4. Enter the code sent to your email. 此时会发到你邮箱一个验证码,把验证码填到输入框;
  5. 会提示登录成功;
  6. Please enter an encryption passkey. Leave blank or hit cancel to not encrypt(VERY INSECURE). 提示输入加密密钥,因为我要在 Bitwarden 里面使用,所以此处点了 Cancel;
  7. Please input the SMS code sent to your phone. 提示输出发送到手机短信的验证码,如果没有绑定手机号,验证码也会发送到邮箱;

登录完成之后会在运行程序的当前目录生成一个 maFiles 文件夹,里面会产生一个 .maFile 的文件,里面保存的是一个字典文件,使用文本编辑器打开并找到 uri 的值,其中 secret= 的值就是需要的 secret key,拼接成 steam://<secret key> 的形式。填到 Bitwarden 的验证器密码(TOTP) 下即可。

对 PandoraNext 的介绍

最近在使用 ChatGPT 的过程中,平时由于有对 API 的需求,但是 GPT4 API 的使用量一上来价格就有点超出预期,看到知了对 PandoraNext 的介绍,有了跃跃欲试的感觉,印象中在 2023 年上半年就有搭建过,但是当时只是感觉和 ChatGPT 官网的样式完全一样之外,并没有其他特别之处,而且当时 ChatGPT Web UI 处于百花齐放的时候,之后也就没有深入去体验,由于最近对 GPT4 API 的需求量有所提升,而且 PandoraNext 可以将 GPT web 的聊天转为 API 的调用方式,所以就有了这次深入的体验。

PandoraNext 的搭建已经非常的简单,对照着文档可以很方便的跑起来,在开启了 Proxy 模式之后,就能够通过 API 的方式对 ChatGPT web 进行访问,由于使用的是 Web 的聊天,对于 GPT3.5 是完全免费的,而对于 GPT4 则只有数量上的限制,不会再单独的收费。PandoraNext 的 token 可以分为 refresh token,session token,access token,share token 和 pool token,通过 PandoraNext 的 api 接口可以使用用户名和密码 refresh token,session token 和 access token,这三种 token 的作用和有效期是不一样的,refresh token 和 session token 可以用来生成新的 access token,生成的所有 token 并不是保存在自己搭建的 PandoraNext 节点上,获取的这些 token 可以在任何一个搭建了 PandoraNext 节点上面使用,这几种 token 更推荐通过账号密码获取 refresh token,通过 refresh token 获取 access token,在通过 access token 获得 share token,获取了 share token 之后就可以直接使用了,但是假如有多个 GPT 账号,每个账号的额度都是一定的,如果使用量比较大,单个账号就可能会达到使用的限额,此时在每个账号获取了 share token 之后,可以将多个 share token 组成一个 pool token,只要 pool token 中的 share token 还有一个可用,那么这个 pool token 就是可用的。

由于 share token 的有效期可以自定义,最长是和生成 share token 的 access token 一样长,现在知道的大概是 10 天,但是在实际中一般会小于 10 天就失效了。session token 的有效期会更长一点,据传大概是 90 天,由于已经有了 refresh token,平时 session token 很少使用,session token 可以在 OpenAI 官网和 GPT 聊天时在 Cookie 中获取。并且 session token 可以用来更新 session token 和 access token。

PandoraNext 提供了很多的 API 用来管理这些 token,我的思路是先通过账号密码,获取 refresh token,将 refresh token 对应账号保存下来,后面通过 refresh token 获取 access token,再通过 access token 获取 share token,再将 share token 也保存下来,将所有账号的 share token 都生成完毕之后,再将所有的 share token 组成一个大的 pool token,而这个 pool token 是不变的,这样就可以保证在接入其他程序之后不用频繁的重新设置 token。

其实 PandoraNext 并不需要我来介绍,网上有铺天盖地的溢美之词,但是这个项目确实解决了我在使用 ChatGPT 时的需求,所以有必要记下自己的使用体验。

就在我着手写这篇介绍的时候,PandoraNext 作者决定放弃这个项目了,这个月底(20240131)之后就用不了了。


使用 PandoraNext 获取的 Refresh Token 依然可以通过 OpenAi 的接口获取 Access Token,还是引用知了的文章

POST 请求: https://auth0.openai.com/oauth/token

请求 Body 为 Json

{
    "redirect_uri": "com.openai.chat://auth0.openai.com/ios/com.openai.chat/callback",
    "grant_type": "refresh_token",
    "client_id": "pdlLIX2Y72MIl2rhLhTE9VV9bN905kBh",
    "refresh_token": "上步获取的refresh token"
}

PandoraNext 的作者也提供了一个 DeepL 的接口服务 DeepLX,可以用在其他的翻译软件上面接口地址如下,如果用不了了,需要手动访问一次接口地址,过一下 CF 的盾,我使用这个接口也有一段时间了,还没有遇到需要手动过 CF 盾的时候。

https://api.deeplx.org/translate

Hello world!

距离上次使用 WordPress 应该有十年的时间了,中间走马灯一样的换博客软件,像 Jekyll, Hexo, Hugo 等等,乐此不疲的享受着中间折腾的过程,很少能坚持下来写一些文字。如今放弃折腾这些花里胡哨的软件,重新回到 WordPress,做一些简单的记录。