为自由和真理,英勇地献身

欢迎来到我的博客,也欢迎在Telegram交流

Google One Pro白嫖记录

前言 Google One Pro 提供了 2TB 的存储空间以及 Gemini Advanced 的使用权限,通常价格不菲。最近 Google 推出了针对学生的优惠活动,只要通过学生身份认证,即可免费获得一年的订阅服务。本文将记录我如何利用学生身份成功领取的全过程。 准备工作 在开始之前,你需要准备以下几样东西: 教育账户: 需要一个能够通过 SheerID 验证的邮箱。亲测宾夕法尼亚州立大学(PSU)的邮箱可用。 注册地址:http://accounts.psu.edu/create/new 美国地址信息: 订阅时需要填写账单地址,建议使用生成器生成一个美国地址,并保持一致。 地址生成器:https://www.meiguodizhi.com/usa-address/pennsylvania 网络环境: 需要将你的网络节点切换到活动支持的地区,推荐使用 美国、日本或新加坡节点。 支付方式: 虽然是免费试用,但 Google 需要验证支付方式。你需要一张 Visa 或 MasterCard 的信用卡/借记卡(国内发行的双币卡通常也可以,或者使用 U 卡)。 领取步骤 1. 网络测试 首先,确保你的网络环境已经切换到美国节点,先使用ping0.cc测试你的IP是否足够纯净 我的IP风险如下,如果风控值超过50可能难以注册 2. 学生身份注册认证 进入PSU注册页面后,依次填入信息(不一定要是真的) 到达第四步后,在最上方的邮箱地址处填入你想要接受邮件的邮箱 之后继续注册,会把注册邮件发到你的邮箱 在这里,给我分配的邮箱是tankman8964@psu.edu,拿着这个邮箱在登录页面登录即可 到这里,一个有认证资格的账户就注册好了,谷歌的认证不一定需要发送邮件,能通过sheedID即可 白嫖订阅 访问 Google One 的学生优惠活动页面: http://one.google.com/ai-student 点击页面上的订阅按钮后,会跳转到 SheerID 的认证界面。 在学校列表中找到你邮箱对应的学校(例如 Pennsylvania State University)。 选择学校后,就像刚刚登录认证页面那样登录你在PSU的账户 到此,sheerID认证成功! 3. 绑定支付方式并订阅 通过身份验证后,会回到 Google One 的订阅页面。 此时价格应显示为 免费试用 12 个月 绑定你的 Visa/MasterCard 卡片进行验证(可能会扣除少量金额用于验证,随后会退还)。 确认订阅。 恭喜!你现在已经拥有了 2TB 的 Google One 空间和 Gemini Advanced 会员。、...

December 5, 2025 · 1 min · 89 words · LOTU$

Google GenAI Toolbox 体验

我有这么一个需求:查询某个云服务商的服务器账单信息。比如我想查询Volcengine上所有昵称包含nginx的服务器的账单信息。(话说怎么不直接用sql呢,一定不是因为我懒得写sql吧?) 我的GenAI Toolbox配置如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 sources: cost_analysis: kind: postgres host: "10.0.2.49" port: 5432 user: "postgres" password: "123456" database: "cost_analysis_db" tools: find-server-billing-by-nickname-and-provider: kind: postgres-sql source: cost_analysis statement: | SELECT s.instance_id, s....

July 18, 2025 · 1 min · 187 words · LOTU$

共享内核的“副作用”:用ebpf解析Docker与K8s中的时间管理机制

