Blinko智能笔记系统实现跨平台同步与隐私保护的完整技术方案解析

文章目录

    • 前言
    • 1. Docker Compose一键安装
    • 2. 简单使用演示
    • 3. 安装cpolar内网穿透
    • 4. 配置公网地址
    • 5. 配置固定公网地址

推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站

前言

是否觉得现有笔记工具缺乏新意?今天为您揭晓一款革新性数字记事方案——Blinko。这款基于人工智能的开源笔记系统,不仅采用极简美学设计语言,更具备跨平台实时同步功能,让您在任何场景下都能安心存档重要信息。其独创的隐私保护架构采用端到端加密技术,确保数据存储绝对安全。令人惊喜的是,借助Docker容器化技术,即使新手用户也能在Linux服务器上实现一键部署。现在就跟随教程步骤,解锁这款智能笔记工具的无限可能吧!

image-20250212160933050

1. Docker Compose一键安装

Blinko提供了极其简便的安装方式。只需一条简单的命令,就能利用Docker Compose快速完成安装:

curl -s https://raw.githubusercontent.com/blinko-space/blinko/main/install.sh | bash

如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

image-20250212160048885

容器启动后,会提示所有容器已经启动(All containers are up and running.)

image-20250212160201890

通过docker ps命令可以看到服务端口号为1111

2. 简单使用演示

我们在Ubuntu中使用浏览器访问 http://localhost:1111 即可打开Blinko笔记的Web页面:

初次使用点击下方的Sign Up注册一个管理员账号。

image-20250212160458470

注册后,即可登录笔记使用界面:可以看到整体的观感非常简洁清爽!

image-20250212160719497

点击左侧菜单中的设置(settings),可以在语言处修改显示简体中文:

image-20250212160904261

在下方可以看到AI功能设置,可以在这里选择模型提供商、模型型号、API Key与接口地址:

image-20250212162453739

当Binko接入AI模型以后,在画面右下方会出现一个AI对话框。通过对画面我们不仅可以快速创建笔记、闪记,还可以实现全文快速检索。

image-20250212165426317

Blinko

Blinko笔记支持普通文字和markdown格式输入,支持URL图片、表格、排序、代码块等等内容,左侧编辑笔记时还可以设置右侧预览模式,非常方便,足以满足大部分人的写作需求。

1739349389358

3. 安装cpolar内网穿透

不过我们目前只能在本地局域网内的联网设备上使用blinko笔记,如果想不在同一局域网内时,也能在外部网络环境使用手机、平板、电脑等设备远程访问与使用它记笔记或者查询信息,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问的需求。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

回到Ubuntu终端中,使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

4. 配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: blinko,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:1111
  • 域名类型:随机域名
  • 地区:选择China Top

点击创建:

image-20250212164213500

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在浏览器中访问即可。

image-20250212164315405

如图所示,现在就已经成功实现使用公网地址异地远程访问本地部署的blinko笔记啦!

image-20250212164431460

image-20250212164503179

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用blinko笔记,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

5. 配置固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

首先登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是myblinko,大家可以自定义。填写备注信息,点击保留。

image-20250212164722918

保留成功后复制保留的二级子域名地址:myblinko

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道blinko,点击对应的编辑按钮。

image-20250212164827235

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20250212164938414

更新完成后,打开在线隧道列表,此时可以看到刚才创建的blinko笔记随机公网地址已经发生变化,变成了保留和固定的二级子域名名称。

image-20250212165052283

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的blinko笔记的web页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20250212165217735

更多项目详情大家可以访问作者github主页进行查看:GitHub - blinko-space/blinko: An open-source, self-hosted personal AI note tool prioritizing privacy, built using TypeScript .

