imperituroard 0.5.7 → 0.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/.DS_Store +0 -0
- data/lib/imperituroard/.DS_Store +0 -0
- data/lib/imperituroard/platforms/cps/cps_multiple_thread_req.rb +0 -0
- data/lib/imperituroard/platforms/staros/staros_automation.rb +95 -0
- data/lib/imperituroard/platforms/staros/staros_automation_fun.rb +37 -0
- data/lib/imperituroard/projects/mhub.rb +2 -0
- data/lib/imperituroard/projects/mhub/sk.rb +171 -157
- data/lib/imperituroard/projects/mhub/subs/dabrab/dabrab_proced.rb +124 -12
- data/lib/imperituroard/projects/ukaz60.rb +4 -2
- data/lib/imperituroard/projects/ukaz60/belgim.rb +5 -1
- data/lib/imperituroard/projects/ukaz60/fortigate.rb +23 -0
- data/lib/imperituroard/projects/ukaz60/staros.rb +15 -0
- data/lib/imperituroard/projects/ukaz60/ukaz60_add_func.rb +12 -3
- data/lib/imperituroard/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dec8fb3791d83727a6bfd54fc71889481af42b42
|
4
|
+
data.tar.gz: 583739817cad732740861c08845910e849770b55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27b131265896d1793261ea994a011e436171f6d5e74bc0c11a4d2e7039545a715ca693be6faab217e321d52e41ae92a6488fb00027c9c2a3beab8fc24b4f198b
|
7
|
+
data.tar.gz: c5d72b86f1168829d5287c14120f70705a1bfb317ee896071d84b161a0a6b2ec3495a3e3c525a2e1aa2aa0a7d530c78f76c8d790dfe0a290a9c56401a7d9f71e
|
data/lib/.DS_Store
CHANGED
Binary file
|
data/lib/imperituroard/.DS_Store
CHANGED
Binary file
|
File without changes
|
@@ -0,0 +1,95 @@
|
|
1
|
+
require 'net/ssh'
|
2
|
+
|
3
|
+
staros_thr_1233 = []
|
4
|
+
conf = {}
|
5
|
+
|
6
|
+
staros_hosts = {
|
7
|
+
#5700
|
8
|
+
}
|
9
|
+
|
10
|
+
def printer (config)
|
11
|
+
for gggg1 in config
|
12
|
+
|
13
|
+
p ""
|
14
|
+
p ""
|
15
|
+
p "##{gggg1[0]}"
|
16
|
+
for jjj in gggg1[1]
|
17
|
+
p jjj
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
staros_hosts.each do |ggsn|
|
23
|
+
staros_thr_1233 << Thread.new do
|
24
|
+
|
25
|
+
p ggsn
|
26
|
+
|
27
|
+
begin
|
28
|
+
|
29
|
+
conf[ggsn[0]] = []
|
30
|
+
|
31
|
+
Net::SSH.start(ggsn[1], "ывапывап", :password => "пыапыва") do |ssh|
|
32
|
+
staros_answer = ssh.exec!("show configuration context Ga | grep edr")
|
33
|
+
|
34
|
+
regexp = /file name (\S+) rotation volume (\d+) rotation time \d+ storage-limit \d+ headers edr-format-name compression gzip file-sequence-number rulebase-seq-num/
|
35
|
+
|
36
|
+
ggg = staros_answer.match(regexp)
|
37
|
+
conf[ggsn[0]].push("configure")
|
38
|
+
conf[ggsn[0]].push("context Ga")
|
39
|
+
conf[ggsn[0]].push("edr-module active-charging-service charging")
|
40
|
+
conf[ggsn[0]].push("file name #{ggg[1]} rotation volume 40000000 rotation time 600 storage-limit 536870912 headers edr-format-name compression gzip file-sequence-number rulebase-seq-num")
|
41
|
+
conf[ggsn[0]].push("end")
|
42
|
+
|
43
|
+
#config
|
44
|
+
# staros_answer1 = ssh.exec!("configure")
|
45
|
+
# p staros_answer1
|
46
|
+
# staros_answer2 = ssh.exec!("context Ga")
|
47
|
+
# p staros_answer2
|
48
|
+
# staros_answer3 = ssh.exec!("edr-module active-charging-service charging")
|
49
|
+
# p staros_answer3
|
50
|
+
# staros_answer4 = ssh.exec!("file name #{ggg[1]} rotation volume 40000000 rotation time 600 storage-limit 536870912 headers edr-format-name compression gzip file-sequence-number rulebase-seq-num")
|
51
|
+
# p staros_answer4
|
52
|
+
# staros_answer5 = ssh.exec!("end")
|
53
|
+
# p staros_answer5
|
54
|
+
|
55
|
+
#check
|
56
|
+
staros_answer7 = ssh.exec!("show configuration | grep hostname")
|
57
|
+
reggg = /system hostname (\S+)/
|
58
|
+
hostname_this = staros_answer7.match(reggg)[1]
|
59
|
+
|
60
|
+
staros_answer8 = ssh.exec!("show configuration context Ga | grep edr")
|
61
|
+
regexp2 = /file name (\S+) rotation volume (\d+) rotation time \d+ storage-limit \d+ headers edr-format-name compression gzip file-sequence-number rulebase-seq-num/
|
62
|
+
|
63
|
+
ggg2 = staros_answer8.match(regexp2)
|
64
|
+
|
65
|
+
a1 = ggg2[1].gsub("edr-", "")
|
66
|
+
#p a1
|
67
|
+
#p hostname_this
|
68
|
+
#p ggg2
|
69
|
+
|
70
|
+
if a1 != hostname_this
|
71
|
+
p "incorrect: #{hostname_this}"
|
72
|
+
end
|
73
|
+
|
74
|
+
|
75
|
+
if ggg2[2] == "40000000"
|
76
|
+
else
|
77
|
+
p "incorrect value: #{hostname_this}"
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
81
|
+
|
82
|
+
rescue
|
83
|
+
|
84
|
+
p "#{ggsn[0]} ERROR"
|
85
|
+
|
86
|
+
end
|
87
|
+
|
88
|
+
end
|
89
|
+
end
|
90
|
+
staros_thr_1233.each(&:join)
|
91
|
+
|
92
|
+
#p conf
|
93
|
+
|
94
|
+
|
95
|
+
#printer(conf)
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'net/ssh'
|
2
|
+
|
3
|
+
class StarosAutomationFun
|
4
|
+
|
5
|
+
attr_accessor :ignore_y
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@ignore_y = 1 #1-yes, 0-no
|
9
|
+
end
|
10
|
+
|
11
|
+
def staros_massive_command(staros_hosts, staros_login, staros_password, command_array)
|
12
|
+
|
13
|
+
|
14
|
+
staros_thr_pool_222 = []
|
15
|
+
|
16
|
+
staros_hosts.each do |ggsn|
|
17
|
+
staros_thr_pool_222 << Thread.new do
|
18
|
+
|
19
|
+
Net::SSH.start(ggsn[1], staros_login, :password => staros_password) do |session|
|
20
|
+
|
21
|
+
gg = session.exec!("context AAA")
|
22
|
+
p gg
|
23
|
+
gg1 = session.exec!("show subscribers summary")
|
24
|
+
p gg1
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
staros_thr_pool_222.each(&:join)
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
@@ -51,6 +51,7 @@ class MhubFunctions_2
|
|
51
51
|
# "notifyContentType"=>"application/json"}}
|
52
52
|
|
53
53
|
|
54
|
+
#for bank dabrabyt
|
54
55
|
def get_send_message_2(params, ip_src, ip_real, ip_vip)
|
55
56
|
|
56
57
|
input_params = {:params => params}
|
@@ -123,6 +124,7 @@ class MhubFunctions_2
|
|
123
124
|
end
|
124
125
|
|
125
126
|
|
127
|
+
#for bank dabrabyt
|
126
128
|
def rec_deliv_report_2(params, ip_src, ip_real, ip_vip)
|
127
129
|
input_params = {:params => params, :ip_src => ip_src, :ip_real => ip_real, :ip_vip => ip_vip}
|
128
130
|
output_params = {}
|
@@ -1,8 +1,9 @@
|
|
1
1
|
require 'imperituroard/projects/iot/internal_functions'
|
2
|
+
require 'imperituroard/projects/mhub/subs/dabrab/dabrab_proced'
|
2
3
|
|
3
4
|
class Sksk_2
|
4
5
|
|
5
|
-
attr_accessor :sk_url, :sk_url_broadcast, :sk_login, :sk_password, :internal_func, :telegram_connector
|
6
|
+
attr_accessor :sk_url, :sk_url_broadcast, :sk_login, :sk_password, :internal_func, :telegram_connector, :dabrab_add_func
|
6
7
|
|
7
8
|
def initialize(sk_url, sk_login, sk_password, sk_url_broadcast, telegram_api_url, telegram_chat_id)
|
8
9
|
@sk_url = sk_url
|
@@ -11,6 +12,7 @@ class Sksk_2
|
|
11
12
|
@internal_func = InternalFunc.new
|
12
13
|
@sk_url_broadcast = sk_url_broadcast
|
13
14
|
@telegram_connector = Telegram_2.new(telegram_api_url, telegram_chat_id)
|
15
|
+
@dabrab_add_func = Dabrab.new
|
14
16
|
end
|
15
17
|
|
16
18
|
|
@@ -82,50 +84,49 @@ class Sksk_2
|
|
82
84
|
request_message = {}
|
83
85
|
|
84
86
|
begin
|
85
|
-
|
86
87
|
thr_sk_send_viber_one = Thread.new do
|
88
|
+
viber_mess_ans = dabrab_add_func.dabrabyt_text_field_parse(text)
|
89
|
+
|
90
|
+
if viber_mess_ans[:code] == 200
|
91
|
+
uri = URI(sk_url)
|
92
|
+
#8 - client id
|
93
|
+
|
94
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
95
|
+
https.use_ssl=true
|
96
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
97
|
+
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
98
|
+
|
99
|
+
req.basic_auth sk_login, sk_password
|
100
|
+
|
101
|
+
req["Content-Type"] = "application/json"
|
102
|
+
req["Accept"] = "application/json"
|
103
|
+
|
104
|
+
request_message = {
|
105
|
+
"phone_number": msisdn,
|
106
|
+
#"extra_id": "4232j4h89932kjhs",
|
107
|
+
"callback_url": callback_url,
|
108
|
+
#"start_time": "2019-08-16 09:59:10",
|
109
|
+
"tag": "Dabrab_custom_api_1",
|
110
|
+
"channels": [
|
111
|
+
"viber"
|
112
|
+
],
|
113
|
+
"channel_options": {
|
114
|
+
"viber": viber_mess_ans[:body][:to_sk_format]
|
115
|
+
}
|
116
|
+
}
|
117
|
+
req.body = request_message.to_json
|
118
|
+
res = https.request(req)
|
119
|
+
output_params = {:code => 200,
|
120
|
+
:result => "Sksk_2.sk_send_viber_one: Request processed",
|
121
|
+
:body => {:request_message => request_message,
|
122
|
+
:res_code => res.code,
|
123
|
+
:res_body => JSON.parse(res.body.to_s)}}
|
124
|
+
|
125
|
+
else
|
126
|
+
output_params = {:code => 508, :result => "Sksk_2.sk_send_viber_one: Something wrong with dabrabyt_text_field_parse"}
|
127
|
+
end
|
87
128
|
|
88
129
|
|
89
|
-
uri = URI(sk_url)
|
90
|
-
#8 - client id
|
91
|
-
|
92
|
-
https = Net::HTTP.new(uri.host, uri.port)
|
93
|
-
https.use_ssl=true
|
94
|
-
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
95
|
-
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
96
|
-
|
97
|
-
req.basic_auth sk_login, sk_password
|
98
|
-
|
99
|
-
req["Content-Type"] = "application/json"
|
100
|
-
req["Accept"] = "application/json"
|
101
|
-
|
102
|
-
request_message = {
|
103
|
-
"phone_number": msisdn,
|
104
|
-
#"extra_id": "4232j4h89932kjhs",
|
105
|
-
"callback_url": callback_url,
|
106
|
-
#"start_time": "2019-08-16 09:59:10",
|
107
|
-
"tag": "Dabrab_custom_api_1",
|
108
|
-
"channels": [
|
109
|
-
"viber"
|
110
|
-
],
|
111
|
-
"channel_options": {
|
112
|
-
"viber": {
|
113
|
-
"text": text,
|
114
|
-
"ttl": 60,
|
115
|
-
# "img": "http://olddogs.org/logo.png",
|
116
|
-
# "caption": "Old Dogs need you!",
|
117
|
-
# "action": "http://olddogs.org",
|
118
|
-
},
|
119
|
-
}
|
120
|
-
}
|
121
|
-
req.body = request_message.to_json
|
122
|
-
res = https.request(req)
|
123
|
-
output_params = {:code => 200,
|
124
|
-
:result => "Sksk_2.sk_send_viber_one: Request processed",
|
125
|
-
:body => {:request_message => request_message,
|
126
|
-
:res_code => res.code,
|
127
|
-
:res_body => JSON.parse(res.body.to_s)}}
|
128
|
-
|
129
130
|
end
|
130
131
|
|
131
132
|
thr_sk_send_viber_one.join
|
@@ -149,53 +150,54 @@ class Sksk_2
|
|
149
150
|
|
150
151
|
thr_sk_send_viber_sms_one = Thread.new do
|
151
152
|
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
153
|
+
viber_mess_ans = dabrab_add_func.dabrabyt_text_field_parse(viber_txt)
|
154
|
+
|
155
|
+
if viber_mess_ans[:code] == 200
|
156
|
+
uri = URI(sk_url)
|
157
|
+
#8 - client id
|
158
|
+
|
159
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
160
|
+
https.use_ssl=true
|
161
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
162
|
+
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
163
|
+
|
164
|
+
req.basic_auth sk_login, sk_password
|
165
|
+
|
166
|
+
req["Content-Type"] = "application/json"
|
167
|
+
req["Accept"] = "application/json"
|
168
|
+
|
169
|
+
request_message = {
|
170
|
+
"phone_number": msisdn,
|
171
|
+
#"extra_id": "4232j4h89932kjhs",
|
172
|
+
"callback_url": callback_url,
|
173
|
+
#"start_time": "2019-08-16 09:59:10",
|
174
|
+
"tag": "Dabrab_custom_api_1",
|
175
|
+
"channels": [
|
176
|
+
"viber",
|
177
|
+
"sms"
|
178
|
+
],
|
179
|
+
"channel_options": {
|
180
|
+
"sms": {
|
181
|
+
"text": sms_text,
|
182
|
+
"alpha_name": alphaname,
|
183
|
+
"ttl": 600
|
184
|
+
},
|
185
|
+
"viber": viber_mess_ans[:body][:to_sk_format]
|
186
|
+
}
|
187
|
+
}
|
188
|
+
|
189
|
+
req.body = request_message.to_json
|
190
|
+
res = https.request(req)
|
191
|
+
|
192
|
+
output_params = {:code => 200,
|
193
|
+
:result => "Sksk_2.sk_send_viber_sms_one: Request processed",
|
194
|
+
:body => {:request_message => request_message,
|
195
|
+
:res_code => res.code,
|
196
|
+
:res_body => JSON.parse(res.body.to_s)}}
|
197
|
+
|
198
|
+
else
|
199
|
+
output_params = {:code => 508, :result => "Sksk_2.sk_send_viber_sms_one: Something wrong with dabrabyt_text_field_parse"}
|
200
|
+
end
|
199
201
|
|
200
202
|
end
|
201
203
|
|
@@ -281,44 +283,49 @@ class Sksk_2
|
|
281
283
|
begin
|
282
284
|
|
283
285
|
thr_sk_send_viber_list = Thread.new do
|
284
|
-
uri = URI(sk_url_broadcast)
|
285
|
-
#8 - client id
|
286
286
|
|
287
|
-
|
288
|
-
https.use_ssl = true
|
289
|
-
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
290
|
-
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
287
|
+
viber_mess_ans = dabrab_add_func.dabrabyt_text_field_parse(text)
|
291
288
|
|
292
|
-
|
293
|
-
|
289
|
+
if viber_mess_ans[:code] == 200
|
290
|
+
uri = URI(sk_url_broadcast)
|
291
|
+
#8 - client id
|
294
292
|
|
295
|
-
|
293
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
294
|
+
https.use_ssl = true
|
295
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
296
|
+
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
296
297
|
|
298
|
+
req["Content-Type"] = "application/json"
|
299
|
+
req["Accept"] = "application/json"
|
297
300
|
|
298
|
-
|
299
|
-
request_message = {
|
300
|
-
"recipients": msisdn_list,
|
301
|
-
"callback_url": callback_url,
|
302
|
-
"tag": "Dabrab_custom_api_1",
|
303
|
-
"channels": [
|
304
|
-
"viber"
|
305
|
-
],
|
306
|
-
"channel_options": {
|
307
|
-
"viber": {
|
308
|
-
"text": text,
|
309
|
-
"ttl": 60
|
310
|
-
}
|
311
|
-
}
|
312
|
-
}
|
301
|
+
req.basic_auth sk_login, sk_password
|
313
302
|
|
314
|
-
req.body = request_message.to_json
|
315
|
-
res = https.request(req)
|
316
303
|
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
304
|
+
# [{"phone_number": 375298766719}, {"phone_number": 375295730878}]
|
305
|
+
request_message = {
|
306
|
+
"recipients": msisdn_list,
|
307
|
+
"callback_url": callback_url,
|
308
|
+
"tag": "Dabrab_custom_api_1",
|
309
|
+
"channels": [
|
310
|
+
"viber"
|
311
|
+
],
|
312
|
+
"channel_options": {
|
313
|
+
"viber": viber_mess_ans[:body][:to_sk_format]
|
314
|
+
}
|
315
|
+
}
|
316
|
+
|
317
|
+
req.body = request_message.to_json
|
318
|
+
res = https.request(req)
|
319
|
+
|
320
|
+
output_params = {:code => 200,
|
321
|
+
:result => "Sksk_2.sk_send_viber_list: Request processed",
|
322
|
+
:body => {:request_message => request_message,
|
323
|
+
:res_code => res.code,
|
324
|
+
:res_body => JSON.parse(res.body.to_s)}}
|
325
|
+
else
|
326
|
+
output_params = {:code => 508, :result => "Sksk_2.sk_send_viber_list: Something wrong with dabrabyt_text_field_parse"}
|
327
|
+
end
|
328
|
+
|
322
329
|
end
|
323
330
|
thr_sk_send_viber_list.join
|
324
331
|
rescue
|
@@ -337,50 +344,57 @@ class Sksk_2
|
|
337
344
|
|
338
345
|
begin
|
339
346
|
thr_sk_send_viber_sms_list = Thread.new do
|
340
|
-
uri = URI(sk_url_broadcast)
|
341
|
-
#8 - client id
|
342
347
|
|
343
|
-
|
344
|
-
https.use_ssl = true
|
345
|
-
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
346
|
-
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
348
|
+
viber_mess_ans = dabrab_add_func.dabrabyt_text_field_parse(viber_text)
|
347
349
|
|
348
|
-
|
350
|
+
if viber_mess_ans[:code] == 200
|
349
351
|
|
352
|
+
uri = URI(sk_url_broadcast)
|
353
|
+
#8 - client id
|
350
354
|
|
351
|
-
|
352
|
-
|
355
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
356
|
+
https.use_ssl = true
|
357
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
358
|
+
req = Net::HTTP::Post.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
353
359
|
|
354
|
-
|
355
|
-
request_message = {
|
356
|
-
"recipients": msisdn_list,
|
357
|
-
"callback_url": callback_url,
|
358
|
-
"tag": "Dabrab_custom_api_1",
|
359
|
-
"channels": [
|
360
|
-
"viber",
|
361
|
-
"sms"
|
362
|
-
],
|
363
|
-
"channel_options": {
|
364
|
-
"sms": {
|
365
|
-
"alpha_name": alphaname,
|
366
|
-
"text": sms_text,
|
367
|
-
"ttl": 60
|
368
|
-
},
|
369
|
-
"viber": {
|
370
|
-
"text": viber_text,
|
371
|
-
"ttl": 60
|
372
|
-
}
|
373
|
-
}
|
374
|
-
}
|
360
|
+
req.basic_auth sk_login, sk_password
|
375
361
|
|
376
|
-
req.body = request_message.to_json
|
377
|
-
res = https.request(req)
|
378
362
|
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
363
|
+
req["Content-Type"] = "application/json"
|
364
|
+
req["Accept"] = "application/json"
|
365
|
+
|
366
|
+
# [{"phone_number": 375298766719}, {"phone_number": 375295730878}]
|
367
|
+
request_message = {
|
368
|
+
"recipients": msisdn_list,
|
369
|
+
"callback_url": callback_url,
|
370
|
+
"tag": "Dabrab_custom_api_1",
|
371
|
+
"channels": [
|
372
|
+
"viber",
|
373
|
+
"sms"
|
374
|
+
],
|
375
|
+
"channel_options": {
|
376
|
+
"sms": {
|
377
|
+
"alpha_name": alphaname,
|
378
|
+
"text": sms_text,
|
379
|
+
"ttl": 60
|
380
|
+
},
|
381
|
+
"viber": viber_mess_ans[:body][:to_sk_format]
|
382
|
+
}
|
383
|
+
}
|
384
|
+
|
385
|
+
req.body = request_message.to_json
|
386
|
+
res = https.request(req)
|
387
|
+
|
388
|
+
output_params = {:code => 200,
|
389
|
+
:result => "Sksk_2.sk_send_viber_sms_list: Request processed",
|
390
|
+
:body => {:request_message => request_message,
|
391
|
+
:res_code => res.code,
|
392
|
+
:res_body => JSON.parse(res.body.to_s)}}
|
393
|
+
|
394
|
+
else
|
395
|
+
output_params = {:code => 508, :result => "Sksk_2.sk_send_viber_sms_list: Something wrong with dabrabyt_text_field_parse"}
|
396
|
+
end
|
397
|
+
|
384
398
|
end
|
385
399
|
|
386
400
|
thr_sk_send_viber_sms_list.join
|
@@ -1,5 +1,117 @@
|
|
1
1
|
class Dabrab
|
2
2
|
|
3
|
+
def dabrabyt_text_field_parse(stri)
|
4
|
+
button_url = ""
|
5
|
+
image = ""
|
6
|
+
button_text = ""
|
7
|
+
text = stri
|
8
|
+
|
9
|
+
#############
|
10
|
+
#0 - Text only
|
11
|
+
#1 - Text + Button
|
12
|
+
#2 - Text + Image + Button
|
13
|
+
#3 - image only
|
14
|
+
#############
|
15
|
+
scheme = 0
|
16
|
+
scheme_dic = {0 => "Text only", 1 => "Text+Button", 2 => "Text+Image+Button", 3 => "Image only"}
|
17
|
+
#############
|
18
|
+
|
19
|
+
output_answer = {}
|
20
|
+
sk_format = {}
|
21
|
+
|
22
|
+
begin
|
23
|
+
|
24
|
+
regexp_image1 = /(image:(\S+)[\s\n]?)/
|
25
|
+
button_url1 = /(button_url:(\S+)[\s\n]?)/
|
26
|
+
button_text1 = /(button_text:["']([^"]+)["'][\s\n])/
|
27
|
+
|
28
|
+
button_url_dat = stri.scan(button_url1)
|
29
|
+
button_text_dat = stri.scan(button_text1)
|
30
|
+
image_dat = stri.scan(regexp_image1)
|
31
|
+
|
32
|
+
|
33
|
+
p button_url_dat
|
34
|
+
p button_text_dat
|
35
|
+
p image_dat
|
36
|
+
|
37
|
+
begin
|
38
|
+
if button_url_dat != [] && button_url_dat != nil && button_url_dat != ""
|
39
|
+
button_url = button_url_dat[0][1]
|
40
|
+
text = text.gsub(button_url_dat[0][0], "")
|
41
|
+
end
|
42
|
+
rescue
|
43
|
+
nil
|
44
|
+
end
|
45
|
+
|
46
|
+
begin
|
47
|
+
if button_text_dat != [] && button_text_dat != nil && button_text_dat != ""
|
48
|
+
button_text = button_text_dat[0][1]
|
49
|
+
text = text.gsub(button_text_dat[0][0], "")
|
50
|
+
end
|
51
|
+
rescue
|
52
|
+
nil
|
53
|
+
end
|
54
|
+
|
55
|
+
begin
|
56
|
+
if image_dat != [] && image_dat != nil && image_dat != ""
|
57
|
+
image = image_dat[0][1]
|
58
|
+
text = text.gsub(image_dat[0][0], "")
|
59
|
+
end
|
60
|
+
rescue
|
61
|
+
nil
|
62
|
+
end
|
63
|
+
text = text.gsub(/\s+$/, '').gsub(/\n$/, '')
|
64
|
+
|
65
|
+
|
66
|
+
if button_url != "" && button_text != "" && image != "" #111
|
67
|
+
scheme = 2
|
68
|
+
elsif button_url != "" && button_text != "" && image == "" #110
|
69
|
+
scheme = 1
|
70
|
+
elsif button_url == "" && button_text == "" && image != "" #001
|
71
|
+
if text == ""
|
72
|
+
scheme = 3
|
73
|
+
else
|
74
|
+
scheme = 2
|
75
|
+
button_url = image
|
76
|
+
button_text = "Открыть"
|
77
|
+
end
|
78
|
+
elsif button_url != "" && button_text == "" && image != "" #101
|
79
|
+
scheme = 2
|
80
|
+
button_text = "Открыть"
|
81
|
+
elsif button_url == "" && button_text != "" && image != "" #011
|
82
|
+
scheme = 2
|
83
|
+
button_url = image
|
84
|
+
elsif button_url == "" && button_text != "" && image == "" #010
|
85
|
+
scheme = 0
|
86
|
+
elsif button_url != "" && button_text == "" && image == "" #100
|
87
|
+
button_text = "Открыть"
|
88
|
+
scheme = 1
|
89
|
+
else
|
90
|
+
scheme = 0
|
91
|
+
end
|
92
|
+
|
93
|
+
if scheme==0
|
94
|
+
sk_format = {"text": text, "ttl": 60}
|
95
|
+
elsif scheme==1
|
96
|
+
sk_format = {"text": text, "ttl": 60, "caption": button_text, "action": button_url}
|
97
|
+
elsif scheme==2
|
98
|
+
sk_format = {"text": text, "ttl": 60, "caption": button_text, "action": button_url, "img": image}
|
99
|
+
elsif scheme==3
|
100
|
+
sk_format = {"img": image, "ttl": 60}
|
101
|
+
else
|
102
|
+
nil
|
103
|
+
end
|
104
|
+
|
105
|
+
p sk_format
|
106
|
+
|
107
|
+
output_answer ={:code => 200, :result => "Success", :body => {:to_sk_format => sk_format, :button_url => button_url, :image => image, :button_text => button_text, :text => text, :scheme => scheme, :scheme_dic => scheme_dic[scheme]}}
|
108
|
+
rescue
|
109
|
+
output_answer ={:code => 507, :result => "dabrabyt_text_field_parse: Unknown error"}
|
110
|
+
end
|
111
|
+
output_answer
|
112
|
+
end
|
113
|
+
|
114
|
+
|
3
115
|
def num_formatter(infobip_msisdn, extra_id)
|
4
116
|
#[{"to"=>{"phoneNumber"=>"375297116638", "emailAddress"=>nil}}]
|
5
117
|
# [{"phone_number": 375298766719}, {"phone_number": 375295730878}]
|
@@ -50,20 +162,20 @@ class Dabrab
|
|
50
162
|
status1 = {}
|
51
163
|
if a["processed"] == true && a["accepted"] == true
|
52
164
|
status1 = {"to": {"phoneNumber": a["phone_number"]},
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
165
|
+
"status": {"groupId": 1,
|
166
|
+
"groupName": "PENDING",
|
167
|
+
"id": 26,
|
168
|
+
"name": "MESSAGE_ACCEPTED",
|
169
|
+
"description": "Message sent to next instance"},
|
170
|
+
"messageId": a["message_id"]}
|
59
171
|
else
|
60
172
|
status1 = {"to": {"phoneNumber": a["phone_number"]},
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
173
|
+
"status": {"groupId": 5,
|
174
|
+
"groupName": "REJECTED",
|
175
|
+
"id": 21,
|
176
|
+
"name": "REJECTED_SYSTEM_ERROR",
|
177
|
+
"description": "Unknown error"},
|
178
|
+
"messageId": a["message_id"]}
|
67
179
|
end
|
68
180
|
|
69
181
|
messages_sect.append(status1)
|
@@ -53,13 +53,14 @@ class Ukaz60All_2
|
|
53
53
|
if format_for_forti[:code] == 200
|
54
54
|
url_uploading = forti_connector.upload_url(format_for_forti[:body][:to_fortigate])
|
55
55
|
if url_uploading[:code] == 200
|
56
|
-
update_fortigate_ansible = forti_connector.update_weburl_fortigate
|
56
|
+
#update_fortigate_ansible = forti_connector.update_weburl_fortigate
|
57
|
+
update_fortigate_ansible = forti_connector.update_weburl_fortimanager
|
57
58
|
if update_fortigate_ansible[:code] == 200
|
58
59
|
forti_answer = {:code => 200, :result => "Fortigate processed", :data => update_fortigate_ansible[:body][:body], :num_uploaded_to_forti => format_for_forti[:body][:num_list]}
|
59
60
|
else
|
60
61
|
forti_answer = {:code => update_fortigate_ansible[:code], :result => update_fortigate_ansible[:result]}
|
61
62
|
end
|
62
|
-
forti_connector.clean_tmp_folders
|
63
|
+
#forti_connector.clean_tmp_folders
|
63
64
|
else
|
64
65
|
forti_answer = {:code => 401, :result => "Failed for uploading data to ansible server"}
|
65
66
|
end
|
@@ -109,6 +110,7 @@ class Ukaz60All_2
|
|
109
110
|
|
110
111
|
begin
|
111
112
|
get_belgim_data = belgim_connector.belgim_ukaz60_get
|
113
|
+
p get_belgim_data
|
112
114
|
|
113
115
|
if get_belgim_data[:code] == 200
|
114
116
|
|
@@ -52,7 +52,11 @@ class Belgim_2
|
|
52
52
|
results = {}
|
53
53
|
|
54
54
|
# Get data from Belgim site by curl
|
55
|
-
|
55
|
+
curl_belgie_command = "curl -d \"name=#{belgim_login}&pass=#{belgim_password}\" -H \"Content-Type: application/x-www-form-urlencoded\" -X POST #{belgim_url} --insecure"
|
56
|
+
#return_from_belgim = `curl -d "name=#{belgim_login}&pass=#{belgim_password}" -H "Content-Type: application/x-www-form-urlencoded" -X POST #{belgim_url} --insecure`
|
57
|
+
return_from_belgim = `#{curl_belgie_command}`
|
58
|
+
p curl_belgie_command
|
59
|
+
|
56
60
|
return_from_belgim = return_from_belgim.gsub!("\n", "")
|
57
61
|
|
58
62
|
#parse Belgim file by regexpression
|
@@ -99,6 +99,29 @@ class FortiUkaz60_2
|
|
99
99
|
output_data
|
100
100
|
end
|
101
101
|
|
102
|
+
|
103
|
+
#2.1 function for process data to fortigate by fortimanager by ansible
|
104
|
+
# Full ready
|
105
|
+
def update_weburl_fortimanager
|
106
|
+
output_data = {}
|
107
|
+
begin
|
108
|
+
command = "/bin/bash /scripts/temp_fortimanager_url_upload.sh"
|
109
|
+
ansible_answer = ""
|
110
|
+
Net::SSH.start(ansible_host, ansible_ssh_user, :password => ansible_ssh_password) do |ssh|
|
111
|
+
ansible_answer = ssh.exec!(command)
|
112
|
+
end
|
113
|
+
p "ansible_answer: #{ansible_answer}"
|
114
|
+
|
115
|
+
#hh = "\nPLAY [ha_master] ***************************************************************\n\nTASK [set url table] ***********************************************************\nchanged: [gom32sg1]\nchanged: [bre32sg1]\nchanged: [min32sg1]\nchanged: [vit32sg1]\nchanged: [min32sg3]\nchanged: [gro32sg1]\nchanged: [mog32sg1]\n\nTASK [check current url table] *************************************************\nok: [min32sg1]\nok: [bre32sg1]\nok: [min32sg3]\nok: [vit32sg1]\nok: [gom32sg1]\nok: [gro32sg1]\nok: [mog32sg1]\n\nTASK [debug] *******************************************************************\nok: [min32sg1] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\nok: [min32sg3] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\nok: [bre32sg1] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\nok: [vit32sg1] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\nok: [gom32sg1] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\nok: [gro32sg1] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\nok: [mog32sg1] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\n\nPLAY RECAP *********************************************************************\nbre32sg1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \ngom32sg1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \ngro32sg1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \nmin32sg1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \nmin32sg3 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \nmog32sg1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \nvit32sg1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \n\n"
|
116
|
+
answ_pr = add_func_connector.ansible_answer_parse(ansible_answer)
|
117
|
+
output_data = {:code => 200, :result => "update_weburl_fortigate: Request completed", :body => answ_pr}
|
118
|
+
rescue
|
119
|
+
output_data = {:code => 507, :result => "update_weburl_fortigate: Unknown SDK error"}
|
120
|
+
end
|
121
|
+
add_functions_full.printer_texter(output_data, "debug")
|
122
|
+
output_data
|
123
|
+
end
|
124
|
+
|
102
125
|
#3 Clean all temp files
|
103
126
|
# Full ready
|
104
127
|
def clean_tmp_folders
|
@@ -1,4 +1,7 @@
|
|
1
1
|
require 'net/ssh'
|
2
|
+
require 'uri'
|
3
|
+
require "erb"
|
4
|
+
include ERB::Util
|
2
5
|
|
3
6
|
require 'imperituroard/platforms/staros/get_data_ssh'
|
4
7
|
|
@@ -124,3 +127,15 @@ class Ukaz60Staros_2
|
|
124
127
|
returned_data
|
125
128
|
end
|
126
129
|
end
|
130
|
+
|
131
|
+
|
132
|
+
uu ="/fgd?ef"
|
133
|
+
|
134
|
+
#ggg = uu.force_encoding('ASCII-8BIT')
|
135
|
+
#puts CGI.escape ggg
|
136
|
+
p url_encode("foo/bar? baz&")
|
137
|
+
|
138
|
+
p URI.parse("foo/bar? baz&").to_s
|
139
|
+
p URI::encode("foo/bar? baz&")
|
140
|
+
|
141
|
+
p URI.decode("newsx-ru.ru/by/251-potencia-spartagen-by/%3futm%20medium=251&utmcampaign=4&%20utm%20content=57849345&utm%20source=56960717")
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'imperituroard/add_functions/logger/any_functions'
|
2
|
+
require 'uri'
|
2
3
|
|
3
4
|
class AddFuncUkaz60_2
|
4
5
|
|
@@ -209,7 +210,7 @@ class AddFuncUkaz60_2
|
|
209
210
|
else
|
210
211
|
star_dom_x = star_url_curr
|
211
212
|
end
|
212
|
-
if belg_url.include?(star_dom_x)
|
213
|
+
if belg_url.include?(star_dom_x) || belg_url.include?(URI.decode(star_dom_x))
|
213
214
|
blocked = 1
|
214
215
|
for_unblock_tmp[star_host[:hostname]].push(star_dom)
|
215
216
|
end
|
@@ -245,6 +246,16 @@ class AddFuncUkaz60_2
|
|
245
246
|
rescue
|
246
247
|
output_answ = {:code => 507, :result => "staros_compare_http: Unknown SDK error"}
|
247
248
|
end
|
249
|
+
|
250
|
+
#p JSON.pretty_generate(output_answ)
|
251
|
+
p "staros_compare_http"
|
252
|
+
p output_answ
|
253
|
+
|
254
|
+
p "temp data"
|
255
|
+
for i in output_answ[:body][:for_unblock][:for_unblock]["vit11asr2"]
|
256
|
+
#for i in output_answ[:body][:for_block][:not_blocked_belgim]["vit11asr2"]
|
257
|
+
p i
|
258
|
+
end
|
248
259
|
output_answ
|
249
260
|
end
|
250
261
|
|
@@ -289,8 +300,6 @@ class AddFuncUkaz60_2
|
|
289
300
|
answ_out[:body][:to_message][:data][:unblock_me] = data[:body][:for_unblock][:for_unblock_stat]
|
290
301
|
end
|
291
302
|
|
292
|
-
|
293
|
-
|
294
303
|
answ_out
|
295
304
|
end
|
296
305
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: imperituroard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dzmitry Buynovskiy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -202,10 +202,13 @@ files:
|
|
202
202
|
- lib/imperituroard.rb
|
203
203
|
- lib/imperituroard/.DS_Store
|
204
204
|
- lib/imperituroard/add_functions/logger/any_functions.rb
|
205
|
+
- lib/imperituroard/platforms/cps/cps_multiple_thread_req.rb
|
205
206
|
- lib/imperituroard/platforms/cps/qps_connector.rb
|
206
207
|
- lib/imperituroard/platforms/cps/request_formatter.rb
|
207
208
|
- lib/imperituroard/platforms/public/telegram.rb
|
208
209
|
- lib/imperituroard/platforms/staros/get_data_ssh.rb
|
210
|
+
- lib/imperituroard/platforms/staros/staros_automation.rb
|
211
|
+
- lib/imperituroard/platforms/staros/staros_automation_fun.rb
|
209
212
|
- lib/imperituroard/platforms/staros/staros_parser.rb
|
210
213
|
- lib/imperituroard/projects/dns.rb
|
211
214
|
- lib/imperituroard/projects/iot.rb
|