simple-verify SERVER-SIDE SDK · v0.1.0

服务端 SDK

六种语言,接口完全一致,四个零运行时依赖。源码包内含完整测试,可直接读、直接改。

下载

语言运行时依赖源码包其他产物
Python
3.8+
零依赖
stdlib urllib
python-0.1.0.tar.gz 含 pyproject.toml
Node.js / TypeScript
Node 18+
零依赖
全局 fetch
js-0.1.0.tar.gz 已编译 dist + 类型声明
Go
1.21+
零依赖
stdlib
go-0.1.0.tar.gz
Rust ureq + serde_json rust-0.1.0.tar.gz
Java
11+
零依赖
java.net.http
java-0.1.0.tar.gz jar · sources jar

校验和:SHA256SUMSshasum -a 256 -c SHA256SUMS 可批量核对)

安装与使用

Python
tar xzf simple-verify-sdk-python-0.1.0.tar.gz
# 把 python/simple_verify.py 放进项目,或 pip install ./python

from simple_verify import SimpleVerify, SimpleVerifyError
sv = SimpleVerify("你的 appsecret")
r = sv.verify(token, remoteip=client_ip)
Node.js / TypeScript
tar xzf simple-verify-sdk-js-dist-0.1.0.tar.gz
# 或直接把 js/src/index.ts 放进你的 TS 项目

import { SimpleVerify } from "@loadren/simple-verify";
const sv = new SimpleVerify(process.env.APP_SECRET);
const r = await sv.verify(token, clientIp);
Go
tar xzf simple-verify-sdk-go-0.1.0.tar.gz
# 复制 go/ 目录进项目,或作为本地 module 引用

sv := simpleverify.New(os.Getenv("APP_SECRET"))
result, err := sv.Verify(ctx, token, clientIP)
Rust
tar xzf simple-verify-sdk-rust-0.1.0.tar.gz
# Cargo.toml: simple-verify-sdk = { path = "./rust" }

let sv = SimpleVerify::new(&secret);
let r = sv.verify(&token, Some(&client_ip))?;
Java
# 方式一:直接用 jar
javac -cp simple-verify-0.1.0.jar MyApp.java

# 方式二:源码包内含 pom.xml(无第三方依赖),也可用 build.sh 纯 javac 构建

SimpleVerify sv = new SimpleVerify(System.getenv("APP_SECRET"));
VerifyResult r = sv.verify(token, clientIp);

统一约定

行为说明
构造SimpleVerify(secret, endpoint?, timeout?),endpoint 默认 https://verify-api.loadren.com,超时默认 2 秒。
校验verify(token, remoteip?) 返回 success / score / hostname / challenge_ts / error_codes / debug
网络故障抛出独立错误类型(SimpleVerifyError 等),与"校验被拒"严格区分——fail-open 决策留给你。
本地短路空令牌、超长令牌直接返回拒绝,不发网络请求。
不想用 SDK?协议本身只有一个 POST 表单请求,直接照着 接口文档手写十几行就能接完。