普通视图

发现新文章,点击刷新页面。
昨天以前首页
  • ✇爱吃猫的鱼BLOG
  • 全面详解开箱即用的 AI 工具 CursorM.Talen
    1 前言Cursor 是一款智能化的编程辅助工具,旨在帮助开发者提高编码效率和质量。它利用先进的机器学习算法和自然语言处理技术,能够理解用户的编程意图,并提供实时的代码建议、自动补全、错误检测等功能。无论是初学者还是经验丰富的开发者,Cursor 都可以成为开发过程中的得力助手。值得一提的是,Cursor 不是完全免费的,新用户可以享受 14 天的专业版试用,而试用过期后的免费版功能受限,很难完成日常开发需求,那就免不了需要去付费订阅了。但办法总比困难多,文末提供永久免费使用教程。2 安装 CursorCursor 的安装非常简单,直接前往官网下载并运行安装程序,完成后将自动运行 Cursor。首次进入 Cursor 需要进行相关设置,这里依次为键盘映射、AI 语言、问题嵌入范围是否整库和添加命令行启动,这里一般只需要修改前两项,可以根据平时的软件习惯和个人语言支持来选择。然后根据引导不断下一步来到登录步骤并完成注册登录,这一步是必须的,否则将无法使用任何 AI 功能。你可以选择邮箱、谷歌或 GitHub 任一方式注册。注册完成后将自动登录,回到 Cursor 中页面如下即完成登录并且
     

全面详解开箱即用的 AI 工具 Cursor

作者 M.Talen
2025年1月19日 20:05

1 前言

Cursor 是一款智能化的编程辅助工具,旨在帮助开发者提高编码效率和质量。它利用先进的机器学习算法和自然语言处理技术,能够理解用户的编程意图,并提供实时的代码建议、自动补全、错误检测等功能。无论是初学者还是经验丰富的开发者,Cursor 都可以成为开发过程中的得力助手。

值得一提的是,Cursor 不是完全免费的,新用户可以享受 14 天的专业版试用,而试用过期后的免费版功能受限,很难完成日常开发需求,那就免不了需要去付费订阅了。但办法总比困难多,文末提供永久免费使用教程。

2 安装 Cursor

Cursor 的安装非常简单,直接前往官网下载并运行安装程序,完成后将自动运行 Cursor。

image-20250114114319397

首次进入 Cursor 需要进行相关设置,这里依次为键盘映射、AI 语言、问题嵌入范围是否整库和添加命令行启动,这里一般只需要修改前两项,可以根据平时的软件习惯和个人语言支持来选择。

image-20250114114452403

然后根据引导不断下一步来到登录步骤并完成注册登录,这一步是必须的,否则将无法使用任何 AI 功能。你可以选择邮箱、谷歌或 GitHub 任一方式注册。注册完成后将自动登录,回到 Cursor 中页面如下即完成登录并且可以开始使用了。

image-20250114120526270

3 简单配置

3.1 切换中文

程序本身是英文的,而对于很多人可能是需要一个中文界面环境的。

Cursor 设置中文的方法和 VS Code 相同,只需要在拓展中搜索 chinese(simplified) 安装并重启 Cursor 后启用。

image-20250114213731951

3.2 迁移 VS Code

Cursor 是一款基于 VS Code 技术构建的编辑器,从切换中文配置方法中也不难看出它们的共通性。如果你也是 VS Code 用户,那么你可以直接将 VS Code 的配置无缝迁移到 Cursor。

首先在软件中导航到 Settings > General > Account,找到 VS Code Import 项,点击导入按钮耐心等待些许时间。等待右下角出现提醒,重新启动软件完成,此时拓展、主题、设置和键绑定等配置均迁移到 Cursor。

image-20250114215125754

3.3 垂直活动栏

默认情况下,活动栏是水平的,以便为聊天留出空间,但如果更喜欢传统的垂直活动栏,可以进入设置中搜索 workbench.activityBar.orientation 并将其值修改为 vertical 后重启软件。

image-20250114224841637

4 基本使用

4.1 常用快捷键

在 Cursor 中常用的快捷键有四个,分别是 TabCtrl + KCtrl + LCtrl + I,它们从不同方面为用户提供最大的便捷。

4.1.1 Tab 代码补全

不同的 AI 编辑器都实现了 Tab 功能,但实际体验却天差地别,最简单直接的形式就是根据当前的代码上下文,自动生成代码补全的建议,用户直接通过Tab键就可以完成代码的修改与补全。而 Cursor 的 Tab 功能,不仅可以插入代码,而且可以对现有的代码进行修改,这正是它的独特之处。

代码生成补全是最基础的 Tab 功能,直接根据当前光标所在的位置,生成代码补全建议。你可能只需要输入部分内容,Cursor 就会根据已知信息智能补全剩余代码。

image-20250115181307613

除了剩余代码补全,还支持多行代码修改建议。

image-20250115181915358

当代码出现一些错误时,Cursor 会显示出所有问题处,你可以一键 Tab 来修复所有问题。

image-20250115182615369

需要注意的是,Tab 在进行任何补全或修改建议时,代码会以灰色斜体显示。

4.1.2 Ctrl + K 提示栏

该快捷键可以打开提示栏,提示栏功能是引导 AI 编程最快速方式,不同于聊天功能的是,提示栏更加聚焦局部代码处理,是对代码进行精细化处理的最佳工具,弥补了 AI 不能完全理解用户意图的缺陷。

image-20250116175343235

没有选中任何代码时按下 Ctrl + K 时,Cursor会根据在提示栏中输入的内容生成新代码

image-20250116180212680

选中某段代码时按下 Ctrl + K 时,Cursor会根据在提示栏中输入的内容修改选中的代码

image-20250116180336788

在内置终端中也可以按下 Ctrl + K 快捷键打开终端底部的提示栏,Cursor 会根据描述自动帮助写出一个终端命令。

image-20250116180914680

提示栏还有一个优雅的功能,当你对第一次生成的结果不满意,你可以在 Follow-up instructions... 处使用新描述来修改代码。

4.1.3 Ctrl + L 对话框

该快捷键可以打开对话框,它和大部分 AI 工具相同,以最直接的对话方式获取解释和建议,另外还有 Apply 功能可以将对话中给出的代码建议直接应用到项目中。

image-20250116183927186

将对话中生成的代码应用到项目中后,编辑器会将原内容以红色标注,新内容以绿色标注,点击 Accept 按钮(Ctrl + Shift + Y)确认应用修改,点击 Reject 按钮(Ctrl + N)取消应用修改。

image-20250116184238422

4.1.4 Ctrl + I 对话框 Composer

