Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
C
coco
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
coco
Commits
83eb5d1b
Unverified
Commit
83eb5d1b
authored
Oct 16, 2018
by
老广
Committed by
GitHub
Oct 16, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #110 from jumpserver/dev
Dev
parents
1ecdcc2a
eeeca2d8
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
23 additions
and
27 deletions
+23
-27
__init__.py
coco/__init__.py
+1
-0
app.py
coco/app.py
+1
-7
connection.py
coco/connection.py
+3
-2
ctx.py
coco/ctx.py
+0
-6
auth.py
coco/httpd/auth.py
+1
-1
base.py
coco/httpd/base.py
+1
-1
ws.py
coco/httpd/ws.py
+1
-1
interactive.py
coco/interactive.py
+1
-1
interface.py
coco/interface.py
+1
-1
logger.py
coco/logger.py
+1
-1
models.py
coco/models.py
+6
-1
proxy.py
coco/proxy.py
+2
-1
recorder.py
coco/recorder.py
+1
-1
session.py
coco/session.py
+1
-1
sftp.py
coco/sftp.py
+1
-1
tasks.py
coco/tasks.py
+1
-1
No files found.
coco/__init__.py
View file @
83eb5d1b
...
...
@@ -2,4 +2,5 @@
# -*- coding: utf-8 -*-
#
from
.
import
logger
from
.app
import
Coco
coco/app.py
View file @
83eb5d1b
...
...
@@ -12,10 +12,9 @@ import signal
from
.config
import
config
from
.sshd
import
SSHServer
from
.httpd
import
HttpServer
from
.logger
import
create_logger
from
.tasks
import
TaskHandler
from
.utils
import
get_logger
,
ugettext
as
_
,
ignore_error
from
.
ctx
import
app_service
from
.
service
import
app_service
from
.recorder
import
get_replay_recorder
from
.session
import
Session
from
.models
import
Connection
...
...
@@ -56,9 +55,6 @@ class Coco:
self
.
_task_handler
=
TaskHandler
()
return
self
.
_task_handler
def
make_logger
(
self
):
create_logger
()
@staticmethod
def
load_extra_conf_from_server
():
configs
=
app_service
.
load_config_from_server
()
...
...
@@ -68,8 +64,6 @@ class Coco:
config
.
update
(
configs
)
def
bootstrap
(
self
):
self
.
make_logger
()
# app_service.initial()
self
.
load_extra_conf_from_server
()
self
.
keep_heartbeat
()
self
.
monitor_sessions
()
...
...
coco/connection.py
View file @
83eb5d1b
...
...
@@ -10,7 +10,7 @@ import telnetlib
import
paramiko
from
paramiko.ssh_exception
import
SSHException
from
.
ctx
import
app_service
from
.
service
import
app_service
from
.config
import
config
from
.utils
import
get_logger
,
get_private_key_fingerprint
...
...
@@ -22,7 +22,8 @@ AUTO_LOGIN = 'auto'
class
SSHConnection
:
def
get_system_user_auth
(
self
,
system_user
):
@staticmethod
def
get_system_user_auth
(
system_user
):
"""
获取系统用户的认证信息,密码或秘钥
:return: system user have full info
...
...
coco/ctx.py
View file @
83eb5d1b
...
...
@@ -4,9 +4,6 @@
from
werkzeug.local
import
LocalProxy
from
functools
import
partial
from
.config
import
config
from
jms.service
import
AppService
stack
=
{}
__db_sessions
=
[]
...
...
@@ -18,7 +15,4 @@ def _find(name):
raise
ValueError
(
"Not found in stack: {}"
.
format
(
name
))
app_service
=
AppService
(
config
)
app_service
.
initial
()
current_app
=
LocalProxy
(
partial
(
_find
,
'current_app'
))
# app_service = LocalProxy(partial(_find, 'app_service'))
coco/httpd/auth.py
View file @
83eb5d1b
...
...
@@ -4,7 +4,7 @@ from functools import wraps
from
flask
import
request
,
abort
,
redirect
from
..
ctx
import
app_service
from
..
service
import
app_service
def
login_required
(
func
):
...
...
coco/httpd/base.py
View file @
83eb5d1b
...
...
@@ -9,7 +9,7 @@ from flask import Flask, request
from
..models
import
Connection
,
WSProxy
from
..proxy
import
ProxyServer
from
..utils
import
get_logger
from
..
ctx
import
app_service
from
..
service
import
app_service
from
..config
import
config
BASE_DIR
=
os
.
path
.
dirname
(
os
.
path
.
dirname
(
__file__
))
...
...
coco/httpd/ws.py
View file @
83eb5d1b
...
...
@@ -9,7 +9,7 @@ from flask import request
from
..models
import
Connection
,
WSProxy
from
..proxy
import
ProxyServer
from
..utils
import
get_logger
from
..
ctx
import
app_service
from
..
service
import
app_service
from
.base
import
BaseNamespace
from
.utils
import
get_cached_volume
...
...
coco/interactive.py
View file @
83eb5d1b
...
...
@@ -12,7 +12,7 @@ from .utils import wrap_with_line_feed as wr, wrap_with_title as title, \
wrap_with_warning
as
warning
,
is_obj_attr_has
,
is_obj_attr_eq
,
\
sort_assets
,
ugettext
as
_
,
get_logger
,
net_input
,
format_with_zh
,
\
item_max_length
,
size_of_str_with_zh
,
switch_lang
from
.
ctx
import
app_service
from
.
service
import
app_service
from
.proxy
import
ProxyServer
logger
=
get_logger
(
__file__
)
...
...
coco/interface.py
View file @
83eb5d1b
...
...
@@ -8,7 +8,7 @@ from collections import Iterable
from
.utils
import
get_logger
from
.config
import
config
from
.
ctx
import
app_service
from
.
service
import
app_service
logger
=
get_logger
(
__file__
)
...
...
coco/logger.py
View file @
83eb5d1b
...
...
@@ -57,9 +57,9 @@ def create_logger():
# 'engineio': main_setting,
}
)
dictConfig
(
config
)
logger
=
logging
.
getLogger
()
return
logger
create_logger
()
coco/models.py
View file @
83eb5d1b
...
...
@@ -236,17 +236,21 @@ class BaseServer:
def
s_filter_cmd_filter
(
self
,
data
):
if
self
.
_in_input_state
:
return
data
if
not
self
.
_input
:
return
data
for
rule
in
self
.
_cmd_filter_rules
:
action
,
cmd
=
rule
.
match
(
self
.
_input
)
if
action
==
rule
.
ALLOW
:
break
elif
action
==
rule
.
DENY
:
data
=
char
.
CLEAR_LINE_CHAR
+
b
'
\r
\n
'
data
=
char
.
CLEAR_LINE_CHAR
+
b
'
\r
'
msg
=
_
(
"Command `{}` is forbidden ........"
)
.
format
(
cmd
)
msg
=
wr
(
warning
(
msg
.
encode
()),
before
=
1
,
after
=
1
)
self
.
output_data
.
append
(
msg
)
self
.
session
.
send_to_clients
(
msg
)
self
.
session
.
put_command
(
self
.
_input
,
msg
.
decode
())
self
.
session
.
put_replay
(
msg
)
self
.
input_data
.
clean
()
break
return
data
...
...
@@ -328,6 +332,7 @@ class BaseServer:
return
self
.
_cmd_parser
.
parse_output
(
self
.
output_data
)
def
_parse_input
(
self
):
print
(
"Parse input: {}"
.
format
(
self
.
input_data
))
if
not
self
.
input_data
:
return
return
self
.
_cmd_parser
.
parse_input
(
self
.
input_data
)
...
...
coco/proxy.py
View file @
83eb5d1b
...
...
@@ -8,7 +8,7 @@ import time
from
.session
import
Session
from
.models
import
Server
,
TelnetServer
from
.connection
import
SSHConnection
,
TelnetConnection
from
.
ctx
import
app_service
from
.
service
import
app_service
from
.config
import
config
from
.utils
import
wrap_with_line_feed
as
wr
,
wrap_with_warning
as
warning
,
\
get_logger
,
net_input
,
ugettext
as
_
...
...
@@ -39,6 +39,7 @@ class ProxyServer:
or
(
not
password
and
not
private_key
):
prompt
=
"{}'s password: "
.
format
(
self
.
system_user
.
username
)
password
=
net_input
(
self
.
client
,
prompt
=
prompt
,
sensitive
=
True
)
private_key
=
None
self
.
system_user
.
password
=
password
self
.
system_user
.
private_key
=
private_key
...
...
coco/recorder.py
View file @
83eb5d1b
...
...
@@ -15,7 +15,7 @@ import jms_storage
from
.config
import
config
from
.utils
import
get_logger
,
Singleton
from
.struct
import
MemoryQueue
from
.
ctx
import
app_service
from
.
service
import
app_service
logger
=
get_logger
(
__file__
)
BUF_SIZE
=
1024
...
...
coco/session.py
View file @
83eb5d1b
...
...
@@ -8,7 +8,7 @@ import time
from
.utils
import
get_logger
,
wrap_with_warning
as
warn
,
\
wrap_with_line_feed
as
wr
,
ugettext
as
_
,
ignore_error
from
.
ctx
import
app_service
from
.
service
import
app_service
from
.struct
import
SelectEvent
from
.recorder
import
get_recorder
...
...
coco/sftp.py
View file @
83eb5d1b
...
...
@@ -9,7 +9,7 @@ from paramiko.sftp import SFTP_PERMISSION_DENIED, SFTP_NO_SUCH_FILE, \
from
coco.utils
import
get_logger
from
.config
import
config
from
.
ctx
import
app_service
from
.
service
import
app_service
from
.connection
import
SSHConnection
CURRENT_DIR
=
os
.
path
.
dirname
(
__file__
)
...
...
coco/tasks.py
View file @
83eb5d1b
...
...
@@ -2,7 +2,7 @@
# -*- coding: utf-8 -*-
#
from
.
ctx
import
app_service
from
.
service
import
app_service
from
.utils
import
get_logger
from
.session
import
Session
...
...
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