V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cy97cool
V2EX  ›  IPFS

写了个 Evernote To IPFS 印象笔记导出到 IPFS,便于分享保存剪藏的网页

  •  3
     
  •   cy97cool · 2017-11-14 17:08:48 +08:00 · 5667 次点击
    这是一个创建于 2559 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Evernote To IPFS 印象笔记导出到 IPFS

    Author: zjuchenyuan

    使用情景 - 让互联网拥有记忆

    遇到喜欢的 /可能被删的网页,使用印象笔记的剪藏功能存到印象笔记后

    导出到 IPFS,只需要发送一个 cid,便于网络上其他人 pin,最终使得永久保存网页

    替代方案:使用 web.archive.org ,但其遵循 robots.txt ,且不能保存需要登录才能看 和 js 动态渲染的内容

    前置要求

    1. 印象笔记 API token:但现在印象笔记和 Evernote 都关闭了新用户申请,你可能需要发多次工单以请求开放此功能
    2. IPFS: 本程序会调用子进程 ipfs add,所以你需要正在运行 ipfs daemon,并把 ipfs 加入到 PATH
    3. 本代码需要 python3 并 安装 evernote-sdk-python3:注意 pip 安装获取的代码版本不支持印象笔记,需要使用 git clone 得到最新的代码

    以下安装方法供参考:

    pip3 install evernote3 -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com
    pip3 uninstall -y evernote3
    git clone --depth 1 https://github.com/evernote/evernote-sdk-python3
    cd evernote-sdk-python3
    python3 setup.py install
    

    直接运行

    git clone --depth 1 https://github.com/zjuchenyuan/evernote2ipfs
    cd evernote2ipfs
    # add your auth_token to config.py, example: 
    # auth_token = "S=s28:U..."
    python3 run.py
    

    请在 config.py 中给出你的 auth_token,此 token 在这里获取

    然后直接运行本代码 python3 run.py,将列出最新的 10 条笔记名称

    输入你想导出的笔记 id

    等待笔记下载(缓存将写入__pycache__文件夹) 和 笔记处理(en-media 转为 img 标签)

    最后将输出 ipfs 的 id

    例子

    https://ipfs.io/ipfs/QmZX2zUkvEhRMK1GW1ZfKYWa2D7zdRA5FTgDya1G8mjLGg

    一点讨论

    安全性讨论

    注意保密你的 auth_token,其地位与你的印象笔记密码相同,如果泄露需要及时 Revoke

    ipfs 不会主动推送你的文件到其他节点,本代码执行后全球网络应该只会有一份(你的电脑上)

    如果你访问了ipfs.io/ipfs/...或其他公共 gateway 的链接,gateway 将从你的电脑上下载对应文件,并缓存一段时间

    建议先访问127.0.0.1:8080/ipfs/...的链接,确认没有隐私泄露可以分享后再访问公共 gateway

    ipfs 数据持久性讨论

    ipfs 网络是会丢数据的! 整个网络中没有任何节点 pin、且公共 gateway 缓存过期后,数据就丢失了

    你可能需要 ipfs pinning service,如eternum.io

    或者购买 vps,自己手动 pin 你需要保留的资源

    欢迎贡献

    感谢你的阅读和关注~ 不如给个 Star 吧~

    github 地址: https://github.com/zjuchenyuan/evernote2ipfs

    这里有另一篇我的关于 ipfs 的思考: https://www.v2ex.com/t/405767

    5 条回复    2018-02-18 14:17:24 +08:00
    findex
        1
    findex  
       2017-11-14 18:21:38 +08:00
    感谢分享。自从上次 evernote 5000w 用户信息泄露发生,已经很让人担忧其数据安全了。
    notgood
        2
    notgood  
       2017-12-03 21:57:55 +08:00 via iPhone
    谢谢大佬!另请问为什么 evernote 剪藏不了 coding WEB IDE 页面上的代码?保存的我一看全是空白的
    cy97cool
        3
    cy97cool  
    OP
       2017-12-03 22:06:11 +08:00
    @notgood 印象笔记·剪藏 本身就不完美
    方法 1:找客户支持
    方法 2:自己改扩展的 js
    notgood
        4
    notgood  
       2017-12-03 23:18:04 +08:00 via iPhone
    @cy97cool 谢谢你。确实有点坑
    Rorysky
        5
    Rorysky  
       2018-02-18 14:17:24 +08:00
    总觉得 一味地 区中心化 这条路 不太对……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2837 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:45 · PVG 17:45 · LAX 01:45 · JFK 04:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.