该快捷键用来打开对话框中的一个特殊功能 Composer,它是专为整个项目设计的,可以通过和模型对话来开发整个项目,过程就和聊天差不多,在会话中可以帮助你创建文件、删除文件、同时编辑多个文件等功能。

比如我创建了一个空白项目,开启 Composer 对话框,发生要求内容消息,AI 自动创建所需要的文件并且编写其内容。

image-20250116213326309

4.2 @注记

为了更方便地向大语言模型提供上下文信息,Cursor 内设了不同的 @ 注记,使用 @ 注记能够方便地注入不同类型的上下文信息到你的对话里。

一般的注记是通用的,适用于所有对话窗口,如提示栏(Ctrl + K)、对话框(Ctrl + L)等。

4.2.1 @files 导入特定文件内容

当在对话框输入 @files 注记时,Cursor 会自动弹出对代码仓库的检索列表,输入想要导入上下文的文件名,按下确认键,相应文件里的内容便会自动注入到上下文中,可帮助模型更好地理解与特定文件相关的代码逻辑和需求。

image-20250116221540710

4.2.2 @folders 提供文件目录

能够提供文件目录的相关信息,在遇到路径问题或需要模型了解特定目录结构及其中文件的情况时使用,可以向大模型寻求解决方法。

image-20250116221703721

4.2.3 @code 精确代码片段

提供更精确的代码片段上下文。使用时会弹出相应检索框,输入关键词后在索引列表中选择相应的代码块即可,适用于需要聚焦特定代码块进行分析、修改或生成的场景。

image-20250116222115835

4.2.4 @docs 函数或库官方文档

能够从函数或库的官方文档里获取上下文,但只能从可访问的在线文档里获取,有助于在编写代码时快速获取相关函数或库的详细说明和使用方法。

4.2.5 @git 仓库 commit 历史

只能在对话框里使用,能够将当前的 git 仓库的 commit 历史作为上下文传递给大模型,方便在代码开发过程中结合版本历史进行分析和决策。

image-20250116222408987

4.2.6 @codebase 高级代码库搜索

只能在对话框里使用,用于在代码仓里扫描相应的文件传入,可帮助模型全面了解代码仓库的整体结构和内容,从而提供更准确和全面的代码建议和解决方案。

image-20250116223001950

4.2.7 @web 网络搜索结果

会默认将提问先向搜索引擎进行搜索,然后提取搜索结果作为上下文。当遇到问题不想再打开网页搜索报错信息时,可直接使用此注记获取网络上的相关信息和解决方案。

image-20250116223618025

4.2.8 @definitions 注记

只能在提示栏里使用,会将光标停留的那一行代码里涉及到的变量、类型的相关定义作为上下文传递给大模型,类似于 @code 注记,但更侧重于变量和类型定义的提取。

image-20250116224152595

4.3 模型选择

在提示栏和对话框里,均有一个按钮来选择语言模型。

image-20250116224901228

当前可选的模型仅为部分已开启模型,如果需要更多的可以在 Cursor Settings > Models > Model Names 中选择要启用的模型。

image-20250116225510880

目前官网中支持的主要模型提供商有:OpenAI、Anthropic、Google 和 Azure。

5 解决限制

本文提供的解决限制方法不确保长期有效。

5.1 方法一:更换账户

普通用户注册后,可以免费体验 14 天的 Pro 版本,相当于拥有多少邮箱,就拥有了多少个免费体验,这里推荐 2925 无限邮,1 个邮箱当无限邮箱用。

但同一台设备免费试用次数过多,就会有以下类似错误:

1
Too many free trial accounts used on this machine. Please upgrade to pro. We have this limit in place to prevent abuse. Please let us know if you believe this is a mistake.

这是因为当前设备使用太多次免费试用账号,原理是 Cursor 客户端会在你的电脑上生成一个唯一识别的机器 ID,所有我们只需要修改这个 ID 就可以解决这个问题。

由网络一位大神开发了一个可以自动完成这一步骤的工具,在 GitHub 上开源项目叫做 go-cursor-help,我们可以通过简单一行命令来使用它。

关闭 Cursor 软件,使用管理员身份打开 Windows PowerShell 执行以下命令。

1
irm https://raw.githubusercontent.com/yuaotian/go-cursor-help/master/scripts/install.ps1 | iex

5.2 方法二:绕过会员检查机制

这是又一位大神制作的开源工具 Cursor Free VIP,它可以帮助用户自动绕过 Cursor 的会员检查机制,并免费升级为 Pro 会员。

请特别注意,此种方法使用有风险!!!

登出 Cursor 账户并关闭软件,使用管理员身份打开 Windows PowerShell 执行以下命令。

1
irm https://raw.githubusercontent.com/yeongpin/cursor-free-vip/main/scripts/install.ps1 | iex

6 写在最后

Cursor AI 是一个强大的编程辅助工具,通过提供智能的代码建议和自动化功能,大大提高了开发者的工作效率。无论是新手还是专家,使用 Cursor AI 都能帮助你更好地完成编码任务,节省时间并减少错误。如果你希望提升自己的编码能力,不妨尝试一下 Cursor AI。

  • ✇爱吃猫的鱼BLOG
  • 使用Ventoy集成多PE打造强大U盘M.Talen
    1 前言PE 环境是一款轻量级且便携的 Windows 操作系统,广泛应用于系统维护与数据恢复等任务之中。在众多 PE 工具中,微PE、USM、FirPE 等均为耳熟能详的佼佼者,它们各自以独特的优势赢得了用户的青睐。然而,面对一个U盘只能承载一款PE工具的局限,选择难题便悄然浮现,而我们要追求的是更为全面与高效的解决方案,正如那句“小孩子才做选择”,于是 Ventoy 这款神器便应运而生,它打破了传统限制,让我们能够轻松实现一个 U 盘多个 PE 的方案,无需再为选择哪一款PE工具而犹豫不决,Ventoy为我们提供了完美的解决方案,让我们在系统维护的征途上更加游刃有余。2 Ventoy 简介Ventoy 是一个用于制作可启动 U 盘的开源工具。它的独特之处在于允许用户将ISO、WIM、IMG、VHD(x)、EFI等多种类型的系统镜像文件直接拷贝到 U 盘中直接使用,而无需进行额外的格式化或分区操作。用户可以一次性拷贝多个不同类型的镜像文件到同一个启动盘中,Ventoy 会在启动时提供一个菜单供用户选择。特点一、高度的兼容性操作系统广泛兼容:Ventoy 能够启动众多不同类型的操作系统
     

使用Ventoy集成多PE打造强大U盘

作者 M.Talen
2024年8月28日 13:30

1 前言

