首页 > 其他分享 >Sekiro RPC框架部署使用--web(油猴脚本)

Sekiro RPC框架部署使用--web(油猴脚本)

时间:2023-06-12 17:47:21浏览次数:43  
标签:web code group -- sekiro S4 Sekiro var js

点击 进入JsRpc 项目地址

一,下载地址

下载地址(https://oss.iinti.cn/sekiro/sekiro-demo)

二,运行(依赖java环境,自行安装)

# win 运行
    bin/sekiro.bat
# linux 运行
    bin/sekiro.sh

三,编写油猴脚本

(1) 编写好油猴脚本框架

// ==UserScript==
// @name         Sekiro
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://www.nhc.gov.cn/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=nhc.gov.cn
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
})();

 (2)创建script标签引入Sekiro-Client.js(也可以直接复制这段js源码写入到油猴中)

    /**
     * 创建script标签引入js,省去复制源码的步骤
     */
    var newElement = document.createElement("script"); // 创建标签
    newElement.setAttribute("type", "text/javascript"); // 设置属性
    newElement.setAttribute("src", "https://sekiro.virjar.com/sekiro-doc/assets/sekiro_web_client.js"); // 设置引入js的路径
    document.body.appendChild(newElement);
    
    

(3)访问https://sekiro.virjar.com/sekiro-doc/assets/sekkiro_js_demo.html,复制该页面的js代码,并追加到油猴脚本的自执行函数中,注意更改ip和端口(servcer默认端口为5612)

    var client = new SekiroClient("wss://sekiro.virjar.com/business/register?group=ws-group&clientId="+guid());

替换成

    var client = new SekiroClient("ws://127.0.0.1:5620/business-demo/register?group=ws-group&clientId=" + guid());

(4)注册事件

    // 注册事件
    client.registerAction("executeJs", function (request, resolve, reject) {
        /**
         * resolve()函数处理成功
         * reject()函数处理失败或异常
         */
        var code = request["code"]; // 接收传递的参数
        if (!code) {
            reject("need param{code}");
            return;
        }
        console.log(`executeJs:${code}`);
        try {
            var result = document.cookie; // 获取页面cookie
            resolve(result); // 将cookie传递出去
        } catch (e) {
            reject(`error:${e}`); // 异常处理
        }
    })

完整代码如下:

// ==UserScript==
// @name         sekrio
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://www.nhc.gov.cn/*
// @grant        none
// ==/UserScript==

(function () {
    /**
     * 创建script标签引入js,省去复制源码的步骤
     */
    var newElement = document.createElement("script"); // 创建标签
    newElement.setAttribute("type", "text/javascript"); // 设置属性
    newElement.setAttribute("src", "https://sekiro.virjar.com/sekiro-doc/assets/sekiro_web_client.js"); // 设置引入js的路径
    document.body.appendChild(newElement);
    
    
    function guid() { // 该函数不用改
        function S4() {
            return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
        }
        return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
    }

    function start_sekiro() {
        // 根据ip和port进行配置,创建client
        var client = new SekiroClient("ws://127.0.0.1:5620/business-demo/register?group=ws-group&clientId=" + guid());
        // 注册分组
        client.registerAction("clientTime", function (request, resolve, reject) {
            resolve("" + new Date());
        });
        // 注册分组
        client.registerAction("executeJs", function (request, resolve, reject) {
            /**
             * resolve()函数处理成功
             * reject()函数处理失败或异常
             */
            var code = request["code"]; // 接收传递的参数
            if (!code) {
                reject("need param{code}");
                return;
            }
            console.log(`executeJs:${code}`);
            try {
                var result = document.cookie; // 获取页面cookie
                resolve(result); // 将cookie传递出去
            } catch (e) {
                reject(`error:${e}`); // 异常处理
            }
        })
    }
    setTimeout(start_sekiro, 2000) // 等待20s加载Sekiro客户端
    /**
     * python 连接 示例代码
     * 
    import requests
    params ={
        "group":"ws-group",#接口名称
        "action":"executeJs",#注册的服务名
        "code": "document.cookie", # 传递的参数
    }
    res = requests.get("http://127.0.0.1:5620/business-demo/invoke", params=params)
    print(res.text)

     */

})();

四, 在浏览器 刷新 目标网站页面,让油猴脚本生效

五, python访问

import requests
params ={
    "group":"ws-group",#接口名称
    "action":"executeJs",#注册的服务名
    "code": "document.cookie", # 传递的参数
}
res = requests.get("http://127.0.0.1:5620/business-demo/invoke", params=params)
print(res.text)

