本地自建授权服务激活Share高级版

Share是一个非常优秀的第三方微博客户端,由于官方的限制,虽然已经下架了,但是最后一个版本的功能还是可以满足大部分需求。然而一些高级特性需要激活后才能使用,官方的激活服务器已经不能使用了,只能自建激活服务。以下教程仅供学习交流,如有侵权,请联系本人删除。

通过手机抓包可以看到,Share访问的激活api是http协议,并不是https协议,这样一来自建一个激活后端,返回所需的响应,然后直接把api.yuhengye.com指向该后端服务的ip即可。

图片[1]-本地自建授权服务激活Share高级版-爱写代码的小医生图片[2]-本地自建授权服务激活Share高级版-爱写代码的小医生

方法一: 直接使用nginx返回json响应:

server {
    listen 80;  # 监听的端口,可根据实际情况修改
    server_name _;  # 服务器名称,可根据实际情况修改

    location /activecode/bind {
        # 设置响应头,表明返回的是 JSON 数据
        add_header Content-Type application/json;

        # 返回 JSON 数据
        return 200 '{
            "code": 0,
            "data": {
                "code": "鸡仔YYDS",
                "activated": true,
                "orderId": "",
                "activeCount": 0,
                "timestamp": 32472115200000,
                "s_expire": false
            }
        }';
    }
}

方法二:建立一个后端服务器返回json响应

2.1、使用flask自建授权服务,返回响应。

官方的响应并没有加密,响应数据格式如下:其中code为激活码,activated为是否激活,timestamp为有效期时间戳。

{"code":0,"data":{"code":"鸡仔YYDS","activated":true,"orderId":"","activeCount":0,"timestamp":32472115200000,"s_expire":false}}

在有公网ip的vps或者内网主机中,创建一个flask应用,路由设置为/activecode/bind,返回json格式的响应。

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/activecode/bind', methods=['GET'])
def get_data():
    response = {
        "code": 0,
        "data": {
            "code": "鸡仔YYDS",
            "activated": True,
            "orderId": "",
            "activeCount": 0,
            "timestamp": 32472115200000,
            "s_expire": False
        }
    }
    return jsonify(response)

if __name__ == '__main__':
    app.run(host='0.0.0.0',debug=True)

输入python share-activate.py,会启动授权认证后端服务

image

2.2、使用nginx反向代理到flask服务

创建一个nginx配置文件api.yuhengye.com.conf,将80端口反向代理到5000端口,内容如下。

server {
    listen 80; 
    server_name api.yuhengye.com; # 你的域名

    location / {
        proxy_pass http://127.0.0.1:5000; # 代理到本地服务
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

一些指令如下:

❯ nano /etc/nginx/sites-available/api.yuhengye.com.conf
❯ ln -s /etc/nginx/sites-available/api.yuhengye.com.conf /etc/nginx/sites-enabled/
❯ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
❯ nginx -s reload

三、设置本地dns,指定api.yuhengye.com的ip地址

在本地路由器中的DHCP/DNS中,自定义api.yuhengye.com的ip为vps的公网ip或者内网主机的ip,报存并应用。

image

在本地电脑终端输入curl http://api.yuhengye.com/activecode/bind,返回如下响应即测试成功:

image

四、手机app激活应用

在手机share应用中,输入如下格式的激活码:11111111-2222-3333-4444-555555555555,内容其实并不重要,满足标准的UUID格式即可:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12)。这样就能激活share高级版啦~

imageimage

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容