批量打开网址 1Click2OpenALL 的安装步骤

批量打开网址 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

必须在项目安装目录运行脚本,作用:

  1. 创建虚拟环境和安装包
  2. 在安装目录生成 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 交流依文章步骤遇到的问题。

上一篇
下一篇