惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
罗磊的独立博客
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
量子位
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
M
MIT News - Artificial intelligence
B
Blog RSS Feed
腾讯CDC
博客园_首页
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
博客园 - Franky
S
SegmentFault 最新的问题
N
Netflix TechBlog - Medium
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LINUX DO - 热门话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
D
Docker
P
Privacy & Cybersecurity Law Blog
S
Securelist
V
V2EX
Jina AI
Jina AI
阮一峰的网络日志
阮一峰的网络日志
T
Tor Project blog
The Hacker News
The Hacker News
Microsoft Azure Blog
Microsoft Azure Blog
AWS News Blog
AWS News Blog
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
T
The Exploit Database - CXSecurity.com
Help Net Security
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 叶小钗
Recent Announcements
Recent Announcements
Cloudbric
Cloudbric
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Latest news
Latest news
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recorded Future
Recorded Future
V2EX - 技术
V2EX - 技术

云游君的小站

开源项目的「死与新生」 没有红包封面,但是 AI 春联…… 家·烟花·红包封面 云乐坊工作室的成立与缘起与有关的话 聊聊四元数与万向锁及其实际意义 从零开始写一个 Web Component - GitHub Corners 旋转吧!徽章! 又拍云—年轻人的第一个 CDN 云空调,便携小空调 char-dust 一个图片转字符画的 npm 包与示例站点 nnrm - 一个极简的 npm/yarn registry 切换管理器 做猪呢,最重要的是开心 从 Vite 与 Vue 开始的 D3 数据可视化之旅 如何找到你朋友的社交账号 写写高斯模糊——从 CSS 模糊滤镜的白边说起 如何从 Valine 迁移至 Disqus ADV 游戏引擎计划 关于我打算当老师并报考教师资格证这件事 Strato - Hexo 主题「Yun」版本宣传 PV 我与小镇与家 el-bot & mirai-ts 制作笔记 第三方评论系统之我见 人生不是一场马拉松 👴就是二次元,故尝试证明。 教你如何从零开始搭建一个属于自己的网站 使用 CDN 加速你的 GitHub Pages 网站 使用 CCDIK 或 FABRIK 实现逆向动力学 【转】三维文件格式知多少 【译】30 分钟学会 LaTeX LaTeX 使用笔记 在 macOS 下配置 OpenGL 路漫漫其修远兮 CSS 陷阱 Blender 学习笔记 Everyday Auto Xuexiqiangguo 酷 Q 使用笔记 Deepin 使用笔记 塞翁失马焉知非福 hexo-theme-yun 制作笔记 写给可爱的学弟学妹们 北线无战事 让百度收录你的 GitHub Pages 博客 搭建自己的 Minecraft 服务器 从来如此 卷土重来未可知 恋爱证明记 微信与象棋 关于部落冲突的二三事儿(番外)-端午事变 Travis-CI 持续集成部署 Vue 中 canvas 的自适应 大家一起吃火锅吧 Parcel.js + Vue 搭建笔记 Vue 学习笔记 【动画电影】《声之形》观后感 VS Code 配置笔记 仓生 YunYouJun/give-me-money 永远相信美好的事情即将发生 鱼与熊掌 人生本该如此。 Discourse 新一代开源论坛 Hexo 静态博客搭建笔记 Coding WebIDE 云端开发实验室 npm & yarn 常用包与命令 像夏花一样绚烂 【番剧】《月色真美》(老夫的少女心啊) 临摹一只智障女神∠( ᐛ 」∠)_ 南京之旅-记10th计算机设计大赛 Git 学习笔记 Laravel 使用笔记 Wordpress 的实用插件与主题推荐 【定格动画】交换/EXchange 我与幻星的故事 来自某夏令营的回忆 水彩原创头像尝试 云游君表情包制作计划 小说连载初尝试-《阿庫娅的星球》 仓鼠 回声 【分享】网页背景效果插件 Canvas-Nest.js 【花开物语|MAD】幹物女(WeiWei)-Bonboru! 太空 关于部落冲突的二三事儿-2 关于部落冲突的二三事儿-1 关于部落冲突的二三事儿-序
导出「你的日记」与导入「一本日记」
☁️ · 2019-01-31 · via 云游君的小站

前言 ​

因为「你的日记」开发不是很活跃,且经常出现无法连接等 BUG,而本身也未提供导出功能,所以我写了该工具用于迁移至其他日记软件。 此外因为我之后选择的是「一本日记」,所以也可以转换为「一本日记」的数据格式用于导入。 我自己也已经成功迁移,所以该项目不会再维护,但如果你也有此需要,希望能对你有所帮助。

