Nicola Murino
2221d3307a
Improve README
2019-11-11 18:28:18 +01:00
Nicola Murino
4ff34b3e53
logger: add specific logs for failed attempts to initialize a connection
...
This should allow for better integration in tools like fail2ban.
Hopefully fix #59
2019-11-11 15:20:00 +01:00
Nicola Murino
77db2bd3d1
fix posix rename
...
update pkg/sftp to a git revision that includes:
https://github.com/pkg/sftp/pull/316
add a test case here too and update other deps
2019-11-08 08:43:27 +01:00
Nicola Murino
758f2ee834
improve README
2019-10-26 20:42:46 +02:00
Nicola Murino
c5a6ca5650
portable mode: advertise service via multicast dns
...
Fixes #51
2019-10-26 18:25:53 +02:00
Nicola Murino
b409523d5c
document memory data provider
2019-10-25 19:01:01 +02:00
Nicola Murino
a4cddf4f7f
add portable mode
...
Portable mode is a convenient way to share a single directory on demand
2019-10-24 18:50:35 +02:00
Roman Isko
d970e757eb
Use relative to the current branch links in readme
2019-10-22 10:00:09 +02:00
Nicola Murino
083d9f76c6
add commit hash and build date to the version logged when starting the daemon
2019-10-21 21:18:45 +02:00
Nicola Murino
9cf4653425
improve docs for available Arch Linux packages
2019-10-20 09:23:04 +02:00
Nicola Murino
1d917561fe
sftpd: add support for upload resume
...
we support resume only if the client sets the correct offset while resuming
the upload.
Based on the specs the offset is optional for resume, but all the tested
clients sets a right offset.
If an invalid offset is given we interrupt the transfer with the error
"Invalid write offset ..."
See https://github.com/pkg/sftp/issues/295
This commit add a new upload mode: "atomic with resume support", this acts
as atomic but if there is an upload error the temporary file is renamed
to the requested path and not deleted, this way a client can reconnect
and resume the upload
2019-10-09 17:33:30 +02:00
Nicola Murino
60d4a3e1b5
improve docs
2019-10-08 08:20:26 +02:00
Nicola Murino
3e0558c0e9
add web interface support to windows setup ...
...
... and other small improvements
2019-10-07 22:37:28 +02:00
Nicola Murino
afd312f26a
add a basic web interface
...
The builtin web interface allows to manage users and connections
2019-10-07 18:19:01 +02:00
Nicola Murino
00dd5db226
add support for users' default base dir
2019-09-28 22:48:52 +02:00
Nicola Murino
0d8506c93d
set version to 0.9.2
2019-09-18 22:19:34 +02:00
Nicola Murino
df96ea7e9f
add a new permission for overwriting existing files
...
The upload permission is required to allow file overwrite
2019-09-17 08:53:45 +02:00
Nicola Murino
580fae7a8f
minor improvements
2019-09-16 18:11:35 +02:00
Nicola Murino
4a1baaee69
windows service: improve doc
2019-09-16 09:22:27 +02:00
Nicola Murino
f3f38f5f09
add Windows Service support
2019-09-16 08:52:58 +02:00
Nicola Murino
bba78763e1
add a test case and document sha512crypt passwords support
2019-09-15 12:23:27 +02:00
Nicola Murino
018b10808d
improve SQL provider availability check adding a timeout
2019-09-14 16:18:31 +02:00
Jo Vandeginste
29aadbf3e3
log redacted passwords
...
Closes #48
2019-09-13 21:57:52 +02:00
Nicola Murino
7eb5b01169
add Prometheus support
...
some basic counters and gauges are now exposed
2019-09-13 18:45:36 +02:00
Nicola Murino
e7eb3476b7
dataprovider: remove transaction for quota update
...
The update is atomic so no transaction is needed.
Addionally a transaction will ask for a new connection to the pool
and this can deadlock if the pool has a max connection limit too low.
Also make configurable the pool size instead of hard code to the cpu number.
Fixes #47
2019-09-13 08:14:07 +02:00
Nicola Murino
6b33d3d9f1
add version to the default server banner
2019-09-12 09:21:58 +02:00
Nicola Murino
784f75f45b
use net.Conn instead of ssh.Conn to close connections
2019-09-11 09:41:46 +02:00
Nicola Murino
c1effdf701
atomic upload mode: remove temporary file on error
...
If a transfer error is detected, then the partial temporary file will
be removed and not renamed to requested path
2019-09-10 18:47:21 +02:00
Nicola Murino
7010f513e3
macOS: add launchd sample plist
2019-09-10 08:03:53 +02:00
Nicola Murino
e8db7d8539
improve configuration docs
...
viper will not use env vars if no configuration file is found
https://github.com/spf13/viper/issues/584
As workaround we could manually bind/set a default for each configuration
option using viper.SetDefault("key") and then generate a default config
using viper.Get("key").
This manual solution is error prone and it will become increasingly
difficult to maintain since the configuration options will grow, so
we avoid it for now.
Let's see if viper will solve this issue
Fixes #35
2019-09-04 09:09:17 +02:00
Nicola Murino
3441b75a58
allow empty log file, use the standard output in this case
...
Fixes #34
2019-09-03 23:13:33 +02:00
Nicola Murino
49a40f7a0b
sftpd: add configuration options for allowed ciphers, MACs and KEX algorithms
...
add support for login banner too
Fixes #32
2019-09-03 12:08:09 +02:00
Nicola Murino
dc5eeb54fd
scp: fix quota update after file overwrite
...
added a test case too
2019-09-02 23:12:41 +02:00
Nicola Murino
4a1b67454e
set version to 0.9.1
2019-09-02 09:36:02 +02:00
Nicola Murino
838426b3a4
improve docs
2019-08-29 13:52:22 +02:00
Nicola Murino
0e6113eef6
remove uneeded deps using go mod tidy
2019-08-27 15:59:00 +02:00
Nicola Murino
d4969cde03
scp: add test case and document remote to remote transfers
2019-08-25 13:51:54 +02:00
Nicola Murino
e50c521c33
add SCP support
...
SCP is an experimental feature, we have our own SCP implementation
since we can't rely on scp system command to proper handle permissions,
quota and user's home dir restrictions. The SCP protocol is quite simple
but there is no official docs about it, so we need more testing and
feedbacks before enabling it by default.
We may not handle some borderline cases or have sneaky bugs.
This commit contains some breaking changes to the REST API.
SFTPGo API should be stable now and I hope no more breaking changes
before the first stable release.
2019-08-24 14:41:15 +02:00
Nicola Murino
2c05791624
document how to store passwords using bcrypt or pbkdf2 using REST API
2019-08-18 12:52:29 +02:00
Nicola Murino
133f2e8601
add support for checking pbkdf2 passwords
2019-08-17 15:20:49 +02:00
Nicola Murino
9d342cb125
dataprovider: remove clear text password checking
...
passwords must be stored using argon2id or bcrypt
2019-08-17 08:44:43 +02:00
Nicola Murino
0bcc97aef6
add Awesome Go badge
...
SFTPGo is an awesome project now!
2019-08-12 23:38:43 +02:00
Nicola Murino
96a39a36bb
dataprovider: add support for bbolt key/value store
...
This way there is an alternative for embedded/small systems if CGO
is disabled at build time and so SQLite support cannot be compiled
2019-08-12 18:31:31 +02:00
Nicola Murino
cb87fe811a
dataprovider move db handle to provider struct
...
This is needed to support non SQL providers
2019-08-11 14:53:37 +02:00
Nicola Murino
51aacae3c5
version: only git commit and build date must be modifiable
...
Improved some test cases too
2019-08-08 21:42:07 +02:00
Nicola Murino
90607d4f86
sftpd stats: add file path for active upload/download
2019-08-08 19:33:16 +02:00
Nicola Murino
4d3c8fb6c4
add get version example
2019-08-08 10:13:32 +02:00
Nicola Murino
4f4489d3f1
add version info
2019-08-08 10:01:33 +02:00
Nicola Murino
5ad222fc53
python cli: add a flag to ignore verifying the SSL certificate
2019-08-07 23:06:26 +02:00
Nicola Murino
8f421b7d0f
switch to viper for configuration and use cobra for cli
2019-08-07 22:46:52 +02:00