yptools 1.0.18 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5b0c0ac65980ab31a4c668af14aea11d9c2d7ab7dcf0b8c20b072c797b0bea35
4
- data.tar.gz: 7451143c8b5d160ff9176532a2570cfef65461e5f78dfa25f0b3627f28bf3653
3
+ metadata.gz: c8223853ebcd90eb9fcd7f20d91a01eaac8b926ee69e2291dbfe6ee9976eaec0
4
+ data.tar.gz: 7605e3081dbb09c6d4cc654431e0341a0fb9b21c039d4134ca4c71f1512d42c5
5
5
  SHA512:
6
- metadata.gz: 6664fa97f413646ca8926eef8df0d4a227e46b87af6f87ed53b96b0900e5596931fbc3f1cafb2e4bb4afccc1cbaefdd9c6e54788afeaf5c0e48c93314f603445
7
- data.tar.gz: 05036757b34371ad309a41e42b8d2835720571aea0063efeff899dda29d163960c8a4adf6b99a9960aa1800abd04d750a2670ca9b311381001e375f213651c9e
6
+ metadata.gz: 7c3e46af8e5bbc9e380976f96b33e09a6a2c938d95e4bf8954fab587b3378af78d2f56b4013fa359a7b11d95317aa4e1a66c67a4148bfe3654da6013a91ac430
7
+ data.tar.gz: 01e1e766ea8dcf4a48e0862376c279847214cbeaf3aeadd511e92ece81945d50ce1ce8f29ee57266cb14d7acf42073d0094d7331e59ede4c6613c519114b6a12
@@ -3,10 +3,13 @@ class YPHelp
3
3
  def self.message
4
4
  puts %q{
5
5
 
6
+ 🤖🤖🤖 - 智能聊天、绘画(OpenAI)
6
7
  chatgpt: use [yptools chatgpt] 创建会话列表与 chatgpt 聊天,会记录上下内容(科学上网)
7
8
  [yptools chatgpt ...] 快速与 chatgpt 沟通,不会记录上下内容
8
- openai: use [yptools openaiimg ...] 根据文本描述生成图像(eg: yptools openaiimg '高冷 少妇 黑丝 短裤 真人照片' )
9
9
 
10
+ openai: use [yptools openaiimg ...] 根据文本描述生成图像(eg: yptools openaiimg '老虎和狮子大战' )
11
+
12
+ 🚀🚀🚀 - iOS开发者(IOS Developer)
10
13
  autocre: use [yptools autocre ...] 自动化工具命令
11
14
  use [yptools autocre -objc ...] 根据 json 自动创建 Objective-C 数据库操作文件 .h|.m 文件。(依赖三方库 FMDB )
12
15
  use [yptools autocre -init] 构建数据库操作文件的json模板
@@ -24,8 +27,12 @@ class YPHelp
24
27
  xpj: use [yptools xpj ...] use xcodeproj api
25
28
  use [yptools xpj check] 检查当前目录项目文件是否存在引用的问题
26
29
 
30
+ 🤡🤡🤡 - hacker
31
+ portscan: use [yptools portscan <ip地址或域名> [<端口范围>]] 扫描指定 IP 端口是否开放
32
+
33
+ 💩💩💩 - 帮助(help)
27
34
  help: use [yptools help] 查看帮助
28
-
35
+
29
36
  }
30
37
  end
31
38
 
@@ -0,0 +1,50 @@
1
+ class YPPortScan
2
+ def self.portscan(port, range)
3
+ script = %Q(
4
+ #!/bin/bash
5
+
6
+ if [ -n "#{range}" ]; then
7
+ all_port="#{range}"
8
+ else
9
+ all_port="1-65535"
10
+ fi
11
+
12
+ port_range=(${all_port//-/ })
13
+ timeout=0.02
14
+ ip_address=#{port}
15
+
16
+ port_range+=(#{range})
17
+
18
+ echo "正在扫描 ${ip_address} 的端口 ${port_range[0]} 到 ${port_range[1]}..."
19
+ echo ${port_range[1]}
20
+
21
+ open_ports=()
22
+ closed_ports=()
23
+
24
+ for ((port = ${port_range[0]}; port <= ${port_range[1]}; port++)); do
25
+ (echo >/dev/tcp/${ip_address}/${port}) >/dev/null 2>&1 &
26
+ pid=$!
27
+ (
28
+ sleep ${timeout}
29
+ kill ${pid} >/dev/null 2>&1
30
+ ) &
31
+ timer=$!
32
+ if wait ${pid} 2>/dev/null; then
33
+ echo "\\033[32m${port} 是开放的\\033[0m"
34
+ open_ports+=($port)
35
+ else
36
+ echo "\\033[31m${port} 是关闭的\\033[0m"
37
+ closed_ports+=($port)
38
+ fi
39
+ kill ${timer} >/dev/null 2>&1
40
+ done
41
+
42
+ allCount=$((${#open_ports[@]} + ${#closed_ports[@]}))
43
+
44
+ echo ${allCount} "个端口扫描完成。"
45
+ echo "共有 ${#open_ports[@]} 个端口是开放的,${#closed_ports[@]} 个端口是关闭的。"
46
+ echo "开放的端口: " "\\033[32m${open_ports[@]}\\033[0m"
47
+ )
48
+ system(script)
49
+ end
50
+ end
data/lib/yptools.rb CHANGED
@@ -11,6 +11,7 @@ require_relative 'yptools/package/yp_package'
11
11
  require_relative 'yptools/autocre/yp_autocre'
12
12
  require_relative 'yptools/autocre/yp_autoinit'
13
13
  require_relative 'yptools/chatai/yp_chatai'
14
+ require_relative 'yptools/portscan/yp_portscan'
14
15
 
15
16
  class YPTools
16
17
 
@@ -102,6 +103,13 @@ class YPTools
102
103
  yp_log_fail "'yptools xpj ..' 参数缺失"
103
104
  self.help
104
105
  end
106
+ when 'portscan'
107
+ if argvs.size > 1
108
+ self.portscan argvs
109
+ else
110
+ yp_log_fail "'yptools portscan ..' 参数缺失"
111
+ self.help
112
+ end
105
113
  else
106
114
  self.help
107
115
  end
@@ -158,6 +166,12 @@ class YPTools
158
166
  YPChatAI.openaiimg(message)
159
167
  end
160
168
 
169
+ def self.portscan(argvs)
170
+ port = argvs[1]
171
+ range = argvs[2]
172
+ YPPortScan.portscan(port,range)
173
+ end
174
+
161
175
  end
162
176
 
163
177
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yptools
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.18
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - chenghengsheng
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-09 00:00:00.000000000 Z
11
+ date: 2023-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -141,6 +141,7 @@ files:
141
141
  - lib/yptools/log/yp_log.rb
142
142
  - lib/yptools/mgc/yp_makegarbagecode.rb
143
143
  - lib/yptools/package/yp_package.rb
144
+ - lib/yptools/portscan/yp_portscan.rb
144
145
  - lib/yptools/update/yp_update.rb
145
146
  - lib/yptools/xcodeproj/yp_xcodeproj.rb
146
147
  homepage: https://github.com/HansenCCC/YPTools.git