首页 > 其他分享 >自动上传文章插件

自动上传文章插件

时间:2024-05-27 22:44:35浏览次数:19  
标签:插件 settings -- plugin cookie 文章 参数 上传

原因

​ 有谁跟我一样,每次写完博客想发布时都得重新登一次wp(因为我隐藏了wp登录的url,防爆破的),wp登录又奇慢无比,手动把标题和文章粘贴过去,设置标签分类封面图,慢慢的,5分钟-10分钟就过去了。如果先发到其他平台,还是得手动访问、复制、粘贴、设置标签。

​ 但是,我这个插件完完全全可以解决这个问题,配置好配置文件,每次写完博客,右键点击,或者指定快捷键,只需要把typora挂在后台,你就可以去写代码或者干其他事情了。实在是太方便了!!!

​ 虽然每个平台都是我要手动逆向或者用selenium自动化适配,但是我本人是一个博客重度玩家,我也一直在用这个插件,所以不用担心用着用着不维护了的问题,不过话说国内这些平台也不会有事没事改请求参数或者页面结构。下面给出支持平台和未来特性:

平台支持

特性支持

未来不会支持

配置

引入依赖

默认两个插件是启用的,但需要引入一些依赖

首先在typora resources\packages.json 中,追加下面这个依赖

"dependencies": {
    "chromedriver": "^125.0.2",
    "marked": "^12.0.2",
    "selenium-webdriver": "^4.21.0"
}

如下图

image-20240527174651021
  1. 如果你是程序开发人员,电脑有node环境,在当前路径下,运行npm i即可

    ⚠️ 运行之前先把之前的node_modules包的几个依赖给备份一下(如下),下载好再粘回来。使用node下载依赖会删除原有的fswin

    image-20240527175003616
  2. 如果你是小白,请下载这个压缩包,解压到node_modules文件夹即可

image-20240527174326845

自定义配置

下载完成以后,有两处可供配置。

  1. 配置插件显示隐藏插件名称快捷键等信息,与插件配置相同,参考:typora_plugin/plugin/global/settings/请读我.md

    image-20240527175754400
  2. 配置个人信息,这些信息在plugin\global\settings\uploadConfig.yaml文件配置,参照注释

image-20240527200221004

关于cookie的获取,登录后随便找个异步请求把所有cookie值粘过来即可

image-20240527214113433

禁用

如果您想要禁用,首先进入.\plugin\global\settings,找到settings.user.toml文件(初次使用需要先拷贝settings.default.toml一份,具体参考作者文档typora_plugin/plugin/global/settings/请读我.md。并看下方图片

禁用 image-20240527200020108

实现原理

具体实现还是在本项目上做扩展,具体实现代码继承结构抽象出来如下

graph TD A[BasePlugin] --> B[uploadUtil] B --> C[uploadToCNBlogPlugin] B --> D[uploadToCSDN] B --> E[uploadToWordPress] B --> F[uploadToAllPlatform]

CSDN

CSDN是通过逆向发布文章接口实现的,分析了一下请求,流程是这样的(其实第一个请求文章就发出去了)

sequenceDiagram participant A as 用户 participant B as 服务端 A->>B: 第一次POST请求,携带参数 B-->>A: 返回文章id A->>B: 拿着文章id向另一个接口再发一次POST请求 B-->>A: 返回成功标识

​ 两个请求其实都是大差不差的,具体的参数就是要逆向的参数有x-ca-noncex-ca-signature这两个参数其他,其他两个x开头的是固定的。

  • 第一个参数是随机数的意思,一看格式UUID没跑了
  • 第二个不知道用的啥加密算法,正常情况是需要去代码里面逆向的,结果服务端给我返回了一个message: 'HMAC signature does not match' },跟我说是HMAC算法,直接搜参数名一打断点就搜到了,js实现加密逻辑即可。

ℹ️关于cookie,应该能撑一个月,截止到我写文章已经两天了,现在cookie还是没问题

WordPress&博客园

​ 发现逆向还是挺累的,用户还需要定期更新cookie,这两个网站用selenium自动化。就是枯燥无味的找输入框点按钮进frame执行赋值脚本

❗wp同学需要注意,你的md编辑器一定要是wordpress自带的,因为我只适配了这个富文本编辑器。如下

image-20240527165333737

未来拓展思路

