mirror of
https://github.com/OpenListTeam/OpenList.git
synced 2025-07-18 17:38:07 +08:00

* fix(crypt): bug caused by link cache * perf(crypt,mega,halalcloud,quark,uc): optimize concurrent response link * chore: 删除无用代码 * ftp * 修复bug;资源释放 * 添加SyncClosers * local,sftp,smb * 重构,优化,增强 * Update internal/stream/util.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com> * chore * chore * 优化,修复bug * . --------- Signed-off-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
46 lines
956 B
Go
46 lines
956 B
Go
package ftp
|
|
|
|
import (
|
|
"github.com/OpenListTeam/OpenList/v4/internal/driver"
|
|
"github.com/OpenListTeam/OpenList/v4/internal/op"
|
|
"github.com/axgle/mahonia"
|
|
)
|
|
|
|
func encode(str string, encoding string) string {
|
|
if encoding == "" {
|
|
return str
|
|
}
|
|
encoder := mahonia.NewEncoder(encoding)
|
|
return encoder.ConvertString(str)
|
|
}
|
|
|
|
func decode(str string, encoding string) string {
|
|
if encoding == "" {
|
|
return str
|
|
}
|
|
decoder := mahonia.NewDecoder(encoding)
|
|
return decoder.ConvertString(str)
|
|
}
|
|
|
|
type Addition struct {
|
|
Address string `json:"address" required:"true"`
|
|
Encoding string `json:"encoding" required:"true"`
|
|
Username string `json:"username" required:"true"`
|
|
Password string `json:"password" required:"true"`
|
|
driver.RootPath
|
|
}
|
|
|
|
var config = driver.Config{
|
|
Name: "FTP",
|
|
LocalSort: true,
|
|
OnlyLinkMFile: true,
|
|
DefaultRoot: "/",
|
|
NoLinkURL: true,
|
|
}
|
|
|
|
func init() {
|
|
op.RegisterDriver(func() driver.Driver {
|
|
return &FTP{}
|
|
})
|
|
}
|