PE 环境是一款轻量级且便携的 Windows 操作系统,广泛应用于系统维护与数据恢复等任务之中。在众多 PE 工具中,微PEUSMFirPE 等均为耳熟能详的佼佼者,它们各自以独特的优势赢得了用户的青睐。然而,面对一个U盘只能承载一款PE工具的局限,选择难题便悄然浮现,而我们要追求的是更为全面与高效的解决方案,正如那句“小孩子才做选择”,于是 Ventoy 这款神器便应运而生,它打破了传统限制,让我们能够轻松实现一个 U 盘多个 PE 的方案,无需再为选择哪一款PE工具而犹豫不决,Ventoy为我们提供了完美的解决方案,让我们在系统维护的征途上更加游刃有余。

2 Ventoy 简介

Ventoy 是一个用于制作可启动 U 盘的开源工具。它的独特之处在于允许用户将ISO、WIM、IMG、VHD(x)、EFI等多种类型的系统镜像文件直接拷贝到 U 盘中直接使用,而无需进行额外的格式化或分区操作。用户可以一次性拷贝多个不同类型的镜像文件到同一个启动盘中,Ventoy 会在启动时提供一个菜单供用户选择。

image-20240827221529506

特点

一、高度的兼容性

操作系统广泛兼容:Ventoy 能够启动众多不同类型的操作系统,无论是常见的 Windows 各版本,还是各类 Linux 发行版,甚至一些小众操作系统都能轻松应对。

文件格式丰富支持:Ventoy 支持 ISO、WIM、IMG、VHD(x)、EFI 等多种文件格式,让用户无需担心文件格式不匹配的问题。

二、便捷的使用体验

制作过程简单快速:下载 Ventoy 软件,插入 USB 设备,运行安装程序即可,几分钟就能完成启动盘制作。

无需反复格式化:直接将不同操作系统安装文件复制到 U 盘,无需为更换系统反复格式化。

自动识别与启动:插入 Ventoy 启动盘后,自动识别可启动操作系统选项,用户选择即可启动。

三、灵活的可扩展性

支持插件扩展:Ventoy 支持插件安装,可根据需求增强启动盘功能,满足不同的个性化需求。

自定义主题:用户可以自定义 Ventoy 启动界面主题,选择不同颜色、图标和布局,彰显个性。

四、安全可靠

开源免费:Ventoy 作为开源软件,代码公开透明,接受全球开发者审查和改进,保证了安全性和可靠性。

无广告和恶意软件:Ventoy 不包含任何广告和恶意软件,让用户使用过程中无需担心安全问题,安心使用。

4 安装 Ventoy

4.1 准备工作

由于要集成多个 PE 系统以及可能存储一些系统镜像文件和工具软件,所以 U 盘需要有足够的容量,建议选择至少 16GB 以上的 U 盘,32GB 或 64GB 的最为合适。需要注意的是,安装过程中会格式化 U 盘,请确保准备的 U 盘内没有重要数据,以免数据丢失。

image-20240828125447916

4.2 下载程序

访问 Ventoy 官方网站,下载最新版本的 Ventoy。

image-20240826234106411

4.3 安装过程

将下载好的 Ventoy 压缩包文件解压到本地后运行目录中的Ventoy2Disk.exe程序。

image-20240826235200203

在设备中选择已准备好的 U 盘,点击安装耐心等待一会,当进度条完成并且设备内部 Ventoy 版本中出现版本号即为安装成功。

image-20240826235833985

5 集成多 PE

集成多 PE 非常简单,只要将 PE 环境制作成 ISO 镜像文件并放在 Ventoy 盘的根目录即可。

5.1 Edgeless

简介

产品定位不是维护系统,因此兼容性较差,但强大、便捷、易用的自定义功能显得极为突出,完整的开发者文档、强大的插件包、优雅的主题包等。支持 Legacy+UEFI 双引导,支持识别主流 NVME 协议 SSD,还提供有线和无线网络连接能力及较完整的库文件支持。

image-20240828113012208

制作过程

前往 Edgeless 官网下载最新版本 Edgeless Hub 工具,解压压缩包后运行edgeless-hub.exe程序。

image-20240827002347011

成功打开软件后在制作>写入中点击开始,耐心等待下载完成后,根据提示完成后续步骤,回到首页出现版本号即为成功。

image-20240828115013008

5.2 微 PE

简介

简洁纯净,无广告和强制性商业软件链接,无病毒木马。集成的维护工具精良,每一款都经过作者精简和压缩适配。体积小巧,功能齐全,能满足日常系统维护和安装需求。

image-20240828094149954

制作过程

前往微 PE 官网下载最新版本 WePE 工具,下载完成后运行程序。

image-20240827161912115

打开应用后,在其它安装方式中找到“生成可启动ISO选项”,简单设置后点击“立即生成ISO”,建议将输出位置设置在 U 盘避免二次移动。

image-20240827162503495

5.3 杏雨梨云启动维护系统

简介

知名老牌的 U 盘启动系统制作工具。提供了个人开发的“IQI X Windows一键安装”及“OBR 一键备份&一键还原”等人性化功能。拥有多种引导模式,兼容各类电脑,内置实用工具可解决多种电脑问题,减轻重装系统负担。

image-20240828094540413

制作过程

前往杏雨梨云启动维护系统官方博客找到并下载最新版本工具。

image-20240827165312721

下载完成后解压压缩包并运行杏雨梨云启动维护系统.exe程序,在安装方式中找到“生成ISO镜像”,简单设置后点击开始执行并选择存放位置,存放位置可设置为 U 盘。

image-20240827173929208

5.4 FirPE

简介

系统预安装环境,简约易操作,人性化设计。采用优化的 U 盘三分区方案,支持 BIOS 与 UEFI 两种启动模式,“双 PE 分治”理念可兼顾新老硬件。整合各种装机必备工具,能有效提高系统安装效率,且可兼容 Edgeless 插件。

image-20240828100918296

制作过程

前往 FirPE 官网下载最新版本 FirPE 工具,下载完成后运行程序。

image-20240827171401691

打开应用后,点击“生成ISO”并选择存放位置,存放位置可设置为 U 盘。

image-20240827175316826

5.5 HotPE

简介

使用简单、纯净、强大、兼容性高,安装便捷,采用 Windows11 内核,内置主流网卡、声卡等驱动,内置装机维护软件,可通过插件下载器安装额外软件。

image-20240828125747711

制作过程

前往 HotPE 官网下载最新版本 HotPE 工具。

image-20240828120817750

下载完成后解压压缩包并运行HotPE Client.exe程序,在安装方式中找到“生成ISO镜像”,点击“开始生成”并选择存放位置,存放位置可设置为 U 盘。

image-20240828121627350

6 测试效果

Ventoy 盘制作完成后,若不想使用物理机进行测试,可以使用 VMware 虚拟机。

image-20240828122751653

任意新建一台虚拟机,打开虚拟机设置,添加一个硬盘设备。

