XZMRBin 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.DS_Store +0 -0
- data/lib/filename.crt +25 -0
- data/lib/mrbin/.DS_Store +0 -0
- data/lib/mrbin/command.rb +3 -0
- data/lib/mrbin/gemversion.rb +1 -1
- data/lib/mrbin/xzcommand/xzdevgit.rb +68 -0
- data/lib/mrbin/xzcommand/xzintegratecommit.rb +40 -0
- data/lib/mrbin/xzcommand/xzmr.rb +1 -1
- data/lib/mrbin/xzcommand/xzupversion.rb +126 -0
- data/lib/newfile.key.pem +20 -0
- metadata +9 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac3bd4cbc3a61f5751ed19c81d9437aa004c66799c3a8483a0407768d79b74e9
|
4
|
+
data.tar.gz: 3c696cd7c47d25a05392ae73f465abae72cdc38b623cec6fdc244742d8711b2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5c6e0a262ec4d3786f363abfd43fe56ca257054789ebb681e93c650bc202c8f46a7d58db486ccb354bf653025d82a981d979190c2e808ff24f06f9b9b4da056
|
7
|
+
data.tar.gz: d1f11fdca14a890c37075546f322b85f74a2150383fd5caf9287d48807295e10ebd3efc3938759af2242490ce3c1b2bcedba7e6194e53e7ee54c76b41c260981
|
data/.DS_Store
ADDED
Binary file
|
data/lib/filename.crt
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
Bag Attributes
|
2
|
+
friendlyName: imgsec.xiaozhustatic1.com
|
3
|
+
localKeyID: 9E 6C 12 26 46 73 85 F7 15 BC 1C F9 D9 F1 01 42 E1 AD 56 EA
|
4
|
+
subject=/C=cn/ST=Beijing/O=xiaozhu.com/OU=develop/CN=imgsec.xiaozhustatic1.com
|
5
|
+
issuer=/C=cn/ST=Beijing/L=Beijing/O=xiaozhu.com/OU=develop/CN=imgsec.xiaozhustatic1.com
|
6
|
+
-----BEGIN CERTIFICATE-----
|
7
|
+
MIIDVzCCAsCgAwIBAgIBKTANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJjbjEQ
|
8
|
+
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEUMBIGA1UEChMLeGlh
|
9
|
+
b3podS5jb20xEDAOBgNVBAsTB2RldmVsb3AxIjAgBgNVBAMTGWltZ3NlYy54aWFv
|
10
|
+
emh1c3RhdGljMS5jb20wHhcNMTUwMTEwMTIyODQzWhcNMjUwMTA3MTIyODQzWjBr
|
11
|
+
MQswCQYDVQQGEwJjbjEQMA4GA1UECBMHQmVpamluZzEUMBIGA1UEChMLeGlhb3po
|
12
|
+
dS5jb20xEDAOBgNVBAsTB2RldmVsb3AxIjAgBgNVBAMTGWltZ3NlYy54aWFvemh1
|
13
|
+
c3RhdGljMS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANVL9qeLh4Yu
|
14
|
+
7VTf/i+iY0GRsUz/vKObZUI7+NgQ/zrbdXpYVBnnia5f2JJRRrcnFG/f1F9flgOd
|
15
|
+
MVyHQu+Y2ty1DiOTQ0ufdaAEtKZeGoDcbgHFsfTFY+JfiUtO5UpuwMglz5OdIwRs
|
16
|
+
p6vUjDaBhW34o3jlk6/3a6VmbQZ8E5V/AgMBAAGjgfgwgfUwCQYDVR0TBAIwADAs
|
17
|
+
BglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYD
|
18
|
+
VR0OBBYEFJ5sEiZGc4X3Fbwc+dnxAULhrVbqMIGaBgNVHSMEgZIwgY+hgYGkfzB9
|
19
|
+
MQswCQYDVQQGEwJjbjEQMA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamlu
|
20
|
+
ZzEUMBIGA1UEChMLeGlhb3podS5jb20xEDAOBgNVBAsTB2RldmVsb3AxIjAgBgNV
|
21
|
+
BAMTGWltZ3NlYy54aWFvemh1c3RhdGljMS5jb22CCQC2kTPc10/8jzANBgkqhkiG
|
22
|
+
9w0BAQUFAAOBgQAGymZrVnFpcetadS8NpsfCmX0Cn6Tee5bPvZpEdpnpHqmEs5Ep
|
23
|
+
folTLuh+ssaB+F9sOVMI8hqVV2oG+ulwqmuDcJoyY9i17Apc6/ak6aZPUyekft6f
|
24
|
+
zV8WevZO1u3BmPViMiV0ws3TUIMXAcj0xIhp3RiFnFqT5lv8jrrjZvvscA==
|
25
|
+
-----END CERTIFICATE-----
|
data/lib/mrbin/.DS_Store
ADDED
Binary file
|
data/lib/mrbin/command.rb
CHANGED
data/lib/mrbin/gemversion.rb
CHANGED
@@ -0,0 +1,68 @@
|
|
1
|
+
require 'set'
|
2
|
+
require 'find'
|
3
|
+
module XZGit
|
4
|
+
class XZDevGit < XZGit::Command
|
5
|
+
self.summary = 'DevPods git command'
|
6
|
+
|
7
|
+
def self.options
|
8
|
+
[
|
9
|
+
['--exclude','exclude pod name']
|
10
|
+
].concat(super)
|
11
|
+
end
|
12
|
+
|
13
|
+
def initialize(argv)
|
14
|
+
@exclude = argv.option('exclude','').split(',')
|
15
|
+
@gitcommands = argv.arguments
|
16
|
+
super
|
17
|
+
end
|
18
|
+
|
19
|
+
def validate!
|
20
|
+
root_path = Dir.pwd()
|
21
|
+
dev_path = "#{root_path}/DevPods"
|
22
|
+
if File.directory?(dev_path) && !Dir.empty?(dev_path)
|
23
|
+
puts "devpods path --> #{dev_path}"
|
24
|
+
else
|
25
|
+
puts "DevPods does not exist or DevPods is empty"
|
26
|
+
exit(1)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def run
|
31
|
+
pods = excutepods()
|
32
|
+
excutecommand(pods)
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
def excutepods
|
37
|
+
root_path = Dir.pwd()
|
38
|
+
dev_path = "#{root_path}/DevPods"
|
39
|
+
pods = Set.new
|
40
|
+
Find.find(dev_path) do |file|
|
41
|
+
filename = File.basename(file)
|
42
|
+
if filename.end_with?('.podspec')
|
43
|
+
filepath = File.dirname(file)
|
44
|
+
pods << filepath
|
45
|
+
podname = filename.split('.')[0]
|
46
|
+
if @exclude.include?(podname)
|
47
|
+
pods.delete(filepath)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
pods
|
52
|
+
end
|
53
|
+
|
54
|
+
def excutecommand(paths)
|
55
|
+
if @gitcommands.count > 0 && paths.count > 0
|
56
|
+
paths.each do |path|
|
57
|
+
commandarr = []
|
58
|
+
commandarr << 'git'
|
59
|
+
commandarr << '-C'
|
60
|
+
commandarr << path
|
61
|
+
commandarr << @gitcommands
|
62
|
+
commandstr = commandarr.join(' ')
|
63
|
+
system(commandstr)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
|
2
|
+
module XZGit
|
3
|
+
class XZInteCommit < XZGit::Command
|
4
|
+
self.summary = 'read all commit pods from podfile'
|
5
|
+
|
6
|
+
def self.options
|
7
|
+
[
|
8
|
+
['--std','target branch name'],
|
9
|
+
].concat(super)
|
10
|
+
end
|
11
|
+
|
12
|
+
def initialize(argv)
|
13
|
+
@std = argv.flag?('std',false)
|
14
|
+
super
|
15
|
+
end
|
16
|
+
|
17
|
+
def validate!
|
18
|
+
super
|
19
|
+
pwdpath = Dir.pwd.strip
|
20
|
+
podfilepath = "#{pwdpath}/Podfile"
|
21
|
+
if !File.exist?(podfilepath)
|
22
|
+
puts "can not found Podfile, please inspect your project path"
|
23
|
+
exit(1)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def run
|
28
|
+
pwdpath = Dir.pwd.strip
|
29
|
+
podfilepath = "#{pwdpath}/Podfile"
|
30
|
+
if @std
|
31
|
+
res = `cat #{podfilepath} | grep commit | grep -v MJRefresh | grep -v XZMonitor`
|
32
|
+
puts res
|
33
|
+
else
|
34
|
+
`cat #{podfilepath} | grep commit | grep -v MJRefresh | grep -v XZMonitor > commit.txt`
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
data/lib/mrbin/xzcommand/xzmr.rb
CHANGED
@@ -0,0 +1,126 @@
|
|
1
|
+
require 'uri'
|
2
|
+
require 'digest'
|
3
|
+
require 'net/http'
|
4
|
+
require 'find'
|
5
|
+
require 'json'
|
6
|
+
module XZGit
|
7
|
+
class XZUpVersion < XZGit::Command
|
8
|
+
self.summary = 'update xzteanant version && update global api'
|
9
|
+
def self.options
|
10
|
+
[
|
11
|
+
['--version','new version']
|
12
|
+
].concat(super)
|
13
|
+
end
|
14
|
+
def initialize(argv)
|
15
|
+
@version = argv.option('version','')
|
16
|
+
super
|
17
|
+
end
|
18
|
+
|
19
|
+
def validate!
|
20
|
+
super
|
21
|
+
if @version.empty?
|
22
|
+
puts "--version is required"
|
23
|
+
exit(1)
|
24
|
+
end
|
25
|
+
root_path = Dir.pwd()
|
26
|
+
dev_path = "#{root_path}/Podfile"
|
27
|
+
if !File.exist?(dev_path)
|
28
|
+
puts "not found podfile,must excute in podfile directory"
|
29
|
+
exit(1)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def run
|
34
|
+
update_app_version(@version)
|
35
|
+
updateserver(@version)
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def update_app_version(version)
|
41
|
+
Find.find(Dir.pwd()) do |file|
|
42
|
+
filename = File.basename(file)
|
43
|
+
if !file.include?('DevPods')
|
44
|
+
if filename == 'XZAppDelegate.m'
|
45
|
+
content = File.read(file)
|
46
|
+
content = content.gsub(/setGlobalAPIVersion\(@"(.)+?"\);/,"setGlobalAPIVersion(@\"#{version}\");")
|
47
|
+
File.open(file,'w') do |wf|
|
48
|
+
wf.write(content)
|
49
|
+
end
|
50
|
+
elsif filename == 'XZTenant-Info.plist'
|
51
|
+
`plutil -replace CFBundleShortVersionString -string #{version} #{file}`
|
52
|
+
elsif filename == 'Info.plist' && file.include?('SiriShortcuts')
|
53
|
+
`plutil -replace CFBundleShortVersionString -string #{version} #{file}`
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def updateserver(version)
|
61
|
+
timestamp = Time.now.to_i
|
62
|
+
urlpath = "https://securewireless.xiaozhu.com/app/xzfk/ios/#{version}/global/preInformation?"
|
63
|
+
idfap = "uniqueId=8D6CCD72-D9C3-4949-A719-959F8EDFA396&"
|
64
|
+
bundletype = "bundleType=xiaozhu&"
|
65
|
+
timestap = "_={#{timestamp}}&"
|
66
|
+
typestr = "type=serverSideContents"
|
67
|
+
url = urlpath+idfap+bundletype+timestap+typestr
|
68
|
+
uri = parseurl(url)
|
69
|
+
startrequest(uri)
|
70
|
+
end
|
71
|
+
|
72
|
+
def parseurl(urlstr)
|
73
|
+
uri = URI(urlstr)
|
74
|
+
querystr = uri.query
|
75
|
+
queryarr = querystr.split('&')
|
76
|
+
parameters = Hash.new
|
77
|
+
queryarr.each do |para|
|
78
|
+
paraarr = para.split('=')
|
79
|
+
parameters[paraarr[0]] = paraarr[1]
|
80
|
+
end
|
81
|
+
allkeys = parameters.keys.sort()
|
82
|
+
kw = uri.path
|
83
|
+
allkeys.each do |key|
|
84
|
+
kw = kw + '|' + key
|
85
|
+
kw = kw + '|' + parameters[key]
|
86
|
+
end
|
87
|
+
kw += '|2016v001'
|
88
|
+
kcount = URI.encode_www_form_component(kw).length
|
89
|
+
kcount = kcount % 5 + 2
|
90
|
+
sign = kw
|
91
|
+
while kcount > 0
|
92
|
+
sign = Digest::MD5.hexdigest(sign)
|
93
|
+
kcount -= 1
|
94
|
+
end
|
95
|
+
parameters['xzsign'] = 'md5_' + sign
|
96
|
+
new_query = URI.encode_www_form(parameters)
|
97
|
+
uri.query = new_query
|
98
|
+
uri
|
99
|
+
end
|
100
|
+
|
101
|
+
def startrequest(uri)
|
102
|
+
https = Net::HTTP.new(uri.host, Net::HTTP.https_default_port)
|
103
|
+
https.use_ssl = true
|
104
|
+
https.ssl_timeout = 2
|
105
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
106
|
+
libpath = File.expand_path('../../../../lib',__FILE__)
|
107
|
+
https.cert = OpenSSL::X509::Certificate.new(File.read("#{libpath}/filename.crt"))
|
108
|
+
https.key = OpenSSL::PKey::RSA.new(File.read("#{libpath}/newfile.key.pem"))
|
109
|
+
https.start do |http|
|
110
|
+
req = Net::HTTP::Get.new(uri)
|
111
|
+
res = https.request(req)
|
112
|
+
if res.code == '200'
|
113
|
+
jsres = JSON.parse(res.body)
|
114
|
+
if jsres['status'] == 200
|
115
|
+
File.open('XZServerContents.json','w') do |resf|
|
116
|
+
JSON.dump(jsres,resf)
|
117
|
+
end
|
118
|
+
`plutil -convert xml1 XZServerContents.json -o XZServerContents.plist`
|
119
|
+
`rm XZServerContents.json`
|
120
|
+
`mv XZServerContents.plist XZTenant/XZServerContents.plist`
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
data/lib/newfile.key.pem
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Bag Attributes
|
2
|
+
friendlyName: 5370DDFC
|
3
|
+
localKeyID: 9E 6C 12 26 46 73 85 F7 15 BC 1C F9 D9 F1 01 42 E1 AD 56 EA
|
4
|
+
Key Attributes: <No Attributes>
|
5
|
+
-----BEGIN PRIVATE KEY-----
|
6
|
+
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBANVL9qeLh4Yu7VTf
|
7
|
+
/i+iY0GRsUz/vKObZUI7+NgQ/zrbdXpYVBnnia5f2JJRRrcnFG/f1F9flgOdMVyH
|
8
|
+
Qu+Y2ty1DiOTQ0ufdaAEtKZeGoDcbgHFsfTFY+JfiUtO5UpuwMglz5OdIwRsp6vU
|
9
|
+
jDaBhW34o3jlk6/3a6VmbQZ8E5V/AgMBAAECgYAY9aOuZXh9bj5dgTyobFM7GAZs
|
10
|
+
YTy81HFb99Kdzhdf1tB/eZiV029cFWEtdg9VXWBZ2xJp+rB+ScW98yIVEYkCtgXq
|
11
|
+
Jgxc4DT3NnJmlW6T4Gc7M4QnrmorrKH4IdiOEiNPPEkDMd1sEHN0dBEHSDlDOJqh
|
12
|
+
776ntBSQK/n9F3C38QJBAO5tiG0JBsYZBlSkdZpcv9ysBMU2ephW7GxhHYzQVOdt
|
13
|
+
zNNPQgSCHzXcUbulX1Gfus5X/AeGo8RuMO/awowgVAkCQQDlBEbDVek7cNlD2r8K
|
14
|
+
Z1prX/6USDsIgNLfcMpjfXpt4AEtcJ0TN4Nx5SAYyRYaJeCAUq4XjAO6rO5i8Bj2
|
15
|
+
Ic9HAkBJrKj6YE6qifMN1p/MahqTOshilDn/tuRpfPzflUSXGrOvHA+fSwIP55uN
|
16
|
+
60Tv+PaFamSjgrQ6L36Jr0RsflTZAkAes84QzemwsFZQRHksGeMDViE5G93eK/cZ
|
17
|
+
QXPAlsfdBxThVKGaO+0BTehZqkuuQbmxOmRgf8LYOerTlMCj7rBtAkEAoCwQoGUo
|
18
|
+
/HLqV+1uJ+LV2BmxUqoPfxbMTqQWTMLoXVwlDhAGr21Ex0Se3+HkCkfs1t+irIiJ
|
19
|
+
DX/3bvS9RjyuQA==
|
20
|
+
-----END PRIVATE KEY-----
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: XZMRBin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- liushuhua
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-11-
|
11
|
+
date: 2019-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -46,14 +46,21 @@ executables:
|
|
46
46
|
extensions: []
|
47
47
|
extra_rdoc_files: []
|
48
48
|
files:
|
49
|
+
- ".DS_Store"
|
49
50
|
- LICENSE.txt
|
50
51
|
- XZMRBin.gemspec
|
51
52
|
- bin/xzmr
|
53
|
+
- lib/filename.crt
|
52
54
|
- lib/mrbin.rb
|
55
|
+
- lib/mrbin/.DS_Store
|
53
56
|
- lib/mrbin/command.rb
|
54
57
|
- lib/mrbin/config.rb
|
55
58
|
- lib/mrbin/gemversion.rb
|
59
|
+
- lib/mrbin/xzcommand/xzdevgit.rb
|
60
|
+
- lib/mrbin/xzcommand/xzintegratecommit.rb
|
56
61
|
- lib/mrbin/xzcommand/xzmr.rb
|
62
|
+
- lib/mrbin/xzcommand/xzupversion.rb
|
63
|
+
- lib/newfile.key.pem
|
57
64
|
homepage: https://github.com/EXAMPLE/cocoapods-xzdevelop
|
58
65
|
licenses:
|
59
66
|
- MIT
|