背景 最近要上线一个应用,需要修改时间相关的配置 照常打包上线后,在容器内使用date -s 2077-08-02修改时间 发现宿主机的TLS握手失败,宿主机的时间也被修改了 这个时候才想起容器是共享宿主机内核的,并且是共享同一个内核时钟的 我们起个Debian容器实验下(需要开privileged模式) 1 docker run -d --name debian debian:12-slim --priviliage sleep infinity k8s的Pod也是类似的,不过我们这里为了方便就用Docker了 1 2 3 4 5 6 7 8 9 10 11 12 13 apiVersion: v1 kind: Pod metadata: name: debian-privileged-pod spec: containers: - name: debian-container image: debian:12-slim securityContext: # 设置为 true,等同于 Docker 的 --privileged 标志 privileged: true command: ["sleep"] args: ["infinity"] 先前已经校准了时间,现在我在容器内执行 1 date -s 2077-08-02 发现连宿主机的时间也被修改了 简单的eBPF程序 在这里,我简单写个eBPF程序来监控容器内的时间修改操作 先装好ebpf相关软件包 1 sudo apt-get install -y linux-headers-$(uname -r) libbpf-dev clang llvm bpftool 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # 使用 clang 编译 eBPF 程序 CC = clang # 编译选项 CFLAGS = -g -O2 -Wall all: vmlinux....

July 10, 2025 · 9 min · 1709 words · LOTU$
A terminal showing Gemini CLI

Gemini CLI初体验:从入门到进阶

Gemini CLI简介 Gemini CLI是Google推出的命令行界面工具,对标Claude Code,不过前者是开源的,这也让我们得以复现它的功能。 他提供一个TUI界面,可以在终端中与Gemini AI进行交互,支持代码生成、调试和文档编写等功能。 安装 1 2 npm install -g @google/gemini-cli gemini 安装好后默认界面是这样的 这里我选择默认主题 Enter后会进入主界面,这里我选择使用Google账户登录,他就会弹出浏览器窗口来进行登录。 这时候我遇到了一个问题,提示我需要设置Google Cloud认证。 查阅了资料之后发现需要去到Google Cloud配置API 大概率是因为之前用过Google Cloud 进入后,选择启用Gemini for Google Cloud,然后点击管理 在这之后,还需要访问Google Cloud控制台来获取到项目 ID 在这里,找到项目ID,我这里是gen-lang-client-19890604 然后在终端环境中加入以下命令来设置环境变量: 1 export GOOGLE_CLOUD_PROJECT=gen-lang-client-19890604 Windows用户可以使用以下命令: 1 setx GOOGLE_CLOUD_PROJECT="gen-lang-client-19890604" 然后重启终端就可以登录了,如果还不能登录,或者是提示网络不行,可以开启Clash的TUN模式,这样终端也可以走代理。 初步使用 这里我让他根据代码生成一个README文件 他很快就生成好 选择always allow 看着效果还不错 接入MCP后如果能接入Github Issue来改文件就更好了 进阶技巧 使用 /compress可以压缩上下文,让他不会超过大模型的context限制 1 /compress 可以直接在终端中输入命令来执行操作,比如: 1 ls | gemini 或者 1 !ls 你可以用 1 /chat save <tag> 来保存聊天记录,方便后续继续 像我这里就保存了一个’ai_review_chat’的聊天记录 我最常用的是...

June 28, 2025 · 1 min · 191 words · LOTU$

Ansible扫描Openvpn客户端

实习中遇到个问题,现有的openvpn配置很乱 需要重新梳理客户端和服务端的对应关系。于是写了个Ansible脚本来扫描客户端配置文件 提取出所有Client的配置文件,并生成一个对应关系报告。 已知现在机器上面所有的OpenVPN客户端配置文件都在/etc/openvpn/client/目录下。 ansible-playbook的脚本文件如下(因为我这用的服务器的ansible比较老,所以格式可能不太一样): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 --- - name: 第 1 步 - 从 OpenVPN 客户端配置中发现公网 IP 及其文件名 hosts: all become: yes gather_facts: no vars: # 定义要扫描的 OpenVPN 客户端配置目录 openvpn_client_dir: /etc/openvpn/client tasks: - name: "扫描 {{ openvpn_client_dir }} 目录下的配置文件 (递归搜索并关联文件名)" shell: > grep -rHE '^remote\s+' {{ openvpn_client_dir }} 2>/dev/null | grep -vE ':remote\s+(192\....

June 11, 2025 · 2 min · 311 words · LOTU$