Skip to content

Commit

Permalink
update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
blacknon committed May 3, 2024
1 parent c53a9fe commit 2c24321
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 21 deletions.
23 changes: 13 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,13 @@ Supported multiple ssh proxy, http/socks5 proxy, x11 forward, and port forwardin

## Features

* List selection type ssh client.
* List selection type Pure Go ssh client.
* It can run on **Linux**, **macOS** and **Windows**.
* Pure Go.
* Commands can be executed by ssh connection in **parallel**.
* There is a shell function that connects to multiple hosts in parallel for interactive operation and connects with local commands via pipes.
* Supported multiple proxy, **ssh**, **http**, and **socks5** proxy. It's supported multi-stage proxy.
* Supported **ssh-agent**.
* Supported **Local** and **Remote Port forward**, **Dynamic Forward**, **Reverse Dynamic Forward** and **x11 forward**.
* Supported **Local** and **Remote Port forward**, **Dynamic Forward(SOCKS5, http)**, **Reverse Dynamic Forward(SOCKS5)** and **x11 forward**.
* Can use bashrc of local machine at ssh connection destination.
* It supports various authentication methods. Password, Public key, Certificate and PKCS11(Yubikey etc.).
* Can read the OpenSSH config (~/.ssh/config) and use it as it is.
Expand Down Expand Up @@ -108,12 +107,14 @@ option(lssh)
--host servername, -H servername connect servername.
--file filepath, -F filepath config filepath. (default: "/Users/uesugi/.lssh.conf")
-L [bind_address:]port:remote_address:port Local port forward mode.Specify a [bind_address:]port:remote_address:port. Only single connection works.
-R [bind_address:]port:remote_address:port Remote port forward mode.Specify a [bind_address:]port:remote_address:port. Only single connection works.
-R [bind_address:]port:remote_address:port Remote port forward mode.Specify a [bind_address:]port:remote_address:port. If only one port is specified, it will operate as Reverse Dynamic Forward. Only single connection works.
-D port Dynamic port forward mode(Socks5). Specify a port. Only single connection works.
-d port HTTP Dynamic port forward mode. Specify a port. Only single connection works.
-w Displays the server header when in command execution mode.
-W Not displays the server header when in command execution mode.
--not-execute, -N not execute remote command and shell.
--x11, -X x11 forwarding(forward to ${DISPLAY}).
--X11, -X Enable x11 forwarding(forward to ${DISPLAY}).
-Y Enable trusted x11 forwarding(forward to ${DISPLAY}).
--term, -t run specified command at terminal.
--parallel, -p run command parallel node(tail -F etc...).
--localrc use local bashrc shell.
Expand All @@ -127,7 +128,7 @@ option(lssh)
blacknon([email protected])

VERSION:
0.6.7
0.6.8

USAGE:
# connect ssh
Expand All @@ -143,6 +144,7 @@ option(lssh)
lssh -s



### lscp

run command.
Expand All @@ -168,7 +170,7 @@ option(lscp)
blacknon([email protected])

VERSION:
0.6.7
0.6.8

USAGE:
# local to remote scp
Expand Down Expand Up @@ -203,11 +205,12 @@ option(lsftp)
blacknon([email protected])

VERSION:
0.6.7
0.6.8

USAGE:
# start lsftp shell
lsftp
# start lsftp shell
lsftp



If you specify a command as an argument, you can select multiple hosts. Select host <kbd>Tab</kbd>, select all displayed hosts <kbd>Ctrl</kbd> + <kbd>a</kbd>.
Expand Down
4 changes: 2 additions & 2 deletions cmd/lsftp/args.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ VERSION:
{{.Version}}
{{end}}
USAGE:
# start lsftp shell
{{.Name}}
# start lsftp shell
{{.Name}}
`
// Create app
app = cli.NewApp()
Expand Down
18 changes: 9 additions & 9 deletions conf/conf_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ func TestCheckFormatServerConf(t *testing.T) {
desc: "Address, user and password",
c: Config{
Server: map[string]ServerConfig{
"a": ServerConfig{Addr: "192.168.100.101", User: "test", Pass: "Password"},
"a": {Addr: "192.168.100.101", User: "test", Pass: "Password"},
},
},
expect: true,
Expand All @@ -30,7 +30,7 @@ func TestCheckFormatServerConf(t *testing.T) {
desc: "Empty address",
c: Config{
Server: map[string]ServerConfig{
"b": ServerConfig{Addr: "", User: "test", Pass: "Password"},
"b": {Addr: "", User: "test", Pass: "Password"},
},
},
expect: false,
Expand All @@ -39,7 +39,7 @@ func TestCheckFormatServerConf(t *testing.T) {
desc: "Empty user",
c: Config{
Server: map[string]ServerConfig{
"c": ServerConfig{Addr: "192.168.100.101", User: "", Pass: "Password"},
"c": {Addr: "192.168.100.101", User: "", Pass: "Password"},
},
},
expect: false,
Expand All @@ -48,7 +48,7 @@ func TestCheckFormatServerConf(t *testing.T) {
desc: "Empty password",
c: Config{
Server: map[string]ServerConfig{
"d": ServerConfig{Addr: "192.168.100.101", User: "test", Pass: ""},
"d": {Addr: "192.168.100.101", User: "test", Pass: ""},
},
},
expect: false,
Expand All @@ -57,9 +57,9 @@ func TestCheckFormatServerConf(t *testing.T) {
desc: "1 server config is illegal",
c: Config{
Server: map[string]ServerConfig{
"a": ServerConfig{Addr: "192.168.100.101", User: "test", Pass: "Password"},
"b": ServerConfig{Addr: "", User: "test", Pass: "Password"},
"e": ServerConfig{Addr: "192.168.100.101", User: "test", Pass: "Password"},
"a": {Addr: "192.168.100.101", User: "test", Pass: "Password"},
"b": {Addr: "", User: "test", Pass: "Password"},
"e": {Addr: "192.168.100.101", User: "test", Pass: "Password"},
},
},
expect: false,
Expand Down Expand Up @@ -141,8 +141,8 @@ func TestGetNameList(t *testing.T) {
desc: "",
listConf: Config{
Server: map[string]ServerConfig{
"a": ServerConfig{},
"b": ServerConfig{},
"a": {},
"b": {},
},
},
expect: []string{"a", "b"},
Expand Down

0 comments on commit 2c24321

Please sign in to comment.