原文:https://blog.csdn.net/qq_43557600/article/details/128837697

标签:web,code,group,--,sekiro,S4,Sekiro,var,js
From: https://www.cnblogs.com/tjp40922/p/17475674.html

相关文章

  • 《烽火佳人》
    《烽火佳人》是由安徽广播电视台、紫骏影视传媒集团出品的一部年代情感剧,由袁英明执导,舒畅、陈键锋、乔振宇、李智楠、吴谨言、石筱群、谭凯等联合主演。该剧改编自瞬间倾城的小说《烟火阑珊》,主要讲述了一个清末的格格在经历家族落魄后,在坎坷的环境中逐渐成长为一个商场女强人的......
  • 当GaussDB遇上了毕昇编译器
    摘要:当应用软件及硬件确定后,编译器对应用的自动优化将成为应用性能的关键。从应用优化说起一个应用的优化通常有架构级优化、模块级优化和函数级优化,高性能作为云数据库GaussDB主打特性之一,其在这几方面都进行了大量的优化,也有很强的性能表现。如何进一步提升性能,是否还有其他方......
  • 遗忘的教训:关注细节,珍惜当下
    周末聚餐是生活中的一种美好体验,大家可以围坐在餐桌旁,品尝各式佳肴,畅谈人生、工作、兴趣等话题。而这次聚餐中,商家还送了一些小玩具在餐桌上,增添了许多童真和快乐。可是,我们在享受美食和欢声笑语的同时,也有些隐忧。果不其然,我把一个小玩具放在餐桌旁,本来想着吃完饭收拾好了再带回......
  • Vue详介
    Vue.js是一款流行的JavaScript框架,它可以帮助开发者构建交互式的Web应用程序。Vue.js的核心是一个响应式的数据绑定系统,它可以自动更新视图,使得开发者可以专注于业务逻辑而不必担心DOM操作。在本文中,我们将介绍Vue.js的一些核心概念和技术,以及如何使用它来构建现代Web应用程序。V......
  • TypeScript概述
    HelloTypeScript为什么要学习TypeScript就业或获得更大的竞争优势获得更好的开发体验解决JS中一些难以处理问题JS开发中的问题使用了不存在的变量、函数或成员把一个不确定的类型当作一个确定的类型处理在使用null或undefined的成员js的原罪js语言本身的特性,决......
  • 【Azure 环境】使用az login登录遇见OSError: [WinError -2146893813] : '' 错误
    问题描述使用azlogin指令登录,遇见OSError:[WinError-2146893813]:'',在指令中添加--debug后,输出的错误消息为:urllib3.connectionpool:StartingnewHTTPSconnection(1):*****.******.com:443urllib3.connectionpool:https://****.****.com:443"POST/adfs/ser......
  • 6/12 闲话
    今日推歌:神っぽいな/ピノキオピー歌词今天除了T1都不会,打完暴力分就开始发呆T1:考场上一眼原,虽然之前没做过,但是很快就搞出来了设\(f_i\)为目前有\(i\)张邮票,要买到\(n\)张邮票的期望次数,写一个逆推套路式子:\[f_i=\frac{n-i}{n}(f_{i+1}+1)+\frac{i}{n}(f_i+1)......
  • 常用的DOS命令
    常用的DOS命令DOS(DiskOperatingSystem,磁盘操作系统)是Microsoft公司在Windows之前推出的一个操作系统,是单用户、单任务(即只能执行一个任务)的操作系统。现在被Windows系统取代。对于Java初学者,学习一些DOS命令,会非常有帮助。进入DOS操作窗口:按下Windows+R键盘,打开运行窗口,输......
  • 如何避免安装APP应用时弹窗 “未知风险”?
    许多人都有过这样的经历,下载一个APP应用时,却有弹窗提醒该APP应用来源于未知开发者,或提醒有未知风险,此时我们必须注意其是否来源于可信企业,是否具有安全隐患,因为有大量不法软件隐藏在我们的生活中,一旦下载个人的隐私信息就会面临被窃取、泄露的风险。未知来源的APP应用不应下载......
  • 翻车了,被读者找出 BUG
    大家好呀,我是小楼。本文是上篇文章《使用增强版singleflight合并事件推送,效果炸裂!》的续集,没看过前文必须要先看完才能看本文,实在不想看,拉到文章末尾,给我点个赞再退出吧~Doge上篇文章发出后,有一位读者朋友给我发私信,写了一大段话:一开始,没太看懂,于是就细问了一下在看了解释......