代码拉取完成,页面将自动刷新
Size
结构来支持人性化的大小单位encrypt_test
构建标签Path
结构init-env.sh
脚本来修复UDP缓冲区大小问题ssh_key
命令行参数,通过在source
和dest
命令行参数中新增一些参数来配置SFTP的认证信息copy_link
和copy_unsafe_link
命令行参数来控制软链接在本地磁盘模式下的同步scripts/build-release.sh
脚本,新增linux arm64和macOS arm64发布HEAD
中获取最近一次git提交的哈希值CBool
结构并进行代码重构minio.statDirEntry
和sftp.statDirEntry
替换为fs.FileInfoToDirEntry
build-release.sh
和build-docker.sh
脚本,使其更加通用化install-minio.sh
脚本,使用-q
命令行参数来避免打印进度日志NewDecryptReader
重命名为newDecryptReader
SFTP
新增一些集成测试go1.21
支持go1.19
支持symlink
动作FileInfo
结构新增LinkTo
字段fs.IsSymlink
函数Driver
接口中新增Symlink
,Lstat
和ReadLink
方法Run in Terminal
快捷按钮Web UI
小节dry_run
命令行参数来支持启动gofs但是不真正执行同步操作parseRedisConnection
函数中返回int类型的db字段Loader
接口中新增一些保存函数grpcServer
中的数据竞争错误task_client_max_worker
命令行参数来限制任务客户端的最大并行工作数boltdb
加载器conf.ToString
函数和测试parseFlags
函数移动到独立的flag
包中mermaid
时序图替换文本流程图任务模式
一节testEncrypt
函数的gocyclo检查signal.Notify
函数支持停止接受信号Daemon
结构中的全局日志conf.Parse
函数修改为泛型conf.ParseContent
函数bytes.TrimSuffix
函数来简化代码syscall.SIGKILL
-max_tran_rate
命令行参数来支持在客户端和服务端限制最大传输速率core.FlagSet
结构,避免使用全局的flag.CommandLine
hashutil
、server
、httputil
、ignore
、daemon
、conf
和report
包中的全局变量Config.ToArgs
函数,避免在daemon.Daemon
中使用全局成员os.Args
alpine:3.15.4
=> alpine:latest
version
和about
包移动到internal
包中resource.go
移动到server
包中yamlutil
包SFTP拉取客户端
部分丢失的示例os.SyscallError
中的Err
成员为nil的问题-http3
命令行参数来支持HTTP3服务端与客户端print
命令及一些测试include
命令及一些测试,支持在命令配置文件中引入其他的配置文件sync
包进行代码重构,将一些函数移动到hashutil
包并添加一些测试WaitDone
支持多次调用Wait
函数runtime
包来获取正在使用的golang版本信息,并移除version/go_version
文件和相关的脚本及代码atomic.Bool
重新实现CBool
clist
和toplist
包新增一些单元测试和基准测试CList
结构中使用RWMutex
来替换Mutex
encrypt
添加更多的测试go1.18
支持,并新增go1.20
支持macOS
支持go.work
和.run/
规则fsctl
工具session_mode
命令行参数,使用session_connection
命令行参数来识别对应的session模式hostname
字段PrintVersion
函数支持指定程序名称Name
函数来展示命令的名称writeMap
command
包来支持通过配置文件中的指令来执行一系列的命令runWithConfig
函数中的所有代码都被执行完成WaitDone
替换为Done
来限制调用者的行为NotifySignal
类型,发送一个信号并支持超时signal.Notify
函数,支持由用户发送一个信号来触发关机NewHash
函数来支持返回特定的哈希算法实现,并更新HashFromFile
、HashFromFileName
、Hash
、HashFromString
函数来支持自定义哈希算法cmd.RunWithConfigFile
函数Done
Monitor
实例时使用Option
来传递参数session_mode
和session_connection
命令行参数的用法Write
事件ssh_key
命令行参数来修复使用不安全的HostKeyCallback
实现的问题Conn
中的数据竞争问题tcpServer
中closed
的数据竞争问题fs.IsSub
函数和一些测试encrypt
,encrypt_path
,encrypt_secret
,decrypt
,decrypt_path
,decrypt_secret
和decrypt_out
命令行参数来支持加密和解密progress
命令行参数来支持打印同步进度sync_workers
命令行参数来设置文件同步的工作进程数log_split_date
命令行参数来支持通过日期来切分日志文件,并更新相关的README文档errNilTranConn
错误,并将errNilConn
重命名为errNilNetConn
tran.Conn
中用字段组合代替类型内嵌Sync
实例时使用Option
来传递参数minIOClient
重命名为minIODriver
,并在minIODriver
中用字段组合代替类型内嵌sftpClient
重命名为sftpDriver
,并在sftpDriver
中用字段组合代替类型内嵌secure
参数writeMap
中,则忽略当前的路径util/httputil
包新增一些测试tran
包新增一些测试GO-2022-0969
syscall.Timespec
在linux 386
平台下的成员类型为int32
commit
、current_time
、start_time
、up_time
字段Driver
接口,新增Write
函数以及更新Create
函数Driver
接口中新增DriverName
函数sftpClientSync
结构重命名为sftpPushClientSync
driverPullClientMonitor
、driverPullClientSync
、driverPushClientSync
结构Time.Sub
函数以及测试chan bool
类型替换为chan struct{}
fs.GetFileTime
函数移动到fs/fs.go
中,并添加一些函数原型GinHandler
接口,并更新相关依赖ioutil.ReadAll
替换为io.ReadAll
retry_*
命令行参数来控制sftp服务器的断线重连规则CGO_ENABLED=0
来禁用动态链接,以便在Docker中运行build-release.sh
脚本中删除用于发布版本的-tags netgo
编译参数[filepath]
和[regexp]
开关来控制忽略文件的规则解析器,默认为[filepath]
RunWithArgs
函数,使用以程序名称开始的指定命令行参数运行gofs程序VFS.Addr
函数来返回服务端地址fs.toDeletedPath
函数/favicon.ico
路径的访问日志log_format
命令行参数来设置日志输出的格式,当前支持text
和json
,默认为text
build-docker.sh
脚本,删除指定标签的镜像,并在构建成功后删除虚悬镜像tls_insecure_skip_verify
命令行参数来控制客户端是否验证服务器的证书链和主机名httputil.NewTLSConfig
函数来减少重复代码WORKDIR
环境变量,并使用GOFS_SERVER_ADDR
环境变量作为生成证书的主机名session_mode
和session_connection
命令行参数来支持切换不同的会话存储模式,当前支持memory[1]
和redis[2]
,默认为memory[1]
Run
函数让main
函数保持干净checksum_algorithm
命令行参数用于设置默认的哈希算法中继
部分about
命令行参数新增docker镜像仓库地址Docker
支持和一些Docker示例脚本build-release.sh
脚本,为linux和windows系统构建发布文件v
命令行参数打印go版本信息sync_delay flag
、sync_delay_events
和sync_delay_time
命令行参数来支持同步延迟并更新README文档log_sample_rate
命令行参数来设置采样记录器的采样率,取值范围从0到1,默认为1force_checksum
命令行参数,如果源文件的文件大小和文件修改时间等于目标文件,且force_checksum
为false
,则忽略当前文件传输dependabot.yml
go1.18
,移除对go1.17
的支持report
命令行参数来支持启用报告接口的路由并开始收集报告数据,必须先启用manage
命令行参数interface{}
类型更新为any
TopList
结构体和测试,用于存储指定容量的一些元素,超过指定容量的最老的旧元素将被丢弃util/timeutil
包中新增Time
结构体和测试event
结构体和它的字段,并且添加一个Time
字段hashutil
包添加基准测试,并且将TestHashValues
测试移动到hash_value_test.go中checkpoint_count
命令行参数来使用文件检查点来减少传输未修改的文件块,并为其更新相应的README文档need_checkpoint
参数来支持返回文件检查点的哈希值 ,并为其更新相应的server/README.md文档httputil.HttpPostFileWithCookie
函数no_server
标签,不再支持移除文件服务器hashutil.CheckpointsMD5FromFileName
函数与测试,计算整个文件、第一个文件块以及一些检查点的哈希值hashutil.CompareHashValuesWithFileName
函数与测试,计算文件的哈希并返回最后一个连续命中的HashValue
checksum
命令行参数来计算和打印source
文件的校验和go1.18
MD5FromFileChunk
函数用于计算文件块的哈希值,并为其添加相应的测试IsEOF
和IsNonEOF
函数以及对应的测试util/*.go
匹配的代码移动包对应的*util
包中,并为其添加相应的测试+build
指令vfsValue.Get
函数switch
中的break
MD5
函数重命名为MD5FromString
fs
包的测试中使用模拟函数处理磁盘相关操作server/README.md
文档,修复表格格式并更新文件推送接口的文档EventLog
写入一个空的Writer
将会导致panicDoWithContext
函数在发生panic时会返回一个空值Done
或者DoneWithError
将会导致死锁的问题golint
警告pprof
命令行参数重命名为manage
pprof_private
命令行参数重命名为manage_private
conf
命令行参数来支持从配置文件中代替命令行参数来加载配置信息,目前支持yaml
和json
格式core.Duration
结构体替换time.Duration
用于自定义序列化行为yaml
或json
格式来读取程序配置awesome
徽章chunk_size
命令行参数的用法,以及如何使用配置文件部分server/README.md
文档,新增文件推送接口部分的文档goroutine
导致溢出chunk_size
命令行参数以支持按块上传大文件