通过发送广播的方式来操作SDK,切换ip的功能
- 可以通过autojs代码接入
- 可以通过adb命令直接接入
// 登录
adb shell am broadcast -a action.st.login --es username 你的账号 --es password 你的密码
// 切换ip
adb shell am broadcast -a action.st.changeip
// 释放IP(不用了必须释放,否则下次登录会卡5分种连接数)
adb shell am broadcast -a action.st.releaseip
将aar包放入项目libs里面
在build.gradle中加入如下引用
// 建议最好修改下版本名称,避免用到缓存的aar包
implementation (name:'stproxy-release1.x', ext:'aar')
// 需要第三方 Gson 与 OkHttp 库
implementation("com.squareup.okhttp3:okhttp:3.14.9")
implementation 'com.google.code.gson:gson:2.4'
/**
* 初始化接口
* @param app
*/
void init(Application app);
/**
* 设置接口回调监听
* @param listener
*/
void setStLisntener(STListener listener);
/**
* 账号登录
* @param username
* @param password
*/
void login(String username, String password);
/**
* 切换ip
* @param areas 地区代码: 如果有多个地区,则使用逗号隔开如: 1,2,4,6
*/
void changeip(String areas);
/**
* 断开代理网络,回到本地网络,但是还没释放ip
*/
void stopip();
/**
* 释放ip,服务器立马释放授权占用。
* 如果用户异常退出,如:直接杀进程退出,则服务器会卡3-6分的授权占用
* 注: 授权,指的是一个账号下购买的单窗口ip数量
*/
void releaseip();
/**
* 获取地区
* 注意: 需要登录后才能调用
* @param isFilter 是否过滤无效地区或维护中的地区
*/
void getAreas(bool isFilter);
/**
* 登录回调
* @param code 返回码
*/
void onSTLogined(int code);
/**
* 切换ip后的回调
* @param code 返回码
* @param ip 代理ip
* @param area 地区
* @param curr 占用数量
* @param total 总数量
*/
void onIPChanged(init code, String ip, String area, int curr, int total);
/**
* 释放IP后的回调
* @param code 返回码
*/
void onSTRelease(init code);
/**
* 获取地区后的回调
* @param code 返回码
* @param json 地区列表
*/
void onAreasResp(int code, String json);
/**
* ip连接状态监听
* 注意: 这是非UI线程回调
* @param code 返回码
* @param msg 返回消息
*/
void onIPStatusListener(int code, String msg);
- 1 网络异常 等错误
- 0 成功
- 1 账号名/密码错误
- 2 其它错误
{
"usageCount": 100, // 总连接数
"usingCount": 0, // 已用连接数
"username": "ttt123", //登录账号
"dateOfflineForClient": 1637055038000 //账号到期时间
}
- 1 获取ip失败
- 2 账号已过期
- 3 用户还未登录
- 5 切换ip太快,至少11秒以上(针对独享)
- 6 超出用量
- 7 无可用ip
{
"id": 10, // 代表省份id
"isEnable": 1, // 0不可用 1 代表可用, 2 维护中
"versionMark": 5,
"cities": [{
"id": 122, // 城市id, changeid时的参数就是这个
"isEnable": 1, // 0不可用 1 代表可用, 2 维护中
"versionMark": 1, // 无关变量不用管
"lineNum": 412, // 线路条数
"cname": "泰州电信",
"pid": 10 // 代表省份id
}],
"pname": "江苏"
}
- 1 ip连接断开,已断网
- 2 账号到期,已断网