├── Dockerfile ├── README.md └── startapp.sh /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM jlesage/baseimage-gui:ubuntu-18.04 2 | LABEL maintainer="Hezekiah Ho, aka funcman " 3 | 4 | ENV APP_NAME "115pc" 5 | ENV APP_VERSION "2.0.10.2" 6 | ENV USER_ID 0 7 | ENV GROUP_ID 0 8 | ENV ENABLE_CJK_FONT 1 9 | ENV DISPLAY_WIDTH "1920" 10 | ENV DISPLAY_HEIGHT "1080" 11 | ENV APT_SOURCE_HOST "mirrors.ustc.edu.cn" 12 | 13 | RUN sed -i "s/archive.ubuntu.com/${APT_SOURCE_HOST}/g" /etc/apt/sources.list 14 | RUN apt-get update -y && apt-get upgrade -y 15 | RUN apt-get install -y curl locales 16 | RUN export LANG=zh_CN.UTF-8 && locale-gen zh_CN.UTF-8 17 | RUN curl https://down.115.com/client/115pc/lin/115pc_${APP_VERSION}.deb -o /tmp/115pc_${APP_VERSION}.deb 18 | RUN dpkg -i /tmp/115pc_${APP_VERSION}.deb 19 | 20 | COPY startapp.sh /startapp.sh 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 115网盘Linux版本的Docker封装 2 | [![Docker Automated build](https://img.shields.io/docker/automated/jlesage/baseimage-gui.svg)](https://hub.docker.com/r/funcman/115pc/) 3 | 4 | ## 紧急提示 5 | 我发现在使用一段时间后,会出现无法继续使用的问题。 6 | 7 | 最近终于抽出时间仔细看了一下,临时的解决方法就是把Web浏览器中的115pc相关的Cookie清除掉。 8 | 9 | 操作方法比如: 10 | 11 | 12 | ## 拉取镜像 13 | 14 | ```shell 15 | docker pull funcman/115pc:latest 16 | ``` 17 | 18 | 19 | ## 创建容器 20 | 21 | ```shell 22 | docker create --name=115pc \ 23 | -p 11580:5800 \ 24 | -p 11591:5900 \ 25 | -v :/config \ 26 | -v :/Downloads/115download \ 27 | --restart always \ 28 | funcman/115pc:latest 29 | ``` 30 | 31 | 32 | ## 启停 33 | 34 | ```shell 35 | docker start 115pc 36 | docker stop 115pc 37 | ``` 38 | 39 | *启动之后,可通过 `http://:11580`进行访问* 40 | 41 | 42 | ## 参数 43 | 44 | |名称 |说明 | 45 | |:- |:- | 46 | |`APP_NAME` |应用名称,默认:115pc | 47 | |`APP_VERSION` |指定115客户端版本号,默认:2.0.10.2 | 48 | |`USER_ID` |指定容器内的用户ID,默认:root | 49 | |`GROUP_ID` |指定容器内的组ID,默认:root | 50 | |`ENABLE_CJK_FONT` |默认:1,不建议修改 | 51 | |`DISPLAY_WIDTH` |应用界面宽度,默认:1920 | 52 | |`DISPLAY_HEIGHT` |应用界面高度,默认:1080 | 53 | |`APT_SOURCE_HOST` |Apt更新源地址,默认为科技大镜像:mirrors.ustc.edu.cn | 54 | 55 | *更多参数设置,请参考:* 56 | 57 | 58 | ## 注意事项 59 | 60 | 1. 考虑到Docker运行的特殊性,在每次容器启动时,都会改回***下载路径***设置,以达到固化路径的作用。 61 | 2. 同时由于v1.0.6.7这个版本(后期版本未特别验证,至少到v2.0.10.2依然如此)115客户端,默认的设置中,下载路径有多余的换行符,亦使用强制改回配置的方式实现。 62 | 3. 副作用是其他设置也会被一并改回,若有特殊需求,请自行修改代码。 63 | 4. 由于`jlesage/baseimage-gui`默认情况下,在容器内使用`app`用户运行程序,会造成115客户端无权限使用默认下载路径。 64 | 5. 采用修改参数`USER_ID`和`GROUP_ID`为`root`的手法,解决了事项4的问题,目前没找到更好的方法。 65 | 6. 由于默认使用了`root`用户,导致115客户端下载的文件的权限在其他用户面前为只读,所以尽量使用115客户端删除下载文件。 66 | 7. **不支持**115客户端的在线升级,主要是因为升级过程中需要输入115所在主机系统的登录密码,但是输入设置的密码会提示密码不正确。 67 | 68 | 69 | ## 感谢 70 | 71 | * [jlesage/baseimage-gui](https://hub.docker.com/r/jlesage/baseimage-gui)提供的X图形应用容器基础镜像,使用它可以轻松将Linux图形应用程序以Web和VNC的方式使用。 72 | * CALTyang制作的[115pc-docker](https://github.com/CALTyang/115pc-docker),我这里fork了他的代码,并进一步折腾解决了一些小问题,收获很多。 -------------------------------------------------------------------------------- /startapp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo [General] > /tmp/setting 3 | echo download_path=/Downloads/115download > /tmp/setting 4 | echo download_speed=0 >> /tmp/setting 5 | echo download_tasks=5 >> /tmp/setting 6 | echo last_download_path=/Downloads/115download/ >> /tmp/setting 7 | echo upload_tasks=5 >> /tmp/setting 8 | 9 | cp -f /tmp/setting "/config/xdg/data/115/User Data/setting" 10 | 11 | if [ ! -d '/Downloads/115download' ] 12 | then 13 | mkdir -p '/Downloads/115download' 14 | chmod a+w '/Downloads/115download' 15 | else 16 | echo "Path /Downloads/115download is Ready!" 17 | fi 18 | 19 | export LC_ALL=zh_CN.UTF-8 20 | exec /usr/local/115/115 21 | --------------------------------------------------------------------------------