Project

kscript

0.0
The project is in a healthy, maintained state
Kscript provides a set of handy Ruby scripts for system administration, development, and automation.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.0

Runtime

>= 3.1, < 4.0
>= 4.0, < 6.0
>= 1.13, < 2.0
= 1.3.2
 Project Readme

kscript

______                     _____        _____
___  /________________________(_)_________  /_
__  //_/_  ___/  ___/_  ___/_  /___  __ \\  __/
_  ,<  _(__  )/ /__ _  /   _  / __  /_/ / /_
/_/|_| /____/ \\___/ /_/    /_/  _  .___/\\__/
                                /_/

Gem Version CI Status

Ruby CLI 工具集,专为系统运维、开发自动化、网络与项目管理场景设计。支持插件化、极致美化输出、自动补全、结构化日志、CI/CD 自动发布等现代特性。


✨ 特性亮点

  • 统一 CLI 框架:所有命令一键调用,美化输出
  • 插件化架构:业务命令即插件,易扩展、易维护
  • 极致美化:ASCII banner、彩色分组、对齐、分隔线,极客体验
  • 人性化/结构化日志双模式--log/--log-level 切换,支持 JSON/终端友好输出
  • 自动补全:zsh/bash 补全脚本自动部署,命令一键补全
  • 参数健壮:所有插件兼容多余参数,支持全局参数过滤
  • CI/CD 自动发布:GitHub Actions 自动构建并推送 RubyGem
  • 多平台支持:macOS、Linux、Windows(部分工具)

🚀 安装

gem install kscript

或源码安装:

git clone https://github.com/kevin197011/kscript.git
cd kscript
gem build kscript.gemspec
gem install ./kscript-*.gem

🛠️ 快速上手

查看所有命令

kscript list

查看主命令帮助

kscript help

查看版本

kscript version

执行插件命令

kscript <command> [args...]
# 例如
kscript apnic CN
kscript portscan 192.168.1.1
kscript sh 'ls -l'
kscript projscan ~/projects

结构化日志模式

kscript apnic CN --log
kscript portscan 192.168.1.1 --log-level=debug

🧩 插件与命令一览

运行 kscript list 可分组美化展示所有插件命令

  • network
    • apnic:获取国家 IPv4 段
    • portscan:端口扫描
    • ip:IP 工具
    • wg_acl:WireGuard 防火墙 ACL
    • wg_pass:WireGuard 密码工具
  • project
    • projscan:扫描目录下所有 git 项目
    • cleaner:源码多版本清理
    • rename:批量重命名文件
  • system/macos
    • syscheck:macOS 系统健康检查
    • top:macOS 资源占用排行
    • optimize:macOS 性能优化
    • sh:命令行速查/cheatsheet
  • media
    • ffmpeg:FFmpeg 安装与检测
  • elastic
    • es_fingerprint:Elasticsearch 证书指纹
    • kibana:Kibana 空间/索引/用户/角色自动化
  • ci
    • jenkins:Jenkins Job 导入导出
  • 其它
    • usd:美元汇率工具
    • lvm:LVM 卷管理
    • windows_font_enhancer:Windows 字体增强

⚡ Shell 自动补全

  • 首次运行自动为 zsh/bash 部署补全脚本,无需手动操作
  • 补全脚本路径:
    • zsh: ~/.zsh/completions/_kscript
    • bash: ~/.bash_completion.d/kscript
  • 手动生成:
    kscript completion zsh > ~/.zsh/completions/_kscript
    kscript completion bash > ~/.bash_completion.d/kscript

⚙️ 全局配置

~/.kscriptrc (YAML) 配置全局参数:

log_level: debug

🧑‍💻 插件开发规范

  • 插件文件统一放在 lib/kscript/plugins/kk_xxx_utils.rb
  • 类名如 KkApnicUtils,自动注册为 apnic 命令
  • 支持 self.descriptionself.usageself.argumentsself.groupself.author
  • 输出统一用 logger.kinfo/logger.kerror,支持结构化日志
  • 兼容多余参数,避免 ArgumentError

🚚 CI/CD 自动发布

  • .github/workflows/gem-push.yml:main 分支和 PR 自动构建、tag push 自动发布到 RubyGems
  • 需在 GitHub secrets 配置 RUBYGEMS_API_KEY
  • CI 状态与历史

📄 许可证

MIT License. 详见 LICENSE


🤝 贡献

  1. Fork & PR
  2. 遵循输出与插件开发规范
  3. 保持文档与代码同步

如需更多示例、插件开发指导或遇到问题,欢迎提 issue 或 PR!