/images/avatar.png

haoyuli

tcp拥塞控制算法协议编译安装记录

本文记录了从零开始在 Debian 12 编译tcp拥塞控制算法协议,并且确保最终可在 Debian 12 上部署。 我会按步骤分为 编译 → 加载 → 确认 → 生效


1️⃣ 编译模块

环境准备

sudo apt update
sudo apt install build-essential linux-headers-$(uname -r)
----------------------------------------------------------
sudo yum install gcc make kernel-devel kernel-headers (centos7对应)

下载源码

[root@haoyuli ~]# wget [tcp_ucp-1.0.zip](https://github.com/liulilittle/tcp_ucp/archive/refs/heads/main.zip)
[root@haoyuli ~]# mv tcp_ucp-1.0.zip /opt/
[root@haoyuli ~]# cd /opt/
[root@haoyuli opt]# unzip tcp_ucp-1.0.zip
[root@haoyuli opt]# cd tcp_ucp-main/
[root@haoyuli tcp_ucp]# ls
docs  LICENSE  Makefile  README.md  tcp_ucp.c

生成模块

root@localhost:/opt/tcp_ucp-main# make
make[1]: Entering directory '/usr/src/linux-headers-6.1.0-42-cloud-amd64'
  CC [M]  /opt/tcp_ucp-main/tcp_ucp.o
  MODPOST /opt/tcp_ucp-main/Module.symvers
  CC [M]  /opt/tcp_ucp-main/tcp_ucp.mod.o
  LD [M]  /opt/tcp_ucp-main/tcp_ucp.ko
  BTF [M] /opt/tcp_ucp-main/tcp_ucp.ko
Skipping BTF generation for /opt/tcp_ucp-main/tcp_ucp.ko due to unavailability of vmlinux
make[1]: Leaving directory '/usr/src/linux-headers-6.1.0-42-cloud-amd64'

2️⃣ 加载内核模块

insmod tcp_ucp.ko

centos7平台openvz内核编译过程

本文记录了从零开始在 CentOS 7 搭建开发环境到最终生成你的 kernel 可执行文件,并且确保最终可在 CentOS 7 上部署。这个流程适合新机器或干净环境。

我会按步骤分为 环境准备 → 配置编译 → 安装 → 引导


1️⃣ 环境准备

更新系统

sudo yum update -y

sudo yum groupinstall “Development Tools” -y

sudo yum install epel-release -y

sudo yum install wget tar bzip2 make cmake git -y

安装编译内核所需软件

yum install -y \
gcc \
gcc-c++ \
make \
ncurses-devel \
bc \
bison \
flex \
elfutils-libelf-devel \
perl \
wget \
git \
rpm-build \
rpmdevtools \
openssl-devel \
readline-devel \
zlib-devel \
bc \
libselinux-devel \
gettext \
elfutils-devel \
expat-devel

解释:

只需两行代码,实现语音转文字(转载)

🚀 只需两行代码,实现语音转文字(Whisper-ctranslate2)

这是目前我发现最快、最简单的语音转文字方案之一。

一个小时的音频文件,只需要几分钟就可以完成处理,非常适合做字幕、笔记整理、访谈转录等场景。

它不仅支持多语言(英语 + 96种语言),还能在噪音环境下保持不错的识别效果,即使口音较重也能处理。

最重要的是:
👉 完全免费 + 开源

我们使用的是 whisper-ctranslate2,这是基于 OpenAI Whisper 的升级版本(OpenAI 也就是开发 ChatGPT 的公司)。

相比原版 Whisper,它的特点是:

  • ⚡ 速度更快
  • 🎯 精度更高
  • 🧠 使用更简单

🧩 安装(第一行代码)

pip install git+https://github.com/Softcatala/whisper-ctranslate2

🎧 语音转文字(第二行代码)

whisper-ctranslate2 audio.mp3 --device cuda --model large-v3

🌍 翻译成英文(英文字幕)

如果你想直接把语音翻译成英文:

whisper-ctranslate2 audio.mp3 --device cuda --model large-v3 --task translate

🇨🇳 中文识别优化(简体 / 繁体)

简体中文优化:

whisper-ctranslate2 audio.mp3 --device cuda --model large-v3 --initial_prompt 这是一段中文普通话

📦 支持输出格式

该工具可以输出多种格式,包括:

