本地搭建Koodo Reader书库结合内网穿透打造属于自己的移动图书馆
文章目录
- 前言
- 1. Koodo Reader 功能特点
- 1.1 开源免费
- 1.2 支持众多格式
- 1.3 多平台兼容
- 1.4 多端数据备份同步
- 1.5 多功能阅读体验
- 1.6 界面简洁直观
- 2. Koodo Reader安装流程
- 2.1 安装Git
- 2.2 安装Node.js
- 2.3 下载koodo reader
- 3. 安装Cpolar内网穿透
- 3.1 配置公网地址
- 3.2 配置固定公网地址
前言
当你正在异国他乡的咖啡馆里享受悠闲时光时,突然灵感如泉水般涌现,急需查阅一本珍藏的电子书。如果这时你能瞬间传送到家中的电脑前,打开那本书,是不是觉得特别酷炫?别急,这可不是科幻电影里的桥段!今天就来教你一招,用Koodo Reader和Cpolar内网穿透工具,在Windows电脑上轻松搭建一个24小时在线的私人图书馆。无论你身在何处,都能随时享受阅读的乐趣,让灵感不再错过任何一个闪现的瞬间!
1. Koodo Reader 功能特点
1.1 开源免费
Koodo Reader软件在Github上开源,拥有13.6K的star数,免费又好用
1.2 支持众多格式
Koodo Reader支持常见的电子书格式,包括EPUB、PDF、MOBI等十几种格式,满足用户在不同平台和设备上的阅读需求。你可以从网上获取到的电子书采用Koodo Reader进行浏览和阅读,无论您是想读小说、教材、论文还是漫画,Koodo Reader都能满足您的需求,再也不用担心格式兼容问题。
1.3 多平台兼容
Koodo Reader在多个操作系统上运行良好。它支持Windows 7及以上的32位和64位系统,macOS 10.11及以上的x64和ARM架构系统,以及所有的Linux发行版。此外,您还可以选择使用Web网页版来阅读电子书。无论您使用的是哪种操作系统,Koodo Reader都能为您提供出色的阅读体验。
1.4 多端数据备份同步
Koodo Reader非常注重数据的安全性和同步性。您可以通过自定义数据存储位置的方式,借助OneDrive、iCloud、Dropbox、百度网盘等云服务,实现数据在多个端之间的同步。这样,无论您在哪个设备上阅读,您的阅读进度、笔记和批注都能够随时随地同步。
1.5 多功能阅读体验
Koodo Reader内置了笔记、高亮、书签和翻译等功能,助力您进行高效的书籍阅读和学习。您可以轻松地进行标注和批注,并将关键内容快速保存和导出。这些功能将帮助您更好地理解和消化所阅读的内容。
Koodo Reader还支持文字排版,支持调整字体大小、字体系列、行距、段落间距、背景颜色、文本颜色、边距和亮度等功能。使长篇文档在移动设备上也能保持清晰的排版,避免了频繁的滚动和缩放。
1.6 界面简洁直观
Koodo Reader 遵循极简主义设计原则,通过精心打磨的UI界面和交互方式让您享受沉浸式无干扰的阅读体验
2. Koodo Reader安装流程
2.1 安装Git
首先从github上克隆koodo reader(如果没有安装git的话,进入git官网进行下载windows版本 https://git-scm.com/downloads)Git下载网址:Git (git-scm.com)
以下操作可以一直按Next默认安装,如有需要改动可以自行更改。
Git安装成功。
2.2 安装Node.js
node.js官网地址:https://nodejs.org/zh-cn
以下操作可以一直按Next默认安装,如有需要改动可以自行更改。
Node安装完成。
2.3 下载koodo reader
回到主桌面同时按下Win键和R键,输入cmd出现黑色窗口
输入下方命令安装yarn
npm install -g yarn
执行下方命令
yarn
执行下方代码,安装koodo reader
git clone https://github.com/koodo-reader/koodo-reader.git
执行下方命令进入项目目录
cd koodo-reader
执行下方命令
yarn
执行下方命令后稍等几秒钟,自动跳到koodo reader web页面,然后就可以在你的图书库中进行下载图书看书啦!
yarn start
目前我们在本地成功部署了Koodo reader,但是如果我们想实现不在局域网下,在公网能够远程访问Koodo reader的话,我们就可以使用Cpolar内网穿透来实现公网随时随地访问了!免去了复杂得本地部署过程,只需要一个公网地址直接就可以访问。
3. 安装Cpolar内网穿透
下面是安装cpolar步骤:
Cpolar官网地址: https://www.cpolar.com
点击进入cpolar官网,点击免费使用
注册一个账号,并下载最新版本的Cpolar
登录成功后,点击下载Cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。
Cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到Cpolar web 配置界面,结下来在web 管理界面配置即可。
接下来配置一下koodo reader的公网地址,
3.1 配置公网地址
登录后,点击左侧仪表盘的隧道管理——创建隧道,
创建一个koodo reader的公网http地址隧道
-
隧道名称:可自定义命名,注意不要与已有的隧道名称重复
-
协议:选择http
-
本地地址:3000 (本地访问的地址)
-
域名类型:免费选择随机域名
-
地区:选择China VIP
隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https。
使用上面的Cpolar生成的任意一个公网地址,在手机或任意设备的浏览器进行登录访问,即可成功看到 Koodo Reader界面。使用了Cpolar的公网域名,无需自己购买云服务器,即可到公网访问Koodo reader看自己下载好的书了!
小结
如果我们需要经常远程访问Koodo图书库或者其他本地部署的服务,由于刚才创建的是随机的地址,24小时会发生变化。而且它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新配置新的公网地址来访问Koodo reader,我们可以选择创建一个固定的http地址来解决这个问题。
3.2 配置固定公网地址
我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你的图书库,而无需每天重复修改服务器地址。
登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称。
保留成功后复制保留成功的二级子域名的名称。
返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
点击更新
(注意,点击一次更新即可,不需要重复提交)
更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名啦。
最后,我们使用固定的公网https地址在任何浏览器打开访问,可以看到访问Koodo reader成功了这样一个固定且永久不变的公网地址就设置好了。
通过在Windows电脑上安装Koodo Reader,并巧妙运用Cpolar内网穿透技术,你的私人书库瞬间变身成为随身携带的移动图书馆!无论是工作学习还是休闲娱乐,再也不用担心找不到那本心爱的书籍了。赶紧试试吧,让你的阅读生活更加丰富多彩,从此告别‘书荒’的烦恼,享受随时随地的书香世界!
相关文章:

本地搭建Koodo Reader书库结合内网穿透打造属于自己的移动图书馆
文章目录 前言1. Koodo Reader 功能特点1.1 开源免费1.2 支持众多格式1.3 多平台兼容1.4 多端数据备份同步1.5 多功能阅读体验1.6 界面简洁直观 2. Koodo Reader安装流程2.1 安装Git2.2 安装Node.js2.3 下载koodo reader 3. 安装Cpolar内网穿透3.1 配置公网地址3.2 配置固定公网…...
DeepSeek R1 训练策略4个阶段解析
DeepSeek R1 训练策略解析 DeepSeek R1 训练策略解析1. 冷启动监督微调(Cold Start SFT)**该阶段的主要目标**: 2. 面向推理的强化学习(RL for Reasoning)**该阶段的主要目标**: 3. 拒绝采样和监督微调&…...

【博资考4】网安学院-硕转博考试内容
【博资考4】硕转博考试内容 - 网络安全与基础理论 写在最前面一. **21年硕转博面试内容回顾**网络、逆向、操作系统、攻防、漏洞1. **网络安全常见攻击方式及其防范措施**1.1 **DDoS攻击(分布式拒绝服务)**1.2 **SQL注入攻击**1.3 **XSS攻击(…...

30 分钟从零开始入门 CSS
HTML CSS JS 30分钟从零开始入门拿下 HTML_html教程-CSDN博客 30 分钟从零开始入门 CSS-CSDN博客 JavaScript 指南:从入门到实战开发-CSDN博客 前言 最近也是在复习,把之前没写的博客补起来,之前给大家介绍了 html,现在是 CSS 咯…...
C语言综合案例:学生成绩管理系统
C语言综合案例:学生成绩管理系统 需求 1.存储最多50名学生的信息(不使用结构体) 2.每个学生包含: 学号(字符数组)姓名(字符数组)3门课程成绩(一维数组) …...

使用python做http代理请求
有这样一个需求现在有两台A,B两台电脑组成了一个局域网,在A电脑上开发webjava应用,需要调用第三方接口做http请求,但是这个请求只能在B电脑上请求。 一种解决方案:自定义一个中间服务,在电脑B上运行一个简…...
数据库事务的基本要素(ACID)
数据库事务的基本要素(ACID) 在数据库管理系统(DBMS)中,事务(Transaction)是一个或多个数据库操作的集合,这些操作要么全部成功,要么全部失败。事务的目标是保证数据的一…...

DeepSeek R1满血+火山引擎详细教程
DeepSeek R1满血火山引擎详细教程 一、安装Cherry Studio。 Cherry Studio AI 是一款强大的多模型 AI 助手,支持 iOS、macOS 和 Windows 平台。可以快速切换多个先进的 LLM 模型,提升工作学习效率。下载地址 https://cherry-ai.com/ 认准官网,无强制注册。 这…...
大型语言模型技术对比:阿里Qwen qwq、DeepSeek R1、OpenAI o3与Grok 3
1. 引言 在人工智能(AI)领域中,大型语言模型(Large Language Models,简称LLM)近年来取得了显著的突破。从早期的GPT-3到如今的各种高级模型,这些技术不仅推动了自然语言处理(NLP&am…...

ArcGIS Pro可见性分析:精通地形视线与视域分析
在地理信息系统(GIS)的广泛应用中,可见性分析作为一项关键技术,发挥着不可替代的作用。 无论是城市规划、环境监测,还是军事侦察、景观设计,可见性分析都能提供精确的数据支持,帮助我们更好地理…...
计算机工具基础(五)——Vim
Vim MIT《Missing in CS Class(2020):Class 3》笔记 Vim是终端环境中常用的纯文本编辑器。Vim的默认配置文件位于~/.vimrc 模式 Vim有如下5种模式: 常规模式(Normal):进入Vim后的默认模式,用于阅读文件。以Esc自其他模式中退至此模式插入模…...

Android应用app实现AI电话机器人接打电话
Android应用app实现AI电话机器人接打电话 --安卓AI电话机器人 一、前言 【Dialer3.0智能拨号器】Android版手机app,由于采用蓝牙电话的方式来调用手机SIM卡发起呼叫、接听来电,并接收和处理通话的声音,通常我们以“蓝牙电话方案”来称呼它。 …...

Mobaxterm服务器常用命令(持续更新)
切换文件夹 cd path # for example, cd /gpu03/deeplearning/进入不同GPU ssh mgmt ssh gpu01 ssh gpu03寻找文件位置 find /path -name file_name #for example, find / -name lib #在根目录下搜寻名为lib文件 #for example, find /home/deeplearning -name "lib"…...
Android14窗口管理自适应投屏分辨率
环境 console:/ # cat /proc/version Linux version 6.1.57 (机密信息) (Android (10087095, pgo, bolt, lto, -mlgo, based on r487747c) clang version 17.0.2 (https://android.googlesource.com/toolchain/llvm-project d9f89f4d16663d5012e5c09495f3b30ece3d2362), LLD 17…...

Shot Studio for macOS 发布 1.0.2
Shot Studio 是一个 macOS 的 app,专门为开发者设计,主要用于各大 app 应用商店的预览图设计。 提供了非常多的模板,也预设了很多尺寸。可以直接一键使用 在 1.0.2 这个版本中新增了: 文本渐变 图层:边框、颜色、圆…...

《深度学习实战》第4集:Transformer 架构与自然语言处理(NLP)
《深度学习实战》第4集:Transformer 架构与自然语言处理(NLP) 在自然语言处理(NLP)领域,Transformer 架构的出现彻底改变了传统的序列建模方法。它不仅成为现代 NLP 的核心,还推动了诸如 BERT、…...

Starrocks入门(二)
1、背景:考虑到Starrocks入门这篇文章,安装的是3.0.1版本的SR,参考:Starrocks入门-CSDN博客 但是官网的文档,没有对应3.0.x版本的资料,却有3.2或者3.3或者3.4或者3.1或者2.5版本的资料,不要用较…...
银河麒麟高级服务器操作系统在线调整/pro/{PID}/limits文件中nofile的软限制和硬限制参数值操作方法
银河麒麟高级服务器操作系统在线调整/pro/{PID}/limits文件中nofile的软限制和硬限制参数值操作方法 一 系统环境二 使用场景三 操作步骤 一 系统环境 [rootlocalhost ~]# nkvers ############## Kylin Linux Version ################# Release: Kylin Linux Advanced Server…...

html css js网页制作成品——HTML+CSS甜品店网页设计(5页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...

Open WebUI项目源码学习记录(从0开始基于纯CPU环境部署一个网页Chat服务)
感谢您点开这篇文章:D,鼠鼠我是一个代码小白,下文是学习开源项目Open WebUI过程中的一点笔记记录,希望能帮助到你~ 本人菜鸟,持续成长,能力不足有疏漏的地方欢迎一起探讨指正,比心心~…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...