python虚拟环境设置

设置虚拟环境(Virtual Environment)是 Python 开发的“基操”,你记忆中带 env 的那个内置工具叫 venv

在项目目录下搞个隔离环境,能有效避免不同项目之间的库版本冲突(比如这个项目要 pandas 1.0,那个要 pandas 2.0)。

以下是快速设置的 3 步走方案:


1. 创建虚拟环境

打开终端(Terminal / CMD),进入你的项目文件夹,运行:

Bash

# 'venv' 是工具名,第二个 'venv' 是你给环境起的文件夹名(通常都叫 venv 或 .venv)
python -m venv venv

运行完后,你会发现文件夹里多了一个叫 venv 的目录。


2. 激活虚拟环境 (最重要的步骤)

创建完后,你必须“进入”这个环境,命令根据操作系统有所不同:

操作系统激活命令 (在项目根目录运行)
Windows (CMD)venv\Scripts\activate
Windows (PowerShell).\venv\Scripts\Activate.ps1
macOS / Linuxsource venv/bin/activate

激活成功的标志: 你的命令行提示符前面会出现 (venv) 的字样。


3. 安装库并开始运行

激活后,你进行的任何 pip install 都只会装在这个小房间里,不会污染系统全局环境。

Bash

# 比如安装我们刚才脚本需要的 pandas
pip install pandas

# 运行你的脚本
python wise_calc.py -f my_data.csv

🛠️ 常用进阶操作

  • 退出环境: 直接输入 deactivate 即可回到全局环境。

    [Read More]

Mac mini搭建本地大模型(chatgpt)

如果用mac mini来部署本地跑模型,需要做些准备

这个问题问得很到位 👍
我按**“现实可行 + 不踩坑”**的思路,给你一份 Mac mini 本地跑模型的准备清单。不玩概念,只讲能不能跑、跑得怎么样。

先给一句结论:
Mac mini 非常适合“安静、稳定、本地 AI 助手”,但前提是 型号和内存选对


一、先选对 Mac mini(这是最关键的一步)

✅ 强烈推荐

Apple Silicon(M 系列)

芯片是否推荐说明
M2 / M2 Pro⭐⭐⭐⭐性价比高,够用
M1 / M1 Pro⭐⭐⭐⭐二手也很香
M3 / M3 Pro⭐⭐⭐⭐⭐最佳(预算允许)

❌ 不推荐

  • Intel Mac mini

    • 跑 LLM 很慢

    • 功耗高

    • 没有 Metal GPU 优势

👉 一句话

M 系列 + 大内存 = 本地模型体验好坏的分水岭


二、内存怎么选(比 CPU 更重要)

这是很多人会选错的地方。

[Read More]

安装outline排障

这个错误提示非常明确:Docker 无法连接到 Docker Hub 镜像仓库i/o timeout)。

简单来说,你的服务器在尝试下载 watchtower(用于自动更新 Outline 的组件)时,网络请求超时了。这通常是因为服务器所在的环境存在网络限制(GFW 拦截)或 DNS 解析问题。

你可以尝试以下几种解决方案:

1. 设置 Docker 国内镜像加速器

如果你使用的是中国大陆境内的服务器,直接访问 Docker Hub 经常会超时。你可以配置国内的镜像源来绕过这个问题。

编辑 Docker 配置文件(如果文件不存在则创建一个):

Bash

sudo nano /etc/docker/daemon.json

将以下内容粘贴进去(这里以几个常用的镜像源为例):

JSON

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud",
    "https://noohub.net"
  ]
}

保存退出后,重启 Docker 服务:

Bash

sudo systemctl daemon-reload
sudo systemctl restart docker

重启后,重新运行 Outline 的安装脚本。


2. 手动拉取镜像(测试连接)

在再次运行安装脚本前,你可以手动测试 Docker 能否拉取镜像:

Bash

docker pull containrrr/watchtower:latest

如果这一步依然报错 Timeout,说明镜像源失效或网络依然不通。


3. 检查 DNS 设置

有时是因为服务器无法正确解析 registry-1.docker.io 的 IP 地址。你可以尝试修改 DNS 配置文件:

[Read More]