image-20240828123153560

虚拟磁盘类型选择 NVMe,磁盘选择使用物理磁盘。

image-20240828123326435

点击Windows+R键,在输入框中键入diskmgmt.msc并“确定”,设备中选择与 U 盘所在磁盘号对应的选项。

image-20240828124148010

点击完成后启动虚拟机,出现 Ventoy 启动页即成功。

image-20240828124700811

7 写在最后

本文全面介绍了利用 Ventoy 制作多 PE 环境的方法。Ventoy 作为开源工具,具有高度兼容性、便捷使用体验、可扩展性及安全可靠等优点。通过准备合适容量的 U 盘,下载并安装 Ventoy,用户可打破传统局限,实现一个 U 盘多个 PE。对于多 PE 本文以 Edgeless、微 PE、杏雨梨云启动维护系统、FirPE 和 HotPE 为例演示制作过程,究其本质就是将镜像文件放入 U 盘即可实现多 PE 的集成。

PE 带来便利,但使用时一定多加小心,稍有不慎就可能导致数据丢失,甚至损坏硬件等。涉及到的下载内容尽量从官网获取最新版,避免恶意软件或病毒对设备造成威胁。

  • ✇爱吃猫的鱼BLOG
  • 高效利用 GitHub 搜索,精准快速获取所需M.Talen
    1 前言在互联网上寻找某件事情需要有正确的搜索技巧,在 GitHub 也不例外,通过一些搜索的语法和策略,可以帮助更精准、快速地定位到有价值的项目和代码片段。在使用搜索前需要了解一个存储库大概包含哪些内容,可以在存储库详情页面查看,具体可参考下图。2 基础搜索语法2.1 关键词搜索最直接的方式,只需在搜索框中输入关键词,如:data visualization。2.2 引号精确匹配如果想要精确搜索某个短语,可以将其用引号括起来,如:"data visualization"。3 高级搜索语法3.1 按基本信息语法描述xxx in:name匹配名称中带有 xxx 的存储库xxx in:description匹配说明中带有 xxx 的存储库xxx in:topics匹配标签中带有 xxx 的存储库xxx in:readme匹配自述文件中带有 xxx 的存储库示例1:匹配名称中带有 hexo 的存储库1hexo in:name示例2:匹配标签中带有 hexo 的存储库1hexo in:topics3.2 按星数、分支数语法描述stars:m…n匹配 m 到 n 个星数的存储库stars:>
     

高效利用 GitHub 搜索,精准快速获取所需

作者 M.Talen
2024年7月8日 18:27

1 前言

在互联网上寻找某件事情需要有正确的搜索技巧,在 GitHub 也不例外,通过一些搜索的语法和策略,可以帮助更精准、快速地定位到有价值的项目和代码片段。

在使用搜索前需要了解一个存储库大概包含哪些内容,可以在存储库详情页面查看,具体可参考下图。

image-20240702024947554

2 基础搜索语法

2.1 关键词搜索

最直接的方式,只需在搜索框中输入关键词,如:data visualization

image-20240702001751465

2.2 引号精确匹配

如果想要精确搜索某个短语,可以将其用引号括起来,如:"data visualization"

image-20240702002338077

3 高级搜索语法

3.1 按基本信息

语法描述
xxx in:name匹配名称中带有 xxx 的存储库
xxx in:description匹配说明中带有 xxx 的存储库
xxx in:topics匹配标签中带有 xxx 的存储库
xxx in:readme匹配自述文件中带有 xxx 的存储库
  • 示例1:匹配名称中带有 hexo 的存储库
1
hexo in:name

image-20240702025307675

  • 示例2:匹配标签中带有 hexo 的存储库
1
hexo in:topics

image-20240702025551676

3.2 按星数、分支数

语法描述
stars:m…n匹配 m 到 n 个星数的存储库
stars:>n匹配大于 n 个星数的存储库
>为判断,还可替换为>=<<=
forks:m…n匹配 m 到 n 个分支数的存储库
forks:<=n匹配小于等于 n 个分支数的存储库
<=为判断,还可替换为>>=<
  • 示例1:匹配小于等于 656 个星数的存储库(以 hexo 为例)
1
hexo stars:<=656

image-20240702031319498

  • 示例2:匹配大于 3k 分支数的存储库(以 hexo 为例)
1
hexo forks:>3000

image-20240702131951013

3.3 按语言

语法描述
language:LANGUAGE匹配编程语言为 LANGUAGE 的存储库
  • 示例:匹配语言为 TypeScript 的存储库(以 hexo 为例)
1
hexo language:TypeScript

image-20240702132715661

3.4 按创建时间、更新时间

语法描述
created:<YYYY-MM-DD匹配 YYYY 年 MM 月 DD 日之前创建的存储库
pushed:>YYYY-MM-DD匹配 YYYY 年 MM 月 DD 日之后更新的存储库
  • 示例:匹配 2024 年 2 月之后更新的存储库(以 hexo 为例)
1
hexo pushed:>=2024-03-01

image-20240702133521937

3.5 按用户、组织

语法描述
user:USERNAME匹配用户为 USERNAME 的存储库
org:ORGNAME匹配组织为 ORGNAME 的存储库
  • 示例:匹配用户为 hexojs 的存储库(以 hexo 为例)
1
hexo user:hexojs

image-20240702134656735

3.6 按许可证

语法描述
license:LICENSE匹配许可证为 LICENSE 的存储库
常用许可关键词有:MITApache-2.0GPL
  • 示例:匹配许可证为 Apache-2.0 的存储库(以 hexo 为例)
1
hexo license:Apache-2.0

image-20240702140718485

4 组合搜索技巧

结合前面的基础、高级搜索语法,可以实现更复杂、更精确的搜索。

  • 示例1:搜索 2024 年之后更新、星数大于 1k 的 hexo 存储库
1
hexo pushed:>=2024-01-01 stars:>1000

image-20240702141816163

  • 示例2:搜索 MIT 许可证、组织为 GitHub 、语言使用 JavaScript 的所有存储库
1
license:MIT org:github language:JavaScript

image-20240702141755227

5 利用高级搜索界面

GitHub 提供了一个高级搜索界面,通过它可以更直观地设置各种搜索条件,包括高级选项、存储库选项、代码选项、问题选项、用户选项等。

GitHub 高级搜索

6 写在最后

