通过阿里云、腾讯云无服务器搭建自定义的企业域名邮箱,实现在 QQ邮箱 收发等功能(附腾讯 SMTP 和 IMAP)
搭建一个域名邮的服务很简单,但需要服务器或其实并不想一直维护该服务,使用大厂提供的更省心~ 现在还在提供域名邮箱的大厂 基本都是收费服务,很少有提供免费的域名邮箱,作为国内厂牌的阿里和腾讯依然提供免费的企业域名邮的服务,算是国内的赛博菩萨了~ 注意下面的教程主要为申请 企业微信 关联的 企业域名邮箱 服务,一般用作方便收发,替代 qq、163 等邮箱类似功能,若只是单纯的需要 域名推送服务 类似的功能,可在如:https://dm.console.aliyun.com/ 中查看 相关免费服务如何选择具体看场景,比如你的 域名 或一些其他服务都在 腾讯云,那么选择 腾讯系的企业域名邮箱 是更方便的,一般同系可以做到无缝操作,比如在设置 DNS 记录等方面… 客户端方面基本都差不多,如果需要使用客户端的话(如...
解决使用代理(clash 等)进行 SSH 连接(如 Github ssh key clone/push)出现 kex_exchange_identification 错误
当进行 SSH 连接时抛出 kex_exchange_identification: Connection closed by remote host,如果你使用了代理工具,那基本上为代理的问题。 可能出现该错误的原因:网络中断、不稳定等,端口连接失败(本地或代理的防火墙) 最小复现:选择一个无法连接的节点,或在连接途中切换网络环境(或节点) 方案 不使用代理。如果是和 Github 进行交互可以选择 Https 方式进行。 git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git 在 "Https" 端口上使用 SSH 通过 443 端口连接 SSH 前提:SSH 服务需要支持该端口,如...
利用 Github Actions 和 Acme 自动申请、更新和部署至阿里云、腾讯云 CDN Lets Encrypt SSl\TLS ECC RSA 双证书
早在去年年底和今年年初,各大证书厂商都陆续限制了免费 SSL 证书的有效期,从 12 个月缩短至 3 个月。时间将至,来看本文的兄弟们证书是否快要过期了?哈哈~ ACME: Automatic Certificate Management Environment(自动证书管理环境),是一种用于自动化管理和获取 SSL\TLS 证书的协议。 ACME 提供了一种标准化的方式,使能够自动请求、验证和获取证书,无需人工干预。完成标准化的获取证书流程需要 ACME 客户端与 ACME 服务端进行通信,常见的 ACME 的客户端有:acme.sh、certbot 等 本文将使用 ACME 协议的 acme.sh 客户端脚本和支持 ACME 服务端的 CA Let’s Encrypt...
pnpm monorepo 中管理依赖的最佳实践,与 Catalogs(目录)协议的使用(monorepo 中统一版本管理)
monorepo 中如何管理依赖?monorepo 的优势在 repo 之间的共享复用、规范统一管理等方面,而随着项目的规模增长,repo 的依赖处理逻辑也会随着迭代而复杂。 那 monorepo 中如何管理依赖呢?是将 repo 中的共同依赖安装至根目录的 package.json 中?还是将依赖安装至各 repo 的 package.json 中? 在需要的 repo 中安装依赖对于大部分 monorepo 项目来说,直接在需要依赖项的 repo 中的 package.json 显示声明,无论是外部依赖还是内部的 repo 之间的依赖,即便 repo 之间的依赖是相同的。 在多个 repo 中安装相同依赖,可以使用以下命令: npmyarnpnpmnpm install jest...
Web 安全中的 Secure Contexts(安全上下文)- 解决在本地中使用 clipboard 或 Crypto 等 API 限制或关闭上下文限制
Secure Context - 安全上下文在 window 或 worker 中使用一些涉及 用户隐私、一些数据访问或计算机的低级访问权限等相关 API 时,为了防止 中间人攻击者 访问这些接口,从而限制需要在 安全上下文 中使用 上下文在什么情况下是安全的? 本地资源:http://127.0.0.1、http://localhost、http://*.localhost 或 file:// 协议的资源是安全的 非本地资源:通过 TLS 传输的,例如 https:// 或 wss:// 协议的资源是安全的 使用 window 和 worker 属性来判断当前是否在安全上下文中可以通过 Window.isSecureContext 或 WorkerGlobalScope.isSecureContext...
使用 serve 配合 openssl 或 mkcert 创建本地自签名可信任的证书 - 创建本地 TLS\SSL https 协议服务
serveserve 可以快速启动一个静态网站或 SPA 应用,或只是静态文件服务,可在本地或局域网内使用 使用安装 pnpm install -g serve 启动服务,默认端口 3000 # 当前目录启动静态文件服务 serve # 指定目录启动 serve ./public # 指定端口 serve -p 8080 启动 SPA 应用服务,例如 React 或 Vue 中的 history 模式 # 在当前目录 build 文件启动服务 serve -s build serve -s dist 启动 SSL\TLS 服务 --ssl-cert:证书路径 --ssl-key:证书密钥路径 serve --ssl-cert cert.pem --ssl-key key.pem #...
【CSS】解决在 flex 容器中使用 align-content 或 justify-content 属性 center 居中时的溢出滚动和截断问题 - 理解 safe 关键字
场景在布局时,我们经常使用 flex 来实现居中效果。例如下图场景,可能是平时比较常见的,列表中的子元素居中效果。 <style> .flex-wrap { display: flex; align-items: center; justify-content: center; width: 300px; height: 150px; & > div { width: 100px; height: 80px; } } </style> <div class="flex-wrap"> <div>1</div> ...
【React Router】v6 data router 在非组件(或工具方法)中如何优雅的跳转路由
上集回顾如果你还在 v5 ?那么恭喜你:【React Router v5】在非组件(或工具方法)中如何优雅的跳转路由 在 data router 中如何优雅的跳转路由?因为 router 对象返回了 navigate 方法,所以可以直接调用 // history.js export const routes: ReturnType<typeof createBrowserRouter> = createBrowserRouter([ { path: '/', element: <Home />, }, { path: '/login', element: <div>login</div>, ...
【React】为什么路由跳转时页面滚动高度不会被重置(保留上个页面高度)?理解 history scrollRestoration 的场景与使用,以及如何使用 React Router 重置和跳转前保留滚动高度
平时开发过程中,使用 react router 等单页应用跳转路由时,会发现当前页面在拥有滚动高度时,跳转的下个页面同样会保留上个页面的滚动高度(保留最小滚动高度),或者刷新、前进后退时仍会保留上次的滚动高度。 在某些场景下,我们需要重置滚动高度,比如列表页进入详情页,相反的情况下又需要保留高度。需要确定浏览器对于滚动的处理,可以先看下,其在原生中的滚动场景表现。 哪些场景浏览器会恢复滚动高度?哪些场景会重置高度?下面内容皆为 Chrome 浏览器对于滚动高度的处理测试,请注意时效性和不同设备及浏览器之间的差距。 前置场景与条件html 中能触发滚动的长列表页和详情页(文档滚动),使用 window.location.href 和 history.back() 或 history.go()...
【React】在本地 Html 中快速 debug(调试)React 源码
本地构建 React 环境复制需要 debug 的 React development.js 源码至本地,替换引用即可。 reactstart-a-new-react-project <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Hello World</title> <script src="https://unpkg.com/react@18/umd/react.development.js"></script> <script...