标签分类封面图定时发布演示发布特性的添加,我的思路是结合本插件中的文件模版功能斜杠命令功能,精准把所有参数都切割出来,考虑缺省功能。

标签:插件,settings,--,plugin,cookie,文章,参数,上传
From: https://www.cnblogs.com/bug-designer-cn/p/18216736

相关文章

  • 一篇文章带你实践掌握社会网络分析——随机网络、度保持随机化、BA模型
    实践内容:生成和下载的网络相同平均度和网络规模的随机网络对比分析随机网络和下载的网络相关的特征和指标采用度保持的网络随机化算法生成和下载的网络度序列相同的网络利用BA模型生成与下载的网络模型相同的网络,其初始和每个时间t新加入节点的连边自己定义对比分析生成的......
  • 浏览器插件推荐
    一、这9款Edge浏览器必备灵魂插件,少装一个都不行!9款Edge浏览器必备灵魂插件,少装一个都不行!FlashCopilot学术资源全搜索BewlyBewly在线音乐盒篡改猴UblockOriginAIX智能下载器GlobalSpeedDarkReader  二、别眨眼,5个神级拓展插件颠覆你的Edge浏览器......
  • vue项目使用qrcode插件生成二维码
    下载npmiqrcodejs2--save导入importQRCodefrom'qrcodejs2'使用<divclass="qrcode"ref="qrCodeDiv"></div><script>importQRCodefrom'qrcodejs2'exportdefault{data(){return{},......
  • EBU4201 Introductory Java Programming 2023/24Mini Project(⼉童练习乘法表 下个文
    Task1[25marks]SuperHeroTTisasimpleGraphicalUserInterface(GUI)applicationforchildrenwheretheycanpractisetheirtimestables(seeFigure1).Whenlaunched,yourappshouldlooklikeFigure1-FirstlaunchofSuperHeroTT.Thedrop-downbo......
  • idea配置maven插件打包所有jar到lib
    在IntelliJIDEA中配置Maven插件以将所有依赖的JAR打包到一个lib文件夹中,通常不是通过直接配置IDEA来完成的,而是通过在Maven项目的pom.xml文件中添加相应的配置来实现的。下面是一个简单的步骤指南,说明如何在Maven项目中实现这一目标:添加Maven依赖插件:在你的......
  • custom:用户自定义插件,提供开放能力
    custom插件的功能:支持用户在右键菜单中自定义插件。简介custom插件大量采用声明式代码(声明代替代码开发),比如:只需使用style=()=>"...",即可注册css。只需使用styleTemplate=()=>({renderArg}),即可引入css文件,并且支持渲染模板。只需使用html=()=>"...",即......
  • 逆向CSDN发送文章接口
    业务逻辑是首先发送文章,服务器返回文章插入的id,拿着这个id再发送一次请求(这个只携带了4个参数,可能是发送给审核端审核的?或者其他的业务逻辑?但是这玩意儿不应该服务器端做吗)要逆向的参数有x-ca-nonce、x-ca-signature这两个参数其他,两个x开头的是固定的。第一个参数是随机数的意......
  • 【BI 可视化插件】怎么做? 手把手教你实现
    背景对于现在的用户来说,插件已经成为一个熟悉的概念。无论是在使用软件、IDE还是浏览器时,插件都是为了在原有产品基础上提供更多更便利的操作。在BI领域,图表的丰富性和对接各种场景的自定义是最吸引人的特点。虽然市面上现有的BI软件内置了许多图表组件和自定义属性设置,但......
  • python脚本之requests库上传文件
    一、前言在学习的时候,发现有一个AWD的文件上传执行漏洞,突然想着批量对不同靶机进行操作并get_flag。思路简单,但是没构造过文件上传的requests的post请求的payload。便记录一下。二、构造知识在上传文件的时候,数据表的post请求体里面通常是下面这样------WebKitFormBoundary......
  • 逆向CSDN发送文章接口
    业务逻辑是首先发送文章,服务器返回文章插入的id,拿着这个id再发送一次请求(这个只携带了4个参数,可能是发送给审核端审核的?或者其他的业务逻辑?但是这玩意儿不应该服务器端做吗)要逆向的参数有x-ca-nonce、x-ca-signature这两个参数其他,两个x开头的是固定的。第一个参数是随机数的意......