[开源] 字符动画库 For C – C语言实现的一个终端字符动画库
字符动画库 For C 简介 字符动画库 For C 是一个基于C语言标准库开发的轻量级终端字符动画库,专门用于在命令行界面中创建流畅的字符加载动画和对话框效果,为C语言开发者提供了简单易用的终端动画解决方案,让命令行程序拥有更丰富的视觉体验! 主要特性 ✨ 核心优势 🪶 超轻量级 - 仅依赖C标准库,无额外…
Deepin炸了

不要过度信任ai给的回答…(T^T)

我想要更新wine,全程复制ai给的命令,然后系统就无法启动了…

目前已换回windows11

1111 日 , 2025 19:23
压榨我们老师?
前言 中国人民大学某院副教授(wang)某压榨学生抢夺学生论文并压力学生。 事情 今天我们上课期间,我们班的老师突然委屈地向我们透露了关于他在读研时发生的一些事情。 他在我们班教授AutoCAD2014这门课,和蔼近人,同时是个非常厉害的老师。 直到今天,我们班的同学才知道他还在上学,他在中国人民大学读研究生。 老师想要毕业需要写一篇论文,于是他刻…
VSCode 输入时吞掉字符解决方法
问题 每输入一个字符,原来位置上的字符就被替换掉了,光标也变得一样了,不再是平时那种细细的竖线,而是变成了一个实心的小方块。 原因 在 VS Code 中输入时出现 “吞掉后面字符” 的现象,通常是因为开启了 “改写模式”(Overtype Mode),而非正常的 “插入模式”(Insert Mode)。 解决方法 问题的根源——键盘上的Inser…
whathappen

 

yz.greenchicken.xyz

1110 日 , 2025 9:40
YesPlayMusic /README.md

YesPlayMusic

高颜值的第三方网易云播放器
🌎 访问DEMO  |   📦️ 下载安装包  |   💬 加入交流群

全新版本

全新 2.0 Alpha 测试版已发布,欢迎前往 Releases 页面下载。 当前版本将会进入维护模式,除重大 bug 修复外,不会再更新新功能。

✨ 特性

  • ✅ 使用 Vue.js 全家桶开发
  • 🔴 网易云账号登录(扫码/手机/邮箱登录)
  • 📺 支持 MV 播放
  • 📃 支持歌词显示
  • 📻 支持私人 FM / 每日推荐歌曲
  • 🚫🤝 无任何社交功能
  • 🌎️ 海外用户可直接播放(需要登录网易云账号)
  • 🔐 支持 UnblockNeteaseMusic,自动使用各类音源替换变灰歌曲链接 (网页版不支持)
    • 「各类音源」指默认启用的音源。
    • YouTube 音源需自行安装 yt-dlp
  • ✔️ 每日自动签到(手机端和电脑端同时签到)
  • 🌚 Light/Dark Mode 自动切换
  • 👆 支持 Touch Bar
  • 🖥️ 支持 PWA,可在 Chrome/Edge 里点击地址栏右边的 ➕ 安装到电脑
  • 🟥 支持 Last.fm Scrobble
  • ☁️ 支持音乐云盘
  • ⌨️ 自定义快捷键和全局快捷键
  • 🎧 支持 Mpris
  • 🛠 更多特性开发中

📦️ 安装

Electron 版本由 @hawtim 和 @qier222 适配并维护,支持 macOS、Windows、Linux。

访问本项目的 Releases 页面下载安装包。

  • macOS 用户可以通过 Homebrew 来安装:brew install --cask yesplaymusic

  • Windows 用户可以通过 Scoop 来安装:scoop install extras/yesplaymusic

同类项目(排名无先后)

欢迎大家通过 PR 分享你的项目,让更多人看到!

⚙️ 部署至 Vercel

除了下载安装包使用,你还可以将本项目部署到 Vercel 或你的服务器上。下面是部署到 Vercel 的方法。

