add web interface support to windows setup ...
... and other small improvements
This commit is contained in:
parent
c74d90407b
commit
3e0558c0e9
4 changed files with 29 additions and 24 deletions
|
@ -18,8 +18,9 @@ Full featured and highly configurable SFTP server
|
||||||
- Automatically terminating idle connections.
|
- Automatically terminating idle connections.
|
||||||
- Atomic uploads are configurable.
|
- Atomic uploads are configurable.
|
||||||
- Optional SCP support.
|
- Optional SCP support.
|
||||||
- REST API for users and quota management and real time reports for the active connections with possibility of forcibly closing a connection.
|
|
||||||
- Prometheus metrics are exposed.
|
- Prometheus metrics are exposed.
|
||||||
|
- REST API for users and quota management and real time reports for the active connections with possibility of forcibly closing a connection.
|
||||||
|
- Web based interface to manage users and connections.
|
||||||
- Configuration is a your choice: JSON, TOML, YAML, HCL, envfile are supported.
|
- Configuration is a your choice: JSON, TOML, YAML, HCL, envfile are supported.
|
||||||
- Log files are accurate and they are saved in the easily parsable JSON format.
|
- Log files are accurate and they are saved in the easily parsable JSON format.
|
||||||
|
|
||||||
|
@ -416,6 +417,7 @@ The logs can be divided into the following categories:
|
||||||
- [cobra](https://github.com/spf13/cobra)
|
- [cobra](https://github.com/spf13/cobra)
|
||||||
- [xid](https://github.com/rs/xid)
|
- [xid](https://github.com/rs/xid)
|
||||||
- [nathanaelle/password](https://github.com/nathanaelle/password)
|
- [nathanaelle/password](https://github.com/nathanaelle/password)
|
||||||
|
- [SB Admin 2](https://github.com/BlackrockDigital/startbootstrap-sb-admin-2)
|
||||||
|
|
||||||
Some code was initially taken from [Pterodactyl sftp server](https://github.com/pterodactyl/sftp-server)
|
Some code was initially taken from [Pterodactyl sftp server](https://github.com/pterodactyl/sftp-server)
|
||||||
|
|
||||||
|
|
|
@ -18,12 +18,17 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
logSender = "api"
|
logSender = "httpd"
|
||||||
activeConnectionsPath = "/api/v1/connection"
|
activeConnectionsPath = "/api/v1/connection"
|
||||||
quotaScanPath = "/api/v1/quota_scan"
|
quotaScanPath = "/api/v1/quota_scan"
|
||||||
userPath = "/api/v1/user"
|
userPath = "/api/v1/user"
|
||||||
versionPath = "/api/v1/version"
|
versionPath = "/api/v1/version"
|
||||||
metricsPath = "/metrics"
|
metricsPath = "/metrics"
|
||||||
|
webBasePath = "/web"
|
||||||
|
webUsersPath = "/web/users"
|
||||||
|
webUserPath = "/web/user"
|
||||||
|
webConnectionsPath = "/web/connections"
|
||||||
|
staticFileWebPath = "/static"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
17
httpd/web.go
17
httpd/web.go
|
@ -13,18 +13,11 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
templateBase = "base.html"
|
templateBase = "base.html"
|
||||||
templateUsers = "users.html"
|
templateUsers = "users.html"
|
||||||
templateUser = "user.html"
|
templateUser = "user.html"
|
||||||
templateConnections = "connections.html"
|
templateConnections = "connections.html"
|
||||||
templateMessage = "message.html"
|
templateMessage = "message.html"
|
||||||
|
|
||||||
webBasePath = "/web"
|
|
||||||
webUsersPath = "/web/users"
|
|
||||||
webUserPath = "/web/user"
|
|
||||||
webConnectionsPath = "/web/connections"
|
|
||||||
staticFileWebPath = "/static"
|
|
||||||
|
|
||||||
pageUsersTitle = "Users"
|
pageUsersTitle = "Users"
|
||||||
pageConnectionsTitle = "Connections"
|
pageConnectionsTitle = "Connections"
|
||||||
page400Title = "Bad request"
|
page400Title = "Bad request"
|
||||||
|
|
25
sftpgo.iss
25
sftpgo.iss
|
@ -2,9 +2,11 @@
|
||||||
; You need to change the paths for the source files to match your environment
|
; You need to change the paths for the source files to match your environment
|
||||||
|
|
||||||
#define MyAppName "SFTPGo"
|
#define MyAppName "SFTPGo"
|
||||||
#define MyAppVersion "0.9.2"
|
#define MyAppVersion "0.9.2-dev"
|
||||||
#define MyAppURL "https://github.com/drakkan/sftpgo"
|
#define MyAppURL "https://github.com/drakkan/sftpgo"
|
||||||
#define MyAppExeName "sftpgo.exe"
|
#define MyAppExeName "sftpgo.exe"
|
||||||
|
#define MyAppDir "C:\Users\vbox\Desktop\sftpgo_setup"
|
||||||
|
#define MyOutputDir "C:\Users\vbox\Desktop"
|
||||||
|
|
||||||
[Setup]
|
[Setup]
|
||||||
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
|
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
|
||||||
|
@ -18,10 +20,10 @@ AppSupportURL={#MyAppURL}
|
||||||
AppUpdatesURL={#MyAppURL}
|
AppUpdatesURL={#MyAppURL}
|
||||||
DefaultDirName={autopf}\{#MyAppName}
|
DefaultDirName={autopf}\{#MyAppName}
|
||||||
DefaultGroupName={#MyAppName}
|
DefaultGroupName={#MyAppName}
|
||||||
LicenseFile=C:\Users\vbox\Desktop\sftpgo_setup\LICENSE.txt
|
LicenseFile={#MyAppDir}\LICENSE.txt
|
||||||
; Uncomment the following line to run in non administrative install mode (install for current user only.)
|
; Uncomment the following line to run in non administrative install mode (install for current user only.)
|
||||||
;PrivilegesRequired=lowest
|
;PrivilegesRequired=lowest
|
||||||
OutputDir=C:\Users\vbox\Desktop
|
OutputDir={#MyOutputDir}
|
||||||
OutputBaseFilename=sftpgo_windows_x86_64
|
OutputBaseFilename=sftpgo_windows_x86_64
|
||||||
Compression=lzma
|
Compression=lzma
|
||||||
SolidCompression=yes
|
SolidCompression=yes
|
||||||
|
@ -35,19 +37,22 @@ MinVersion=6.1
|
||||||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||||
|
|
||||||
[Files]
|
[Files]
|
||||||
Source: "C:\Users\vbox\Desktop\sftpgo_setup\sftpgo.exe"; DestDir: "{app}"; Flags: ignoreversion
|
Source: "{#MyAppDir}\sftpgo.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||||
Source: "C:\Users\vbox\Desktop\sftpgo_setup\sftpgo.db"; DestDir: "{app}"; Flags: onlyifdoesntexist uninsneveruninstall
|
Source: "{#MyAppDir}\sftpgo.db"; DestDir: "{app}"; Flags: onlyifdoesntexist uninsneveruninstall
|
||||||
Source: "C:\Users\vbox\Desktop\sftpgo_setup\README.pdf"; DestDir: "{app}"; Flags: ignoreversion
|
Source: "{#MyAppDir}\README.pdf"; DestDir: "{app}"; Flags: ignoreversion
|
||||||
Source: "C:\Users\vbox\Desktop\sftpgo_setup\LICENSE.txt"; DestDir: "{app}"; Flags: ignoreversion
|
Source: "{#MyAppDir}\LICENSE.txt"; DestDir: "{app}"; Flags: ignoreversion
|
||||||
Source: "C:\Users\vbox\Desktop\sftpgo_setup\sftpgo.json"; DestDir: "{app}"; Flags: onlyifdoesntexist uninsneveruninstall
|
Source: "{#MyAppDir}\sftpgo.json"; DestDir: "{app}"; Flags: onlyifdoesntexist uninsneveruninstall
|
||||||
Source: "C:\Users\vbox\Desktop\sftpgo_setup\scripts\*"; DestDir: "{app}\scripts"; Flags: ignoreversion recursesubdirs createallsubdirs
|
Source: "{#MyAppDir}\scripts\*"; DestDir: "{app}\scripts"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||||
Source: "C:\Users\vbox\Desktop\sftpgo_setup\sql\*"; DestDir: "{app}\sql"; Flags: ignoreversion recursesubdirs createallsubdirs
|
Source: "{#MyAppDir}\sql\*"; DestDir: "{app}\sql"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||||
|
Source: "{#MyAppDir}\templates\*"; DestDir: "{app}\templates"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||||
|
Source: "{#MyAppDir}\static\*"; DestDir: "{app}\static"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||||
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
||||||
|
|
||||||
[Dirs]
|
[Dirs]
|
||||||
Name: "{app}\logs"; Permissions: everyone-full
|
Name: "{app}\logs"; Permissions: everyone-full
|
||||||
|
|
||||||
[Icons]
|
[Icons]
|
||||||
|
Name: "{group}\Web Admin"; Filename: "http://127.0.0.1:8080/web";
|
||||||
Name: "{group}\Service Control"; WorkingDir: "{app}"; Filename: "powershell.exe"; Parameters: "-Command ""Start-Process cmd \""/k cd {app} & {#MyAppName} service --help\"" -Verb RunAs"; Comment: "Install, start, stop, uninstall SFTPGo Service"
|
Name: "{group}\Service Control"; WorkingDir: "{app}"; Filename: "powershell.exe"; Parameters: "-Command ""Start-Process cmd \""/k cd {app} & {#MyAppName} service --help\"" -Verb RunAs"; Comment: "Install, start, stop, uninstall SFTPGo Service"
|
||||||
Name: "{group}\REST API CLI"; WorkingDir: "{app}\scripts"; Filename: "{cmd}"; Parameters: "/k sftpgo_api_cli.exe --help"; Comment: "Manage users and connections"
|
Name: "{group}\REST API CLI"; WorkingDir: "{app}\scripts"; Filename: "{cmd}"; Parameters: "/k sftpgo_api_cli.exe --help"; Comment: "Manage users and connections"
|
||||||
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
|
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
|
||||||
|
|
Loading…
Reference in a new issue