老笔记本实现语音识别功能

订阅的老时课程一直是在小程序里听音频,有时候会想看看文字稿,以前也想在自己笔记本上部署个语音识别产品,当时搜了下,可能也就讯飞、百度什么的有些可以免费使用的产品,开源的解决方案好像没有。

今天突然又想到这个念头,就在chatgpt和gemini上问了下,找到他们共同推荐的开源方案:OpenAI’s Whisper,结果竟然很轻松地就在我的老笔记本(LenovoTninkPad X1 Carbon)上跑起来了。

图片描述

感叹一句,科技发展的速度真是快呀!


提问(chatgpt/gemini): “语音识别,中文,逐字稿,有能在mac10.15.7上运行的开源方案吗?16G内存 ”

chatgpt:

可以的,而且在 macOS 10.15.7(Catalina)+ 16GB 内存 这个条件下是完全可行的
我直接给你 “能跑 + 不折腾 + 实际可用” 的开源方案结论。


✅ 结论先行(给你选)

macOS 10.15.7 上,最稳妥、成功率最高的是:

🥇 OpenAI Whisper(CPU 版)
🥈 Whisper.cpp(强烈推荐,最省资源)

不推荐:WhisperX / NeMo(对系统和依赖要求过高)


🥇 方案一:OpenAI Whisper(Python 版,经典方案)

✅ 兼容 Catalina

✅ 16GB 内存完全够

✅ 中文效果好

⚠️ 速度一般(CPU)


一、环境要求(你都满足)

  • macOS 10.15.7

  • Python 3.8 / 3.9(不要 3.11)

  • 无需 GPU

  • 16GB RAM ✅


二、安装步骤(一步一步,不踩雷)

1️⃣ 安装 Python(如果没有)

👉 推荐 3.9

[Read More]

firefox extensions的比较取舍:ublock origin/adblock plus/adblock/adguard/ghostery

这是一个很好的问题 —不同广告拦截/内容屏蔽扩展在功能、性能、隐私哲学,以及易用性上差异很大。下面是对 uBlock Origin、Adblock Plus、AdBlock、AdGuard、Ghostery 这几个在 Firefox 上常用扩展的比较 +取舍建议。


各扩展优缺点比较

1. uBlock Origin

优点:

  • 开源(GPL),社区信任高。 (维基百科)

  • 非常高效、资源开销低。许多人认为它是“轻量级但功能强大”的过滤器。 (维基百科)

  • 支持多种过滤列表 (EasyList, EasyPrivacy 等),也支持自定义规则、动态 (动态过滤) 等高级功能。 (维基百科)

  • 隐私保护强:不仅屏蔽广告,还可以屏蔽跟踪脚本、恶意域等。

缺点 /注意事项:

  • 对于不愿意配置过滤规则或深入调优的普通用户可能“过强”,界面比较技术向。

  • 对于某些复杂广告/跟踪机制,如果只用默认规则,可能覆盖不完全(但通常已经非常足够)。


2. Adblock Plus (ABP)

优点:

  • 历史悠久、用户基础大。

  • 界面相对简单,用户友好。

  • 支持“可接受广告”(Acceptable Ads)计划,让某些“不侵入”的广告默认不过滤(用户可以选择关闭)。 (Ghostery)

  • 可以选择加载多个过滤列表,包括隐私类 (EasyPrivacy) 列表。

缺点 /风险:

MacOS容器运行Linux举例

1️⃣ 安装 Docker(如果还没安装)

在 macOS 10.15 上下载 Docker Desktop for Mac:https://docs.docker.com/desktop/mac/install/

安装后验证:

docker --version

2️⃣ 拉一个 Ubuntu 镜像

docker pull ubuntu:22.04

3️⃣ 创建 Docker 容器并进入

docker run -it --name test-build ubuntu:22.04 /bin/bash

4️⃣ 更新系统

在容器里运行:

apt-get update
apt-get upgrade

✅ 这样,你在 macOS 10.15 上也能使用Linux了。


xray+reality配置指南

先说结论:采用了最小化配置,无伪装,无证书申请。

