8000 GitHub - sdo888999/NodeScriptKit
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

sdo888999/NodeScriptKit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NodeScriptKit

NodeScriptKit项目,简称nsk项目。它是

  • 一个社区驱动的,命令小抄项目
  • 一个可自由扩展配置,支持订阅,交互式的,服务器辅助脚本汇总集合
  • 一个能够节省你大量命令/脚本查找时间的项目

使用方法

bash <(curl -sL https://sh.nodeseek.com)

screenshot

主配置文件说明

  • 配置文件采用toml格式,可以使用vscode配合Even Better TOML插件或者一些在线编辑器编辑
  • nsk的主配置文件默认位于/etc/nsk/config.toml
  • 常用的配置入口包括[local]和[remote],分别代表本地模块文件和远程订阅文件,本地和远程都可以合并/覆盖配置
  • 合并配置toml解析后的对象合并,而非文本拼接
  • 本地配置文件支持通配符,对匹配到的文件按文件名自然排序后导入
  • 默认/etc/nsk/modules.d/default/*.toml为官方模块,更新时会清空内容后再更新
  • 默认/etc/nsk/modules.d/extend/*.toml为用户模块,更新菜单时不会清空内容
  • 支持订阅,多个订阅链接会并发加载

模块配置文件说明

模块配置是用户打交道比较多的地方,内容包括脚本和菜单,菜单可以指向子菜单(们)和脚本

脚本示例

[scripts]
# 脚本集合,键值对
memory = "free -h"
disk = "df -hT"
cpuinfo = "cat /proc/cpuinfo"
whoami = "whoami"

hello = "echo \"hello world\""
yabs = "curl -sL yabs.sh | bash"
docker = "bash <(curl -sL 'https://get.docker.com')"

test = "echo '这是一个测试项'"

脚本部分比较简单,是一系列键值对,一个键对应一个字符串的值

菜单示例

[[menus]]
id = "main"
title = "主菜单"
sub_menus = [
    "info",
    "tool",
    "test"
]

[[menus]]
id = "info"
title = "系统信息"
sub_menus = [
    "cpu",
    "memory",
    "disk",
    "current-user",
]

[[menus]]
id = "test"
title = "测试项"
script = "test"

如上面所示,main菜单是入口菜单,有3个子菜单,其中info子菜单有进一步的子菜单,而test菜单没有下级,直接指向id为test的脚本

这些菜单id负责穿针引线,落叶归根到脚本id

代码提交规范和约定

  • 鼓励开发者通过pr贡献内容
  • 提交的内容主要包括菜单和脚本,菜单放到modules.d下,脚本放到shell_scripts下
  • 菜单类要以3位数字开头,安装优先级排序,数值大的内容可以合并/覆盖数值小的
  • 脚本类尽量在文件开头写明代码脚本描述,可以参考这个模板文件
  • 脚本尽量使用交互式调用

社区公约&开发指南

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%
0