Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Bruce Flynn
sftper
Commits
7b477e8b
Commit
7b477e8b
authored
Sep 20, 2019
by
Bruce Flynn
Browse files
tweak help a bit; use env vars HOME and USER
parent
0356198c
Changes
2
Hide whitespace changes
Inline
Side-by-side
api.go
View file @
7b477e8b
...
...
@@ -8,7 +8,6 @@ import (
"io/ioutil"
url_
"net/url"
"os"
"os/user"
"github.com/pkg/sftp"
"golang.org/x/crypto/ssh"
...
...
@@ -263,11 +262,7 @@ func cleanURL(url string) (url_.URL, error) {
username
:=
u
.
User
.
Username
()
if
len
(
username
)
==
0
{
cu
,
err
:=
user
.
Current
()
if
err
!=
nil
{
panic
(
errors
.
Wrapf
(
err
,
"can't get current user"
))
}
username
=
cu
.
Username
username
=
os
.
Getenv
(
"USER"
)
}
newURL
.
User
=
url_
.
User
(
username
)
...
...
main.go
View file @
7b477e8b
...
...
@@ -26,11 +26,7 @@ func debug(fmt string, args ...interface{}) {
}
func
defaultPrivateKey
()
string
{
homeDir
,
err
:=
os
.
UserHomeDir
()
if
err
!=
nil
{
panic
(
"could not determine user home dir"
)
}
return
path
.
Join
(
homeDir
,
".ssh/id_rsa"
)
return
path
.
Join
(
os
.
Getenv
(
"HOME"
),
".ssh/id_rsa"
)
}
func
main
()
{
...
...
@@ -40,28 +36,17 @@ func main() {
pflag
.
Usage
=
func
()
{
fmt
.
Fprintf
(
os
.
Stderr
,
`%s [options]
A mini JSON API for performing SFTP commands.
Supported commands read from commands:
{"command": "PUT", "args": {"source": <path>, "dest": <path>}}
{"command": "GET", "args": {"source": <path>, "dest": <path>}}
{"command": "LISTDIR", "args": {"path": <path>}}
returns [{"name": "<filename>", "size": <bytes>, "mtime": <unixtime>}, ...]
{"command": "DELETE", "args": {"path": <path>}}
Responses written to stdout:
{"status": "(ok|error|fail)", "message": "<err message>", "data": (""|??)}
where "data" is documented with the command.
Mini in-process API to drive an SFTP connection.
Options:
`
,
os
.
Args
[
0
])
pflag
.
PrintDefaults
()
fmt
.
Fprintf
(
os
.
Stderr
,
"
\n
%s
\n
"
,
buildStr
)
fmt
.
Fprintf
(
os
.
Stderr
,
`
%s
https://gitlab.ssec.wisc.edu/brucef/sftper
`
,
buildStr
)
}
var
(
...
...
@@ -74,7 +59,7 @@ Options:
pKey
=
pflag
.
StringP
(
"pkey"
,
"i"
,
defaultPrivateKey
(),
"Path to PEM formatted private key."
)
hKey
=
pflag
.
StringP
(
"hkey"
,
"h"
,
""
,
"Path to PEM formatted host public key. If not "
+
"provided server host key checking will be disabled. To get a server host key run "
+
"ssh-keyscan -t rsa <hostname>."
)
"
'
ssh-keyscan -t rsa <hostname>
'
."
)
)
pflag
.
BoolVar
(
&
verbose
,
"verbose"
,
false
,
"Verbose output to stderr"
)
...
...
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