Fixed many problems in README.md

This commit is contained in:
NI
2019-08-20 17:34:53 +08:00
parent e73d6d7bfb
commit 7a3aacf737

View File

@@ -1,10 +1,10 @@
# Sshwifty Web SSH Client
![Web Interface](Screenshot.png)
Sshwifty is a SSH client that provides a web interface. It can be deployed on
your computer or server, so you can access SSH servers via any device that have
a compatible (standard) web browser.
your computer or server, so you can access SSH servers via any device with a
compatible (standard) web browser.
![Web Interface](Screenshot.png)
![master Build status](https://travis-ci.org/niruix/sshwifty.svg?branch=master)
@@ -12,18 +12,18 @@ a compatible (standard) web browser.
### Binary
You can download compiled binaries at [Release] section of the page.
Compiled binaries can be found at the [release] section of the page.
Please noted that those binaries was generated by an automatic proccess, and the
author of this project will NOT verify them. You have to try it at your owk
Please be noted that those binaries was generated by an automatic proccess, and
the author of this project will NOT verify them. You have to try it at your owk
risk.
[release]: https://github.com/niruix/sshwifty/releases
### Docker Image
If you have [Docker] installed on your machine, you can directly use the Docker
image by executing following command:
If [Docker] is installed on your machine, then you can use our Docker image by
executing following command:
```
$ docker run --detach \
@@ -47,8 +47,9 @@ $ docker run --detach \
niruix/sshwifty:latest
```
`/path/to/domain.crt` and `/path/to/domain.key` must be valid TLS certificate
and key file located on the machine which the `docker run` command is executed.
`/path/to/domain.crt` and `/path/to/domain.key` must point to valid TLS
certificate and key file located on the machine which the `docker run` command
is executed.
[Docker]: https://www.docker.com
@@ -60,8 +61,8 @@ In order to use the source code, you need to install following tools:
- `npm` to compile front-end application
- `go` to compile back-end application
After you have installed those tools, run following command to download the code
to your computer, and start the build proccess:
After installing those tools, run following command to download the code to your
computer, and start the build proccess:
```
$ git clone https://github.com/niruix/sshwifty
@@ -70,20 +71,21 @@ $ npm install
$ npm run build
```
If the command succeed, you will found the newly generated `sshwifty` binary
under current working directory.
If succeed, you will found the newly generated `sshwifty` binary under current
working directory.
### Deploy on the cloud
To deploy this project onto the cloud, Google App Engine or Heroku for example,
you need to first download the source code, build it locally, then try to deploy
it.
you need to first download the source code, then generate it locally before
deploying it.
The `npm run generate` will generate all static files, then automatically call
`go generate ./...` to bind those static files directly into program source
code. You need those generated source code to get application to function. Also
because of this, directly call `go build .` on the newly downloaded souce code
will result a failure.
`npm run generate` command will generate all static files and automatically
call `go generate ./...` to bind those static files directly into program source
code. You need those generated source code to get application to function.
Trying to deploy ungenerated code directly to cloud will lead to failure, as
required source code is missing.
## Configure
@@ -92,23 +94,23 @@ default, the configuration loader will try to load file from default paths
first, then try environment variables.
You can also specify your own configuration file by setting `SSHWIFTY_CONFIG`
environment variables. For example:
environment variable. For example:
```
$ SSHWIFTY_CONFIG=./sshwifty.conf.json ./sshwifty
```
After that, Sshwifty will try to load the configuration from file
`./sshwifty.conf.json`, and never reach for configuration inside environment
variables.
`./sshwifty.conf.json`, and will never reach for other environment variables.
### Configuration file
Here is the options that can be used in a configuration file and what it for:
Here is all the options of a configuration file:
```
{
// HTTP Host. Keep it empty to accept request from all hosts
// HTTP Host. Keep it empty to accept request from all hosts, otherwise, only
// specified host is allowed to access
"HostName": "localhost",
// Web interface access password. Set to empty to allow public access
@@ -120,24 +122,24 @@ Here is the options that can be used in a configuration file and what it for:
// (In Seconds)
"DialTimeout": 10,
// Socks5 proxy. When set, we will try to connect remote through the given
// proxy
// Socks5 proxy. When set, Sshwifty backend will try to connect remote through
// the given proxy
"Socks5": "localhost:1080",
// Username of the Socks5 server. Set when the Socks5 server requires login
// Username of the Socks5 server. Please set when needed
"Socks5User": "",
// Password of the Socks5 server. Set when the Socks5 server requires login
// Password of the Socks5 server. Please set when needed
"Socks5Password": "",
// Sshwifty HTTP server, you can set multiple ones to serve on different
// ports
"Servers": [
{
// Which local interface this server will be listening
// Which local network interface this server will be listening
"ListenInterface": "0.0.0.0",
// Which local port this server will be listening
// Which local network port this server will be listening
"ListenPort": 8182,
// Timeout of initial request. HTTP handshake must be finished within
@@ -145,8 +147,8 @@ Here is the options that can be used in a configuration file and what it for:
// (In Seconds)
"InitialTimeout": 3,
// How long the connection can be idle before the server disconnects the
// client
// How long do the connection can stay in idle before the backend server
// disconnects the client
// (In Seconds)
"ReadTimeout": 60,
@@ -211,10 +213,10 @@ SSHWIFTY_TLSCERTIFICATEKEYFILE
The option they represented is corresponded to their counterparts in the
configuration file.
Notice: When you use environment variables to configure Sshwifty, only one
Notice: When you're using environment variables to configure Sshwifty, only one
Sshwifty HTTP server is then allowed. There is no way to setup mulitple servers
by using this method. If you need to serve on multiple ports, use configuration
file instead.
under this method of configure. If you need to serve on multiple ports, use
configuration file instead.
Be aware: An invalid value inside following environment variables will cause
the value to be sliently reset to default during configuration parsing phase
@@ -245,13 +247,15 @@ license. See [DEPENDENCIES.md] for dependencies used by this project.
This is a hobbyist project, meaning I don't have too many time to put into it.
Upon release (Which is then you're able to read this file), this project will
enter maintaining state, which includes doing bug fix and security updates.
enter _maintaining_ state, which includes doing bug fix and security updates.
Adding new features however, is not a part of the state.
Please do not send pull request. If you need new feature, fork it, and maintain
it like one of your own project.
(Notice: Typo, grammar error or invalid use of language in the source code and
document is categorized as bug, please report them if you found any. Thank you!)
Please do not send pull request. If you need new feature, fork it, and maintain
it like one of your own. Appreciated!
Appreciate your help!
Enjoy!