经过几个星期的折腾(人笨只能用时间堆,哈哈,还好时间大把),搭建好带伪装页面的,但实际操作中,你直接访问伪装页面的域名都会报错,这个就比较坑了,本来是说其他流量会被跳转到个看起来正常的伪装页面,增强隐蔽性,结果你老人家直接报出一堆证书相关的错。这也不能怪人家大厂,谁叫这流量路径就是不正常的呢,当然要好心提醒你一下。所以这个大特征在这一亮,我就乖乖投降了。(有心力多学习一点的,可以按我的学习历程也把坑都踩一下)

具体操作流程如下:

  • 申请一个云主机,Linux系统, 我选的Debian,用惯了。
  • 装上安全软件,ufw和fail2ban。
sudo apt-get install ufw fail2ban
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow ssh
sudo ufw allow 443/tcp
sudo ufw enable
  • 安装xray,考虑安全,最好创建一个用户运行下面命令:

Basic Usage

源码地址

Install & Upgrade Xray-core and geodata with User=nobody, but will NOT overwrite User in existing service files

bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install

重点/易错:如前面提到,“不要手动复制随机二进制” ——使用官方安装脚本可保证自动更新。

  • 生成 Reality 密钥与用户 UUID:
xray uuid
xray x25519
  • 记录下输出的 UUID, Private key, Public key.
    重点/易错:务必保存 Private key(在服务端配置)和 Public key(客户端使用)。遗失或弄错会导致连接失败。
  • 生成ShortID:
