# linux广告 **Repository Path**: vghxug/linux-ads ## Basic Information - **Project Name**: linux广告 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-28 - **Last Updated**: 2026-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ad_ter —— 终端广告 把「广告」塞进你的 Linux 终端,让你的终端体验更加「丰富多彩」。 ## 简介 ad_ter 是一个恶搞性质的终端广告注入脚本,专为喜欢恶作剧的技术爱好者设计。它会在你打开终端时展示「开屏广告」,并在执行常用命令时随机插入广告内容,为枯燥的终端操作增添一点「商业气息」。 ## 核心特性 ### 开屏广告 每次打开交互式终端时,先清屏,然后弹出精心设计的广告横幅,包含广告标题、链接和倒计时。用户可以按 Ctrl+C 跳过广告直接进入终端。 ### 命令拦截广告 执行 `ls` 或 `pwd` 命令时,有 30% 的概率在命令输出末尾自动插入一条带链接的广告,让你在浏览文件系统时也能接触到「优质广告内容」。 ### 简单卸载 通过运行 `~/.ad_ter/install.sh --uninstall` 可彻底清除所有安装痕迹,不留任何残余文件或配置。 ## 安装指南 ### 系统要求 - Linux 发行版:Debian、Ubuntu、Fedora、Arch、openSUSE、CentOS 等主流发行版 - Shell:bash 或 zsh - 依赖:零依赖,仅使用系统自带命令 ### 安装步骤 1. 下载或克隆本项目到本地 2. 在终端中执行安装脚本: ```bash ./install.sh ``` 3. 安装程序会自动: - 将所有脚本文件复制到 `~/.ad_ter/` 目录 - 在 `~/.bashrc` 或 `~/.zshrc` 配置文件中追加 source 命令 4. 重新打开终端或执行 `source ~/.bashrc`(或 `source ~/.zshrc`)使配置生效 > **注意**:请使用普通用户身份运行,root 用户执行会被拒绝。 ## 卸载指南 如需卸载,只需执行: ```bash ~/.ad_ter/install.sh --uninstall ``` 卸载程序会自动清理: - `~/.ad_ter/` 目录下的所有文件 - `~/.bashrc` 和 `~/.zshrc` 中添加的配置行 ## 广告数据配置 ### 默认广告文件 广告数据存储在 `~/.ad_ter/ads.txt` 文件中,每行定义一条广告,格式为: ``` 标题|URL ``` ### 配置示例 ``` 屠龙宝刀,点击就送|https://example.com/dragon-blade 学 Python 到某机构,输入优惠码 LINUX 享 8 折|https://example.com/python-course 震惊!隔壁老王看了都说好的神秘链接|https://example.com/shock ``` ### 格式说明 - 每行一条广告记录 - 使用竖线 `|` 分隔标题和 URL - 空行会被自动忽略 - 以 `#` 开头的行被视为注释,会被忽略 - 标题支持中文或英文 - 系统会自动将广告渲染为自适应宽度的框线横幅 ## 项目结构 ``` ad_ter/ ├── install.sh # 安装与卸载脚本,负责配置和清理工作 ├── ad_ter.sh # 核心脚本,实现开屏广告和命令拦截功能 ├── ads.txt # 默认广告数据文件 └── README.md # 项目说明文档 ``` ## 工作原理 ### 开屏广告流程 1. 终端启动时自动加载 `ad_ter.sh` 2. 检测是否为交互式终端 3. 清屏并读取广告数据 4. 随机选择一条广告进行展示 5. 显示倒计时,用户可按 Ctrl+C 跳过 6. 倒计时结束后进入正常终端界面 ### 命令拦截机制 通过重写 `ls` 和 `pwd` 内置命令,在原始命令执行完成后: 1. 生成随机数判断是否触发广告(30% 概率) 2. 如果触发,随机选择一条广告打印 3. 不影响原始命令的正常功能 ## 常见问题 **问:如何修改广告内容?** 答:直接编辑 `~/.ad_ter/ads.txt` 文件,按照指定格式添加或修改广告内容。 **问:如何调整广告显示概率?** 答:编辑 `ad_ter.sh` 文件,修改 `_print_hook_ad()` 函数中的概率判断逻辑。 **问:会影响终端性能吗?** 答:广告植入非常轻量,仅在终端启动和执行特定命令时运行,对系统性能影响可以忽略不计。 **问:是否支持其他 Shell?** 答:目前仅测试了 bash 和 zsh,其他 Shell 可能存在兼容性问题。 ## 许可证 本项目仅供学习和娱乐使用。 ## 致谢 灵感来源于现实中无处不在的广告营销,希望通过这种方式让更多人意识到广告对用户体验的影响。 --- *说不定未来真有丧心病狂的公司往终端中塞入类似的广告呢。*