webssh

Web based ssh client https://github.com/huashengdun/webssh webssh.huashengdun.org/
git clone http://git.hanabi.in/repos/webssh.git
Log | Files | Refs | README | LICENSE

commit 09d5804a09f191f5c64ce73dcaf75859bdc89032
parent a39657a0be35f3972667a9fb5dfbe8e327917289
Author: Sheng <webmaster0115@gmail.com>
Date:   Sun, 22 Apr 2018 20:10:11 +0800

Prepare to write unit tests

Diffstat:
A.coveragerc | 13+++++++++++++
M.gitignore | 1+
A.travis.yml | 20++++++++++++++++++++
MREADME.md | 12++++++++----
Mrequirements.txt | 2+-
Atests/__init__.py | 0
Awebssh/__init__.py | 0
Rhandler.py -> webssh/handler.py | 0
Rmain.py -> webssh/main.py | 0
Rpolicy.py -> webssh/policy.py | 0
Rpreview/login.png -> webssh/preview/login.png | 0
Rpreview/terminal.png -> webssh/preview/terminal.png | 0
Rsettings.py -> webssh/settings.py | 0
Rstatic/css/bootstrap.min.css -> webssh/static/css/bootstrap.min.css | 0
Rstatic/css/fullscreen.min.css -> webssh/static/css/fullscreen.min.css | 0
Rstatic/css/xterm.min.css -> webssh/static/css/xterm.min.css | 0
Rstatic/img/favicon.png -> webssh/static/img/favicon.png | 0
Rstatic/js/bootstrap.min.js -> webssh/static/js/bootstrap.min.js | 0
Rstatic/js/fullscreen.min.js -> webssh/static/js/fullscreen.min.js | 0
Rstatic/js/jquery.min.js -> webssh/static/js/jquery.min.js | 0
Rstatic/js/main.js -> webssh/static/js/main.js | 0
Rstatic/js/popper.min.js -> webssh/static/js/popper.min.js | 0
Rstatic/js/xterm.min.js -> webssh/static/js/xterm.min.js | 0
Rtemplates/index.html -> webssh/templates/index.html | 0
Rworker.py -> webssh/worker.py | 0
25 files changed, 43 insertions(+), 5 deletions(-)

diff --git a/.coveragerc b/.coveragerc @@ -0,0 +1,13 @@ +[run] +branch = true +source = webssh + +[report] +exclude_lines = + if self.debug: + pragma: no cover + raise NotImplementedError + if __name__ == .__main__.: +ignore_errors = True +omit = + tests/* diff --git a/.gitignore b/.gitignore @@ -36,6 +36,7 @@ htmlcov/ .tox/ .coverage .cache +.pytest_cache/ nosetests.xml coverage.xml diff --git a/.travis.yml b/.travis.yml @@ -0,0 +1,20 @@ +dist: trusty +sudo: false + +language: python +python: + - "2.7" + - "3.4" + - "3.5" + - "3.6" + +install: + - pip install -r requirements.txt + - pip install pytest pytest-cov codecov flake8 + +script: + - pytest --cov=webssh + - flake8 --exclude='.git' + +after_success: + - codecov diff --git a/README.md b/README.md @@ -1,5 +1,9 @@ ## WebSSH -A simple web application to be used as an ssh client to connect to your ssh servers. It is written in Python, base on Tornado and Paramiko. +[![Build Status](https://travis-ci.org/huashengdun/webssh.svg?branch=master)](https://travis-ci.org/huashengdun/webssh) +[![codecov](https://codecov.io/gh/huashengdun/webssh/branch/master/graph/badge.svg)](https://codecov.io/gh/huashengdun/webssh) +![license](https://img.shields.io/github/license/mashape/apistatus.svg) + +A simple web application to be used as an ssh client to connect to your ssh servers. It is written in Python, base on tornado and paramiko. ### Preview ![Login](https://github.com/huashengdun/webssh/raw/master/preview/login.png) @@ -18,7 +22,7 @@ A simple web application to be used as an ssh client to connect to your ssh serv git clone https://github.com/huashengdun/webssh.git cd webssh pip install -r requirements.txt -python main.py +python webssh/main.py ``` ### Options @@ -41,7 +45,7 @@ python main.py --help ### Nginx config example for running this app behind an nginx server ``` -location / { +location / { proxy_pass http://127.0.0.1:8888; proxy_http_version 1.1; proxy_read_timeout 300; @@ -50,7 +54,7 @@ location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-PORT $remote_port; -} +} ``` ### Tips diff --git a/requirements.txt b/requirements.txt @@ -1,2 +1,2 @@ paramiko==2.4.1 -tornado==5.0.1 +tornado==5.0.2 diff --git a/tests/__init__.py b/tests/__init__.py diff --git a/webssh/__init__.py b/webssh/__init__.py diff --git a/handler.py b/webssh/handler.py diff --git a/main.py b/webssh/main.py diff --git a/policy.py b/webssh/policy.py diff --git a/preview/login.png b/webssh/preview/login.png Binary files differ. diff --git a/preview/terminal.png b/webssh/preview/terminal.png Binary files differ. diff --git a/settings.py b/webssh/settings.py diff --git a/static/css/bootstrap.min.css b/webssh/static/css/bootstrap.min.css diff --git a/static/css/fullscreen.min.css b/webssh/static/css/fullscreen.min.css diff --git a/static/css/xterm.min.css b/webssh/static/css/xterm.min.css diff --git a/static/img/favicon.png b/webssh/static/img/favicon.png Binary files differ. diff --git a/static/js/bootstrap.min.js b/webssh/static/js/bootstrap.min.js diff --git a/static/js/fullscreen.min.js b/webssh/static/js/fullscreen.min.js diff --git a/static/js/jquery.min.js b/webssh/static/js/jquery.min.js diff --git a/static/js/main.js b/webssh/static/js/main.js diff --git a/static/js/popper.min.js b/webssh/static/js/popper.min.js diff --git a/static/js/xterm.min.js b/webssh/static/js/xterm.min.js diff --git a/templates/index.html b/webssh/templates/index.html diff --git a/worker.py b/webssh/worker.py