commit 7e238b6ffb378d26a1e7c4a74d96a4eff71bf5cb
parent 53762f6035bdb537e2ef18fa45931c0ddad3ef40
Author: Sheng <webmaster0115@gmail.com>
Date: Fri, 27 Apr 2018 01:11:16 +0800
Added README.rst
Diffstat:
M | README.md | | | 3 | +-- |
A | README.rst | | | 90 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
M | setup.py | | | 14 | ++------------ |
3 files changed, 93 insertions(+), 14 deletions(-)
diff --git a/README.md b/README.md
@@ -19,8 +19,7 @@ A simple web application to be used as an ssh client to connect to your ssh serv
### Instructions
```
-git clone https://github.com/huashengdun/webssh.git
-pip install ./webssh/
+pip install webssh
wssh
```
diff --git a/README.rst b/README.rst
@@ -0,0 +1,90 @@
+WebSSH
+------
+
+|Build Status| |codecov| |license|
+
+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| |Terminal|
+
+Features
+~~~~~~~~
+
+- SSH password authentication supported, including empty password.
+- SSH public-key authentication supported, including DSA RSA ECDSA
+ Ed25519 keys.
+- Encrypted keys supported.
+- Fullscreen terminal supported.
+- Terminal window resizable.
+- Compatible with Python 2.7-3.6.
+
+Instructions
+~~~~~~~~~~~~
+
+::
+
+ pip install webssh
+ wssh
+
+Options
+~~~~~~~
+
+::
+
+ # configure listen address and port
+ wssh --address='0.0.0.0' --port=8000
+
+ # configure missing host key policy
+ wssh --policy=reject
+
+ # configure logging level
+ wssh --logging=debug
+
+ # log to file
+ wssh --log-file-prefix=main.log
+
+ # more options
+ wssh --help
+
+Nginx config example for running this app behind an nginx server
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+::
+
+ location / {
+ proxy_pass http://127.0.0.1:8888;
+ proxy_http_version 1.1;
+ proxy_read_timeout 300;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "upgrade";
+ proxy_set_header Host $http_host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Real-PORT $remote_port;
+ }
+
+Tips
+~~~~
+
+- Try to use Nginx as a front web server (see config example above) and
+ enable SSL, this will prevent your ssh credentials from being
+ uncovered. Also afterwards the communication between your browser and
+ the web server will be encrypted as they use secured websockets.
+- Try to use reject policy as the missing host key policy along with
+ your verified known\_hosts, this will prevent man-in-the-middle
+ attacks. The idea is that it checks the system host keys
+ file("~/.ssh/known\_hosts") and the application host keys
+ file("./known\_hosts") in order, if the ssh server's hostname is not
+ found or the key is not matched, the connection will be aborted.
+
+.. |Build Status| image:: https://travis-ci.org/huashengdun/webssh.svg?branch=master
+ :target: https://travis-ci.org/huashengdun/webssh
+.. |codecov| image:: https://codecov.io/gh/huashengdun/webssh/branch/master/graph/badge.svg
+ :target: https://codecov.io/gh/huashengdun/webssh
+.. |license| image:: https://img.shields.io/github/license/mashape/apistatus.svg
+.. |Login| image:: https://github.com/huashengdun/webssh/raw/master/preview/login.png
+.. |Terminal| image:: https://github.com/huashengdun/webssh/raw/master/preview/terminal.png
+
diff --git a/setup.py b/setup.py
@@ -3,17 +3,8 @@ from setuptools import setup
from webssh._version import __version__ as version
-starts = [u'### Preview', u'![Login]', u'![Terminal]']
-
-
-def starts_with(line):
- for start in starts:
- if line.startswith(start):
- return True
-
-
-with codecs.open('README.md', encoding='utf-8') as f:
- long_description = ''.join(line for line in f if not starts_with(line))
+with codecs.open('README.rst', encoding='utf-8') as f:
+ long_description = f.read()
setup(
@@ -21,7 +12,6 @@ setup(
version=version,
description='Web based ssh client',
long_description=long_description,
- long_description_content_type='text/markdown',
author='Shengdun Hua',
author_email='webmaster0115@gmail.com',
url='https://github.com/huashengdun/webssh',