本项目的 Demo (https://music.qier222.com) 就是部署在 Vercel 上的网站。

Powered by Vercel

  1. 部署网易云 API,详情参见 Binaryify/NeteaseCloudMusicApi 。你也可以将 API 部署到 Vercel。

  2. 点击本仓库右上角的 Fork,复制本仓库到你的 GitHub 账号。

  3. 点击仓库的 Add File,选择 Create new file,输入 vercel.json,将下面的内容复制粘贴到文件中,并将 https://your-netease-api.example.com 替换为你刚刚部署的网易云 API 地址:

{
  "rewrites": [
    {
      "source": "/api/:match*",
      "destination": "https://your-netease-api.example.com/:match*"
    }
  ]
}
  1. 打开 Vercel.com,使用 GitHub 登录。

  2. 点击 Import Git Repository 并选择你刚刚复制的仓库并点击 Import。

  3. 点击 PERSONAL ACCOUNT 旁边的 Select。

  4. 点击 Environment Variables,填写 Name 为 VUE_APP_NETEASE_API_URL,Value 为 /api,点击 Add。最后点击底部的 Deploy 就可以部署到 Vercel 了。

⚙️ 部署到自己的服务器

除了部署到 Vercel,你还可以部署到自己的服务器上

  1. 部署网易云 API,详情参见 Binaryify/NeteaseCloudMusicApi
  2. 克隆本仓库
git clone --recursive https://github.com/qier222/YesPlayMusic.git
  1. 安装依赖
yarn install
  1. (可选)使用 Nginx 反向代理 API,将 API 路径映射为 /api,如果 API 和网页不在同一个域名下的话(跨域),会有一些 bug。

  2. 复制 /.env.example 文件为 /.env,修改里面 VUE_APP_NETEASE_API_URL 的值为网易云 API 地址。本地开发的话可以填写 API 地址为 http://localhost:3000,YesPlayMusic 地址为 http://localhost:8080。如果你使用了反向代理 API,可以填写 API 地址为 /api

VUE_APP_NETEASE_API_URL=http://localhost:3000
  1. 编译打包
yarn run build
  1. 将 /dist 目录下的文件上传到你的 Web 服务器

⚙️ 宝塔面板 docker 应用商店 部署

  1. 安装宝塔面板,前往宝塔面板官网 ,选择正式版的脚本下载安装。

  2. 安装后登录宝塔面板,在左侧导航栏中点击 Docker,首次进入会提示安装 Docker 服务,点击立即安装,按提示完成安装

  3. 安装完成后在应用商店中找到 YesPlayMusic,点击安装,配置域名、端口等基本信息即可完成安装。

  4. 安装后在浏览器输入上一步骤设置的域名即可访问。

⚙️ Docker 部署

  1. 构建 Docker Image
docker build -t yesplaymusic .
  1. 启动 Docker Container
docker run -d --name YesPlayMusic -p 80:80 yesplaymusic
  1. Docker Compose 启动
docker-compose up -d

YesPlayMusic 地址为 http://localhost

⚙️ 部署至 Replit

  1. 新建 Repl,选择 Bash 模板

  2. 在 Replit shell 中运行以下命令

bash <(curl -s -L https://raw.githubusercontent.com/qier222/YesPlayMusic/main/install-replit.sh)
  1. 首次运行成功后,只需点击绿色按钮 Run 即可再次运行

  2. 由于 replit 个人版限制内存为 1G(教育版为 3G),构建过程中可能会失败,请再次运行上述命令或运行以下命令:

cd /home/runner/${REPL_SLUG}/music && yarn install && yarn run build

👷‍♂️ 打包客户端

如果在 Release 页面没有找到适合你的设备的安装包的话,你可以根据下面的步骤来打包自己的客户端。

  1. 打包 Electron 需要用到 Node.js 和 Yarn。可前往 Node.js 官网 下载安装包。安装 Node.js 后可在终端里执行 npm install -g yarn 来安装 Yarn。

  2. 使用 git clone --recursive https://github.com/qier222/YesPlayMusic.git 克隆本仓库到本地。

  3. 使用 yarn install 安装项目依赖。

  4. 复制 /.env.example 文件为 /.env 。

  5. 选择下列表格的命令来打包适合的你的安装包,打包出来的文件在 /dist_electron 目录下。了解更多信息可访问 electron-builder 文档

命令 说明
yarn electron:build --windows nsis:ia32 Windows 32 位
yarn electron:build --windows nsis:arm64 Windows ARM
yarn electron:build --linux deb:armv7l Debian armv7l(树莓派等)
yarn electron:build --macos dir:arm64 macOS ARM

💻 配置开发环境

本项目由 NeteaseCloudMusicApi 提供 API。

运行本项目

# 安装依赖
yarn install

# 创建本地环境变量
cp .env.example .env

# 运行(网页端)
yarn serve

# 运行(electron)
yarn electron:serve

本地运行 NeteaseCloudMusicApi,或者将 API 部署至 Vercel

# 运行 API (默认 3000 端口)
yarn netease_api:run

☑️ Todo

查看 Todo 请访问本项目的 Projects

欢迎提 Issue 和 Pull request。

📜 开源许可

本项目仅供个人学习研究使用,禁止用于商业及非法用途。

基于 MIT license 许可进行开源。

灵感来源

API 源代码来自 Binaryify/NeteaseCloudMusicApi

🖼️ 截图

1107 日 , 2025 11:42
Lyricify-on-Wine /README.zh-CN.md

Lyricify on Wine

这是一个存放可以在 Wine 上运行的 Lyricify 版本的仓库。

English

目录

发布渠道

注意:经过数小时的测试,我们无法保证 APT 仓库和 Docker 镜像在多个环境中正常工作,因此暂时放弃了这种方式。

安装

通过 星火应用商店

这种安装方式更加简单。由于这是一个中国服务,可能并非适合所有人(海外可能无法访问)。

  1. 从 官方网站 下载 Spark Store。
    • 本来这里要提醒你网站会是中文,但是既然你看了中文版的 README,我就给删了(笑)。
  2. 在应用商店中搜索 “Lyricify”。
  3. 点击 “安装”。
  4. 尽情享用!

通过 Github Releases

自动安装脚本

只需在终端中执行以下命令:

curl -fsSL https://raw.githubusercontent.com/Lyricify/Lyricify-on-Wine/master/install-deb.sh > install-deb.sh && sudo bash install-deb.sh

如果你所在地区无法访问 raw.githubusercontent.com,你可以尝试使用 JSDelivr CDN 的镜像:

curl -fsSL https://cdn.jsdelivr.net/gh/Lyricify/Lyricify-on-Wine@master/install-deb.sh > install-deb.sh && sudo bash install-deb.sh

手动安装

首先,从 Github Releases 下载最新的发布版本(目前是 .deb 包)。

  • 如果你使用的是 Deepin 或 UOS(待验证),可以直接使用 apt 命令安装该软件包。所有依赖项都存在于 Deepin 的 Apt 仓库中。
  • 如果你使用其他基于 apt/dpkg 的 Linux 发行版,则需要手动安装依赖项。
    1. 克隆并进入此仓库:git clone https://github.com/Lyricify/Lyricify-on-Wine.git && cd Lyricify-on-Wine
    2. 从 “apt-missing-dependencies” 目录安装依赖项:sudo dpkg -i apt-missing-dependencies/*.deb
    3. 使用 apt 安装从 Github Releases 下载的 .deb 包中的 Lyricify 软件包。
    4. 尽情享用!
  • 如果你使用非 Debian 系 Linux 发行版(即不适用 deb 软件包格式的发行版),参考下文。

非 Debian 系发行版的安装

该仓库提供的 deb 包文件对于 Debian 系发行版已经足够方便,但是对于其他发行版来说,一个 deb 包文件并不能提供很大的帮助。
这里以 Arch linux 举例,对于其他发行版,使用到的相关程序请自行查找安装方法。

安装

  • 安装要用到的程序 spark-dwine-helperdpkg 和 7z
$ sudo pacman -S spark-dwine-helper dpkg p7zip
  • 下载 Lyricify-on-Wine 仓库提供的 .deb 包,并解包,剩余的文件可以自行删除
$ curl -OL https://github.com/Lyricify/Lyricify-on-Wine/releases/download/v4.2.28/com.wxriw.lyricify4_4.2.28.240502-release-wpack240503.02_amd64.deb
$ dpkg -X com.wxriw.lyricify4_4.2.28.240502-release-wpack240503.02_amd64.deb Lyricify
$ mv Lyricify/opt/apps/com.wxriw.lyricify4/files/files.7z Lyricify/opt/apps/com.wxriw.lyricify4/files/wine_archive.7z .
$ 7z x wine_archive.7z -o./Wine-for-Lyricify
$ 7z x files.7z -o./Lyricify
$ rm *7z
  • 将 Lyricify 文件夹移动到 spark-dwine-helper 所对应的默认 WINEPREFIX 路径
$ mv Lyricify/ ~/.deepinwine/

运行

至此应该已经能正常地运行 Lyricify 4,这里假设最初的工作目录是 ~/.Lyricify

$ APPRUN_CMD=~/.Lyricify/Wine-for-Lyricify/bin/wine64 /opt/deepinwine/tools/spark_run_v4.sh "Lyricify" "4.2.28.240502-release-wpack240503.02" "C:/Program Files/Lyricify 4/Lyricify for Spotify.exe"

编写 .desktop 文件以将应用程序集成到应用程序菜单中

编辑 ~/.local/share/applications/com.wxriw.lyricify4.desktop 文件

#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Type=Application
Categories=Audio;
# 解包时该文件的相对路径应该是
# ./opt/apps/com.wxriw.lyricify4/entries/icons/hicolor/scalable/apps/com.wxriw.lyricify4.png
Icon=~/.Lyricify/com.wxriw.lyricify4.png
Exec="~/.Lyricify/run.sh" --uri 
Name=Lyricify
Comment=Lyricify 4 in a Wine container
MimeType=
GenericName=com.wxriw.lyricify4
Terminal=false
StartupNotify=false

编辑 ~/.Lyricify/run.sh 文件

#!/bin/bash

export APPRUN_CMD=~/.Lyricify/Wine-for-Lyricify/bin/wine64 
/opt/deepinwine/tools/spark_run_v4.sh "Lyricify" "4.2.28.240502-release-wpack240503.02" "C:/Program Files/Lyricify 4/Lyricify for Spotify.exe"

一些可能的问题

  • 在进行 Spotify 授权的时候浏览器无法正常弹出,需要点击左下角的 登录时遇到问题? 按钮手动打开浏览器授权。
  • 应用界面出现奇怪的显示问题,打开 设置-Apple Music 歌词-背景-动态 可以缓解该问题。

维护者

该仓库中的软件包由 Sheng Fan 维护。 关于非 Debian 系发行版的安装方法由 Chumeng 维护。

1107 日 , 2025 11:37
thumbnail
推荐一下 GitHub Host 项目
GitHub Host 使用 Cloudflare Workers 和公共 DNS API 加速访问 GitHub 📝 项目介绍 GitHub 访问加速,解决 GitHub 访问慢的问题。使用 Cloudflare Workers 和公共 DNS API 来获取 IP 地址。 🚀 特点 使用 Cloudflare Workers 部署,无需服务器 …

实训2:配置通过Telnet登录系统(拓展)

一、理解Telnet登录系统:

Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

  • Telnet是基于 (TCP/UDP)协议的一款远程登录应用。

实训拓扑:

 

 实训编址:

设备 接口 IP地址 子网掩码 默认网关
Off_R1AR2220 G0/0/0 10.0.2.10 255.255.255.0 N/A
G0/0/1 10.0.1.254 255.255.255.0 N/A
Stu_R1AR2220 G0/0/0 10.0.2.20 255.255.255.0 N/A
G0/0/1 10.0.3.254 255.255.255.0 N/A
Off_PCAR2220 G0/0/0 10.0.1.1 255.255.255.0 N/A
Stu_PCAR2220 G0/0/0 10.0.3.1 255.255.255.0 N/A

 

实验内容要求:1Off_PCOff_R1能互相ping 通;

2Stu_PCStu_R1能互相ping 通;

3Off_R1配置密码模式Telnet应用;Off_PC能通过密码远程登录Off_R1

4Stu_R1配置aaa模式Telnet应用;Stu_PC能通过用户名和密码远程登录Stu_R1,并管理Stu_R1

 

三、实训步骤

1、参考以上拓扑图和IP地址编址表,做基础配置。(配置包括所有设备的命名、IP地址和子网掩码的配置)。

参考命令:<Huawei>sys               //进入系统视图

[Huawei]undo in en         //关掉设备的消息日志

[Huawei]sys  <设备名>     //配置设备的名字

[Off_R1]int  <接口编号>    //进入设备接口视图

[Off_R1-GigabitEthernet0/0/0]ip add  <IP地址>  <子网掩码>   //配置接口的IP地址和掩码

//检查设备当前IP配置情况:dis ip int bri

基础配置完成后,测试直连链路连通性,设备Off_PC  ping  设备Off_R1;设备Stu_PC  ping  设备Stu_R1;[截图保存,截一张即可]

   Off_PC  ping  Off_R1

 

 

 

 

 

 

 

 

 

  • 在Off_R1上配置Telnet验证方式为密码验证方式,密码为xxjs@yyy2024,并设置用户级别为1。

参考命令:[Off_R1]user-interface vty <id id>  //认证。进入到vty用户界面,默认为0 4              

[Off_R1-ui-vty0-4]authentication-mode password     //密码认证模式

Please configure the login password (maximum length 16):    //:后输入密码

[Off_R1-ui-vty0-4]user privilege level  <等级>    //设置用户级别

 

Off_R1配置完成后,Off_PC使用Telnet连接Off_R1(密码模式,用密码登录连接)

[截图保存]

   <Off_PC> telnet  <IP地址>

 

 

 

 

 

 

 

  • 在Stu_R1上配置Telnet验证方式为aaa验证方式,并配置本地用户名yyy和密文密码yang,并且将该用户的用户级别修改为5 (管理级)。

参考命令:

认证:[Stu_R1]user-interface vty <id id>  //认证。进入到vty用户界面,默认为0 4              

[Off_R1-ui-vty0-4]authentication-mode aaa     //认证模式为aaa

 

配置:

[Off_R1-ui-vty0-4]aaa      //进入aaa视图

[Off_R1-aaa]local-user <用户名> pass cipher <密码> privi level <等级>     //配置用户账号密码和权限等级。

[Off_R1-aaa]local-us <用户名> service-type telnet   //配置该用户的接入类型为telnet

 

Stu_R1配置完成后,Stu_PC使用Telnet连接Stu_R1(aaa模式,用用户名和密码登录连接)

[截图保存]

   <Stu_PC> telnet  <IP地址>

 

 

 

 

 

//所有设备都要save,在用户视图下

四、实验结果

建立文件夹,命名为:学号(后两位)-姓名-实训2拓展,

其中包含命名好的本实训指导书以及.ans文件(文件命名:学号(后两位)-姓名)。提交文件夹。

1106 日 , 2025 17:02
Deepin 安装 CS50 Library for C
问题 按照官方教程安装CS50 Library时会报错提示: worable@deepin:~$ curl -s https://packagecloud.io/install/repositories/cs50/repo/script.deb.sh | sudo bash 请输入密码 验证成功 Detected operating system …
thumbnail
DDOS理解
DDoS(Distributed Denial of Service)分布式拒绝服务,即利用大量合法的分布式服务器对目标发送请求,从而导致正常用户无法获得服务。 第一:造成网络瘫痪通过控制大量攻击主机同时连接网站端口,制造大流量无用数据,造成通往被攻击主机的网络拥塞,使被攻击主机无法正常和外界通信。 第二:肉鸡攻击肉鸡也称傀儡机,是指可以被黑客远程…
感想(什么)

鉴于以前blog似了没有留下数据,我不准备恢复之前的数据了

并且之前写的内容好水()

现在重新开始记录点应当被记录的东西awa

1105 日 , 2025 11:52
上课分享文件
方法1 打开https://pan.mcbebbs.cn/s/8rUp 直接下载 方法2 ftp://10.189.122.145 复制上面的内容↑ 然后打开文件资源管理器,如图所示在这个框按Ctrl+v,把内容粘贴到这里 用户名:123 密码:123 点击登录 把这个文件复制粘贴到你自己的电脑就好了~
安装Linux系统时识别不到网卡及USB共享网络解决方法
遇到的问题 在安装Debian13.1时遇到配置网络识别不到无线网卡以及手机连接电脑的USB网络共享网络。 Debian13.1是在USTC Mirror下载的kde版,实际安装后发现这个版本不同其他系统是在kde live环境引导安装,它还是默认的图形化界面引导。 之前安装CentOS8以及Ubuntu/Debian普通版本都无法识别到网络,这个…
使用VMware Workstation虚拟机安装Linux到外置硬盘导致硬盘坏了解决办法
问题 古有WinToGo,我想制作LinuxToGo启动盘,所以按照网上的方法在使用VMware Workstation虚拟机安装Linux到外置硬盘,脱机接到虚拟机后虚拟机扫盘导致硬盘突然断开,插拔之后系统无任何提示,设备管理器也找不到此设备了。 看到全网找不到此类教程,我现在发一下解决方法。 解决方法 强制重新载入USB总线 右键桌面"此电脑"…
文件上传检测与绕过-客户端检测与绕过2
实验目的 通过本实验,掌握文件上传客户端的检测原理以及绕过方法。 服务器内网IP:192.168.29.240 实验步骤 http://192.168.29.240/upfile/1/upload.html 与Bp的代理一致 实验总结 掌握文件上传的客户端检测原理以及通过Burp Suite抓包工具抓取数据包,修改文件后缀名绕过JS代码的限制。
编译.C遇到warning: ISO C++ forbids converting a string constant to ‘string’ {aka ‘char*’} [-Wwrite-strings]报错
原因:C++ 中字符串常量(如 "test")是 const char* 类型,不能直接赋值给非 const 的 char*(这会违反常量不可修改的规则)。 正确做法:使用 C++ 标准库的 std::string,需要包含头文件 <string> 并使用命名空间 std。 当然,我是在使用cs50.h ,cs50.h 提供了自己的 stri…