openssl rand -hex 8
  • 配置 Xray 入站(单用户模式)示例/usr/local/etc/xray/config.json
    {
      "log": {
        "access": "/var/log/xray/access.log",
        "error": "/var/log/xray/error.log",
        "loglevel": "warning"
      },
      "dns": {
	    "servers": [
	      "https+local://1.1.1.1/dns-query", // First 1.1.1.1 DoH
	      "localhost"
	    ]
	  }, 
	  "inbounds": [
        {
          "listen": "0.0.0.0",
          "port": 443,
          "protocol": "vless",
          "settings": {
            "clients": [
              {
                "id": "YOUR-UUID",
                "flow": "xtls-rprx-vision",
                "level": 0
              }
            ],
            "decryption": "none"
          },
          "streamSettings": {
            "network": "tcp",
            "security": "reality",
            "realitySettings": {
              "show": false,
              "dest": "www.example.com:443",
              "xver": 0,
              "serverNames": ["www.example.com"],
              "privateKey": "YOUR-PRIVATE-KEY",
              "shortIds": ["0123456789abcdef"],
              "fingerprint": "chrome",
              "spiderX": "/"
          },
          "sniffing": {
	        "enabled": true,
	        "destOverride": ["http", "tls"]
	      } 
	    }
      ],
      "outbounds": [
        {
          "protocol": "freedom",
          "tag": "direct"
        }
      ]
    }
  • 下载相应客户端

推荐第一名Happ - Proxy Utility | Happ

[Read More]

Hiddify配置要点(已弃坑)

提问:settings里面domains选哪个,direct/reality/fake site

gpt回答:

非常好,这两个问题实际上是相互关联的 💡
因为你要的是:

✅ Hiddify 使用 Reality 核心(xray+Reality)
✅ 同时让普通浏览器访问域名时显示 本地伪装网页

我来一次性帮你解决:

🧩 一、面板里的正确选项选择(Settings → Domains)

在 Hiddify 管理面板中(Admin Panel > Settings > Domains),你会看到三类域名类型:

类型含义用途选哪个
Direct明文传输,主要给自建反代、内网节点、探针等使用一般指纯 HTTP(S) 访问,不加密传输❌ 不选
Reality使用 Xray Reality 协议(即真正的代理流量)给客户端连接代理使用(VLESS + Reality)✅ 选这个用于节点主域名
Fake Site / Decoy Site伪装站点(Decoy 页面)提供浏览器访问时显示的网页(假网站)✅ 若启用伪装页面,选此项作为备用域名

🔹 实际配置中:

- Reality 域名:用于客户端连接代理

- Fake Site 域名(Decoy Site):浏览器访问显示网页

[Read More]

稳定观看BBC儿童动画片

✅ 非常好的问题——你抓住了关键点。
确实,如果你的首要目标是「长期稳定运行、不容易出问题」,而不是追求最新特性,那么——

💡 使用 Xray 核心(+ Reality 协议)会比 Sing-box 更稳、更省心。

下面是详细、实战导向的对比结论👇


⚖️ 一句话结论:

目标推荐
稳定、低维护、兼容性最强🟩 Xray + Reality
隐蔽性更强、抗封锁能力更高(但需频繁更新)🟦 Sing-box + Reality

🧠 二、稳定性角度的对比

项目Xray RealitySing-box Reality
协议成熟度Reality 最早由 Xray 实现,协议逻辑成熟稳定Sing-box 实现更先进,但更新频繁、偶有兼容问题
服务端运行稳定性长期稳定(运行数月几乎不崩)有时更新后配置不兼容,需重启或修改参数
客户端兼容性(Hiddify Next / v2rayN / NekoRay / Shadowrocket)✅ 兼容最强⚠️ 旧客户端可能不支持最新 Reality 参数
配置持久性版本升级后不会破坏配置某些版本更新后字段名称变化,可能导致启动失败
日志系统稳定简洁日志功能更强,但输出量大,易占磁盘
CPU / 内存占用稳定、低资源占用性能更高但波动大(Go runtime 调整频繁)
社区反馈大量“全年稳定运行”的报告有用户报告“更新后 Reality 不兼容”问题

🔒 三、安全与隐蔽性对比

项目Xray RealitySing-box Reality
TLS 拟真程度稍弱一点(ALPN 固定)更接近真实浏览器握手指纹
抗探测能力强(默认即可)更强(支持 Chrome 指纹 / uTLS)
安全审计长期开源项目,可信度高新项目,尚无第三方正式审计
潜在风险主要是过期版本被探测更新太快带来兼容与未知 bug 风险

🧭 四、对流媒体(BBC / Netflix)影响

项目Xray RealitySing-box Reality
BBC iPlayer✅ 可稳定播放,识别英区 IP✅ 可播放,但某些新实现 handshake 差异被检测几率略高
Netflix UK✅ 无问题✅ 同样可以,但部分 TLS 签名被 Netflix 标记为“非浏览器”
整体解锁率≈95% 稳定可用≈98% 但需手动调整伪装参数

🧩 五、维护与兼容性总结

维度推荐
长时间稳定运行(>半年不重装)Xray 内核
频繁更新、追求更隐蔽⚙️ Sing-box
多设备兼容(Hiddify Next / Windows / iOS)Xray
易维护 / 少出错Xray

✅ 实用建议(如果你希望“稳 + 能流媒体”)

方案推荐:Hiddify(Xray 内核 + Reality 协议)

[Read More]

mac命令行 txt文件加密 aes128

macOS 命令行 下,你可以直接使用系统自带的 openssl 来对 TXT 文件进行 AES-128 加密。下面给你一个完整的操作步骤:


🔐 加密

openssl enc -aes-128-cbc -salt -in input.txt -out output.txt.enc

说明:

  • enc → 调用 openssl 的加密功能

  • -aes-128-cbc → 使用 AES128 的 CBC 模式(更常用,也比 ECB 安全)

  • -salt → 增加随机盐,提升安全性

  • -in input.txt → 你要加密的源文件

  • -out output.txt.enc → 生成的加密文件

执行时系统会提示输入密码(加密密钥)。


🔓 解密

openssl enc -d -aes-128-cbc -in output.txt.enc -out decrypted.txt

说明:

  • -d → 表示解密

  • 其余参数和加密时一致

  • 输入的密码必须和加密时相同


进阶(指定密码而不提示交互)

如果你希望脚本化,避免每次输入密码,可以这样写(⚠️ 注意安全风险,命令行会记录历史):

openssl enc -aes-128-cbc -salt -in input.txt -out output.txt.enc -pass pass:"你的密码"

windows如何解密

Windows 上解密你在 macOS 上用 openssl enc -aes-128-cbc 加密的文件也很简单,你只需要安装 OpenSSL(或者使用 Windows 自带的 WSL/PowerShell 也行)。

[Read More]