批量打开网址 1Click2OpenALL 的功能介绍和使用说明,请前往 GitHub 项目主页查看。
项目地址: AhFeil/1Click2OpenALL: 批量打开文本框中的网址 (github.com)
体验网址: OneClickOpen (vfly2.com)

| 指标 | 描述 |
|---|---|
| 适用系统 | Debian 系发行版,包括 Ubuntu, Armbian,其他发行版稍改命令一般也可 |
| 走通流程时间 | Docker 3 分钟,原生 15min |
Docker 安装 一键全开
全复制并执行,一键创建工作目录
myserve="1Click2OpenALL"
mkdir -p ~/myserve/$myserve && cd ~/myserve/$myserve
一键创建 docker-compose.yml 文件(镜像是自动构建的,不会对其测试,如果问题还请反馈)
cat > docker-compose.yml << EOF
---
services:
oneclickopen:
image: ghcr.io/ahfeil/1click2openall:latest
container_name: oneclickopen
restart: always
ports:
- 7500:7500
EOF
拉取镜像
docker compose pull
启动(这时就可以访问网页了 ip:7500 )
docker compose up -d
关闭
docker compose down
原生部署 一键全开
前置准备
推荐使用普通用户,这里假设用户名为 vfly2,并在家目录下的 pythonServe 放置工作目录。
安装环境和依赖( Python versions 3.10+ )
sudo apt update && sudo apt install python3 python3-venv curl -y
创建目录 /home/vfly2/pythonServe :
mkdir -p ~/pythonServe/1Click2OpenALL && cd ~/pythonServe/1Click2OpenALL
下载源码并解压:
curl -LO https://github.com/AhFeil/1Click2OpenALL/releases/download/v0.1.0/oneclick.zip && unzip oneclick.zip && rm oneclick.zip
运行初始化部署脚本
bash ./setup4host.sh
必须在项目安装目录运行脚本,作用:
- 创建虚拟环境和安装包
- 在安装目录生成 systemd 配置文件,默认将以当前用户身份运行程序
先运行一下,测试网页是否正常工作,访问 http://your_ip:7500
.env/bin/python main.py
使用 systemd 守护进程
可以看一下 Systemd 的配置文件,一般无须修改
cat oneclickopen.service
设置开机自启并立即运行
sudo systemctl enable --now $PWD/oneclickopen.service
查看状态
sudo systemctl status oneclickopen.service
如有修改 Systemd 的配置文件,使用下面命令刷新
sudo systemctl daemon-reload
方便用户使用
sudo systemctl stop oneclickopen.service
sudo systemctl start oneclickopen.service
sudo systemctl disable oneclickopen.service # 关闭开机自启
journalctl -u oneclickopen -f --since "1 days ago"
Nginx 反代
本节不是必须要做的,可以跳过。
使用 acme.sh 自动获取和更新证书: [[02acme.sh]] 使用 acme.sh 申请和自动更新证书的完整指南 – 技焉洲
记得修改域名
acme.sh --issue -d oneclickopen.vfly2.com --webroot /var/www/html
acme.sh --install-cert -d oneclickopen.vfly2.com \
--key-file /etc/ssl/private/oneclickopen.vfly2.com.key \
--fullchain-file /etc/ssl/certs/oneclickopen.vfly2.com.cer \
--reloadcmd "systemctl reload nginx"
有一个 Nginx 配置文件示例,位于 1Click2OpenALL/examples/oneclickopen.conf ,下面将基于它修改一点内容,得到可以使用的配置
改成你的域名
DOMAIN="oneclickopen.vfly2.com"
复制执行即可,作用是修改示例文件中的域名并生成临时文件,以及修改配置中的项目路径
sed "s/oneclickopen\.vfly2\.com/${DOMAIN}/g" examples/oneclickopen.conf > /tmp/oneclickopen_temp
用 sudo 将配置文件移动到 Nginx 的站点目录下,并启用站点配置
sudo mv /tmp/oneclickopen_temp /etc/nginx/sites-available/oneclickopen && \
sudo ln -s /etc/nginx/sites-available/oneclickopen /etc/nginx/sites-enabled/oneclickopen
可以查看一下最终的配置文件,如有不合适的,就修改一下
cat /etc/nginx/sites-available/oneclickopen
如果你不是按照上面 acme.sh 的教程下载的证书,证书路径可能不一样,因此需要自行修改那两个路径
检查配置并重启生效
sudo nginx -t && sudo systemctl reload nginx
更新
在工作目录下,下载最新的源码,解压时选择强制覆盖:
cd ~/pythonServe/1Click2OpenALL && \
curl -LO https://github.com/AhFeil/1Click2OpenALL/releases/download/v0.1.0/oneclick.zip && unzip -o oneclick.zip && rm oneclick.zip
可能需要更新 requirements
bash ./setup4host.sh
停止原来的程序
sudo systemctl stop oneclickopen.service
然后重启
sudo systemctl start oneclickopen.service
sleep 3
sudo systemctl status oneclickopen.service
开启验证码
cd ~/pythonServe/1Click2OpenALL && vim config.yaml
cap_instance_url: https://xx.xx
site_key: abcdefghi
key_secret: VS256d2578HCSsbd51afknxxxxxxxxxxxxxxxxxxxxxx
对于开发者
可使用 git 获取源码和更新
拉取仓库:
git clone https://github.com/AhFeil/1Click2OpenALL && cd 1Click2OpenALL
更新时,用 Git 拉取最新版本:
cd ~/pythonServe/1Click2OpenALL && git pull
查看日志
journalctl -u oneclickopen.service --since "30 days ago" \
| grep -vE '200 OK|GET /favicon\.ico|422 Unprocessable Entity|404 Not Found'
原文链接: https://yanh.tech/2024/03/deployment-process-1click2openall/
版权声明:本博客所有文章除特別声明外,均为 AhFei 原创,采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 技焉洲 (yanh.tech) 。
保持更新 ٩(•̤̀ᵕ•̤́๑)ᵒᵏᵎᵎᵎᵎ 清晰恒益的实用技能,欢迎使用 RSS 订阅。
可在 Telegram 群组 https://t.me/vfly2 交流依文章步骤遇到的问题。

