Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
Aruba-Master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Aruba-Master
Commits
0f52ecbf
Commit
0f52ecbf
authored
Apr 17, 2020
by
Ahmad Nemati
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
init
parent
431e2f7a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
88 deletions
+28
-88
app.js
app.js
+1
-5
aruba.js
aruba.js
+25
-20
package.json
package.json
+1
-0
test.js
test.js
+1
-63
No files found.
app.js
View file @
0f52ecbf
...
...
@@ -83,11 +83,7 @@ async function addIPs(ip) {
await
postFloatingIps
([
ip
])
}
async
function
justDoIp
(
ip
)
{
addBaship
(
ip
)
await
postFloatingIps
([
ip
])
}
async
function
checkIps
()
{
let
ips
=
await
aruba
.
getAllIps
()
...
...
@@ -107,7 +103,7 @@ async function checkIps() {
await
aruba
.
RemovedByIp
(
ips
[
i
].
Value
)
break
case
1
:
await
justDoIp
(
ips
[
i
].
Value
)
await
addIPs
(
ips
[
i
].
Value
)
break
}
...
...
aruba.js
View file @
0f52ecbf
...
...
@@ -2,17 +2,17 @@ const request = require('request');
let
post
=
'
post
'
let
_
=
require
(
'
lodash
'
)
let
auth
=
{
Username
:
"
AWI-236440
"
,
Password
:
"
QVMUB653$H
"
}
let
ip
let
AvailDc
=
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
]
let
foundDc
let
masterIp
=
0
let
networkId
let
serverId
let
initData
=
false
//
tes
t()
//
ini
t()
async
function
test
()
{
ip
=
'
195.231.67.162
'
masterIp
=
'
195.231.67.55
'
for
(
let
i
=
0
;
i
<
AvailDc
.
length
;
i
++
)
{
let
servers
=
await
getAllServers
(
AvailDc
[
i
])
servers
=
servers
.
Value
...
...
@@ -22,13 +22,12 @@ async function test() {
for
(
let
j
=
0
;
j
<
servers
.
length
;
j
++
)
{
let
server
=
await
getDetailsofServer
(
AvailDc
[
i
],
servers
[
j
].
ServerId
)
server
=
server
.
Value
console
.
log
(
server
.
NetworkAdapters
[
0
].
IPAddresses
[
0
].
Value
)
console
.
log
(
ip
)
if
(
ip
===
server
.
NetworkAdapters
[
0
].
IPAddresses
[
0
].
Value
)
{
masterIp
=
server
.
NetworkAdapters
[
0
].
IPAddresses
[
0
].
Value
console
.
log
(
masterIp
)
if
(
masterIp
===
server
.
NetworkAdapters
[
0
].
IPAddresses
[
0
].
Value
)
{
networkId
=
server
.
NetworkAdapters
[
0
].
Id
serverId
=
server
.
ServerId
foundDc
=
AvailDc
[
i
]
initData
=
true
break
}
...
...
@@ -47,10 +46,11 @@ async function test() {
async
function
init
()
{
if
(
typeof
foundDc
!==
"
undefined
"
)
if
(
initData
===
true
)
return
true
ip
=
await
getIp
()
masterIp
=
getIp
()
for
(
let
i
=
0
;
i
<
AvailDc
.
length
;
i
++
)
{
let
servers
=
await
getAllServers
(
AvailDc
[
i
])
//console.log(servers)
servers
=
servers
.
Value
...
...
@@ -61,10 +61,11 @@ async function init() {
let
server
=
await
getDetailsofServer
(
AvailDc
[
i
],
servers
[
j
].
ServerId
)
server
=
server
.
Value
if
(
i
p
===
server
.
NetworkAdapters
[
0
].
IPAddresses
[
0
].
Value
)
{
if
(
masterI
p
===
server
.
NetworkAdapters
[
0
].
IPAddresses
[
0
].
Value
)
{
networkId
=
server
.
NetworkAdapters
[
0
].
Id
serverId
=
server
.
ServerId
foundDc
=
AvailDc
[
i
]
initData
=
true
break
}
...
...
@@ -72,6 +73,10 @@ async function init() {
}
console
.
log
(
'
foundDc ->
'
+
foundDc
)
console
.
log
(
'
masterIp ->
'
+
masterIp
)
console
.
log
(
'
networkId ->
'
+
networkId
)
console
.
log
(
'
serverId ->
'
+
serverId
)
return
true
}
...
...
@@ -292,19 +297,19 @@ function generateUrl(dc, endpoint) {
function
getIp
()
{
const
request
=
require
(
'
request
'
);
let
url
=
'
http://admin.fcfglobal.co:3000/getIp/
'
return
new
Promise
(
function
(
resolve
,
reject
)
{
request
(
url
,
{
timeout
:
15000
},
function
(
error
,
res
,
body
)
{
resolve
(
body
)
const
ni
=
require
(
'
network-interfaces
'
);
});
});
const
options
=
{
internal
:
false
,
// boolean: only acknowledge internal or external addresses (undefined: both)
ipVersion
:
4
// integer (4 or 6): only acknowledge addresses of this IP address family (undefined: both)
};
const
ip
=
ni
.
toIp
(
'
eth0
'
,
options
);
return
ip
}
function
logData
()
{
function
logData
()
{
console
.
log
(
'
foundDc ->
'
+
foundDc
)
console
.
log
(
'
masterIp ->
'
+
masterIp
)
console
.
log
(
'
networkId ->
'
+
networkId
)
...
...
@@ -318,7 +323,7 @@ module.exports =
attachedToServerByIp
:
attachedToServerByIp
,
RemovedByIp
:
RemovedByIp
,
getDc
:
getDc
,
logData
:
logData
,
logData
:
logData
,
createFloatingIp
:
createFloatingIp
...
...
package.json
View file @
0f52ecbf
...
...
@@ -10,6 +10,7 @@
"
express
"
:
"
~4.16.0
"
,
"
hcloud-js
"
:
"
^1.2.0
"
,
"
lodash
"
:
"
^4.17.15
"
,
"
network-interfaces
"
:
"
^1.1.0
"
,
"
node-cron
"
:
"
^2.0.3
"
,
"
request
"
:
"
^2.88.0
"
,
"
shell-exec
"
:
"
^1.0.2
"
,
...
...
test.js
View file @
0f52ecbf
let
groups
=
0
let
generation
=
0
const
express
=
require
(
'
express
'
)
const
app
=
express
()
const
port
=
4000
const
shell
=
require
(
'
shelljs
'
)
const
cron
=
require
(
'
node-cron
'
);
const
cronRemover
=
require
(
'
node-cron
'
);
const
request
=
require
(
'
request
'
);
const
fs
=
require
(
'
fs
'
)
const
cronSpeed
=
require
(
'
node-cron
'
);
const
shellExec
=
require
(
'
shell-exec
'
)
let
constant
=
require
(
'
./constant
'
)
const
cryptLib
=
require
(
'
@skavinvarnan/cryptlib
'
);
const
key
=
"
6*sN_rZxHD4!X$=T
"
;
let
Hetzner
=
require
(
'
./Hetzner
'
)
let
het
postFloatingIps
([
'
127.0.0.2
'
,
'
127.0.0.3
'
])
async
function
tesT
()
{
await
init
()
// let masterid=await het.getMasterServerId()
let
d
=
await
het
.
removeAllFloatingIps
(
'
78.47.38.44
'
)
console
.
log
(
d
)
}
async
function
init
()
{
var
contents
=
await
fs
.
readFileSync
(
'
./token.txt
'
,
'
utf8
'
);
het
=
new
Hetzner
(
contents
)
// remover()
}
function
postFloatingIps
(
data
)
{
data
=
JSON
.
stringify
(
data
)
data
=
cryptLib
.
encryptPlainTextWithRandomIV
(
data
,
key
)
var
options
=
{
method
:
'
POST
'
,
url
:
'
http://admin.fcfglobal.co:3000/addFloatingIp
'
,
headers
:
{
'
content-type
'
:
'
application/x-www-form-urlencoded
'
},
body
:
'
data=
'
+
Buffer
.
from
(
data
).
toString
(
'
base64
'
)
};
return
new
Promise
(
function
(
resolve
,
reject
)
{
request
(
options
,
function
(
error
,
response
,
body
)
{
if
(
error
)
console
.
log
(
error
)
resolve
(
true
)
});
});
}
console
.
log
(
ip
)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment