Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
K
koko
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
ops
koko
Commits
43e6c50b
Commit
43e6c50b
authored
Apr 24, 2019
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Update] 优化结构
parent
4fdac63b
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
33 additions
and
30 deletions
+33
-30
Gopkg.lock
Gopkg.lock
+9
-0
logger.go
pkg/logger/logger.go
+1
-1
banner.go
pkg/sshd/handler/banner.go
+12
-18
const.go
pkg/sshd/handler/const.go
+4
-4
session.go
pkg/sshd/handler/session.go
+7
-7
No files found.
Gopkg.lock
View file @
43e6c50b
...
...
@@ -33,6 +33,14 @@
revision = "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e"
version = "v1.0.2"
[[projects]]
digest = "1:47dc4f6ee8a7dda99b516b56cb7fcc4f53ca94756263bdcea55c918a60126062"
name = "github.com/kr/pty"
packages = ["."]
pruneopts = "UT"
revision = "521317be5ebc228a0f0ede099fa2a0b5ece22e49"
version = "v1.1.4"
[[projects]]
digest = "1:0356f3312c9bd1cbeda81505b7fd437501d8e778ab66998ef69f00d7f9b3a0d7"
name = "github.com/mattn/go-runewidth"
...
...
@@ -116,6 +124,7 @@
input-imports = [
"github.com/gliderlabs/ssh",
"github.com/jarcoal/httpmock",
"github.com/kr/pty",
"github.com/olekukonko/tablewriter",
"github.com/satori/go.uuid",
"github.com/sirupsen/logrus",
...
...
pkg/logger/logger.go
View file @
43e6c50b
...
...
@@ -12,7 +12,7 @@ func init() {
customFormatter
:=
&
logrus
.
TextFormatter
{
DisableColors
:
false
,
FullTimestamp
:
true
,
DisableLevelTruncation
:
tru
e
,
DisableLevelTruncation
:
fals
e
,
}
customFormatter
.
TimestampFormat
=
"2006-01-02 15:04:05"
logger
.
SetFormatter
(
customFormatter
)
...
...
pkg/sshd/handler/banner.go
View file @
43e6c50b
...
...
@@ -40,15 +40,15 @@ func (mi *MenuItem) Text() string {
type
Menu
[]
MenuItem
var
menu
=
Menu
{
{
i
nstruct
:
"ID"
,
helpText
:
"directly login or enter.
"
},
{
i
nstruct
:
"part IP, Hostname, Comment"
,
helpText
:
"to search login if unique.
"
},
{
instruct
:
"/ + IP, Hostname, Comment"
,
helpText
:
"to search, such as: /192.168"
},
{
i
nstruct
:
"p"
,
helpText
:
"display the host you have permission.
"
},
{
i
nstruct
:
"g"
,
helpText
:
"display the node that you have permission.
"
},
{
instruct
:
"r"
,
helpText
:
"refresh your assets and nodes"
},
{
i
nstruct
:
"s"
,
helpText
:
"switch Chinese-english language.
"
},
{
instruct
:
"h"
,
helpText
:
"print help"
},
{
instruct
:
"q"
,
helpText
:
"exit"
},
{
i
d
:
1
,
instruct
:
"ID"
,
helpText
:
"directly login or enter
"
},
{
i
d
:
2
,
instruct
:
"part IP, Hostname, Comment"
,
helpText
:
"to search login if unique
"
},
{
i
d
:
3
,
i
nstruct
:
"/ + IP, Hostname, Comment"
,
helpText
:
"to search, such as: /192.168"
},
{
i
d
:
4
,
instruct
:
"p"
,
helpText
:
"display the host you have permission
"
},
{
i
d
:
5
,
instruct
:
"g"
,
helpText
:
"display the node that you have permission
"
},
{
i
d
:
6
,
i
nstruct
:
"r"
,
helpText
:
"refresh your assets and nodes"
},
{
i
d
:
7
,
instruct
:
"s"
,
helpText
:
"switch Chinese-english language
"
},
{
i
d
:
8
,
i
nstruct
:
"h"
,
helpText
:
"print help"
},
{
i
d
:
9
,
i
nstruct
:
"q"
,
helpText
:
"exit"
},
}
type
ColorMeta
struct
{
...
...
@@ -61,18 +61,12 @@ func displayBanner(sess ssh.Session, user string) {
if
config
.
Conf
.
HeaderTitle
!=
""
{
title
=
config
.
Conf
.
HeaderTitle
}
welcomeMsg
:=
user
+
" "
+
titl
e
welcomeMsg
:=
CharClear
+
CharTab
+
user
+
" "
+
title
+
CharNewLin
e
_
,
err
:=
io
.
WriteString
(
sess
,
welcomeMsg
)
if
err
!=
nil
{
logger
.
Error
(
"Send to client error, %s"
,
err
)
}
cm
:=
ColorMeta
{
GreenBoldColor
:
"
\0
33[1;32m"
,
ColorEnd
:
"
\0
33[0m"
}
for
i
,
v
:=
range
menu
{
line
:=
fmt
.
Sprintf
(
"
\t
%d) Enter {{.GreenBoldColor}}%s{{.ColorEnd}} to %s.
\r\n
"
,
i
+
1
,
v
.
instruct
,
v
.
helpText
)
tmpl
:=
template
.
Must
(
template
.
New
(
"item"
)
.
Parse
(
line
))
err
:=
tmpl
.
Execute
(
sess
,
cm
)
if
err
!=
nil
{
logger
.
Error
(
"Send to client error, %s"
,
err
)
}
for
_
,
v
:=
range
menu
{
_
,
_
=
io
.
WriteString
(
sess
,
v
.
Text
())
}
}
pkg/sshd/handler/const.go
View file @
43e6c50b
package
handler
const
(
GreenColorCode
=
"
\0
33[32m"
)
const
(
GreenColorCode
=
"
\0
33[32m"
CharClear
=
"
\x1b
[H
\x1b
[2J"
CharTab
=
"
\t
"
CharNewLine
=
"
\r\n
"
AssetsMapKey
=
"AssetsMapKey"
AssetNodesMapKey
=
"AssetNodesKey"
)
pkg/sshd/handler/session.go
View file @
43e6c50b
...
...
@@ -95,18 +95,18 @@ func (i *InteractiveHandler) Dispatch() {
switch
len
(
line
)
{
case
0
,
1
:
switch
line
{
case
""
,
"p"
,
"P"
:
switch
strings
.
ToLower
(
line
)
{
case
""
,
"p"
:
i
.
displayAssets
(
i
.
assets
)
case
"g"
,
"G"
:
case
"g"
:
i
.
displayNodes
(
i
.
nodes
)
case
"s"
,
"S"
:
case
"s"
:
i
.
changeLanguage
()
case
"h"
,
"H"
:
case
"h"
:
i
.
displayBanner
()
case
"r"
,
"R"
:
case
"r"
:
i
.
refreshAssetsAndNodesData
()
case
"q"
,
"Q"
:
case
"q"
:
logger
.
Info
(
"exit session"
)
return
default
:
...
...
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