熟练掌握 GitHub 的搜索语法和技巧,能够大大提高在开源世界中的探索效率,更快地找到所需的代码资源,加速开发进程。在 GitHub 中诸如此类的效率方法还有很多,如果感兴趣可以查阅官方文档学习。

  • ✇爱吃猫的鱼BLOG
  • 零基础Docker入门指南M.Talen
    1 前言Docker 是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中。这些容器可以在任何支持 Docker 的 Linux 机器上运行,无需担心环境差异带来的问题。Docker 的设计理念是“一次构建,到处运行”,这意味着一旦应用在 Docker 容器中构建完成,它就可以在任何安装了 Docker 的机器上无缝运行。特点轻量级:不需要模拟硬件,它共享宿主机的内核,因此比虚拟机更轻量。可移植性:可以在不同的环境中运行,无论是本地开发环境、测试环境还是生产环境。快速部署:可以快速启动和停止,这使得部署和扩展应用变得非常迅速。安全性:提供了良好的隔离,每个容器都是独立的,不会互相干扰。2 快速安装Docker 在不同系统的安装方式略有不同但基本相似,以下就用几个常用系统作为演示。2.1 Ubuntu使用 Ubuntu 22.04 LTS,理论上各版本可通用更新系统软件包索引,如果较慢可以更换镜像源1sudo apt update安装必要的依赖包1sudo apt install apt-transport-https ca-certificates
     

零基础Docker入门指南

作者 M.Talen
2024年6月13日 22:54

1 前言

Docker 是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中。这些容器可以在任何支持 Docker 的 Linux 机器上运行,无需担心环境差异带来的问题。Docker 的设计理念是“一次构建,到处运行”,这意味着一旦应用在 Docker 容器中构建完成,它就可以在任何安装了 Docker 的机器上无缝运行。

特点

  • 轻量级:不需要模拟硬件,它共享宿主机的内核,因此比虚拟机更轻量。
  • 可移植性:可以在不同的环境中运行,无论是本地开发环境、测试环境还是生产环境。
  • 快速部署:可以快速启动和停止,这使得部署和扩展应用变得非常迅速。
  • 安全性:提供了良好的隔离,每个容器都是独立的,不会互相干扰。

2 快速安装

Docker 在不同系统的安装方式略有不同但基本相似,以下就用几个常用系统作为演示。

2.1 Ubuntu

使用 Ubuntu 22.04 LTS,理论上各版本可通用

更新系统软件包索引,如果较慢可以更换镜像源

1
sudo apt update

安装必要的依赖包

1
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

添加阿里云 GPG 密钥

1
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

添加阿里云 APT 软件源,在国内不推荐使用官方源,如需使用官方源请添加官方 GPG 密钥

1
2
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 过程需要使用一次回车键

更新软件包索引并安装 Docker Engine

1
2
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

启动Docker服务

1
sudo systemctl start docker

验证安装是否成功

1
2
3
docker --version
# 出现版本号即为安装成功
# Docker version 26.1.3, build b72abbb

2.2 Debian

使用 Debian 12.5,理论上各版本可通用

更新系统软件包索引,如果较慢可以更换镜像源

1
sudo apt-get update

安装必要的依赖包

1
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common

添加阿里云 GPG 密钥

1
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

添加阿里云 APT 软件源,在国内不推荐使用官方源,如需使用官方源请添加官方 GPG 密钥

1
2
echo "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 过程需要使用一次回车键

更新软件包索引并安装 Docker Engine

1
2
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

启动Docker服务

1
sudo systemctl start docker

验证安装是否成功

1
2
3
docker --version
# 出现版本号即为安装成功
# Docker version 26.1.3, build b72abbb

2.3 CentOS

使用 CentOS Stream 9,理论上 CentOS 7.x 也可以使用

更新系统软件包索引,如果较慢可以更换镜像源

1
sudo yum update -y

安装必要的依赖包

1
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

从国内服务器上下载存储库,在国内不推荐使用官方库

1
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 Docker Engine

1
sudo yum install -y docker-ce docker-ce-cli containerd.io

启动Docker服务

1
sudo systemctl start docker

验证安装是否成功

1
2
3
docker --version
# 出现版本号即为安装成功
# Docker version 26.1.3, build b72abbb

3 常用命令

镜像管理命令

  • docker pull:从Docker Hub或其他仓库拉取镜像
  • docker images:列出本地所有镜像
  • docker rmi:删除指定的镜像
  • docker build:从 Dockerfile 构建新的镜像
  • docker commit:将容器保存为新的镜像
  • docker tag:给镜像打标签
  • docker push:将镜像推送到仓库
  • docker search:在 Docker Hub 上搜索镜像

容器管理命令

  • docker run:创建并运行一个新的容器
  • docker start:启动一个已停止的容器
  • docker stop:停止一个正在运行的容器
  • docker restart:重启一个容器
  • docker pause:暂停一个或多个容器的所有进程
  • docker unpause:恢复一个或多个容器的所有进程
  • docker kill:强制停止一个或多个容器
  • docker rm:删除一个或多个容器
  • docker ps:列出当前运行的容器
  • docker ps -a:列出所有容器,包括已停止的
  • docker inspect:查看容器的详细信息
  • docker exec:在容器内运行命令
  • docker logs:获取容器的日志
  • docker cp:在容器与宿主机间复制文件

网络管理命令

  • docker network ls:列出所有网络
  • docker network create:创建新网络
  • docker network connect:连接容器到网络
  • docker network disconnect:从网络断开容器
  • docker network rm:删除网络。

卷管理命令

  • docker volume ls:列出所有卷
  • docker volume create:创建新卷
  • docker volume inspect:查看卷的详细信息
  • docker volume rm:删除卷

系统信息命令

  • docker version:显示 Docker 版本信息
  • docker info:显示 Docker 系统信息

4 使用示例

4.1 Nginx

拉取 Nginx 镜像

1
docker pull nginx

运行 Nginx 容器

1
docker run --name nginx-test -p 8080:80 -d nginx
  • --name nginx-test:设置容器名称
  • -p 8080:80: 映射容器服务的 80 端口到宿主机的 8080 端口
  • -d nginx: 设置容器在在后台一直运行

若在浏览器成功访问 IP:8080 即为安装成功,注意需要放行对应端口

image-20240605155040664

3.2 MySQL

拉取 MySQL 镜像

1
docker pull mysql

运行 MySQL 容器

1
docker run -it --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
  • -it:启动一个交互式 shell
  • -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口
  • -e MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码
  • -d mysql: 设置容器在在后台一直运行

使用 Navicat Premium 工具测试是否安装成功,注意需要放行对应端口

image-20240605175605003

5 Docker Compose

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose 可以使用 YML 文件来配置应用程序需要的所有服务,然后使用一个命令就可以从 YML 文件配置中创建并启动所有服务。

5.1 安装

下载 Docker Compose 二进制文件

1
sudo curl -L "https://githubfast.com/docker/compose/releases/download/v2.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

赋予 Docker Compose 执行权限

1
sudo chmod +x /usr/local/bin/docker-compose

验证安装是否成功