TXT(纯文本) SRT(字幕文件) VTT(网页字幕) JSON(结构化数据)

利用ShareX上传图片文字等到对象存储(经验分享)

本文记录了在 windows11 平台下使用ShareX软件上传图片、文字等到cloudflare R2对象存储的一些操作步骤。

主要分别用 图片、文字结合自定义设置和第三方平台设置进行记录,其他类型的文件可举一反三。


1️⃣ 准备

首先要准备一个cloudflare账号

在R2对象存储中创建 User API 令牌有权限允许读取、写入和列出特定存储桶中的对象。

首次创建记住令牌值(api令牌)、访问密钥 ID(key)、机密访问密钥(secret)、和为 S3 客户端使用管辖权地特定的终结点(endpoint)。

创建一个存储桶(例如我创建的名字叫assets)用来存储对象,免费用户选择标准存储(10GB免费)、地区自动存美国即可。

https://cdn.haoyu.app/imgs/2025/12/03/d5e2ad79ff686fae.png

由于本人的这个域名是恰好由cloudflare解析,同时用cloudflare做cdn,所以在存储桶中直接将子域名进行绑定,在设置中添加自定义域即可。

https://cdn.haoyu.app/imgs/2025/12/03/00454db638ad73a4.png

然后还要下载一个ShareX程序

https://github.com/ShareX/ShareX/releases 这里有很多版本

其中我自己下载了ShareX 18.0.1 、ShareX 17.1.0两个版本(保护EXE版本和绿色便携版),经过许久口吐兰花之后果断选择了低版本便携版,另外我还在Chrome浏览中安装了这个软件的插件,直接复制图片地址或网页文字进行上传。

https://cdn.haoyu.app/imgs/2025/12/03/09e787a43d7431a9.png


2️⃣ 图床

首先我有一个图床程序,这个图床程序的存储方式包含S3存储,可以直接利用该图床程序将图片传输到R2对象存储,但是配合程序提供的api结合ShareX可以更方便的实现截图上传功能并在粘贴板中返回图片地址和图片,同时又可以通过该图床程序管理照片,以及特别区分开图片与其他文件,所以这里用到的是“图床程序+ShareX程序+cloudflare R2的方式”传输和管理图片,当然也可以只用“ShareX+cloudflare R2”的方式进行传输(参考第3部分)。

在ShareX程序–目标–图片上传–选择自定义图像上传

https://cdn.haoyu.app/imgs/2025/12/03/d6a05f10fdbf2e2c.png

centos7平台openppp2编译过程(非完整教程)

本文记录了从零开始在 CentOS 7 搭建开发环境到最终生成你的 ppp 可执行文件,包括 Boost、OpenSSL、jemalloc 的静态构建,并且确保最终可在 CentOS 7 上部署。这个流程适合新机器或干净环境。

我会按步骤分为 环境准备 → 第三方库编译 → 项目配置 → 编译生成


1️⃣ 环境准备

更新系统

sudo yum update -y

sudo yum groupinstall “Development Tools” -y

sudo yum install epel-release -y

sudo yum install wget tar bzip2 make cmake git -y

安装 Devtoolset 11(GCC 11)

CentOS7 默认 GCC 版本太低,需用 SCL 安装新版本:

sudo yum install centos-release-scl -y

sudo yum install devtoolset-11 -y

scl enable devtoolset-11

利用fpm打包二进制程序(简版教程)

本文记录了在 linux 环境下,利用 fpm 挂载打包二进制程序的教程。

利用fpm打包二进制程序为rpm或deb包

1. 安装所需工具

首先,需要确保你的系统安装了必要的工具和依赖项。

安装 fpm 的前提:

Ruby 和 相关开发工具。

GCC 和 Make 等编译工具。

RPM 和 Debian 打包工具。

在 CentOS 7 或 Debian/Ubuntu 系统上,你可以按以下步骤安装这些工具:

Debian 12 (或其他 Debian/Ubuntu 系统):

sudo apt-get install ruby ruby-dev gcc make rpm-build -y

CentOS 7(本教程在该平台部署)

yum install  gcc make rpm-build -y
yum install -y rh-ruby27 rh-ruby27-ruby-devel
scl enable rh-ruby27 bash
ruby -v
# ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]

安装 fpm:

fpm 是一个用于打包的软件包管理工具,可以方便地生成 .deb 和 .rpm 包。