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

自动上传文章插件

时间:2024-05-28 23:23:08浏览次数:11  
标签:插件 settings -- plugin selenium uploader 文章 上传

由于CSDN是直接逆向的接口,上传文章大概是2-3s,两个selenium自动化的平台上传时间长一点,20s左右

原因

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

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

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

平台支持

特性支持

未来不会支持

配置

版本提示:插件使用的selenium谷歌驱动是125.0.2的,需要保证本机有Google Chrome。如果发布失败,需要检查版本号。方法:

  1. 你可以访问这个链接获取脚本匹配的谷歌浏览器版本下载 ,或者你可以访问Release 自动发布博客依赖 进行下载

  2. 使用npm安装的同学你也可以修改package.json下方chromedriver版本号以匹配你的版本

建议关闭自动更新,不然可能会有版本问题,但是我一直都是在更新半年了好像也没出现问题

引入依赖

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

首先在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包的几个依赖给备份一下(如下),下载好再粘回来。使用npm下载依赖会删除原有包

    image-20240527175003616
  2. 如果你是小白,请下载这个压缩包Release 自动发布博客依赖 ,解压到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

启用article_uploader插件并在右键菜单配置中添加下面这个配置

[[right_click_menu.MENUS]]
NAME = "上传到所有平台"
LIST = [
    "article_uploader.upload_to_all_site"
]
[[right_click_menu.MENUS]]
NAME = "上传到单个平台"
LIST = [
    "article_uploader.upload_to_csdn",
    "article_uploader.upload_to_wordpress",
    "article_uploader.upload_to_cn_blog"
]
禁用

实现原理

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

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,selenium,uploader,文章,上传
From: https://www.cnblogs.com/bug-designer-cn/p/18219201

相关文章

  • 【软件插件】VRay6.2渲染器安装教程(支持SketchUp草图大师2019-2024版本)
    下载链接:https://docs.qq.com/doc/DREh5ak5aQWJTdWdU详细图文教程:https://www.yuque.com/zhefengerhuanzaigua/bld6x5/cul5nfqrf7rw40lv软件介绍VRay是业界最受欢迎的渲染引擎。基于V-Ray内核开发的有VRayfor3dsmax、Maya、Sketchup、Rhino、CINEMA4D等诸多版本,为不同领......
  • 周报 | 24.5.20-24.5.26文章汇总
    为了更好地整理文章和发表接下来的文章,以后每周都汇总一份周报。OpenCV与AI深度学习|YOLOv8自定义数据集训练实现火焰和烟雾检测(代码+数据集!)-CSDN博客周报|24.5.13-24.5.19文章汇总-CSDN博客DeepDriving|目标检测中的非极大值抑制(NMS)算法_非极大值抑制nms的基本原理......
  • 解决VScode下载插件十分缓慢的问题
    解决VScode下载插件十分缓慢的问题问题的发现之前由于我对vscode的配置有些问题,导致无法用vscode完成作业,放弃了一段时间的vscode然后最近重拾vscode的时候发现下载插件的时候十分缓慢一直会卡在这样的界面问题的着手解决之后我在浏览器开始搜索的时候,大多数都是没有意义的......
  • Visual Studio 智能代码插件:CodeGeeX
    前言在软件开发领域,高效的编程助手一直是提升开发者效率和质量的关键。随着人工智能技术的不断发展,智能编程助手逐渐成为开发者们不可或缺的工具。其中,CodeGeeX作为一款专为VisualStudio设计的免费智能编程助手,凭借其强大的功能和便捷的使用体验,赢得了广大开发者的青睐。Co......
  • 自动上传文章插件
    由于CSDN是直接逆向的接口,上传文章大概是2-3s,两个selenium自动化的平台上传时间长一点,20s左右原因​ 有谁跟我一样,每次写完博客想发布时都得重新登一次wp(因为我隐藏了wp登录的url,防爆破的),wp登录又奇慢无比,手动把标题和文章粘贴过去,设置标签、分类,封面图,慢慢的,5分钟-10分钟就过......
  • .net core的WebAPI+Vue2实现调用设备拍照上传图片功能
    在工作中有时候会遇到上传文件上传图片或者拍照上传图片功能。这时候底下的内容就有可能可以帮助到你。后端的支持上传图片和上传文件功能。前端如果你选择普通上传功能就是普通上传功能,我这里选择的是调用相机设备实现拍照上传图片功能。1.首先这是后端的控制器接口。1///<......
  • MySQL社区版本没有自带审计功能,所以基于MySQL8.0.33版本容器运行的MySQL自行安装插件
     因为MySQL社区版本没有自带审计功能,所以基于MySQL8.0.33版本容器运行的MySQL自行安装插件1.查看Mysql是否安装过audit_log插件SELECT*FROMinformation_schema.PLUGINSWHEREPLUGIN_NAMELIKE'%audit%'; 2.下载PerconaServerforMySQL,地址为 Installwithbinar......
  • Chrome DevTools攻略(话题文章)
    目录ChromeDevTools概览访问DevToolsDevTools窗口审查DOM元素和样式使用Console调试JavaScript提高网络性能监听提高渲染性能JavaScript&CSS性能审查存储......
  • 滚动条插件vue-scroll
    一、介绍vuescroll是一个基于vue.js2.X虚拟滚动条,它支持定制滚动条的样式,检测内容尺寸变化、能够使内容分页、支持上拉-刷新,下推加载等诸多特性二、特点(1)拥有原生滚动条的滚动行为(2)可以定制滚动条的样式(包括颜色、尺寸、位置、透明度、是否保持显示等)(3)在模式之间自......
  • 【转载】从零开始的硬件之路14:解决AD工程文件过大问题及运行AD插件导入Logo
    原文链接:https://zhuanlan.zhihu.com/p/397285331 这篇讲两个内容,分别是”解决AD工程文件过大问题“和”运行AD插件导入图形符号“。目录:AD工程文件过大问题运行AD插件导入Logo首先何为工程文件过大,来图直接说明:可以看到一个工程文件占用了两百多的内存(我以前的一个......