1
2
3
docker-compose --version
# 出现版本号即为安装成功
# Docker Compose version v2.27.1

5.2 使用示例

创建并进入一个测试目录

1
mkdir composetest & cd composetest

创建并编辑 docker-compose.yml 文件

1
vim docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# docker-compose.yml
services: # 在这个配置文件中,定义了两个服务 nc(Nextcloud) 和 db(PostgreSQL)
nc: # Nextcloud
image: nextcloud:apache # 指定容器使用的镜像为 nextcloud:apache
environment: # 设置环境变量,包括数据库的连接信息
- POSTGRES_HOST=db # 指定数据库服务的名称
- POSTGRES_PASSWORD=nextcloud # 数据库密码
- POSTGRES_DB=nextcloud # 数据库名
- POSTGRES_USER=nextcloud # 数据库用户名
ports: # 映射容器服务的 80 端口到宿主机的 80 端口
- 80:80
restart: always # 指定容器总是重启
volumes: # 挂载卷 nc_data 到容器内 /var/www/html 目录,用于持久化 Nextcloud 的数据
- nc_data:/var/www/html
db: # PostgreSQL
image: postgres:alpine # 指定容器使用的镜像为 postgres:alpine
environment: # 设置环境变量,包括数据库的配置信息
- POSTGRES_PASSWORD=nextcloud # 数据库密码
- POSTGRES_DB=nextcloud # 数据库名
- POSTGRES_USER=nextcloud # 数据库用户名
restart: always # 指定容器总是重启
volumes: # 挂载卷 db_data 到容器内 /var/lib/postgresql/data 目录,用于持久化数据库的数据
- db_data:/var/lib/postgresql/data
expose: # 暴露容器的5432端口
- 5432
volumes: # 卷
db_data: # 定义了一个名为 db_data 的卷,用于存储数据库的数据
nc_data: # 定义了一个名为 nc_data 的卷,用于存储 Nextcloud 的数据

构建应用并在后台执行该服务

1
docker-compose up -d

等待构建完成后,在浏览器访问 IP:80 成功出现下图即为成功,注意需要放行对应端口

image-20240605182752361

6 写在最后

Docker 是一个强大的工具,它简化了应用的部署和管理过程。无论是开发者还是系统管理员,学习 Docker 都将大大提升工作效率。本文侧重于如何安装 Docker,如需深入学习推荐使用官方文档:https://docs.docker.com/guides/

  • ✇爱吃猫的鱼BLOG
  • 服务器最佳搭档,宝塔和1Panel的部署与选择M.Talen
    1 前言宝塔面板和 1Panel 都是优秀的服务器管理工具,称得上服务器必备程序。宝塔面板宝塔面板 是一款广受欢迎的Linux服务器管理软件,它提供了一键安装LNMP、LAMP、集群、监控、网站、FTP、数据库、Java等多种服务器管理功能,它直观的用户界面和简化的操作流程使得新手也能快速上手,轻松管理服务器。此外,宝塔面板还支持多种常见的Linux发行版,具有庞大的用户群体和活跃的社区,用户可以在社区中寻求帮助,分享经验,获取最新的使用技巧和教程。1Panel1Panel 是一款现代化、开源的Linux服务器运维管理面板,它采用最新的前端技术和容器技术,使得服务器的运维管理更加简单、更安全,通过Web端轻松管理Linux服务器,包括应用管理、主机监控、文件管理、数据库管理、容器管理等。1Panel还提供了快速建站、安全可靠、一键备份等功能,支持一键备份和恢复,备份数据可在云端存储。2 安装2.1 宝塔面板不同系统的安装方式略有不同,针对不同系统官网均提供了相应的安装脚本Centos / OpenCloud / Alibaba1url=https://download.bt.cn/in
     

服务器最佳搭档,宝塔和1Panel的部署与选择

作者 M.Talen
2024年6月6日 01:07

1 前言

宝塔面板和 1Panel 都是优秀的服务器管理工具,称得上服务器必备程序。

宝塔面板

宝塔面板 是一款广受欢迎的Linux服务器管理软件,它提供了一键安装LNMP、LAMP、集群、监控、网站、FTP、数据库、Java等多种服务器管理功能,它直观的用户界面和简化的操作流程使得新手也能快速上手,轻松管理服务器。此外,宝塔面板还支持多种常见的Linux发行版,具有庞大的用户群体和活跃的社区,用户可以在社区中寻求帮助,分享经验,获取最新的使用技巧和教程。

image-20240605224530626

1Panel

1Panel 是一款现代化、开源的Linux服务器运维管理面板,它采用最新的前端技术和容器技术,使得服务器的运维管理更加简单、更安全,通过Web端轻松管理Linux服务器,包括应用管理、主机监控、文件管理、数据库管理、容器管理等。1Panel还提供了快速建站、安全可靠、一键备份等功能,支持一键备份和恢复,备份数据可在云端存储。

image-20240605224605657

2 安装

2.1 宝塔面板

不同系统的安装方式略有不同,针对不同系统官网均提供了相应的安装脚本

Centos / OpenCloud / Alibaba

1
url=https://download.bt.cn/install/install_panel.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_panel.sh $url;fi;bash install_panel.sh ed8484bec

Ubuntu / Deepin

1
wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && sudo bash install_panel.sh ed8484bec

Debian

1
wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && bash install_panel.sh ed8484bec

万能

1
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec

出现 Congratulations! Installed successfully! 及登录信息等内容即为安装成功

image-20231128131320509

使用 bt 命令,分别使用编号 5、6、8、28 可以修改面板密码、面板用户名、面板端口和面板安全入口

image-20240605214025673

然后在浏览器访问 IP:面板端口/面板安全入口 即可进入宝塔面板,注意对应端口需要放行

2.2 1Panel

不同系统的安装方式略有不同,针对不同系统官网均提供了相应的安装脚本

RedHat / CentOS

1
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh

Ubuntu

1
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

Debian

1
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

openEuler / 其他

1
2
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh

安装过程中依次设置安装目录、端口、安全入口、用户名、密码,出现 1Panel 服务启动成功! 及登录信息等内容即为安装成功

image-20240605220835603

然后在浏览器访问 IP:面板端口/面板安全入口 即可进入 1Panel,注意对应端口需要放行

3 界面截图

宝塔面板

image-20240605222704667

image-20240605222929136

image-20240605222948787

image-20240605223035813

1Panel

image-20240605223117543

image-20240605223210313

image-20240605223246380

image-20240605223307191

4 对比

