前言
上次写了脚本将本地的 Markdown 文章迁移到 WordPress 之后,就想将其写成一个项目开源出来。在经过了一段时间的缝缝补补之后,loadmd_to_wordpress
诞生了,虽然功能还不算完善,但是我觉得还能凑合用hhh
在此期间,我所在的深圳大学信息网络安全协会正在招新,我负责新生赛靶场的搭建。由于搭建靶场的机器要连接校园网,并且机器只有命令行环境,所以为了方便,我写了个脚本来“一键登录校园网”。后来想到机电的学弟学妹玩开发板的时候,经常会有在命令行环境连校园网的需求,于是我就写了 login_szu_network
项目,目前还不太完善,欢迎来提 issue 或者 pr
loadmd_to_wordpress
项目地址:loadmd_to_wordpress
该项目用于将本地的 markdown 文件快速迁移至 wordpress 系统
项目说明
该项目支持 python 3.10 及以上版本
目录结构
loadmd_plugin
- loadmd_plugin.php # 插件入口
- setting_page.php # 设置页面
- webshell.php # 实现了上传功能的 webshell
utils
- argsparser.py # 负责解析命令行参数
- extensions.py # 文本处理扩展
.gitignore
config.json # 客户端配置示例
License
loadmd.py # 客户端入口
README.md
requirement.txt
配置文件说明
path
接受 3 种参数:
- 存放了 markdown 与引用图片的文件夹, 如: “D://blog_01/”
- markdown 单文件, 如: “D://blog_02.md”
- 使用数组包含多个 1/2 类型参数, 如: [“D://blog_01/”, “D://blog_02.md”]
webshell
address
在 “md 上传助手” 中配置的 webshell 访问入口
password
在 “md 上传助手” 中配置的 webshell 访问密码
img_src
markdown 访问引用图片时的 URL 前缀
如: 当该配置项为 “https://www.example.com/myimg/” 时
脚本将会把  替换为

target
服务器存放文章引用的图片的绝对路径
support
img_type
支持的图片格式
languages
代码高亮中支持的语言(不支持的语言将会统一使用纯文本的高亮)
客户端参数说明
-h, --help 获取帮助
-c, --config 指定配置文件位置
-p, --path 强制指定 markdown 文件/文件夹路径(会覆盖 config 的配置)
-ow, --over-write 为 true 时强制覆写重名文件, 为 false 时强制不覆写重名文件
--sniffer 添加此参数时开启 "嗅探模式"
(嗅探模式: 仅对单文件 path 生效, 自动探查 md 引用的本地图片路径并进行改写、上传)
快速开始
step1. 使用 python3.10+ 版本, 并安装脚本所需库
pip install -r requirements.txt
step2. 将 loadmd_plugin 文件夹打包为 zip 文件并将其安装至 wordpress
step3. 在 wordpress 后台为 md 上传助手
配置必要参数
step4. 编辑 config.json 中的配置项
example
{
"path": "D:\\markdown_folder",
"webshell": {
"address": "https://www.example.com/my_webshell",
"password": "admin123"
},
"img_src": "http://www.example.com/wp-content/uploads/myimgs/",
"target": "/www/wwwroot/my_wordpress/wp-content/uploads/myimgs/",
"support": {
"img_type": ["jpg", "png", "gif", "jpeg", "webp"],
"languages": ["html", "css", "javascript", "http", "bash"]
}
}
step5. 使用下面的命令来运行 markdown 转换脚本
python loadmd.py -c config.json
脚本将会在 md 文件相同的路径下生成对应的 html 文件
未来计划
- 添加功能: 引入时间戳防止重放攻击
- 插件添加 “导出 config.json” 功能
- 插件添加 “check webshell_address” 功能, 检查地址是否可用
- 添加功能: 客户端在导出 html 时自动上传至 wordpress 并创建文章草稿
login_szu_network
项目地址:login_szu_network
一个用于在命令行环境下登陆深大校园网的脚本
效果展示:
使用说明
目前该项目仅支持 linux 系统
下载项目
git clone https://github.com/Caterpie771881/login_szu_network.git
给脚本赋予执行权限
cd login_szu_network
chmod +x login_szu_network.sh
使用 bash 执行脚本
bash login_szu_network.sh
更加跨平台的选择
什么? 你说你包不用 linux 的?
没关系, 跨平台的 python 版脚本供您选择, 只要您的操作系统支持 python, 都能使用该项目快乐上网
配置 python 环境
根据自己的操作系统使用对应的配置方式, 这里不展开
下载项目
git clone https://github.com/Caterpie771881/login_szu_network.git
执行脚本
python login_szu_network/login_szu_network.py
先有鸡还是先有蛋
“想要上网就得先下载这个脚本,但是要下载这个脚本就得先上网”
我知道你很急, 但是你先别急
对于这个哲学问题, 有几个解决办法:
- 使用U盘等介质将本项目拷贝到机器上
- 如果你使用 ssh 连接到机器上, 那应该可以 ctrl-C ctrl-V 将文件内容拷贝过去
- 使用 scp、curl 等远程传输方式将本项目传输到目标主机
- 手动将精简版脚本
lite.sh
写入机器(不推荐, 容易敲错)
以防有人不知道怎么做:
# 这里假设主机上没有 vi/nano 等文本编辑器
touch lite.sh
echo 'curl -s "https://drcom.szu.edu.cn/" -X POST \'>>lite.sh
echo '-H "Content-Type:application/x-www-form-urlencoded" \'>>lite.sh
echo '--data-raw "DDDDD=$1&upass=$2&0MKKey=123456"'>>lite.sh
# 使用方式
chmod +x lite.sh
bash lite.sh 这里填您的账号 这里填您的密码
文章有(1)条网友点评
厉害了我的博主