Repository: AlistGo/alist (language: go)

Issue:
v3.37.3版本-本地文件复制到115网盘报错: 请升级到最新版本: unexpected error
### Please make sure of the following things

- [X] I have read the [documentation](https://alist.nn.ci).
我已经阅读了[文档](https://alist.nn.ci)。

- [X] I'm sure there are no duplicate issues or discussions.
我确定没有重复的issue或讨论。

- [X] I'm sure it's due to `AList` and not something else(such as [Network](https://alist.nn.ci/faq/howto.html#tls-handshake-timeout-read-connection-reset-by-peer-dns-lookup-failed-connect-connection-refused-client-timeout-exceeded-while-awaiting-headers-no-such-host) ,`Dependencies` or `Operational`).
我确定是`AList`的问题，而不是其他原因（例如[网络](https://alist.nn.ci/zh/faq/howto.html#tls-handshake-timeout-read-connection-reset-by-peer-dns-lookup-failed-connect-connection-refused-client-timeout-exceeded-while-awaiting-headers-no-such-host)，`依赖`或`操作`）。

- [X] I'm sure this issue is not fixed in the latest version.
我确定这个问题在最新版本中没有被修复。


### AList Version / AList 版本

v3.37.3

### Driver used / 使用的存储驱动

115

### Describe the bug / 问题描述

- 版本
```bash
xxx# ./alist version
Built At: 2024-09-16 17:54:05 +0000
Go Version: go1.22.4 linux/amd64
Author: Xhofe <i@nn.ci>
Commit ID: b6451451
Version: v3.37.3
WebVersion: 3.37.1
```
- 问题
本来是在使用rclone把本地文件复制到115网盘(命令如下)但发现网速没有提上去(之前是100M/s)
```bash
rclone copy -vv alist:/local/aly/live/biliup/upload/live-荔吱/ alist:/115/temp_6844/download/2024-09-17/荔吱/ -u --no-traverse --progress --contimeout=1h --timeout=1h --cache-chunk-size 100M --transfers 3
```
然后试了使用rclone把115网盘文件复制到本地是可以跑到100M/s的
接着使用web操作把本地文件复制到115, 就看到了如下报错
请升级到最新版本: unexpected error
![DH68MCFJ9277TJ{ERU81J30](https://github.com/user-attachments/assets/3c307292-faac-439d-baa1-89931053acc1)




### Reproduction / 复现链接

添加115存储，更新cookies.

### Config / 配置

```json
{
  "force": false,
  "site_url": "",
  "cdn": "",
  "jwt_secret": "lk49e1hyMEoDNoBH",
  "token_expires_in": 48,
  "database": {
    "type": "sqlite3",
    "host": "",
    "port": 0,
    "user": "",
    "password": "",
    "name": "",
    "db_file": "data/data.db",
    "table_prefix": "x_",
    "ssl_mode": "",
    "dsn": ""
  },
  "meilisearch": {
    "host": "http://localhost:7700",
    "api_key": "",
    "index_prefix": ""
  },
  "scheme": {
    "address": "0.0.0.0",
    "http_port": 5244,
    "https_port": -1,
    "force_https": false,
    "cert_file": "",
    "key_file": "",
    "unix_file": "",
    "unix_file_perm": ""
  },
  "temp_dir": "data/temp",
  "bleve_dir": "data/bleve",
  "dist_dir": "",
  "log": {
    "enable": true,
    "name": "data/log/log.log",
    "max_size": 50,
    "max_backups": 30,
    "max_age": 28,
    "compress": false
  },
  "delayed_start": 0,
  "max_connections": 0,
  "tls_insecure_skip_verify": true,
  "tasks": {
    "download": {
      "workers": 5,
      "max_retry": 1,
      "task_persistant": true
    },
    "transfer": {
      "workers": 5,
      "max_retry": 2,
      "task_persistant": true
    },
    "upload": {
      "workers": 5,
      "max_retry": 0,
      "task_persistant": false
    },
    "copy": {
      "workers": 5,
      "max_retry": 2,
      "task_persistant": true
    }
  },
  "cors": {
    "allow_origins": [
      "*"
    ],
    "allow_methods": [
      "*"
    ],
    "allow_headers": [
      "*"
    ]
  },
  "s3": {
    "enable": false,
    "port": 5246,
    "ssl": false
  }
}
```

### Logs / 日志

```txt
^[[31mERRO^[[0m[2024-09-17 03:18:30] COPY /dav/local/aly/live/biliup/upload/live-荔吱/荔吱.2024-09-16 15_56_07.ing.flv unexpected error
github.com/SheltonZhu/115driver/pkg/driver.init
        <autogenerated>:1
runtime.doInit1
        /home/runner/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.22.4.linux-amd64/src/runtime/proc.go:7176
runtime.doInit
        /home/runner/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.22.4.linux-amd64/src/runtime/proc.go:7143
runtime.main
        /home/runner/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.22.4.linux-amd64/src/runtime/proc.go:253
runtime.goexit
        /home/runner/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.22.4.linux-amd64/src/runtime/asm_amd64.s:1695
请升级到最新版本
github.com/SheltonZhu/115driver/pkg/driver.GetErr
        /home/runner/go/pkg/mod/github.com/!shelton!zhu/115driver@v1.0.27/pkg/driver/error.go:143
github.com/SheltonZhu/115driver/pkg/driver.(*UploadInitResp).Err
        /home/runner/go/pkg/mod/github.com/!shelton!zhu/115driver@v1.0.27/pkg/driver/response.go:182
github.com/SheltonZhu/115driver/pkg/driver.CheckErr
        /home/runner/go/pkg/mod/github.com/!shelton!zhu/115driver@v1.0.27/pkg/driver/error.go:154
github.com/alist-org/alist/v3/drivers/115.(*Pan115).rapidUpload
        /home/runner/work/alist/alist/drivers/115/util.go:201
github.com/alist-org/alist/v3/drivers/115.(*Pan115).Put
        /home/runner/work/alist/alist/drivers/115/driver.go:167
github.com/alist-org/alist/v3/internal/op.Put
        /home/runner/work/alist/alist/internal/op/fs.go:561
github.com/alist-org/alist/v3/internal/fs._copy
        /home/runner/work/alist/alist/internal/fs/copy.go:91
github.com/alist-org/alist/v3/internal/fs.Copy
        /home/runner/work/alist/alist/internal/fs/fs.go:73
github.com/alist-org/alist/v3/server/webdav.copyFiles
        /home/runner/work/alist/alist/server/webdav/file.go:59
github.com/alist-org/alist/v3/server/webdav.(*Handler).handleCopyMove
        /home/runner/work/alist/alist/server/webdav/webdav.go:477
github.com/alist-org/alist/v3/server/webdav.(*Handler).ServeHTTP
        /home/runner/work/alist/alist/server/webdav/webdav.go:70
github.com/alist-org/alist/v3/server.ServeWebDAV
        /home/runner/work/alist/alist/server/webdav.go:46
github.com/gin-gonic/gin.(*Context).Next
        /home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/context.go:185
github.com/alist-org/alist/v3/server.WebDAVAuth
        /home/runner/work/alist/alist/server/webdav.go:113
github.com/gin-gonic/gin.(*Context).Next
        /home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/context.go:185
github.com/alist-org/alist/v3/server/middlewares.StoragesLoaded
        /home/runner/work/alist/alist/server/middlewares/check.go:14
github.com/gin-gonic/gin.(*Context).Next
        /home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/context.go:185
github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1
        /home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/recovery.go:102
github.com/gin-gonic/gin.(*Context).Next
        /home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/context.go:185
github.com/gin-gonic/gin.LoggerWithConfig.func1
        /home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/logger.go:249
github.com/gin-gonic/gin.(*Context).Next
```


Discussion / hints:
Thanks for opening your first issue here! Be sure to follow the issue template!

+1
+1
> 115接口改了，昨天只是改了ua让115暂时可用

现在115能挂载吗？我的还是会报错

仍然进不去，显示failed get objs: failed to list objs: invalid character 'a' looking for beginning of value
我也显示同样错误 ‘failed get objs: failed to list objs: invalid character 'a' looking for beginning of value“
mac v3.37.3   
我也显示同样错误 ‘failed get objs: failed to list objs: invalid character 'a' looking for beginning of value“


同样的问题，等等解决办法
![111](https://github.com/user-attachments/assets/3e5fbb2d-6b65-466d-8185-e775db974541)
![222](https://github.com/user-attachments/assets/431cbbee-e240-4f28-9b10-1491190dfeeb)


一样，继续坐等更新了
快传挂了吧 ？
> 仍然进不去，显示failed get objs: failed to list objs: invalid character 'a' looking for beginning of value

情况一样
今天还是显示failed get objs: failed to list objs: invalid character 'a' looking for beginning of value
~~研究完了，有点难绷~~

---

### **出现 `请升级到最新版本：unexpected error` 的原因：**
目前`alist`中 `115`驱动所使用的接口库中提供的 `ua` 太老了
https://github.com/SheltonZhu/115driver/blob/8ace8be8e9e2403fa70cdd8e7fec9250ac4ac488/pkg/driver/consts.go#L5
<img width="250" alt="image" src="https://github.com/user-attachments/assets/0e647d5d-dc06-47af-91e4-cc1e83e548e2">

而官方的版本已经到了 `27.0.3.7`，于是把 `ua` 改为 `Mozilla/5.0 115Browser/27.0.3.7`，上传正常

个人修改的地方 `UserAgent` 和 `appVer(上传接口的传参)`  以及 `t := driver115.NowMilli()` [代码位置](https://github.com/alist-org/alist/blob/b6451451b19c4584a41cac5d890fd369cf76bab8/drivers/115/util.go#L164)

---
建议后续改为从接口动态获取版本号：[官方接口](https://appversion.115.com/1/web/1.0/api/getMultiVer)

ua和appVer都改27.0.3.7了,Milli也加上了，但是上传提示token invalid: sig invalid
> ua和appVer都改27.0.3.7了,Milli也加上了，但是上传提示token invalid: sig invalid

https://github.com/SheltonZhu/115driver/blob/main/pkg%2Fdriver%2Fupload.go#L283-L283

这里的改了吗？还有库里定义的 ua
appletv上的还是不正常，有大佬可以指教一下吗

修复115上传的二进制下载
https://tmp.link/room/66e96fbe1bb7b
> 修复115上传的二进制下载 https://tmp.link/room/66e96fbe1bb7b

替换后依旧报错，是姿势不对吗？

> 修复115上传的二进制下载 https://tmp.link/room/66e96fbe1bb7b

请问是用什么软件替换的？新字符串长度不是比原字符串更长吗？
> > 修复115上传的二进制下载 https://tmp.link/room/66e96fbe1bb7b
> 
> 请问是用什么软件替换的？新字符串长度不是比原字符串更长吗？

finalshell直接传到/root/alist
下替换原二进制文件的
> 修复115上传的二进制下载 https://tmp.link/room/66e96fbe1bb7b

测试了，上传是可以了，但是获取列表还是之前的，看app里是上传上去了，但是刷新不出来
> finalshell直接传到/root/alist 下替换原二进制文件的

其实我是问修复的细节，不是问如何替换服务器上的原文件，不过也谢谢你的回复。
临时用 https://github.com/SheltonZhu/115driver/pull/26 的修复替换掉了依赖，急用的同学可以在我 fork 这下载 bin。重复工作的原因是上面的回复没有包含源代码，我本人是不太敢用的哈哈。beta release action 正在跑，可以在[此处](https://github.com/MondoGao/alist/actions/runs/10909604496)看进度，太着急请直接本地编译。

https://github.com/MondoGao/alist

---
Temporily fix by go mod local replacement: https://github.com/MondoGao/alist
> 临时用 [SheltonZhu/115driver#26](https://github.com/SheltonZhu/115driver/pull/26) 的修复替换掉了依赖，急用的同学可以在我 fork 这下载 bin。重复工作的原因是上面的回复没有包含源代码，我本人是不太敢用的哈哈。beta release action 正在跑，可以在[此处](https://github.com/MondoGao/alist/actions/runs/10909604496)看进度，太着急请直接本地编译。
> 
> https://github.com/MondoGao/alist
> 
> Temporily fix by go mod local replacement: https://github.com/MondoGao/alist

刚才编译完成了，我下载替换了，上传还是不行
![image](https://github.com/user-attachments/assets/4610c4ca-e4d5-47b2-af20-3433a4e45a27)

> > 临时用 [SheltonZhu/115driver#26](https://github.com/SheltonZhu/115driver/pull/26) 的修复替换掉了依赖，急用的同学可以在我 fork 这下载 bin。重复工作的原因是上面的回复没有包含源代码，我本人是不太敢用的哈哈。beta release action 正在跑，可以在[此处](https://github.com/MondoGao/alist/actions/runs/10909604496)看进度，太着急请直接本地编译。
> > https://github.com/MondoGao/alist
> > Temporily fix by go mod local replacement: https://github.com/MondoGao/alist
> 
> 刚才编译完成了，我下载替换了，上传还是不行 ![image](https://private-user-images.githubusercontent.com/11196986/368318899-4610c4ca-e4d5-47b2-af20-3433a4e45a27.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjY2MDQxMjMsIm5iZiI6MTcyNjYwMzgyMywicGF0aCI6Ii8xMTE5Njk4Ni8zNjgzMTg4OTktNDYxMGM0Y2EtZTRkNS00N2IyLWFmMjAtMzQzM2E0ZTQ1YTI3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTE3VDIwMTAyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVhYzVlZGNkM2VkMjZhZDBhZTM3NjhlNmRmZDNmMjMyMGUwY2FkZGQ3MzE1NWE4M2RkYTcyYTBmZGY5MGZlYjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.KWWL5GcumYFESCy_WcP1owCo0dISIPNbuLfA6WAhub0)

嗯，刚刚看了下上面同学的分析，我没有完整包含 https://github.com/alist-org/alist/issues/7198#issuecomment-2354873531 这里指到的修复。我这里只提供了替换 mod 的方法，需要可以进一步修正。
> > 临时用 [SheltonZhu/115driver#26](https://github.com/SheltonZhu/115driver/pull/26) 的修复替换掉了依赖，急用的同学可以在我 fork 这下载 bin。重复工作的原因是上面的回复没有包含源代码，我本人是不太敢用的哈哈。beta release action 正在跑，可以在[此处](https://github.com/MondoGao/alist/actions/runs/10909604496)看进度，太着急请直接本地编译。
> > https://github.com/MondoGao/alist
> > Temporily fix by go mod local replacement: https://github.com/MondoGao/alist
> 
> 刚才编译完成了，我下载替换了，上传还是不行 ![image](https://private-user-images.githubusercontent.com/11196986/368318899-4610c4ca-e4d5-47b2-af20-3433a4e45a27.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjY2MDU0MDksIm5iZiI6MTcyNjYwNTEwOSwicGF0aCI6Ii8xMTE5Njk4Ni8zNjgzMTg4OTktNDYxMGM0Y2EtZTRkNS00N2IyLWFmMjAtMzQzM2E0ZTQ1YTI3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTE3VDIwMzE0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUwMTZhMzAwMmU1NTRiOTcyZDJiNWQ0ZTE5OWIzOTZmMTYzOGYwMWZkYzhmMmQyNTBmNTRiNjNmYjM4ZmIwYmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.el_xGG9Xe4Pd2MkA1hRLBjLRBAMir0q9tMKVoBE1ZHc)

我这测试新 commit 可以了。等 [action](https://github.com/MondoGao/alist/actions/runs/10910946978/job/30282547041) 跑完再下载对应版本即可。因为共用的一个 beta tag，release 上的产物可能是上一个构建产出的。
![image](https://github.com/user-attachments/assets/c0dbaef4-3827-4b00-8ae4-762b3be122f7)

---
指路二进制：https://github.com/MondoGao/alist/releases/tag/beta

> 修复115上传的二进制下载 https://tmp.link/room/66e96fbe1bb7b

能上传了，但是上传的图片在alist中不显示，在网盘中显示，这是什么原因。
> > 修复115上传的二进制下载 https://tmp.link/room/66e96fbe1bb7b
> 
> 能上传了，但是上传的图片在alist中不显示，在网盘中显示，这是什么原因。

我这边没这个问题...
> > > 临时用 [SheltonZhu/115driver#26](https://github.com/SheltonZhu/115driver/pull/26) 的修复替换掉了依赖，急用的同学可以在我 fork 这下载 bin。重复工作的原因是上面的回复没有包含源代码，我本人是不太敢用的哈哈。beta release action 正在跑，可以在[此处](https://github.com/MondoGao/alist/actions/runs/10909604496)看进度，太着急请直接本地编译。
> > > https://github.com/MondoGao/alist
> > > Temporily fix by go mod local replacement: https://github.com/MondoGao/alist
> > 
> > 
> > 刚才编译完成了，我下载替换了，上传还是不行 ![image](https://private-user-images.githubusercontent.com/11196986/368318899-4610c4ca-e4d5-47b2-af20-3433a4e45a27.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjY2MDU0MDksIm5iZiI6MTcyNjYwNTEwOSwicGF0aCI6Ii8xMTE5Njk4Ni8zNjgzMTg4OTktNDYxMGM0Y2EtZTRkNS00N2IyLWFmMjAtMzQzM2E0ZTQ1YTI3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTE3VDIwMzE0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUwMTZhMzAwMmU1NTRiOTcyZDJiNWQ0ZTE5OWIzOTZmMTYzOGYwMWZkYzhmMmQyNTBmNTRiNjNmYjM4ZmIwYmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.el_xGG9Xe4Pd2MkA1hRLBjLRBAMir0q9tMKVoBE1ZHc)
> 
> 我这测试新 commit 可以了。等 [action](https://github.com/MondoGao/alist/actions/runs/10910946978/job/30282547041) 跑完再下载对应版本即可。因为共用的一个 beta tag，release 上的产物可能是上一个构建产出的。 ![image](https://private-user-images.githubusercontent.com/3753893/368338780-c0dbaef4-3827-4b00-8ae4-762b3be122f7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjY2MzI1ODMsIm5iZiI6MTcyNjYzMjI4MywicGF0aCI6Ii8zNzUzODkzLzM2ODMzODc4MC1jMGRiYWVmNC0zODI3LTRiMDAtOGFlNC03NjJiM2JlMTIyZjcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDkxOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA5MThUMDQwNDQzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YjY4YjYzNTMwMTBkOWM2ZjdmNGI2MDBmM2JiZjlhMWE2ZjkwNjgzZDJmOTE4MTcxNGU0Mjk5OWZmZjliMDQxMCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.LpPFze-2EBaAPEL4z2Mvb2Em3gB-t0GYzNC0RBVYvcY)
> 
> 指路二进制：https://github.com/MondoGao/alist/releases/tag/beta

大佬，docker如何替换，自己编译了下，编译不通过。
> > > > 临时用 [SheltonZhu/115driver#26](https://github.com/SheltonZhu/115driver/pull/26) 的修复替换掉了依赖，急用的同学可以在我 fork 这下载 bin。重复工作的原因是上面的回复没有包含源代码，我本人是不太敢用的哈哈。beta release action 正在跑，可以在[此处](https://github.com/MondoGao/alist/actions/runs/10909604496)看进度，太着急请直接本地编译。
> > > > https://github.com/MondoGao/alist
> > > > Temporily fix by go mod local replacement: https://github.com/MondoGao/alist
> > > 
> > > 
> > > 刚才编译完成了，我下载替换了，上传还是不行 ![image](https://private-user-images.githubusercontent.com/11196986/368318899-4610c4ca-e4d5-47b2-af20-3433a4e45a27.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjY2MDU0MDksIm5iZiI6MTcyNjYwNTEwOSwicGF0aCI6Ii8xMTE5Njk4Ni8zNjgzMTg4OTktNDYxMGM0Y2EtZTRkNS00N2IyLWFmMjAtMzQzM2E0ZTQ1YTI3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTE3VDIwMzE0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUwMTZhMzAwMmU1NTRiOTcyZDJiNWQ0ZTE5OWIzOTZmMTYzOGYwMWZkYzhmMmQyNTBmNTRiNjNmYjM4ZmIwYmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.el_xGG9Xe4Pd2MkA1hRLBjLRBAMir0q9tMKVoBE1ZHc)
> > 
> > 
> > 我这测试新 commit 可以了。等 [action](https://github.com/MondoGao/alist/actions/runs/10910946978/job/30282547041) 跑完再下载对应版本即可。因为共用的一个 beta tag，release 上的产物可能是上一个构建产出的。 ![image](https://private-user-images.githubusercontent.com/3753893/368338780-c0dbaef4-3827-4b00-8ae4-762b3be122f7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjY2MzI1ODMsIm5iZiI6MTcyNjYzMjI4MywicGF0aCI6Ii8zNzUzODkzLzM2ODMzODc4MC1jMGRiYWVmNC0zODI3LTRiMDAtOGFlNC03NjJiM2JlMTIyZjcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDkxOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA5MThUMDQwNDQzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YjY4YjYzNTMwMTBkOWM2ZjdmNGI2MDBmM2JiZjlhMWE2ZjkwNjgzZDJmOTE4MTcxNGU0Mjk5OWZmZjliMDQxMCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.LpPFze-2EBaAPEL4z2Mvb2Em3gB-t0GYzNC0RBVYvcY)
> > 指路二进制：https://github.com/MondoGao/alist/releases/tag/beta
> 
> 大佬，docker如何替换，自己编译了下，编译不通过。

要看你运行 docker 镜像的架构。如果是 windows 那应该是 x86_64 (amd64)，不确定就在 docker 镜像里运行 uname -p 看。然后在 https://github.com/MondoGao/alist/releases/tag/beta 下载对应架构的二进制文件，直接通过 volume 挂载替换掉镜像内的二进制即可。以 compose 为例：
```yaml
services:
  alist:
    volumes:
      - ./alist:/opt/bin/alist # 下载的二进制 : 镜像内的二进制文件路径
```

> > > 临时用 [SheltonZhu/115driver#26](https://github.com/SheltonZhu/115driver/pull/26) 的修复替换掉了依赖，急用的同学可以在我 fork 这下载 bin。重复工作的原因是上面的回复没有包含源代码，我本人是不太敢用的哈哈。beta release action 正在跑，可以在[此处](https://github.com/MondoGao/alist/actions/runs/10909604496)看进度，太着急请直接本地编译。
> > > https://github.com/MondoGao/alist
> > > Temporily fix by go mod local replacement: https://github.com/MondoGao/alist
> > 
> > 
> > 刚才编译完成了，我下载替换了，上传还是不行 ![image](https://private-user-images.githubusercontent.com/11196986/368318899-4610c4ca-e4d5-47b2-af20-3433a4e45a27.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjY2MDU0MDksIm5iZiI6MTcyNjYwNTEwOSwicGF0aCI6Ii8xMTE5Njk4Ni8zNjgzMTg4OTktNDYxMGM0Y2EtZTRkNS00N2IyLWFmMjAtMzQzM2E0ZTQ1YTI3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTE3VDIwMzE0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUwMTZhMzAwMmU1NTRiOTcyZDJiNWQ0ZTE5OWIzOTZmMTYzOGYwMWZkYzhmMmQyNTBmNTRiNjNmYjM4ZmIwYmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.el_xGG9Xe4Pd2MkA1hRLBjLRBAMir0q9tMKVoBE1ZHc)
> 
> 我这测试新 commit 可以了。等 [action](https://github.com/MondoGao/alist/actions/runs/10910946978/job/30282547041) 跑完再下载对应版本即可。因为共用的一个 beta tag，release 上的产物可能是上一个构建产出的。 ![image](https://private-user-images.githubusercontent.com/3753893/368338780-c0dbaef4-3827-4b00-8ae4-762b3be122f7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjY2MzUyNDgsIm5iZiI6MTcyNjYzNDk0OCwicGF0aCI6Ii8zNzUzODkzLzM2ODMzODc4MC1jMGRiYWVmNC0zODI3LTRiMDAtOGFlNC03NjJiM2JlMTIyZjcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDkxOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA5MThUMDQ0OTA4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Mzg4YzI4NTQ3ZGViZWMxYzg3YWYxMDBiODJmNGQzZWFhMjQ4ZTViOGEyNTM1MDhiYWFjZjA4MDJiODgzMjMzNCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.cyAcYUwaUp5kirOLKHkDmlTgSHIT-mHlGUYFQlrjjb0)
> 
> 指路二进制：https://github.com/MondoGao/alist/releases/tag/beta

mac上测了下，可以正常上传了

Fix patch:
diff --git a/drivers/115/util.go b/drivers/115/util.go
index 992502c42c1..ddddf6e9b15 100644
--- a/drivers/115/util.go
+++ b/drivers/115/util.go
@@ -74,9 +74,23 @@ func (d *Pan115) getFiles(fileId string) ([]FileObj, error) {
 }
 
 const (
-	appVer = "2.0.3.6"
+	appVer = "27.0.3.7"
 )
 
+func (c *Pan115) getAppVer() string {
+	// todo add some cache？
+	vers, err := c.client.GetAppVersion()
+	if err != nil {
+		return appVer
+	}
+	for _, ver := range vers {
+		if ver.AppName == "win" {
+			return ver.Version
+		}
+	}
+	return appVer
+}
+
 func (c *Pan115) DownloadWithUA(pickCode, ua string) (*driver115.DownloadInfo, error) {
 	key := crypto.GenerateKey()
 	result := driver115.DownloadResp{}
@@ -151,7 +165,7 @@ func (d *Pan115) rapidUpload(fileSize int64, fileName, dirID, preID, fileID stri
 	userID := strconv.FormatInt(d.client.UserID, 10)
 	form := url.Values{}
 	form.Set("appid", "0")
-	form.Set("appversion", appVer)
+	form.Set("appversion", d.getAppVer())
 	form.Set("userid", userID)
 	form.Set("filename", fileName)
 	form.Set("filesize", fileSizeStr)
@@ -161,7 +175,7 @@ func (d *Pan115) rapidUpload(fileSize int64, fileName, dirID, preID, fileID stri
 
 	signKey, signVal := "", ""
 	for retry := true; retry; {
-		t := driver115.Now()
+		t := driver115.NowMilli()
 
 		if encodedToken, err = ecdhCipher.EncodeToken(t.ToInt64()); err != nil {
 			return nil, err
@@ -225,6 +239,9 @@ func UploadDigestRange(stream model.FileStreamer, rangeSpec string) (result stri
 
 	length := end - start + 1
 	reader, err := stream.RangeRead(http_range.Range{Start: start, Length: length})
+	if err != nil {
+		return "", err
+	}
 	hashStr, err := utils.HashReader(utils.SHA1, reader)
 	if err != nil {
 		return "", err
diff --git a/go.mod b/go.mod
index 8ec1c302760..94e10ca1c42 100644
--- a/go.mod
+++ b/go.mod
@@ -3,7 +3,7 @@ module github.com/alist-org/alist/v3
 go 1.22.4
 
 require (
-	github.com/SheltonZhu/115driver v1.0.27
+	github.com/SheltonZhu/115driver v1.0.29
 	github.com/Xhofe/go-cache v0.0.0-20240804043513-b1a71927bc21
 	github.com/Xhofe/rateg v0.0.0-20230728072201-251a4e1adad4
 	github.com/alist-org/gofakes3 v0.0.7
diff --git a/go.sum b/go.sum
index 6ba075f3b27..346a2d45125 100644
--- a/go.sum
+++ b/go.sum
@@ -7,8 +7,8 @@ github.com/Max-Sum/base32768 v0.0.0-20230304063302-18e6ce5945fd h1:nzE1YQBdx1bq9
 github.com/Max-Sum/base32768 v0.0.0-20230304063302-18e6ce5945fd/go.mod h1:C8yoIfvESpM3GD07OCHU7fqI7lhwyZ2Td1rbNbTAhnc=
 github.com/RoaringBitmap/roaring v1.9.3 h1:t4EbC5qQwnisr5PrP9nt0IRhRTb9gMUgQF4t4S2OByM=
 github.com/RoaringBitmap/roaring v1.9.3/go.mod h1:6AXUsoIEzDTFFQCe1RbGA6uFONMhvejWj5rqITANK90=
-github.com/SheltonZhu/115driver v1.0.27 h1:Ya1HYHYXFmi7JnqQ/+Vy6xZvq3leto+E+PxTm6UChj8=
-github.com/SheltonZhu/115driver v1.0.27/go.mod h1:e3fPOBANbH/FsTya8FquJwOR3ErhCQgEab3q6CVY2k4=
+github.com/SheltonZhu/115driver v1.0.29 h1:yFBqFDYJyADo3eG2RjJgSovnFd1OrpGHmsHBi6j0+r4=
+github.com/SheltonZhu/115driver v1.0.29/go.mod h1:e3fPOBANbH/FsTya8FquJwOR3ErhCQgEab3q6CVY2k4=
 github.com/Unknwon/goconfig v1.0.0 h1:9IAu/BYbSLQi8puFjUQApZTxIHqSwrj5d8vpP8vTq4A=
 github.com/Unknwon/goconfig v1.0.0/go.mod h1:wngxua9XCNjvHjDiTiV26DaKDT+0c63QR6H5hjVUUxw=
 github.com/Xhofe/go-cache v0.0.0-20240804043513-b1a71927bc21 h1:h6q5E9aMBhhdqouW81LozVPI1I+Pu6IxL2EKpfm5OjY=
@@ -96,8 +96,6 @@ github.com/caarlos0/env/v9 v9.0.0 h1:SI6JNsOA+y5gj9njpgybykATIylrRMklbs5ch6wO6pc
 github.com/caarlos0/env/v9 v9.0.0/go.mod h1:ye5mlCVMYh6tZ+vCgrs/B95sj88cg5Tlnc0XIzgZ020=
 github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
 github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/charmbracelet/bubbles v0.19.0 h1:gKZkKXPP6GlDk6EcfujDK19PCQqRjaJZQ7QRERx1UF0=
-github.com/charmbracelet/bubbles v0.19.0/go.mod h1:WILteEqZ+krG5c3ntGEMeG99nCupcuIk7V0/zOP0tOA=
 github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE=
 github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU=
 github.com/charmbracelet/bubbletea v1.1.0 h1:FjAl9eAL3HBCHenhz/ZPjkKdScmaS5SK69JAK2YJK9c=
@@ -548,8 +546,6 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY
 golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
 golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
 golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M=
-golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw=
-golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54=
 golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
 golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
 golang.org/x/exp v0.0.0-20240904232852-e7e105dedf7e h1:I88y4caeGeuDQxgdoFPUq097j7kNfw6uvuiNxUBfcBk=
@@ -626,8 +622,6 @@ golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg=
-golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
 golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
@@ -640,8 +634,6 @@ golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
 golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
 golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
 golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4=
-golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU=
-golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk=
 golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
 golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -657,8 +649,6 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
 golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
 golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
 golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
-golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
-golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
 golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
 golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=


Test patch: