calibre和cpolar搭建一个私有的网络书库
Kindle中国电子书店停运不要慌,十分钟搭建自己的在线书库随时随地看小说!
文章目录
- Kindle中国电子书店停运不要慌,十分钟搭建自己的在线书库随时随地看小说!
- 1.网络书库软件下载安装
- 2.网络书库服务器设置
- 3.内网穿透工具设置
- 4.公网使用kindle访问内网私人书库

6月底,亚马逊公司旗下Kindle中国电子书店停止运营,此后用户无法再购买新的电子书,只能下载和阅读已购买的电子书。虽然大家总是调侃kindle和平板电脑哪个更适合用来盖泡面,但还有很多人还是更喜欢用kindle的墨水屏来看电子书的,如今不能直接下载电子书还是挺影响使用体验的。
但实际上,只要大家看了我们今天分享的教程,就能快速而简单的在自己的电脑上,借助calibre和cpolar搭建一个私有的网络书库,即便亚马逊的服务停止了,我们依然能够在任何有网络的地方随时下载电子书到自己的kindle上,下面就来看看具体如何操作吧!
1.网络书库软件下载安装
首先,自然是安装cpolar和calibre。这两个软件的下载地址如下:
- Cpolar:https://www.cpolar.com/download
- Calibre:https://calibre-ebook.com/download_windows
有时候calibre的网站会出现下载错误,但我们也可以在360软件管家中找到这款软件,并进行安装
2.网络书库服务器设置
当cpolar和calibre都安装完成后,我们就需要对这两个软件进行设置,使其成为kindle的书库服务器。首先是calibre。打开calibre的主界面,我们能在软件主界面上方的快捷栏中找到“连接/共享”选项。点击就能看到“启动内容服务器”的选项,单击就能开启。
接着我们再次点击“连接/共享”选项,就会发现出现了本地电脑的IP地址、端口号及“http”字样,这时就说明了calibre已经成为一个能够为kindle访问的电子书服务器。由于没有进行内网穿透,我们只能通过本地局域网IP+端口号(http://192.168.XXX.XXX:8080)的模式访问calibre,因此这时的calibre只能被局域网内的设备访问到。
要想让本地电脑上安装的calibre能被公共互联网上的kindle访问到,我们还需要使用cpolar,生成一条内网穿透数据隧道,简单说就是赋予calibre一个http格式的网络地址。
3.内网穿透工具设置
首先我们打开cpolar的Web-UI界面,可以在Windows的开始菜单里找到cpolar快捷方式,也可以在浏览器的地址栏里输入localhost:9200
直接打开cpolar的Web-UI界面。
在输入cpolar的账号密码后,我们就进入cpolar主页面。在这里,我们选择主界面左侧“隧道管理”
项下的“创建隧道”
选项。在“创建隧道”
页面,我们需要对打算建立的内网穿透数据隧道进行几项设置。
首先是“隧道名称”
,为了方便我们识别不同隧道的用途,我们将这条隧道命名为“kindle”
;
下一项“协议”
则选择“http”
;其后的“本地地址”则填入开启calibre“内容服务器”时显示的端口号(这个例子中端口号为8080);
下一项“域名类型”
我们可以选择“随机域名”(当然,如果是VIP客户,可以选择二级子域名和自定义域名,将这条数据隧道固定下来,避免随机域名每隔24小时重置一次的问题);
最后的“地区”
则选择实际使用地区即可。
在以上设置都完成后,就可以点击下方的绿色“创建”
按钮,生成能够从公共互联网连接本地calibre的内网穿透数据隧道。
而这条内网穿透数据隧道的入口(也就是公共互联网地址),则可以在“状态”项下的“在线隧道列表”页面看到。
4.公网使用kindle访问内网私人书库
最后,我们可以在Kindle的网页浏览器中,输入cpolar为本地calibre端口生成的公网地址,直接连接到局域网电脑上的calibre,调取自己喜欢的书籍。
当然,此例中我们使用的是随机域名模式,因此每隔24小时连接本地calibre的地址就会变化,但我们可以通过固定二级子域名或使用自定义域名方式,将连接本地电脑calibre的内网穿透数据隧道固定下来,使其可以长期稳定存在,甚至将其作为商业用途。
Kindle在推广电子书阅读方面发挥了重要作用,为人们提供了便捷、轻巧且大容量的阅读方式。它改变了人们的阅读习惯,为读者带来了更多的选择和便利。同时,Kindle的推出也激发了整个电子书市场的发展,让更多的人开始接触和使用电子书。如今,虽然它的在线电子书下载服务退出了,但本体还能使用不是吗?简单的利用几个软件,就能让你手中的kindle继续发光发热,赶快动起来吧!
转载自cpolar极点云文章:Kindle中国电子书店停运不要慌,十分钟搭建自己的在线书库随时随地看小说!
相关文章:

calibre和cpolar搭建一个私有的网络书库
Kindle中国电子书店停运不要慌,十分钟搭建自己的在线书库随时随地看小说! 文章目录 Kindle中国电子书店停运不要慌,十分钟搭建自己的在线书库随时随地看小说!1.网络书库软件下载安装2.网络书库服务器设置3.内网穿透工具设置4.公网…...
c++ nlohmann::json 中文支持
c nlohmann::json 是当前排名第一人库,但是在解析中文时会有问题 std::string to_utf8(std::wstring& wide_string) {static std::wstring_convert<std::codecvt_utf8<wchar_t>> utf8_conv;return utf8_conv.to_bytes(wide_string); }void test_nl…...

vue3 | defineExpose的使用
简介 使用<script setup>的组件是默认关闭的————即通过模板引用或者$parent链获取到的组件的公开实例,不会暴露在任何在<script setup>中声明的绑定 换句话说,如果一个子组件使用的是选项式 API 或没有使用 <script setup>&…...
PaddleSeg学习3——使用PP-LiteSeg模型对道路进行分割
使用PP-LiteSeg模型对道路进行分割 1 准备环境2 样本3 准备config文件4 模型训练5 模型预测5.1 python预测5.2 C++预测5.3 预测结果展示1 准备环境 参考上一篇:Windows PaddleSeg c++部署 2 样本 车道线分割实战的智能车数据集 #标签 背景:0, 0.05 单实线-黄...
时序数据库的关键技术点总结
总结时序数据库的关键技术点 内存 SQL解析LSM Tree(WAL)skiplist内存合并,有序落盘LRU 时序文件索引缓存 存储层 时间分区设备分区 索引文件 时间戳范围索引布隆过滤器索引brin 索引btree 索引多层索引 数据文件(tskv…...

【ROS】机器人使用Nomachine进行远程控制
官网:NoMachine - Free Remote Desktop for Everybody 支持的系统: WindowsMacLinux 树莓派其他ARM板IOSAndroid 由于网速问题,可以使用我下载好的:(8.8.1_1) 链接:https://pan.baidu.com/s/…...

Jmeter系列-定时器Timers的基本介绍(11)
简介 JMeter中的定时器(Timer)是一种重要的元件,用于模拟用户在不同时间间隔内发送请求的场景。通过使用定时器,可以模拟负载、并发和容量等不同情况下的请求发送频率。 使用定时器 可以在取样器下添加定时器,这样定…...
【华为OD机试python】求满足条件的最长子串的长度【2023 B卷|100分】
【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度, 字符串本身是其最长的子串,子串要求: 1、 只包含1个字母(a~z, A~Z),其余必须是数字; 2、 字母可以…...

iOS技术博主指南:填写苹果应用上架中的隐私政策信息
摘要:本文将详细介绍iOS技术博主在苹果应用上架过程中如何填写隐私政策信息。博主可以通过App Store Connect为应用程序提供隐私政策网址和用户隐私选项网址,并了解如何填写隐私政策文本。本文将提供步骤和注意事项,帮助博主顺利完成隐私政策…...

Spring事件机制之ApplicationEvent
博主介绍:✌全网粉丝4W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…...

【操作系统笔记】内存寻址
物理寻址 主存(内存) 计算机主存也可以称为物理内存,内存可以看成由若干个连续字节大小的单元组成的数组每个字节都有一个唯一的物理地址(Physical Address)CPU访问内存前,先拿到内存地址,然后…...

webpack自定义loader解析指定后缀名文件
案例: webpack自定义loader解析.chenjiang后缀名的文件 整体目录: chenjiangLoader.js文件代码 // 正则匹配script标签中的内容 const REG /<script>([\s\S]*)<\/script>/;module.exports function (source) {const __source source.…...

基于Kintex UltraScale系列FPGA KU060/KU115高性能PCIe数据预处理载板(5GByte/s带宽)
PCIE702是一款基于PCIE总线架构的高性能数据预处理FMC载板,板卡具有1个FMC(HPC)接口,1路PCIe x8主机接口、1个RJ45千兆以太网口、2个QSFP 40G光纤接口。板卡采用Xilinx的高性能Kintex UltraScale系列FPGA作为实时处理器࿰…...

Cesium 地球(2)-瓦片创建
Cesium 地球(2)-瓦片创建 QuadtreePrimitive代码执行4个步骤: step1: update()step2: beginFrame()step3: render()step4: endFrame() 但并不是瓦片的创建步骤。 1、创建 QuadtreeTile 基于 step3: render() step3: render()┖ selectTilesForRendering()在 selectTilesFo…...

Selenium-介绍下其他骚操作
Chrome DevTools 简介 Chrome DevTools 是一组直接内置在基于 Chromium 的浏览器(如 Chrome、Opera 和 Microsoft Edge)中的工具,用于帮助开发人员调试和研究网站。 借助 Chrome DevTools,开发人员可以更深入地访问网站…...

【C++从0到王者】第三十一站:map与set
文章目录 一、关联式容器二、pair键值对三、set1. set的介绍2. set的部分接口以及应用3. count4. lower_bound和upper_bound5. equal_range6. multiset容器 四、map1. map的介绍2. map的一些常见接口以及使用3. map的[]运算符重载4. 使用map改进一些题5. multimap容器 五、map和…...

生产消费者模型的介绍以及其的模拟实现
目录 生产者消费者模型的概念 生产者消费者模型的特点 基于阻塞队列BlockingQueue的生产者消费者模型 对基于阻塞队列BlockingQueue的生产者消费者模型的模拟实现 ConProd.c文件的整体代码 BlockQueue.h文件的整体代码 对【基于阻塞队列BlockingQueue的生产者消费者模型…...
Unity ML-Agents默认接口参数含义
下面的含义就是训练中常用的yaml文件: behaviors:waffle:trainer_type: ppo #训练器类型,默认ppo。还有sac和pocahyperparameters:batch_size: 64 # 梯度下降每次迭代的经验数。应确保该值总是比 buffer_size小几倍。 在使用连续动作的情况下&#x…...

【python数据分析基础】—pandas中loc()与iloc()的介绍与区别
文章目录 前言一、loc[]函数二、iloc[]函数三、详细用法loc方法iloc方法 总结共同点不同点 前言 我们经常在寻找数据的某行或者某列的时常用到Pandas中的两种方法iloc和loc,两种方法都接收两个参数,第一个参数是行的范围,第二个参数是列的范…...

ad18学习笔记十一:显示和隐藏网络、铺铜
如何显示和隐藏网络? Altium Designer--如何快速查看PCB网络布线_ad原理图查看某一网络的走线_辉_0527的博客-CSDN博客 AD19(Altium Designer)如何显示和隐藏网络 如何显示和隐藏铺铜? Altium Designer 20在PCB中显示或隐藏每层铺铜-百度经验 AD打开与…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...