GitHub: export-nideriji

具体使用方法见项目地址 README。

原本我是想记录下整个导出思路的具体过程,然后跑去写脚本,打算写好再把文章补完,自己用完就咕咕咕了。

所以这里大概只是一半的内容,阁下需要的话直接使用即可,文章应该也就此不会再更新了,

差不多 2019 年 2 月便干了这事,今天终于决定彻底卸载。

正文 ​

首先,下载免费的抓包工具 fiddler 与请求调试工具 Postman

Fiddle 配置 ​

Tools > Options...

跳出弹框

HTTPS 面板

可见默认端口为 8888 (可自定义)

  • Decrypt HTTPS trafic

一路同意,出现新选项

  • Ignore server certificate errors (unsafe)

点击 OK, 重启。

PC 配置 ​

进入 Windows 命令行, 输入命令,查看本机 IP 地址 (IPv4 地址)

bash

无线局域网适配器 WLAN:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::9cb2:89dc:46d1:52c7%19
   IPv4 地址 . . . . . . . . . . . . : 192.168.31.87
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.31.1

手机配置 ​

进入已连接的局域网 WIFI 设置手动代理

主机名为方才查看到的 IPv4 地址 192.168.31.87 (因人而异) ,端口为方才默认的 8888

config-phone

可手机直接访问 IPv4:端口号(例如:192.168.31.87:8888) ,如有返回页面则说明设置成功。

Operation ​

打开应用,操作刷新。

观察排除点一些系统的请求,fiddle 界面中含有一条这样的链接。

bash

CONNECT http://ohshenghuo.com:443
200 Connection Established ()

访问地址后,我发现使用 你的日记 的账号密码便可直接登录。

注销回到登录界面,F12 进入谷歌浏览器控制面板进行调试。

Sources 面板中有网站的静态资源,其中 js 可以直接看出使用了 JQuery ,没有进行混淆压缩,可以直接分析代码。

其中与登录表单相关的部分代码

js

$.post('/api/login/', form.serialize(), (e) => {
  if (e && e.token) {
    OhUtil.login(e.token)
  }
  else {
    $('#login-form .msg_error').text('邮箱或密码输入错误').show()
    $('#login-form .submit').removeClass('inactive').attr('value', '登录')
  }
})

由此可见登录 api 为 api/login

表单内容进行 serialize (jQuery 方法,序列化)

KEYVALUE
csrfmiddlewaretoken-
email-
password-

txt

csrfmiddlewaretoken=ZcJkWtMdfyjBNKxp3ms0i8REkTJcSKw4&email=xxx&password=xxx

表单还含有 csrfmiddlewaretoken (可以在 html 页面中的登录表单看到,如下),用来防止跨站请求伪造。(也就是防止我们使用 Postman,但是我们可以手动加入表单)

html

<input
  type="hidden"
  name="csrfmiddlewaretoken"
  value="ZcJkWtMdfyjBNKxp3ms0i8REkTJcSKw4"
/>

Network 面板可查看到请求头内容和表单数据等。(csrfmiddlewaretoken 也可在此处的 Form data 中看到)

接下来使用 Postman 进行 API 调试。

便可成功获取到 token 等相关信息。

可继续尝试使用拉取日记等信息,不再赘述。

《你的日记》 API 整理 ​

API Address: https://ohshenghuo.com/api/

你的日记 API DOC - Postman

Get Diary ​

Get Diary By Id ​

Example

Response

json

{
  "version": "3bf998217a5b712eb4d5e3f7a9baf87f",
  "diary": {
    "deleteddate": "None",
    "status": "0",
    "mood": "",
    "title": " 少女生活小百科",
    "space": "boy",
    "ts": "2018-12-22 10:14:52+00:00",
    "content": "xxx",
    "date_word": "40天前",
    "weather": "",
    "user": "177636",
    "createddate": "2018-12-22",
    "createdtime": "2018-12-22 10:14:52+00:00",
    "id": "8808906",
    "weekday": "星期六"
  },
  "error": 0
}
Get Diary By Month ​

bash

GET diary/simple_by_month/:year/:month/

Example

bash

diary/simple_by_month/2019/1/

Response

json

{
  "version": "845d9a3c64d93623e05e2ab7735c2804",
  "diaries": {
    "2019-01-29": 9329359,
    "2019-01-02": 8974069,
    "2019-01-01": 8966164
  },
  "error": 0
}
AttributeDescriptionTypeDefault
diaries包含当月各天日记的 IDObject-
yyyy-MM-dd当月日记 IDNumber-

过程咕咕咕了,你可以直接用我写好的脚本工具 export-nideriji