侧边栏壁纸
博主头像
Simon's Blog 博主等级

行动起来,活在当下

  • 累计撰写 2 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

OpenList网盘一键代码合集

OpenList 是一个由 OpenList 团队独立维护的开源项目,遵循 AGPL-3.0 许可证,致力于保持完整的代码开放性和修改透明性。

*下载OpenList

# 1. 更新软件源并安装 wget (修正了 Apt 大写问题)
apt update -y && apt install wget -y

# 2. 创建目录并进入
mkdir -p /opt/openlist
cd /opt/openlist

# 3. 下载文件 (请确保此链接有效)
wget -O openlist-linux-amd64.tar.gz https://github.com/OpenListTeam/OpenList/releases/download/v4.1.8/openlist-linux-amd64.tar.gz

# 4. 解压
tar -xvf openlist-linux-amd64.tar.gz

# 5. 清理压缩包
rm -f openlist-linux-amd64.tar.gz

# 6. 赋予执行权限 (这里使用通配符 * 防止文件名不完全匹配,或者你可以先 ls 看一下文件名)
chmod +x openlist

*通过SystemD允许OpenIst后台守护/自启动

cat > /usr/lib/systemd/system/openlist.service << EOF
[Unit]
Description=openlist
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/openlist/
# 注意:如果程序不需要 'server' 参数,请去掉下面的 'server'
ExecStart=/opt/openlist/openlist server
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

# 重载配置
systemctl daemon-reload
# 设置开机自启
systemctl enable openlist
# 立即启动
systemctl start openlist

*验证状态

systemctl status openlist

• 如果看到綠色的 Active: active (running):說明配置成功,程序正在運行。

• 如果看到红色的 Failed 或 Exited:

1. 可能是 ExecStart 里的 server 参数不对。

2. 可能是之前的 chmod +x 没有执行,文件没有运行权限。

3. 可以通过 journalctl -u openlist -n 20 查看具体的报错日志。

*重设初始密码指令

./openlist admin set password

*放行防火墙

ufw allow 5244/tcp

去你的域名商那解析Dns 方便后续反向代理

*安装Nginx

创建反向代理配置 目标文件:etc/nginx/conf.d/openlist.conf

并一键申请SSl证书

# ==========================================
# 第一步:先写入一个基础的 HTTP 配置
# (这样 Nginx 才能启动,Certbot 才能验证域名)
# ==========================================
cat > /etc/nginx/conf.d/openlist.conf << 'EOF'
server {
    listen 80;
    server_name pan.keshybe.top;

    location / {
        proxy_pass http://127.0.0.1:5244;
    }
}
EOF

# 重启 Nginx 确保基础配置生效
systemctl restart nginx

# ==========================================
# 第二步:申请 SSL 证书
# (自动获取证书,如果已存在会跳过或更新)
# ==========================================
echo "正在申请 SSL 证书..."
certbot --nginx -d pan.keshybe.top --non-interactive --agree-tos --email simonns187@gmail.com --redirect

# ==========================================
# 第三步:写入最终的完美配置 (包含证书路径 + 性能优化)
# ==========================================
cat > /etc/nginx/conf.d/openlist.conf << 'EOF'
server {
    listen 80;
    server_name pan.keshybe.top;
    # 强制跳转 HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name pan.keshybe.top;

    # 证书路径 (Certbot 生成的标准路径)
    ssl_certificate /etc/letsencrypt/live/pan.keshybe.top/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/pan.keshybe.top/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        proxy_pass http://127.0.0.1:5244;
        
        # 基础头信息
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        
        # === 核心优化:无限上传 + 10分钟超时 ===
        client_max_body_size 0;
        proxy_connect_timeout 600s;
        proxy_send_timeout 600s;
        proxy_read_timeout 600s;
        client_body_timeout 600s;
    }
}
EOF

# ==========================================
# 第四步:重启 Nginx 使最终配置生效
# ==========================================
nginx -t && systemctl restart nginx

echo "🎉 搞定!pan.keshybe.top 现在已开启 HTTPS 且支持大文件上传。"

    }
}
EOF

❗️注意:请务必将代码中的 pan.keshybe.top 替换为你自己的域名,以及将邮箱替换为你自己的!

博主关闭了所有页面的评论