对比维度宝塔面板1Panel
开发语言PythonGo
容器依赖非核心功能核心功能
安装速度较慢较快
系统侵入性较高较低
社区支持庞大且活跃较小但增长迅速
安全性基本安全设置更注重安全性
开源性部分开源完全开源
现代化程度较为传统现代且采用最新技术
功能丰富度丰富正在发展中
易用性
资源占用较高较低
兼容性支持多种Linux发行版支持多种Linux发行版
特色功能网站管理、数据库管理、FTP管理等快速建站、高效管理、安全可靠等
价格免费版和付费版完全免费

综合以上信息,宝塔面板在社区支持和功能丰富度方面表现较好,适合需要广泛支持和丰富功能的用户。而1Panel则在安装速度、系统侵入性和安全性方面有所优势,尤其适合对资源消耗敏感和追求现代化管理的用户。如果是初学者或者对开源项目感兴趣,1Panel可能是一个更好的选择。如果需要更多的功能和更广泛的社区支持,宝塔面板可能更适合。

5 写在最后

用过服务器建站的都知道,一个好的服务器管理工具可以大大提高工作效率,本文介绍的两款工具就是我目前日常使用的(ps:两台服务器各装一款简直太舒服了),无论是宝塔面板还是 1Panel 一定要根据个人切实需求来选择。

  • ✇爱吃猫的鱼BLOG
  • 在支持的站点中配置电子邮箱通知服务M.Talen
    1 前言电子邮箱通知是一种高效、免费的通知方式,在特定的条件下使用配置好的邮件通知服务向操作用户发送通知。注意本文涉及电子邮箱通知配置的部分平台可能为私有部署的站点或服务,请注意分辨,避免教程对应不上实际操作。2 相关了解2.1 简单邮件传输协议(SMTP)SMTP,即简单邮件传输协议,是专门用于发送电子邮件的协议。当一封电子邮件发送后,本地的邮件客户端会使用SMTP将邮件从本地设备传送到邮件服务器,随后邮件服务器再使用SMTP将邮件传送到收件人的邮件服务器上另外,常见的邮件协议还有邮局协议(POP)和Internet邮件访问协议(IMAP),都是用于电子邮件的接收,区别在于POP是将邮件下载到本地查看,而IMAP是连接到邮件服务器操作2.2 TLS加密安全传输层(TLS)是一种加密协议,TLS为一个安全电子邮件服务器“传输”到另一个安全电子邮件服务器的信息提供端到端的加密技术,有助于保护用户隐私并防止窃听或更改内容。TLS是SSL的后续协议,它的工作方式与SSL基本相同,都使用加密技术来保护数据和信息的传输。TLS是一个互联网工程任务组(IETF)的标准协议,在两个通信的计算机应用程
     

在支持的站点中配置电子邮箱通知服务

作者 M.Talen
2024年2月23日 14:35

1 前言

电子邮箱通知是一种高效、免费的通知方式,在特定的条件下使用配置好的邮件通知服务向操作用户发送通知。

注意

本文涉及电子邮箱通知配置的部分平台可能为私有部署的站点或服务,请注意分辨,避免教程对应不上实际操作。

2 相关了解

2.1 简单邮件传输协议(SMTP)

SMTP,即简单邮件传输协议,是专门用于发送电子邮件的协议。当一封电子邮件发送后,本地的邮件客户端会使用SMTP将邮件从本地设备传送到邮件服务器,随后邮件服务器再使用SMTP将邮件传送到收件人的邮件服务器上

另外,常见的邮件协议还有邮局协议(POP)和Internet邮件访问协议(IMAP),都是用于电子邮件的接收,区别在于POP是将邮件下载到本地查看,而IMAP是连接到邮件服务器操作

image-20240204233153143

2.2 TLS加密

安全传输层(TLS)是一种加密协议,TLS为一个安全电子邮件服务器“传输”到另一个安全电子邮件服务器的信息提供端到端的加密技术,有助于保护用户隐私并防止窃听或更改内容。TLS是SSL的后续协议,它的工作方式与SSL基本相同,都使用加密技术来保护数据和信息的传输。TLS是一个互联网工程任务组(IETF)的标准协议,在两个通信的计算机应用程序之间提供身份验证、隐私和数据完整性。为了实现邮件内容的最佳安全性和隐私性,在所有处理电子邮件通信的服务器(包括内部服务器和外部服务器之间的跳点服务)之间都需要使用TLS。

3 信息获取

使用电子邮箱通知服务需要使用SMTP,各个邮箱对应的服务器和端口可参考下表

邮箱 SMTP服务器 端口 密码
非加密 SSL加密
QQ邮箱 smtp.qq.com 25 465/587 授权码
网易163邮箱 smtp.163.com 25 465/994 授权码
阿里邮箱 smtp.aliyun.com 25 465 邮箱密码
Outlook smtp.office365.com - 587 邮箱密码
Gmail smtp.gmail.com - 465/587 邮箱密码
移动139邮箱 smtp.10086.cn 25 465 授权码
电信189邮箱 smtp.189.cn 25 465/587 授权码
新浪邮箱 smtp.sina.com 25 465/587 授权码
搜狐邮箱 smtp.sohu.com 25 - 授权码
TOM邮箱 smtp.tom.com 25 465 邮箱密码
网易Yeah邮箱 smtp.yeah.net 25 465/994 授权码
网易126邮箱 smtp.126.com 25 465/994 授权码

3.1 SMTP服务器&端口

服务器地址和端口可在上表查看或者百度搜索,也可在各邮箱的帮助文档里查找。端口建议选择SSL/TLS加密的端口,一般为465

  • QQ邮箱

image-20240205224816040

  • 网易163邮箱

image-20240205225040962

  • Outlook邮箱

image-20240205225339515

  • 阿里邮箱

image-20240205225400769

3.2 密码

密码分为普通密码和授权码(专用密码)两种,大多数邮箱都使用了更可靠便捷的授权码方式,而授权码一般需要在各邮箱设置中获取

  • QQ邮箱

image-20240205231406634

  • 网易163邮箱

image-20240205231512928

4 应用平台

很多平台和项目都可以配置邮箱通知,本节就以几个我使用较多的平台来演示

  • Twikoo:一个简洁安全免费的静态网站评论系统。可以通知管理员收到评论和通知普通用户收到评论回复等
  • Uptime Kuma:一款简单易用的网站监控工具。监控站点的连通性,如果站点不可用会通知管理员站点状态
  • 宝塔面板:安全高效的服务器运维软件。当触发设置的告警任务时会通过邮件的方式通知
  • Cloudreve:公私兼备的网盘系统。通知的邮件用于新用户激活和用户重置密码时的邮箱验证

4.1 Twikoo

在配置好Twikoo的站点中打开Twikoo管理面板

image-20240212142224289

配置管理>邮件通知中可找到邮箱通知服务的相关设置项

image-20240212151303865