在Ubuntu系统中搭建Blinko服务并配置cpolar内网穿透的过程,是否让您感受到技术应用的趣味性?这个基于Docker容器的智能系统,通过云端同步功能突破地域限制——无论是移动办公场景、学术研究环境,还是空中旅行时段,都能即时保存灵感与感悟。当您在使用过程中遇到技术疑问或创新构想,不妨参与社区技术讨论区,与开发者团队共同探索笔记工具的进化方向。记得,优质记录不仅是生活管理工具,更是思维跃迁的催化剂,让我们以技术为笔,书写属于每个人的认知图谱。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/83433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【小红书】API接口,获取笔记列表

小红书笔记列表API接口详解 - 深圳小于科技助力高效数据对接 深圳小于科技(官网:https://www.szlessthan.com)提供的小红书笔记列表API接口,帮助开发者快速获取小红书平台笔记数据,实现高效内容管理与分析。 接口概述…

Qwen2.5-VL 损失函数

Qwen2.5-VL 损失函数 flyfish 文章名称链接深入理解交叉熵损失 CrossEntropyLoss - 概率基础链接深入理解交叉熵损失 CrossEntropyLoss - 对数链接深入理解交叉熵损失 CrossEntropyLoss - 概率分布链接深入理解交叉熵损失 CrossEntropyLoss - 信息论(交叉熵&#…

LeetCode 1524. 和为奇数的子数组数目

好的!让我们详细解释 LeetCode 1524. 和为奇数的子数组数目 这道题的思路和解法。 题目: https://leetcode.cn/problems/number-of-sub-arrays-with-odd-sum/description/ 题目分析 问题描述: 给定一个整数数组 arr,返回其中和…

kafka学习笔记(三、消费者Consumer使用教程——消费性能多线程提升思考)

1.简介 KafkaConsumer是非线程安全的,它定义了一个acquire()方法来检测当前是否只有一个线程在操作,如不是则会抛出ConcurrentModifcationException异常。 acquire()可以看做是一个轻量级锁,它仅通过线程操作计数标记的方式来检测线程是否发…

百度蜘蛛池的作用是什么?技术@baidutopseo

百度蜘蛛池的作用 百度蜘蛛池是一种用于集中管理和调度百度搜索引擎蜘蛛(爬虫)的技术工具。其主要目的是优化网站内容的收录效率,帮助搜索引擎更高效地发现和抓取网页内容。技术baidutopseo 提升收录效率 通过集中大量百度蜘蛛的访问请求&…

黑马Java面试笔记之 消息中间件篇(Kafka)

一. Kafka保证消息不丢失 Kafka如何保证消息不丢失 使用Kafka在消息的收发过程中都会出现消息丢失,Kafka分别给出了解决方案 生产者发送消息到Brocker丢失消息在Brocker中存储丢失消费者从Brocker接收消息丢失 1.1 生产者发送消息到Brocker丢失 设置异步发送 消息…

dis css port brief 命令详细解释

华为交换机命令 display css port brief 详细解释 display css port brief 是华为交换机中用于 快速查看堆叠(CSS,Cluster Switch System)端口状态及关键参数 的命令,适用于日常运维、堆叠链路健康检查及故障定位。以下是该命令的…

Redis 缓存问题及其解决方案

1. 缓存雪崩 概念:缓存雪崩是指在缓存层出现大范围缓存失效或缓存服务器宕机的情况下,大量请求直接打到数据库,导致数据库压力骤增,甚至可能引发数据库宕机。 影响:缓存雪崩会导致系统性能急剧下降,甚至导…

使用Python进行函数作画

前言 因为之前通过deepseek绘制一下卡通的人物根本就不像,又想起来之前又大佬通过函数绘制了一些图像,想着能不能用Python来实现,结果发现可以,不过一些细节还是需要自己调整,deepseek整体的框架是没有问题&#xff0…

关于list集合排序的常见方法

目录 1、list.sort() 2、Collections.sort() 3、Stream.sorted() 4、进阶排序技巧 4.1 空值安全处理 4.2 多字段组合排序 4.3. 逆序 5、性能优化建议 5.1 并行流加速 5.2 原地排序 6、最佳实践 7、注意事项 前言 Java中对于集合的排序操作,分别为list.s…

Java高级 | (二十二)Java常用类库

参考:Java 常用类库 | 菜鸟教程 一、核心Java类库 二、常用第三方库 以下是 Java 生态系统中广泛使用的第三方库: 类别库名称主要功能官方网站JSON 处理JacksonJSON 序列化/反序列化https://github.com/FasterXML/jacksonGsonGoogle 的 JSON 库https:…

几种常用的Agent的Prompt格式

一、基础框架范式&#xff08;Google推荐标准&#xff09; 1. 角色与职能定义 <Role_Definition> 你是“项目专家”&#xff08;Project Pro&#xff09;&#xff0c;作为家居园艺零售商的首席AI助手&#xff0c;专注于家装改造领域。你的核心使命&#xff1a; 1. 协助…

蛋白质结构预测软件openfold介绍

openfold 是一个用 Python 和 PyTorch 实现的 AlphaFold2 的开源复现版&#xff0c;旨在提升蛋白质结构预测的可复现性、可扩展性以及研究友好性。它允许研究者在不开源 DeepMind 原始代码的情况下&#xff0c;自由地进行蛋白结构预测的训练和推理&#xff0c;并支持自定义模型…

AD转嘉立创EDA

可以通过嘉立创文件迁移助手进行格式的转换 按照它的提示我们整理好文件 导出后是这样的&#xff0c;第一个文件夹中有原理图和PCB&#xff0c;可以把它们压缩成一个压缩包 这个时候我们打开立创EDA&#xff0c;选择导入AD 这样就完成了

MySQL(50)如何使用UNSIGNED属性?

在 MySQL 中&#xff0c;UNSIGNED 属性用于数值数据类型&#xff08;如 TINYINT、SMALLINT、MEDIUMINT、INT 和 BIGINT&#xff09;&#xff0c;表示该列只能存储非负整数。使用 UNSIGNED 属性可以有效地扩展列的正整数范围&#xff0c;因为它不需要为负数保留空间。 1. 定义与…

什么是链游,链游系统开发价格以及方案

2025 Web3钱包开发指南&#xff1a;从多版本源码到安全架构实战 在数字资产爆发式增长的今天&#xff0c;Web3钱包已成为用户进入链上世界的核心入口。作为开发者&#xff0c;如何高效构建安全、跨链、可扩展的钱包系统&#xff1f;本文结合前沿技术方案与开源实践&#xff0c…

文件IO流

IO使用函数 标准IO文件IO(低级IO)打开fopen, freopen, fdopenopen关闭fcloseclose读getc, fgetc, getchar, fgets, gets, fread printf fprintfread写putc, fputc, putchar, fputs, puts, fwrite scanf fscanfwrite操作文件指针fseeklseek其它fflush rewind ftell 文件描述符 …

云原生DMZ架构实战:基于AWS CloudFormation的安全隔离区设计

在云时代,传统的DMZ(隔离区)概念已经演变为更加灵活和动态的架构。本文通过解析一个实际的AWS CloudFormation模板,展示如何在云原生环境中构建现代化的DMZ安全架构。 1. 云原生DMZ的核心理念 传统DMZ是网络中的"缓冲区",位于企业内网和外部网络之间。而在云环境…

一、虚拟货币概述

1. 定义 - 虚拟货币是一种基于网络技术、加密技术和共识机制的数字货币&#xff0c;它不依赖传统金融机构发行&#xff0c;而是通过计算机算法生成&#xff0c;例如比特币、以太坊等。 2. 特点 - 去中心化&#xff1a;没有一个单一的机构或个人控制整个虚拟货币系统&#xff0c…

Make All Equal

给定一个循环数组 a1,a2,…,ana1​,a2​,…,an​。 你可以对 aa 至多执行 n−1n−1 次以下操作&#xff1a; 设 mm 为 aa 的当前大小&#xff0c;你可以选择任何两个相邻的元素&#xff0c;其中前一个不大于后一个&#xff08;特别地&#xff0c;amam​ 和 a1a1​ 是相邻的&a…