✨ webdav proxy
This commit is contained in:
@ -16,15 +16,14 @@ type Pan123 struct {}
|
||||
|
||||
var driverName = "123Pan"
|
||||
|
||||
func (driver Pan123) Config() drivers.DriverConfig {
|
||||
return drivers.DriverConfig{
|
||||
OnlyProxy: false,
|
||||
}
|
||||
}
|
||||
|
||||
func (driver Pan123) Items() []drivers.Item {
|
||||
return []drivers.Item{
|
||||
{
|
||||
Name: "proxy",
|
||||
Label: "proxy",
|
||||
Type: "bool",
|
||||
Required: true,
|
||||
Description: "allow proxy",
|
||||
},
|
||||
{
|
||||
Name: "username",
|
||||
Label: "username",
|
||||
|
@ -15,15 +15,14 @@ type Cloud189 struct {}
|
||||
|
||||
var driverName = "189Cloud"
|
||||
|
||||
func (driver Cloud189) Config() drivers.DriverConfig {
|
||||
return drivers.DriverConfig{
|
||||
OnlyProxy: false,
|
||||
}
|
||||
}
|
||||
|
||||
func (driver Cloud189) Items() []drivers.Item {
|
||||
return []drivers.Item{
|
||||
{
|
||||
Name: "proxy",
|
||||
Label: "proxy",
|
||||
Type: "bool",
|
||||
Required: true,
|
||||
Description: "allow proxy",
|
||||
},
|
||||
{
|
||||
Name: "username",
|
||||
Label: "username",
|
||||
|
@ -16,15 +16,14 @@ type AliDrive struct{}
|
||||
|
||||
var driverName = "AliDrive"
|
||||
|
||||
func (driver AliDrive) Config() drivers.DriverConfig {
|
||||
return drivers.DriverConfig{
|
||||
OnlyProxy: false,
|
||||
}
|
||||
}
|
||||
|
||||
func (driver AliDrive) Items() []drivers.Item {
|
||||
return []drivers.Item{
|
||||
{
|
||||
Name: "proxy",
|
||||
Label: "proxy",
|
||||
Type: "bool",
|
||||
Required: true,
|
||||
Description: "allow proxy",
|
||||
},
|
||||
{
|
||||
Name: "order_by",
|
||||
Label: "order_by",
|
||||
|
@ -8,7 +8,12 @@ import (
|
||||
"net/http"
|
||||
)
|
||||
|
||||
type DriverConfig struct {
|
||||
OnlyProxy bool
|
||||
}
|
||||
|
||||
type Driver interface {
|
||||
Config() DriverConfig
|
||||
Items() []Item
|
||||
Save(account *model.Account, old *model.Account) error
|
||||
File(path string, account *model.Account) (*model.File, error)
|
||||
@ -54,7 +59,26 @@ func GetDriver(name string) (driver Driver, ok bool) {
|
||||
func GetDrivers() map[string][]Item {
|
||||
res := make(map[string][]Item, 0)
|
||||
for k, v := range driversMap {
|
||||
res[k] = v.Items()
|
||||
if v.Config().OnlyProxy {
|
||||
res[k] = v.Items()
|
||||
} else {
|
||||
res[k] = append([]Item{
|
||||
{
|
||||
Name: "proxy",
|
||||
Label: "proxy",
|
||||
Type: "bool",
|
||||
Required: true,
|
||||
Description: "allow proxy",
|
||||
},
|
||||
{
|
||||
Name: "webdav_proxy",
|
||||
Label: "webdav proxy",
|
||||
Type: "bool",
|
||||
Required: true,
|
||||
Description: "Transfer the WebDAV of this account through the server",
|
||||
},
|
||||
}, v.Items()...)
|
||||
}
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
@ -15,6 +15,12 @@ type GoogleDrive struct{}
|
||||
|
||||
var driverName = "GoogleDrive"
|
||||
|
||||
func (driver GoogleDrive) Config() drivers.DriverConfig {
|
||||
return drivers.DriverConfig{
|
||||
OnlyProxy: true,
|
||||
}
|
||||
}
|
||||
|
||||
func (driver GoogleDrive) Items() []drivers.Item {
|
||||
return []drivers.Item{
|
||||
{
|
||||
|
@ -18,6 +18,12 @@ type Native struct{}
|
||||
|
||||
var driverName = "Native"
|
||||
|
||||
func (driver Native) Config() drivers.DriverConfig {
|
||||
return drivers.DriverConfig{
|
||||
OnlyProxy: true,
|
||||
}
|
||||
}
|
||||
|
||||
func (driver Native) Items() []drivers.Item {
|
||||
return []drivers.Item{
|
||||
{
|
||||
|
@ -16,15 +16,14 @@ type Onedrive struct{}
|
||||
|
||||
var driverName = "Onedrive"
|
||||
|
||||
func (driver Onedrive) Config() drivers.DriverConfig {
|
||||
return drivers.DriverConfig{
|
||||
OnlyProxy: false,
|
||||
}
|
||||
}
|
||||
|
||||
func (driver Onedrive) Items() []drivers.Item {
|
||||
return []drivers.Item{
|
||||
{
|
||||
Name: "proxy",
|
||||
Label: "proxy",
|
||||
Type: "bool",
|
||||
Required: true,
|
||||
Description: "allow proxy",
|
||||
},
|
||||
{
|
||||
Name: "zone",
|
||||
Label: "zone",
|
||||
|
Reference in New Issue
Block a user