作者: 启鑫

  • Debian12安装Umami 网站分析工具

    Umami是一款轻量级、开源的 网站分析工具,可用于 隐私友好型 统计,不依赖于 Google Analytics,支持 自托管,且对 GDPR / CCPA 友好

    1. 安装 Docker 和 Docker Compose

    在服务器上运行以下命令安装 Docker:

    curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh

    2. 配置 Umami

    在 服务器上创建目录 umami 并进入该目录:

    mkdir -p ./umami && cd ./umami

    创建 docker-compose.yml 文件:

    nano docker-compose.yml

    文件内容

    services:
      umami:
        image: ghcr.io/umami-software/umami:postgresql-latest
        ports:
          - "3002:3000"
        environment:
          DATABASE_URL: postgresql://umami:umami@db:5432/umami
          DATABASE_TYPE: postgresql
          APP_SECRET: replace-me-with-a-random-string
        depends_on:
          db:
            condition: service_healthy
        init: true
        restart: always
        healthcheck:
          test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
          interval: 5s
          timeout: 5s
          retries: 5
      db:
        image: postgres:15-alpine
        environment:
          POSTGRES_DB: umami
          POSTGRES_USER: umami
          POSTGRES_PASSWORD: umami
        volumes:
          - umami-db-data:/var/lib/postgresql/data
        restart: always
        healthcheck:
          test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
          interval: 5s
          timeout: 5s
          retries: 5
    volumes:
      umami-db-data:

    3. 启动 Umami

    # 启动
    docker compose up -d
    
    # 查看运行状态
    docker compose ps

    4. 访问 Umami

    默认账号:admin
    默认密码:umami
    
    http://<服务器IP>:3002
  • F5-TTS 安装与使用教程

    F5-TTS 安装与使用教程

    F5-TTS 是一个 高质量的文本转语音(TTS, Text-to-Speech) 开源项目

    1. 环境准备

    1.1 安装 Conda(如果未安装)

    F5-TTS 依赖 Python 3.10,建议使用 Conda 创建隔离环境。如果您的系统尚未安装 Conda,可以前往 Anaconda 官网Miniconda 官网 下载并安装合适的版本。

    1.2 创建 Conda 环境并激活

    # 创建 Python 3.10 的 Conda 环境
    conda create -n f5-tts python=3.10  
    
    # 激活环境
    conda activate f5-tts

    2. 安装 PyTorch

    NVIDIA-CUDA

    pip install torch==2.4.0+cu124 torchaudio==2.4.0+cu124 --extra-index-url https://download.pytorch.org/whl/cu124

    3. 下载 F5-TTS 源码并安装

    # 克隆 F5-TTS 仓库
    git clone https://github.com/SWivid/F5-TTS.git
    cd F5-TTS
    
    # 安装 F5-TTS
    pip install -e .

    4. 运行 F5-TTS

    F5-TTS 提供了一个 Gradio Web 界面,可用于进行文本转语音推理。运行以下命令即可启动 Web UI:

    f5-tts_infer-gradio

    启动后,终端会显示一个本地地址

    * Running on local URL:  http://127.0.0.1:7860

    打开浏览器访问该地址即可使用 F5-TTS 进行文本转语音转换。

    5. 音频处理

    使用 ffmpeg.m4a 文件转换为 .wav 并剪辑前 15 秒,可以使用以下命令:

    ffmpeg -i input.m4a -t 15 -acodec pcm_s16le -ar 44100 -ac 2 output.wav

    参数说明:

    • -i input.m4a :输入文件
    • -t 15 :剪辑前 15 秒
    • -acodec pcm_s16le :使用 PCM 16-bit little-endian 编码
    • -ar 44100 :设置采样率为 44100Hz
    • -ac 2 :输出为双声道
    • output.wav :输出文件名

    如果你需要从某个时间点(如 30 秒处)开始剪辑 15 秒,可以使用 -ss 选项:

    ffmpeg -i input.m4a -ss 30 -t 15 -acodec pcm_s16le -ar 44100 -ac 2 output.wav

    这样会从第 30 秒开始截取 15 秒音频并转换为 WAV 格式。

  • VMware Workstation 配置虚拟机开机自动启动

    打开启动文件夹

    • Win + R 组合键,输入 shell:startup 并回车。
    • 这将打开 Windows 的 启动 文件夹。

    创建批处理文件

    • 在 启动 文件夹内,右键选择 新建 > 文本文档。
    • 将文件命名为 start_vm.bat,并确保扩展名为 .bat(如果看不到扩展名,需要在文件资源管理器中启用 文件扩展名可见)。
    • 使用文本编辑器(如记事本)打开 start_vm.bat 文件,并输入以下内容:
    @echo off
    "C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" start "D:\VM\Debian12-Docker\Debian12-Docker.vmx"
    • D:\VM\Debian12-Docker\Debian12-Docker.vmx 为你需要启动的虚拟机
    • 保存并关闭文件。

    测试自动启动

    • 双击 start_vm.bat 文件,确认虚拟机能正常启动。
    • 重新启动计算机,验证虚拟机是否随 Windows 开机自动运行。
  • 小米电视安装jellyfin

    Jellyfin是一个免费且开源的多媒体服务器软件。它旨在帮助用户管理和流式传输他们的个人媒体内容,如电影、电视节目、音乐和照片。以下是Jellyfin的一些关键特点:

    • 开源和免费:
      • Jellyfin是一个完全免费和开源的项目,这意味着用户可以自由地使用、修改和分发它。
    • 媒体管理:
      • 它允许用户组织和管理他们的媒体库,包括自动获取元数据、封面艺术和字幕。
    • 跨平台支持:
      • Jellyfin支持多种操作系统和设备,包括Windows、macOS、Linux、Android、iOS和智能电视。

    启用小米电视的ADB服务

    • 首先,您需要在小米电视上启用开发者选项和ADB调试。具体步骤可能因小米电视型号和系统版本而异,但通常包括:
      • 进入小米电视的“设置”菜单。
      • 找到“关于本机”或“我的电视”等选项,并多次点击“版本号”或类似选项,直到出现“您已处于开发者模式”的提示。
      • 返回“设置”菜单,找到“开发者选项”并进入。
      • 在“开发者选项”中,启用“ADB调试”和“允许安装未知来源应用”。
    • 确保您的电脑和小米电视连接到同一局域网。
    • 找到您小米电视的IP地址。您可以在小米电视的“设置”->“网络”中找到。

    ADB下载

    • 访问Android开发者官网下载ADB工具:
    • 请根据您的操作系统(Windows、macOS或Linux)下载相应的版本。
    • 下载完成后,解压缩文件并将adb.exe文件所在的目录添加到系统的环境变量中。

    jellyfin下载

    ADB连接和安装

    # adb连接小米电视的IP
    C:\Users\qixin\Downloads>adb connect 192.168.1.112
    already connected to 192.168.1.112:5555
    
    # 列出设备,需要电视adb授权同意
    C:\Users\qixin\Downloads>adb devices
    List of devices attached
    192.168.1.112:5555   unauthorized
    
    # 在小米电视上,允许来自电脑的ADB调试。
    # 再次列出设备
    C:\Users\qixin\Downloads>adb devices
    List of devices attached
    192.168.1.112:5555   device
    
    # 安装jellyfin
    C:\Users\qixin\Downloads>adb install jellyfin-androidtv-v0.18.4-release.apk
    Performing Streamed Install
    Success
    
    C:\Users\liqixin\Downloads>

    步骤详解:

    1. 连接ADB:
      • 使用adb connect 192.168.1.112命令连接到小米电视。将192.168.1.112替换为您的电视IP地址。
      • 第一次连接时,小米电视会弹出一个ADB调试授权提示,请选择“允许”。
    2. 验证连接:
      • 使用adb devices命令列出已连接的设备。如果显示device,则表示连接成功。如果显示unauthorized,说明电视没有允许电脑调试,请到电视上允许。
    3. 安装Jellyfin:
      • 使用adb install jellyfin-androidtv-v0.18.4-release.apk命令安装Jellyfin客户端。将jellyfin-androidtv-v0.18.4-release.apk替换为您下载的apk文件名。
      • 安装成功后,小米电视上会显示Jellyfin应用图标。

    注意事项:

    • 请确保您的电脑和小米电视处于同一局域网。
    • 在安装过程中,请保持网络连接稳定。
    • 如果遇到任何问题,请检查ADB和Jellyfin的安装步骤是否正确。
    • 小米电视的系统更新可能会影响ADB的连接,如果更新后无法连接,需要重新允许电脑调试。
  • AI驱动的供应链污染及其安全隐患分析

    随着人工智能(AI)的发展,越来越多的开发者和企业依赖AI生成代码、优化软件和提升生产力。然而,AI在供应链中的应用也带来了严重的安全隐患,攻击者可以利用AI技术污染软件供应链,导致个人用户、开发者和企业面临各种安全风险。

    1. 小白用户下载第三方AI插件,导致系统被植入恶意代码

    案例描述

    • 小白用户在非官方渠道下载了一款“智能办公插件”或AI图像生成工具的扩展插件,但插件内嵌了恶意代码。
    • 恶意代码可能包含远程控制程序、键盘记录器、勒索软件等。
    • 用户未经检查直接运行插件,导致系统被感染。

    安全隐患

    • 个人数据泄露,账号密码、支付信息被窃取。
    • 电脑被远程控制,成为“僵尸网络”一部分。
    • 重要文件被加密,要求支付赎金解锁。

    防范措施

    • 只从官方渠道下载软件和插件。
    • 使用安全软件扫描插件,避免恶意代码感染。
    • 在沙盒或虚拟机环境中测试插件,确保安全性。
    • 提高安全意识,不随意运行来源不明的脚本。

    2. AI生成的代码未经审查上线,导致安全漏洞

    案例描述

    • 开发者使用AI代码生成工具加速开发,但未进行充分的安全审查。
    • AI生成的代码可能包含SQL注入、XSS(跨站脚本攻击)或未授权访问等漏洞。
    • 攻击者利用这些漏洞入侵系统,造成数据泄露或服务宕机。

    安全隐患

    • 敏感数据泄露,可能导致企业声誉受损。
    • 服务器被入侵,影响系统稳定性。
    • 面临法律诉讼,造成经济损失。

    防范措施

    • 对AI生成的代码进行严格安全审查。
    • 使用静态代码分析工具检测安全漏洞。
    • 进行安全测试,模拟攻击场景。
    • 建立代码审查流程,确保代码质量和安全性。

    3. AI联网搜索的恶意代码被直接复制到生产环境

    案例描述

    • 小白程序员在开发过程中使用AI联网搜索写代码进行快速开发。
    • AI提供的代码中隐藏了恶意后门,但程序员未仔细审查。
    • 该代码被部署到生产环境,导致服务器被入侵。

    安全隐患

    • 服务器长期被攻击者控制,可能导致数据泄露。
    • 攻击者窃取企业机密信息,造成商业损失。
    • 可能面临合规性问题和法律风险。

    防范措施

    • 仅信任权威的代码来源,不随意复制粘贴。
    • 使用代码审查工具检测潜在风险。
    • 在测试环境中进行严格测试,确保安全性。
    • 限制AI代码生成工具的访问权限。

    4. AI优化的开源项目隐藏恶意代码

    案例描述

    • 攻击者利用AI生成开源代码并提交到流行项目。
    • 由于代码较复杂,维护者未深入审查直接合并。
    • 受影响的开源项目被广泛使用,导致大量系统受到攻击。

    安全隐患

    • 供应链污染,影响范围广泛。
    • 恶意代码可能导致远程控制或数据窃取。
    • 企业使用该代码后,面临重大安全威胁。

    防范措施

    • 对开源贡献代码进行严格审查。
    • 监控开源库的维护动态,避免使用可疑代码。
    • 采用SBOM(软件物料清单)追踪供应链依赖。

    5. AI优化的编译器或代码压缩工具被污染

    案例描述

    • 开发者使用AI驱动的编译器或压缩工具进行代码优化。
    • 由于工具被污染,编译后的代码被植入恶意逻辑。
    • 该代码最终进入生产环境,影响用户。

    安全隐患

    • 恶意代码难以察觉,长期潜伏。
    • 可能窃取用户数据或劫持API请求。
    • 影响多个企业或开发团队。

    防范措施

    • 仅使用经过安全审计的编译工具。
    • 代码生成后进行额外的安全检查。
    • 监测应用行为,防止异常代码执行。

    6. AI生成的伪造开源项目欺骗开发者

    案例描述

    • 攻击者利用AI生成完整的开源项目,提供详细文档和示例代码。
    • 该项目被宣传为“创新的开源解决方案”,吸引开发者使用。
    • 实际上,该项目隐藏后门,允许远程控制。

    安全隐患

    • 受信任的开源平台被污染,影响开发者社区。
    • 企业误用后门代码,导致数据泄露。
    • 供应链信任体系受损。

    防范措施

    • 避免轻信新兴开源项目,优先使用知名软件。
    • 检查开源库的维护历史,确保代码安全。
    • 对第三方依赖进行安全扫描。

    AI在提高开发效率的同时,也带来了前所未有的安全挑战。为防范AI驱动的供应链污染,需要开发者、企业和安全研究人员共同努力:

    • 小白用户 提高安全意识,不随意下载和运行不明来源的代码,尤其是AI生成的插件和工具。
    • 开发者 加强代码审查,避免误用AI生成的恶意代码。
    • 企业 对供应链安全进行全面管理,防止供应链攻击。

    AI的安全问题不容忽视,只有建立完善的安全机制,才能在享受AI带来的便利的同时,避免潜在的安全风险。

  • Windows 沙盒(Windows Sandbox)配置指南

    1. 什么是 Windows 沙盒?

    Windows 沙盒(Windows Sandbox)是一项轻量级的虚拟化功能,允许用户在一个隔离的环境中运行不受信任的应用程序,而不会影响主机系统。沙盒关闭后,所有更改都会丢失,确保系统的安全性。

    2. 配置 Windows 沙盒

    Windows 沙盒的配置文件使用 .wsb 扩展名,可以自定义多种参数,如内存、文件夹映射、网络访问等。

    3. 创建配置文件

    创建一个 .wsb 文件(例如 Path.wsb),并使用以下 XML 结构进行配置:

    <Configuration>
      <MemoryInMB>8192</MemoryInMB>
      <MappedFolders>
        <MappedFolder>
          <HostFolder>E:\sandbox</HostFolder>
          <SandboxFolder>C:\Users\WDAGUtilityAccount\Downloads\ABC</SandboxFolder>
          <ReadOnly>false</ReadOnly>
        </MappedFolder>
      </MappedFolders>
      <LogonCommand>
        <Command>explorer.exe C:\Users\WDAGUtilityAccount\Downloads\ABC</Command>
      </LogonCommand>
    </Configuration>

    4. 配置说明

    4.1. 内存分配

    <MemoryInMB>8192</MemoryInMB>
    • 指定沙盒可用的内存大小(以 MB 为单位)。
    • 例如:8192 MB(即 8GB)。
    • 适当增加内存可以提高沙盒的性能。

    4.2. 文件夹映射

    <MappedFolders>
      <MappedFolder>
        <HostFolder>E:\sandbox</HostFolder>
        <SandboxFolder>C:\Users\WDAGUtilityAccount\Downloads\ABC</SandboxFolder>
        <ReadOnly>false</ReadOnly>
      </MappedFolder>
    </MappedFolders>
    • HostFolder:指定主机系统上的文件夹(E:\sandbox)。
    • SandboxFolder:指定沙盒环境中的映射路径(C:\Users\WDAGUtilityAccount\Downloads\ABC)。
    • ReadOnly:设置是否为只读模式,false 表示可读可写,true 表示只读。

    4.3. 登录时自动执行的命令

    <LogonCommand>
      <Command>explorer.exe C:\Users\WDAGUtilityAccount\Downloads\ABC</Command>
    </LogonCommand>
    • 该命令在沙盒启动时自动执行。
    • 这里指定打开 Windows 资源管理器并定位到 C:\Users\WDAGUtilityAccount\Downloads\ABC

    5. 运行 Windows 沙盒

    5.1. 启用 Windows 沙盒

    在运行 .wsb 文件之前,需要确保 Windows 沙盒功能已启用。

    1. 打开 Windows 设置 > 应用 > 可选功能
    2. Windows 特色功能 中,找到 Windows 沙盒,并勾选启用。
    3. 重新启动计算机以应用更改。

    5.2. 运行 .wsb 文件

    1. 双击 .wsb 文件即可启动 Windows 沙盒,并加载配置。
    2. 沙盒启动后,会自动映射 E:\sandbox 到沙盒中的 C:\Users\WDAGUtilityAccount\Downloads\ABC
    3. 资源管理器会自动打开 C:\Users\WDAGUtilityAccount\Downloads\ABC 目录。