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.21

Runtime

>= 3.1, < 4.0
>= 1.13, < 2.0
= 1.3.2
~> 1.130
~> 3.0
~> 13.0
~> 1.5
 Project Readme

kscript

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

Gem Version CI Status

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


🗺️ 架构图

graph TD
  A[用户终端/脚本] -->|命令行| B(kscript CLI)
  B --> C[插件注册与分发]
  B --> D[日志系统]
  B --> E[配置加载]
  B --> F[Shell补全生成]
  B --> G[结构化日志/美化输出]
  B --> H[CI/CD自动发布]
  F --> I1[zsh补全脚本]
  F --> I2[bash补全脚本]
  H --> J[GitHub Actions]
  J --> K[RubyGems发布]
Loading

✨ 特性亮点

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

🚀 安装

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_ip CN
kscript port_scan 192.168.1.1
kscript shell_helper 'ls -l'
kscript project_scan ~/projects
kscript aws_s3 --file local.txt --bucket my-bucket --key test.txt --region ap-northeast-1 --access_key xxx --secret_key yyy

结构化日志模式

kscript apnic_ip CN --log
kscript port_scan 192.168.1.1 --log-level=debug

🧩 插件与命令一览

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

分组 命令 用法示例 参数说明 描述
network apnic_ip kscript apnic_ip CN [country_code] Get APNIC IPv4 ranges for a country.
network port_scan kscript port_scan 192.168.1.1 <target_host> [ports] [thread_count] Scan open ports on a target host.
network ip_lookup kscript ip_lookup 8.8.8.8 <ip_address> Query IP geolocation and ISP info.
network wg_acl kscript wg_acl add --ip=10.0.0.2 [subcommand] [options] Manage WireGuard firewall ACL rules.
network wg_pass kscript wg_pass 32 [length] Generate a random password for WireGuard.
project project_scan kscript project_scan ~/projects/src [src_path] Scan and list all git projects in a directory.
project vcs_cleaner kscript vcs_cleaner ~/projects/src [src_path] Clean old source code versions, keep N latest.
project file_rename kscript file_rename foo bar ./src <pattern> <replacement> [path] Batch rename files by pattern.
system shell_helper kscript shell_helper 'ls' [subcommand] [args...] Query shell command usage and cheatsheets.
system lvm_manage kscript lvm_manage /dev/sda2 /mnt/data <device> <mount_point> Mount and manage Linux LVM volumes.

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!请遵循 Conventional Commits 规范,确保所有代码通过 Linter 检查。详细贡献流程见 CONTRIBUTING.md(如有)。

❓ 常见问题

  • 如何启用 shell 补全? 安装后自动生成补全脚本,重启 shell 或手动 source ~/.zshrc/~/.bashrc
  • 如何切换日志模式? 所有命令支持 --log--log-level=debug,详见上文示例。
  • 如何自定义配置? 编辑 ~/.kscript/.env,可配置 AWS、日志等参数。

如有更多问题,欢迎提交 Issue

📬 联系方式 & 致谢

感谢所有贡献者和开源依赖项目!

📄 License

This project is licensed under the MIT License.