给传统 NAS 玩家介绍一下懒猫微服
玩过不少 NAS,从最早的黑群晖,威联通开始,后面陆陆续续接触了飞牛,绿联,极空间,UNRAID,EXSI,Proxmox VE,也算有点话语权。 首先最直观的区别是软件客户端,像群晖,威联通的电脑版客户端是用来发现机器的 IP 地址的,然后后续所有的操作都在浏览器完成,比如新建用户,登录,审计,访问数据,查看监控。 而懒猫微服的所有操作几乎都在客户端完成,网页端更像是一个应用的 Dashboard。然后访问的时候使用域名,配合厂家的穿透服务,无论你是互联网访问还是局域网访问机器,用这一个地址就够了,不再需要在路由器上做端口转发,也基本可以告别自己搭建内网穿透的痛苦了。 还有一个非常主要的是社群,懒猫微服既有官方的大群交流技术,也有 VIP 的小群私人定制。大群里有各式各样的玩家,除了懒猫微服之外大家还会交流各种 Github 的开源项目,Linux 技巧以及电脑外设心得, 然后每天大家都贡献攻略。因为公司 base 在武汉嘛,当然也会有接地气的武汉风情。 VIP 小群会针对个性化的需要做一对一的指导,比如曾经帮我排查了家庭宽带 DNS 污染,UPS 信号干扰,甚至 Op...
懒猫微服开发篇(四):懒猫微服如何使用 OpenID Connect (OIDC)?(上)
OpenID Connect(OIDC)是一个基于 OAuth 2.0 的身份认证协议,允许用户使用一个账号(如 Google、微信、Microsoft 账号)登录多个不同的网站或应用,而无需重复注册。我们经常把他和OAuth 2.0 混为一谈。 它主要用于 身份认证(Authentication),而 OAuth 2.0 主要用于 授权(Authorization)。简单来说: OAuth 2.0 → 让应用能访问你的数据(如获取微信头像),还要自己做用户管理。 OIDC → 让应用能确认“你是谁”(如用微信账号登录) 下面以我的懒猫 ENV 查看器为例,来讲解这个登录流程。 当你在应用处点击登录就会重定向到登录中心,我们通常管这个叫做身份提供商(IDP),如果是其他的软件有可能是 “使用 Google 登录” 或 “微信登录” 。 跳转到认证中心,一般都会提示你是否确认登录,某某应用将要获取登录的权限,查看你的信息。在懒猫微服里这直接点击 Grant Access 即可。在其他的 IDP 中,会让你输入账号密码登录,并同意授权该网站访问你的基本信息(如邮箱、昵称)。...
京东售后拒修 AirPods 称"无问题",苹果官方检测后直接换新!京东竟删除检测记录?
去年在京东买的 Airpod Pro2 售后记录,以前都是在官网买的,还是图省事了。结果闹了个哭笑不得。 故障问题是,只有一边的耳机有声音,于是京东寄修,得到的答案是没问题,直接给我原反了。然后后台给我一个一张检测单(请记住这个,后面京东后台竟然把这个删了) 所谓京东的人给我打电话,是沈阳口音,然后听起来就是一点不懂技术的样子。说耳机是固件的 bug,然后直接把固件降级然后就好了。 然后我直接三连问: airpod 的固件是自动升级的,用户没办法干预,怎么保证下次自动升级不会再有问题? 有没有什么硬件问题?有时候合上盖子还有声音? 有时候一个耳机掉电快,另外一个基本满电能不能看一看? 口头说好找人看,然后耳机直接给寄回来了,没有任何后续。 京东 Apple 里的耳机检测图片,一看就很不专业,像是某种小店。一口一个有苹果官方的人员主场,一口一个不解决问题,怕不是外包 hhh 但是,寄回来的耳机仍然是一样的问题。再次申请售后是不予受理。理由是上一次检测没有问题,让我去 Apple 线下自行解决。从普通客服到专员,再到所谓的客服经理无一不如此。真是,体验简直太差。那就让我去...
懒猫微服开发篇(三):如何将已有 Docker Compose 应用移植到懒猫微服
本文延续前两篇,演示如何把一个已经在本地运行良好的 Docker Compose 应用打包并上架到懒猫微服应用商店。以 Milvus 为例,逐步拆解 Manifest 配置、路由映射、数据卷绑定以及镜像加速等关键环节,帮助大家快速完成移植。 1. 目录结构与核心文件在懒猫微服中,一个最小可用的应用包仅需两个文件: 文件 作用 lzc-build.yml 描述打包流程及应用图标。简单应用只需指定 icon 即可。 lzc-manifest.yml 定义应用元数据与服务编排,是移植的重点。 本文主要关注 lzc-manifest.yml 的编写。 2. lzc-manifest.yml 字段逐一解析现在有了懒猫应用查看器很方便,我们以商店里的 Milvus 的示例 Manifest 为例,并附带注释说明。 这个 lzc-mainfest.yml 解析是重点。主要是 subdomain,ingress,services 这几个字段。总体上还是延续了 Docker compose 的风格。 1234567891011121314151617181920212...
Mac 上 Fn + F12 怎么改成 F12?(适用于 macOS 13 Ventura)
很多刚换到 Mac 的用户会遇到一个小困扰:在键盘上直接按 F12 默认是调节音量,而不是我们常用的 F12 功能键(比如在浏览器里打开开发者工具)。这时候,就得按 Fn + F12 才能触发真正的 F12。 其实在 macOS 13 Ventura 系统中,我们可以很轻松地把键位逻辑切换过来,让 F12 默认就是 F12,而音量调节则通过 Fn + F12 来实现。下面是详细操作步骤。 设置步骤 打开 **系统设置 (System Settings)**。(屏幕左上角点苹果图标 → 系统设置) 在左侧列表里找到并点击 **键盘 (Keyboard)**。 在右侧找到 键盘快捷键… (Keyboard Shortcuts…) 按钮,点击进入。 在弹出的窗口中,往下拉到最下面,找到 **功能键 (Function Keys)**。 打开 “将 F1、F2 等键用作标准功能键” (Use F1, F2, etc. keys as standard function keys)开关。 设置后的效果 直接按 F12 → 触发 F12 功能键(开发者工具、应用快捷键等)。...
高版本的MacOS如何降级?
很早问过 Apple 客服 MacOS 的降级机制,半天也没说明白。但是 M 芯片的 Macbook 经常崩溃,如果说 windows 的蓝屏时,那我这个 MacBook 就能崩溃出彩虹色。 寻找过 Apple 支持,答案就是升级系统。Apple 的行政关系团队给我找了一个非常不靠谱的人,一问三不知,问她什么就是再转问工程团队,然后所有的事情都推第三方软件。然后行政关系团队陈某说对技术不做评价,然后一再坚持他们的人都是专业培训上岗的,然后坚持不换人,坚持不解决电脑问题来给客户扣不配合的帽子。 然后一直拖到过保。以前 iphone 接不到电话是这样,现在 Macbook 还是这样。 言归正传。Mac 刷机一般几种办法。 U 盘刷机,这个是传统了,玩过 PE 的都懂。 系统内格式化:就跟手机差不多的那种。个人感觉不彻底。 DFU 刷机:需要你有另外一个 MacOS 的电脑。类似于安卓线刷。 MacOS 降级我采用的是 U 盘装机。参考这个帖子 https://support.apple.com/zh-cn/101578 从 Apple Store 下载 OS,然后把 U 盘的...
懒猫微服实战入门(十八):用 planka 做项目管理
工作里用 Jira 管理项目进度。家里也是想找个类似的软件来管理一些长期的事情,如果能带一多人合作的功能就更好了。在网上找了很久也没有太好用的,直到在懒猫微服中找到 planka,在对比了几个同类型的软件之后,决定使用这个软件来管理自己的一些事情。 其他的软件体验不佳的点主要是: 付费:还都是订阅制,没有找到终身制的软件 界面太丑,操作太复杂 Saas 免费版本延迟太高 移动端访问体验不佳 Planka 算是解决了大部分的问题: 虽然这个页面不是很现代化风格,但是也不丑,页面响应速度很快。而其他软件大多臃肿体验不佳,要么就是延迟的很高耽误体验。 简介的 UI 和快速的响应很好的诠释了 less is more 的原则。 进入主页之后可以新建多个项目,算是一个隔离吧,虽然我目前也只是用到了一个。 每一个 Project 都能开好几个 board,这样就把不同类别的事情跟区分开了。 然后每个 board 上标注 Todo,Doing,Pending,Done,Deprecated 来确认事情的进度。有点白版卡片的那个味道了,不用自己像线下那种写贴纸来回移动,也不用再花费软件...
懒猫微服开发篇(二):远程调试之 Devshell
我们上一篇讲述了如何打包上架 APP,这期我们就来看如何远程调试即将上架的 APP。 简单来讲,这个 devshell 其实就是在微服上打开了一个虚拟机环境,然后我们可以进去里面测试我们的命令。非要说技术实现,那就是 docker exec 了。只不过是做成了本地和微服之间同步的样子。 输入微服的名字/v2/_catalog,可以看到微服里面 Docker 仓库存放的镜像,debug.bridge 开头的就是 devshell 的 image。 1234567{ "repositories": [ "debug.bridge/231ee20d4e4d8edbd2004e7609fd9c15", "debug.bridge/ddc6dbf609125b7bd2c0efb0ed4254d1", "helloworld" ]} 在 lzc-build.yml 里定义了 devshell 的配置,这个的意思是就是安装 node 和 python ...
懒猫微服开发篇(五):懒猫微服如何使用 OpenID Connect (OIDC)?(下)
先决条件: 需要在lzc-manifest.yml定义 oidc_redirect_path 和 environment。 配置lzc-manifest.ymloidc_redirect_path 就是你的应用的回调地址,只有写了这个之后才能正确使用 OpenID Connect 的环境变量。 回调地址是按照应用而定的,有的是/callback,/oidc/callback 或者/oauth/callback。 1234567891011121314151617181920lzc-sdk-version: 0.1name: 懒猫ENV查看器package: xu.deploy.envversion: 0.0.2description:license: https://choosealicense.com/licenses/mit/homepage:author: xuapplication: subdomain: env oidc_redirect_path: /callback routes: - /=exec:...
懒猫微服开发篇(六):用 Openresty 做反向代理来解决跨域问题
对于 Web 开发而言, 经常会遇到跨域问题。我们先来看一下什么是跨域问题: 跨域问题(Cross-Origin)本质上是浏览器的同源策略(Same-Origin Policy, SOP)在发挥作用: 同源指“协议 + 域名(或 IP)+ 端口”三要素完全一致。只要三者有任何一个不同,就被视为跨域。 为什么浏览器要限制跨域? 安全:阻止一个站点随意读取或修改另一个站点的敏感资源(如 Cookie、LocalStorage、DOM),避免 XSS、CSRF 等攻击链被无限放大。 隔离:让不同网站在沙盒里各自运行,互不干扰。 同源策略只在浏览器环境生效;后端服务之间(如服务器 A 请求服务器 B)并没有 SOP 的限制。 场景 描述 是否受限 fetch('https://api.foo.com') 从 https://www.bar.com 发出 协议、域名不同 受限 http://example.com:3000 调用 http://example.com:4000 端口不同 受限 ⚠️ 用 Nginx/OpenRe...
