写了一个自建 Kindle 推送服务 KPush - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qiuyk
V2EX    Node.js

写了一个自建 Kindle 推送服务 KPush

  •  
  •   qiuyk 2017-10-17 22:27:26 +08:00 6104 次点击
    这是一个创建于 2991 天前的主题,其中的信息可能已经有所发展或是发生改变。

    可以定制个人专属的 Kindle 电子书推送服务,放在服务器高端口自用

    项目地址:KPush

    安装

    首先需要安装 Node.js 环境,且版本大于 8 (当然 7 也可以,支持 async/await 就好)

    npm 源

    # 全局安装 $ npm i -g kpush 

    使用

    帮助:

    Usage: kpush [options] Options: -V, --version output the version number -c, --config <string> set kpush custom config -p, --port <number> set kpush server listening port -s, --smtp <string> set stmp server of pushing mail -u, --user <string> set user of pushing mail -s, --pass <string> set password of pushing mail -k, --kindle <string> set user of kindle received mail -h, --help output usage information 

    所有设置都会自动保存,再次使用时无需再进行设置

    运行:

    $ kpush 

    配置设置并运行:

    # 可以只设置其中几项 $ sslocal -p 7001 -s smtp.163.com -u [email protected] -s test -k [email protected] 

    以自定义配置运行:

    # 请提供配置的绝对路径,以自定义配置运行时将忽略其他设置选项 $ sslocal -c /usr/local/ss-n/lib/local/config.json 

    配置格式如下,字段含义见帮助:

    { "port": "7001", "smtp": "smtp.163.com", "user": "[email protected]", "pass": "test", "kindle": "[email protected]" } 

    运行后,浏览器访问 KPush 服务器监听端口即可使用,推荐移动端进行访问

    mobi 源更换

    这里默认用了走读派作为 mobi 电子书源,感谢一下。若更换其他 mobi 源,可自行开发,仅需要实现 model.js 中 getList 和 getUrl 方法即可,约定如下:

    // KPush 自带依赖,用于发送请求以及解析页面 const request = require('superagent') const cheerio = require('cheerio') // 导出 model 对象 module.exports = { /** * 获取 mobi 电子书搜索列表 * * @param {string} q - 查询关键词 * @return {array} - 返回 list 数组 * * list 数组元素为 mobi 对象,包含 3 个字段,均为 string * mobi.id - mobi 电子书唯一索引,用于查询源下载链接 * mobi.img - mobi 电子书封面图链接 * mobi.ctx - mobi 电子书简介 */ async getList (q) { let list = [] list.push({ id: '123', img: 'http://test.com/test1.jpg', ctx: '简介' }) return list }, /** * 获取 mobi 电子书下载链接 * * @param {string} i - mobi 电子书索引 * @return {string} - 返回源中 mobi 电子书下载链接 */ async getUrl (i) { let url = 'http://test.com/download/123' return url } } 

    项目地址:KPush

    8 条回复    2017-10-18 11:06:42 +08:00
    CcChen
        1
    CcChen  
       2017-10-17 22:32:31 +08:00
    先收藏。到时再看看
    Shura
        2
    Shura  
       2017-10-17 22:55:53 +08:00 via Android
    sslocal 瞩目
    qiuyk
        3
    qiuyk  
    OP
       2017-10-17 23:02:43 +08:00
    @Shura 直接复制的 readme 过来的 忘改了...
    wangysong
        4
    wangysong  
       2017-10-18 09:31:02 +08:00
    给你一个星哈,以后我拿来商用吧,哈哈哈
    guonning
        5
    guonning  
       2017-10-18 09:54:59 +08:00 via Android
    这个好啊,收藏了
    wangxn
        6
    wangxn  
       2017-10-18 10:00:10 +08:00
    不错。
    然而是 Node.js 写的。感觉用这个来开发的软件安装起来都很不友好,看上去要先装 npm 才行。不知道有没有一个单独的安装包?
    qiuyk
        7
    qiuyk  
    OP
       2017-10-18 10:07:36 +08:00
    @wangxn 因为写着玩的没考虑这个问题 回头我写个安装部署脚本好了
    friejq
        8
    friejq  
       2017-10-18 11:06:42 +08:00 via Android
    收藏先
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4356 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powerd by solitude
    VERSION: 3.9.8.5 34ms UTC 10:02 PVG 18:02 LAX 02:02 JFK 05:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86