Skip to content

Instantly share code, notes, and snippets.

View Zayrick's full-sized avatar

木头 Zayrick

  • 18:33 (UTC +08:00)
View GitHub Profile
@Zayrick
Zayrick / README.md
Last active August 7, 2025 12:04
一个用于中转和签名转发小米 IoT API 请求的反向代理服务器。该服务接受客户端发来的设备控制请求,自动计算签名并将请求转发至小米的 api.io.mi.com 接口。主要功能包括请求签名计算(基于 HMAC-SHA256)、安全凭证验证、CORS 跨域支持,以及完整的请求重定向和错误处理。

小米 IoT 反向代理及扫码登录服务

该服务提供 Go 服务端Cloudflare Worker 两种部署方式,功能完全一致。
本文档介绍服务功能、部署方式、主要接口与代码结构,方便后续维护及二次开发。

⚠️ 风险警告

请在使用前仔细阅读以下安全提示,明确风险并自行承担责任。

安全风险

@Zayrick
Zayrick / README.md
Last active August 7, 2025 10:08
小米IoT平台Cloudflare Worker:一个无需本地部署的智能家居设备控制方案,支持设备属性设置、获取和方法调用,适用于各类小米智能设备的远程操作。

小米 IoT 设备控制 Cloudflare Worker

通过 Cloudflare Workers 转发并签名调用 https://api.io.mi.com ,简化小米 IoT 设备(米家)控制流程。

功能概述

  1. 路径过滤:仅接受以 /app/ 开头的 POST 请求。
  2. 鉴权字段提取:自动从请求体中提取 userIdserviceTokendeviceIdsecurityToken 四个字段,data字段参与签名计算。
  3. HMAC-SHA256 签名:按米家官方协议生成 _noncesignedNoncesignature 三个参数。
  4. 请求转发:将组装好的 application/x-www-form-urlencoded 请求转发至 https://api.io.mi.com,并将原始响应返回给调用方。
@Zayrick
Zayrick / chinese_ganzhi_calendar.py
Created May 2, 2025 16:13
基于天文算法的中国传统干支历法(八字)精确计算工具,支持自定义观测地点。
import math
import ephem
from datetime import datetime, timedelta, UTC
from typing import Union, Tuple
from functools import lru_cache
class ChineseCalendar:
"""中国传统干支历法计算工具"""
# 天干和地支表
@Zayrick
Zayrick / docker-registry-proxy-worker.js
Last active February 25, 2025 00:52
基于 Cloudflare Workers 的 Docker Registry 代理脚本,支持自动补全 library 命名空间,动态使用访问域名作为代理地址,并优化了认证处理和请求转发逻辑。适用于国内访问 Docker Hub 镜像时遇到的拉取问题。
/**
* Docker Registry 代理 Worker
*
* 功能说明:
* 1. 根路径请求重定向到 Docker 官网
* 2. 针对 /v2/ 请求返回带有 WWW-Authenticate 挑战的响应,
* 引导 Docker 客户端获取认证 Token。
* 3. 针对 /auth/token 请求,从 Docker 授权服务获取认证 Token。
* 4. 对于其他请求(如拉取镜像配置或镜像数据),转发到上游 Docker Registry,
* 并在必要时对请求路径进行调整(例如缺失默认命名空间时自动补全 "library")。
@Zayrick
Zayrick / GPON_HGU_B3_admin_password_cracker.py
Last active September 11, 2024 06:50
用于破解陕西广电GPON HGU B3型家庭网关(TBG300-0-04)的超级管理员密码的暴力破解脚本。
import requests
# 定义用户代理,用于模拟浏览器的请求头
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36"
# 定义登录和注销的URL
LOGIN_URL = "http://192.168.1.1/boaform/admin/formLogin"
LOGOUT_URL = "http://192.168.1.1/boaform/admin/formLogout"
# 遍历尝试的密码,从0到9999