下边举例几个重要的配置项,设置正确后就可以使用邮箱通知服务了,其它配置项可根据个人来自定义或保持默认,不会影响通知邮件的发送

  1. SENDER_EMAIL(邮箱地址)
    • 示例:talen2004@163.com
    • 备注:对于大多数邮箱服务商,SENDER_EMAIL 必须和 SMTP_USER 保持一致,否则无法发送邮件
  2. SMTP_SERVICE(邮箱服务商)
    • 示例:163
    • 备注:支持大部分邮箱服务商,如qq邮箱(QQ)、网易163邮箱(163)、谷歌邮箱(Gmail)等
  3. SMTP_HOST(SMTP 服务器地址)、SMTP_PORT(SMTP 端口)、SMTP_SECURE(SMTP 是否使用TLS)
    • 备注:如已配置 SMTP_SERVICE,这几项都留空
  4. SMTP_USER(邮箱用户名)
    • 示例:talen2004@163.com
    • 备注:发信人的用户名,保持和 SENDER_EMAIL 一致
  5. SMTP_PASS(邮箱密码)
    • 示例:password
    • 备注:部分邮箱为邮箱密码,部分邮箱为授权码,授权码的获取方式可查看前面的教程

4.2 Uptime Kuma

访问搭建好的 Uptime Kuma 站点中,在设置页的通知标签内或者在某一监控项的编辑里配置通知服务

image-20240214183906467

通知类型选择电子邮箱(SMTP)

image-20240214184035994

下边举例几个重要的配置项,设置正确后就可以使用邮箱通知服务了,其它配置项可根据个人来自定义或保持默认,不会影响通知邮件的发送

  1. 主机名(SMTP 服务器地址)
    • 示例:smtp.163.com
    • 备注:不同邮箱服务商的服务器地址不同,具体可查看前面的教程
  2. 端口(SMTP 端口)
    • 示例:465
    • 备注:不同邮箱服务商的端口不同,大部分邮箱开启加密后的端口为465,具体可查看前面的教程
  3. 安全性(SMTP 是否使用TLS)
    • 示例:TLS(常用端口 465)
    • 备注:根据需要选择无加密或TLS,要注意某些邮箱可能没有TLS或必须使用TLS
  4. 用户名
    • 示例:talen2004@163.com
    • 备注:发信人的用户名
  5. 密码
    • 示例:password
    • 备注:部分邮箱为邮箱密码,部分邮箱为授权码,授权码的获取方式可查看前面的教程
  6. 发信人、收信人
    • 示例:M.Talen<talen2004@163.com>talen2004@163.com
    • 备注:发信人和收信人可一致,发信人的昵称<>可不加,收信人为接收通知的邮箱

4.3 宝塔面板

打开服务器安装好的宝塔面板,在面板设置>告警通知>告警设置中可找到邮箱告警模块

image-20240217180114919

首先点击编辑来配置发送者信息

image-20240217180616514

下边举例发送者各配置项的详细设置,设置完成后要注意配置收件者邮箱,收件者邮箱为接收通知的邮箱,可与发送人邮箱相同

  1. 发送人邮箱(邮箱用户名)
    • 示例:talen2004@163.com
    • 备注:发信人的邮箱用户名
  2. SMTP密码(邮箱密码)
    • 示例:password
    • 备注:部分邮箱为邮箱密码,部分邮箱为授权码,授权码的获取方式可查看前面的教程
  3. SMTP服务器(SMTP 服务器地址)
    • 示例:smtp.163.com
    • 备注:不同邮箱服务商的服务器地址不同,具体可查看前面的教程
  4. 端口(SMTP 端口)
    • 示例:465
    • 备注:不同邮箱服务商的端口不同,大部分邮箱开启加密后的端口为465,具体可查看前面的教程

4.4 Cloudreve

访问搭建好的 Cloudreve 站点中,在管理面板>参数设置>邮件中配置通知服务

image-20240218104118242

下边举例几个重要的配置项,设置正确后就可以使用邮箱通知服务了,其它配置项可根据个人来自定义或保持默认,不会影响通知邮件的发送

  1. SMTP 服务器(SMTP 服务器地址)
    • 示例:smtp.163.com
    • 备注:不同邮箱服务商的服务器地址不同,具体可查看前面的教程
  2. SMTP 端口
    • 示例:465
    • 备注:不同邮箱服务商的端口不同,大部分邮箱开启加密后的端口为465,具体可查看前面的教程
  3. SMTP 用户名(邮箱用户名)
    • 示例:talen2004@163.com
    • 备注:发信人的邮箱用户名
  4. SMTP密码(邮箱密码)
    • 示例:password
    • 备注:部分邮箱为邮箱密码,部分邮箱为授权码,授权码的获取方式可查看前面的教程

5 拓展教程

配置好邮箱通知服务之后,剩下最希望的就是及时接收到邮件,网页版邮箱对这一点是很难做到的,所以要选择并配置好一个靠谱的邮箱客户端

5.1 Outlook(PC)

打开Outlook(此处演示使用新版Outlook,一般Windows系统电脑中会自带,如果没有可在官网下载),点击设置在电子邮件账户中找到添加账户

image-20240223012635497

输入要登录的电子邮箱地址

image-20240223130517072

填入邮箱密码,部分邮箱(如网易163邮箱)需要填写授权码

image-20240223130929843

最后点击继续,等待一会就跳出成功弹窗

image-20240223131354283

5.2 网易邮箱大师(PC)

首先前往官网下载网易邮箱大师

image-20240223132009596

按照指引安装并打开网易邮箱大师,然后点击添加邮箱

image-20240223132432189

如果是网易邮箱(如163、126等),则仅需要填写邮箱账号密码即可,如果是非网易邮箱,需要根据提示填写邮箱密码或授权码或验证等,如果使用过大师账号,那么登录即可同步在别处配置好的邮箱

image-20240223133934192

5.3 电子邮件(PE)

很多手机品牌都自带电子邮件软件,这里以小米为例,打开软件并添加邮箱,会提供很多快捷的添加邮箱服务,也可以选择其他邮箱来自定义添加邮箱

image-20240223142819295

5.4 其他邮箱(PE)

移动端还有很多邮箱客户端软件,如网易邮箱大师(手机版)QQ邮箱等,设置配置的方法都大同小异,部分客户端(如网易邮箱大师等)还可以同步其他平台配置好的邮箱

6 写在最后

微信、钉钉等即时通信类软件的兴起,让邮箱的功能逐渐淡化,但在个人的博客、论坛等网页平台,想要低成本且能快速可靠使用的通讯工具还得是邮箱,本文就主要介绍邮箱通知服务所需配置信息的概念和获取方法以及一些比较典型的平台配置方法,最后拓展了几个邮箱客户端软件的配置办法,毕竟不能及时接收邮件,邮件通知就显得没有了意义。

❌
❌