请确认以下事项
OpenList 版本(必填)
v4.2.5
使用的存储驱动(必填)
天翼云盘
问题描述(必填)
环境:
OpenList latest,docker compose host 网络;rclone 运行在 Linux 容器。
复现步骤:
rclone webdav remote,url 指向http://ip:5244/dav;vendor=owncloud。vendor=other也测试过
rclone mount 挂载,不使用 --no‑modtime。
现象:
rclone VFS 持续发送 PROPPATCH 请求,OpenList 返回405 Method Not Allowed;rclone 判定上传失败,无限循环重试,文件上传失败。
OpenList 日志大量输出:ERROR RESTY parsing time "Aug 14, 2026, 9:47:53\xe2\x80\xafAM +08";字符串中包含 U+202F (NARROW NO‑BREAK SPACE) 窄不间断空格。
Windows 平台 rclone 同样触发 405,只是不会输出 resty 解析报错;设置 vendor=owncloud 无法规避,VFS 依然发送 PROPPATCH。
期望:
WebDAV 实现 PROPPATCH 接口,支持修改文件 mtime;
resty 时间解析逻辑增加预处理,兼容 U+202F 特殊空格,消除无效 ERROR 日志。
日志(必填)
docker compose logs
openlist | INFO[2026-08-14 10:39:24] reading config file: /opt/openlist/data/config.json
openlist | INFO[2026-08-14 10:39:24] load config from env with prefix:
openlist | INFO[2026-08-14 10:39:24] total memory: 7812MB, available: 6569MB
openlist | INFO[2026-08-14 10:39:24] min free memory: 781MB
openlist | INFO[2026-08-14 10:39:24] max block limit: 64MB
openlist | INFO[2026-08-14 10:39:24] auto memory limit: 4MB
openlist | INFO[2026-08-14 10:39:24] init logrus...
openlist | start HTTP server @ 0.0.0.0:5244
openlist | 2026/08/14 10:49:14.086592 WARN RESTY parsing time "Aug 14, 2026, 10:49:13\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:13\xe2\x80\xafAM +08" as " ", Attempt 1
openlist | 2026/08/14 10:49:14.086653 ERROR RESTY parsing time "Aug 14, 2026, 10:49:13\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:13\xe2\x80\xafAM +08" as " "
openlist | 2026/08/14 10:49:42.143776 WARN RESTY parsing time "Aug 14, 2026, 10:49:41\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:41\xe2\x80\xafAM +08" as " ", Attempt 1
openlist | 2026/08/14 10:49:42.143838 ERROR RESTY parsing time "Aug 14, 2026, 10:49:41\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:41\xe2\x80\xafAM +08" as " "
openlist | 2026/08/14 10:49:45.416174 WARN RESTY parsing time "Aug 14, 2026, 10:49:45\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:45\xe2\x80\xafAM +08" as " ", Attempt 1
openlist | 2026/08/14 10:49:45.416230 ERROR RESTY parsing time "Aug 14, 2026, 10:49:45\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:45\xe2\x80\xafAM +08" as " "
openlist | 2026/08/14 10:49:45.476725 WARN RESTY parsing time "Aug 14, 2026, 10:49:45\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:45\xe2\x80\xafAM +08" as " ", Attempt 1
openlist | 2026/08/14 10:49:45.476781 ERROR RESTY parsing time "Aug 14, 2026, 10:49:45\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:45\xe2\x80\xafAM +08" as " "
openlist | 2026/08/14 10:49:54.362168 WARN RESTY parsing time "Aug 14, 2026, 10:49:54\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:54\xe2\x80\xafAM +08" as " ", Attempt 1
出错报错是启用rclone mount挂载后开始产生。同时rclone日志中:
unchunked simple update failed: Method Not Allowed: 405 Method Not Allowed
反复出现,上传文件反复进行。
配置文件内容(必填)
cat docker-compose.yml
services:
openlist:
image: openlistteam/openlist:latest
container_name: openlist
network_mode: host
user: "1000:1000"
restart: always
volumes:
- ./config:/config
- ./logs:/logs
- ./data:/opt/openlist/data
- /data:/data
environment:
- TZ=Asia/Shanghai
- PUID=1000
- PGID=1000
- ARIA2_RPC_URL=http://127.0.0.1:6800
- ARIA2_RPC_SECRET=00000000
- OPENLIST_USER=000000
- OPENLIST_PASSWORD=000000000!
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:5244"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
logging:
driver: json-file
options:
max-size: 10m
deploy:
resources:
limits:
cpus: '2.0'
memory: 2G
reservations:
memory: 1G
cat config.json
{
"force": false,
"site_url": "/openlist",
"cdn": "",
"jwt_secret": "00000000",
"token_expires_in": 48,
"database": {
"type": "sqlite3",
"host": "",
"port": 0,
"user": "",
"password": "",
"name": "",
"db_file": "/opt/openlist/data/data.db",
"table_prefix": "x_",
"ssl_mode": "",
"dsn": ""
},
"meilisearch": {
"host": "http://localhost:7700",
"api_key": "",
"index": "openlist"
},
"scheme": {
"address": "0.0.0.0",
"http_port": 5244,
"https_port": -1,
"force_https": false,
"cert_file": "",
"key_file": "",
"unix_file": "",
"unix_file_perm": "",
"enable_h2c": false,
"enable_h3": false
},
"temp_dir": "/opt/openlist/data/temp",
"bleve_dir": "/opt/openlist/data/bleve",
"dist_dir": "",
"log": {
"enable": true,
"name": "/opt/openlist/data/log/log.log",
"max_size": 50,
"max_backups": 30,
"max_age": 28,
"compress": false,
"filter": {
"enable": false,
"filters": [
{
"cidr": "",
"path": "/ping",
"method": ""
},
{
"cidr": "",
"path": "",
"method": "HEAD"
},
{
"cidr": "",
"path": "/dav/",
"method": "PROPFIND"
}
]
}
},
"delayed_start": 0,
"auto_memory_limit": 4,
"min_free_memory": 0,
"max_block_limit": 0,
"max_connections": 0,
"max_concurrency": 64,
"tls_insecure_skip_verify": false,
"tasks": {
"download": {
"workers": 5,
"max_retry": 1,
"task_persistant": false
},
"transfer": {
"workers": 5,
"max_retry": 5,
"task_persistant": false
},
"upload": {
"workers": 5,
"max_retry": 5,
"task_persistant": false
},
"copy": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"move": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress_upload": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"allow_retry_canceled": false
},
"cors": {
"allow_origins": [
""
],
"allow_methods": [
""
],
"allow_headers": [
"*"
]
},
"s3": {
"enable": false,
"port": 5246,
"ssl": false
},
"ftp": {
"enable": false,
"listen": ":5221",
"find_pasv_port_attempts": 50,
"active_transfer_port_non_20": false,
"idle_timeout": 900,
"connection_timeout": 30,
"disable_active_mode": false,
"default_transfer_binary": false,
"enable_active_conn_ip_check": true,
"enable_pasv_conn_ip_check": true
},
"sftp": {
"enable": false,
"listen": ":5222"
},
"mcp": {
"enable": false
},
"last_launched_version": "v4.2.5",
"proxy_address": ""
复现链接(可选)
No response
AI生成内容(可选)
No response
请确认以下事项
我已确认阅读并同意 AGPL-3.0 第15条 。
本程序不提供任何明示或暗示的担保,使用风险由您自行承担。
我已确认阅读并同意 AGPL-3.0 第16条 。
无论何种情况,版权持有人或其他分发者均不对使用本程序所造成的任何损失承担责任。
我确认我的描述清晰,语法礼貌,能帮助开发者快速定位问题,并符合社区规则。
我已确认阅读了OpenList文档。
我已确认没有重复的问题或讨论。
我已确认是
OpenList的问题,而不是其他原因(例如 网络 ,依赖或操作)。我认为此问题必须由
OpenList处理,而非第三方。我已确认这个问题在最新版本中没有被修复。
我没有阅读这个清单,只是闭眼选中了所有的复选框,请关闭这个 Issue 。
OpenList 版本(必填)
v4.2.5
使用的存储驱动(必填)
天翼云盘
问题描述(必填)
环境:
OpenList latest,docker compose host 网络;rclone 运行在 Linux 容器。
复现步骤:
rclone webdav remote,url 指向http://ip:5244/dav;vendor=owncloud。vendor=other也测试过
rclone mount 挂载,不使用 --no‑modtime。
现象:
rclone VFS 持续发送 PROPPATCH 请求,OpenList 返回405 Method Not Allowed;rclone 判定上传失败,无限循环重试,文件上传失败。
OpenList 日志大量输出:ERROR RESTY parsing time "Aug 14, 2026, 9:47:53\xe2\x80\xafAM +08";字符串中包含 U+202F (NARROW NO‑BREAK SPACE) 窄不间断空格。
Windows 平台 rclone 同样触发 405,只是不会输出 resty 解析报错;设置 vendor=owncloud 无法规避,VFS 依然发送 PROPPATCH。
期望:
WebDAV 实现 PROPPATCH 接口,支持修改文件 mtime;
resty 时间解析逻辑增加预处理,兼容 U+202F 特殊空格,消除无效 ERROR 日志。
日志(必填)
docker compose logs
openlist | INFO[2026-08-14 10:39:24] reading config file: /opt/openlist/data/config.json
openlist | INFO[2026-08-14 10:39:24] load config from env with prefix:
openlist | INFO[2026-08-14 10:39:24] total memory: 7812MB, available: 6569MB
openlist | INFO[2026-08-14 10:39:24] min free memory: 781MB
openlist | INFO[2026-08-14 10:39:24] max block limit: 64MB
openlist | INFO[2026-08-14 10:39:24] auto memory limit: 4MB
openlist | INFO[2026-08-14 10:39:24] init logrus...
openlist | start HTTP server @ 0.0.0.0:5244
openlist | 2026/08/14 10:49:14.086592 WARN RESTY parsing time "Aug 14, 2026, 10:49:13\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:13\xe2\x80\xafAM +08" as " ", Attempt 1
openlist | 2026/08/14 10:49:14.086653 ERROR RESTY parsing time "Aug 14, 2026, 10:49:13\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:13\xe2\x80\xafAM +08" as " "
openlist | 2026/08/14 10:49:42.143776 WARN RESTY parsing time "Aug 14, 2026, 10:49:41\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:41\xe2\x80\xafAM +08" as " ", Attempt 1
openlist | 2026/08/14 10:49:42.143838 ERROR RESTY parsing time "Aug 14, 2026, 10:49:41\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:41\xe2\x80\xafAM +08" as " "
openlist | 2026/08/14 10:49:45.416174 WARN RESTY parsing time "Aug 14, 2026, 10:49:45\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:45\xe2\x80\xafAM +08" as " ", Attempt 1
openlist | 2026/08/14 10:49:45.416230 ERROR RESTY parsing time "Aug 14, 2026, 10:49:45\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:45\xe2\x80\xafAM +08" as " "
openlist | 2026/08/14 10:49:45.476725 WARN RESTY parsing time "Aug 14, 2026, 10:49:45\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:45\xe2\x80\xafAM +08" as " ", Attempt 1
openlist | 2026/08/14 10:49:45.476781 ERROR RESTY parsing time "Aug 14, 2026, 10:49:45\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:45\xe2\x80\xafAM +08" as " "
openlist | 2026/08/14 10:49:54.362168 WARN RESTY parsing time "Aug 14, 2026, 10:49:54\xe2\x80\xafAM +08" as "Jan 2, 2006 15:04:05 PM -07": cannot parse ", 10:49:54\xe2\x80\xafAM +08" as " ", Attempt 1
出错报错是启用rclone mount挂载后开始产生。同时rclone日志中:
unchunked simple update failed: Method Not Allowed: 405 Method Not Allowed
反复出现,上传文件反复进行。
配置文件内容(必填)
cat docker-compose.yml
services:
openlist:
image: openlistteam/openlist:latest
container_name: openlist
network_mode: host
user: "1000:1000"
restart: always
volumes:
- ./config:/config
- ./logs:/logs
- ./data:/opt/openlist/data
- /data:/data
environment:
- TZ=Asia/Shanghai
- PUID=1000
- PGID=1000
cat config.json
{
"force": false,
"site_url": "/openlist",
"cdn": "",
"jwt_secret": "00000000",
"token_expires_in": 48,
"database": {
"type": "sqlite3",
"host": "",
"port": 0,
"user": "",
"password": "",
"name": "",
"db_file": "/opt/openlist/data/data.db",
"table_prefix": "x_",
"ssl_mode": "",
"dsn": ""
},
"meilisearch": {
"host": "http://localhost:7700",
"api_key": "",
"index": "openlist"
},
"scheme": {
"address": "0.0.0.0",
"http_port": 5244,
"https_port": -1,
"force_https": false,
"cert_file": "",
"key_file": "",
"unix_file": "",
"unix_file_perm": "",
"enable_h2c": false,
"enable_h3": false
},
"temp_dir": "/opt/openlist/data/temp",
"bleve_dir": "/opt/openlist/data/bleve",
"dist_dir": "",
"log": {
"enable": true,
"name": "/opt/openlist/data/log/log.log",
"max_size": 50,
"max_backups": 30,
"max_age": 28,
"compress": false,
"filter": {
"enable": false,
"filters": [
{
"cidr": "",
"path": "/ping",
"method": ""
},
{
"cidr": "",
"path": "",
"method": "HEAD"
},
{
"cidr": "",
"path": "/dav/",
"method": "PROPFIND"
}
]
}
},
"delayed_start": 0,
"auto_memory_limit": 4,
"min_free_memory": 0,
"max_block_limit": 0,
"max_connections": 0,
"max_concurrency": 64,
"tls_insecure_skip_verify": false,
"tasks": {
"download": {
"workers": 5,
"max_retry": 1,
"task_persistant": false
},
"transfer": {
"workers": 5,
"max_retry": 5,
"task_persistant": false
},
"upload": {
"workers": 5,
"max_retry": 5,
"task_persistant": false
},
"copy": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"move": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress_upload": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"allow_retry_canceled": false
},
"cors": {
"allow_origins": [
""
],
"allow_methods": [
""
],
"allow_headers": [
"*"
]
},
"s3": {
"enable": false,
"port": 5246,
"ssl": false
},
"ftp": {
"enable": false,
"listen": ":5221",
"find_pasv_port_attempts": 50,
"active_transfer_port_non_20": false,
"idle_timeout": 900,
"connection_timeout": 30,
"disable_active_mode": false,
"default_transfer_binary": false,
"enable_active_conn_ip_check": true,
"enable_pasv_conn_ip_check": true
},
"sftp": {
"enable": false,
"listen": ":5222"
},
"mcp": {
"enable": false
},
"last_launched_version": "v4.2.5",
"proxy_address": ""
复现链接(可选)
No response
AI生成内容(可选)
No response