From 0ca46fe884169d1a7ffbc5f6ce97806cf8cd3f0b Mon Sep 17 00:00:00 2001 From: okxlin Date: Mon, 22 Jan 2024 23:52:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0vertex=E5=88=B0=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vertex/README.md | 124 +++++++++++++++++++++++++++++++ vertex/data.yml | 20 +++++ vertex/latest/.env.sample | 3 + vertex/latest/data.yml | 17 +++++ vertex/latest/docker-compose.yml | 21 ++++++ vertex/logo.png | Bin 0 -> 1789 bytes 6 files changed, 185 insertions(+) create mode 100644 vertex/README.md create mode 100644 vertex/data.yml create mode 100644 vertex/latest/.env.sample create mode 100644 vertex/latest/data.yml create mode 100644 vertex/latest/docker-compose.yml create mode 100644 vertex/logo.png diff --git a/vertex/README.md b/vertex/README.md new file mode 100644 index 000000000..9ac4ef531 --- /dev/null +++ b/vertex/README.md @@ -0,0 +1,124 @@ +# 使用说明 + +- 账户密码 + - username:admin + - password:通过查看`/opt/1panel/apps/local/vertex/vertex/data/data/password`获取,路径按需修改 + +# 原始相关 +*** + +
+ +
+
+

Vertex

+

适用于 PT 玩家的追剧刷流一体化综合管理工具

+

+ + + + + + + +

+
+
+

+ +⚡ 刷流:提供 RSS 任务、种子监控、自动删种、数据统计 全自动流程配置,提供多下载器 负载均衡 及 自定义分流 功能,可根据 自定义规则,将不同的种子按需求分流至不同分类或下载器。 + +🌌 追剧:通过在 豆瓣点击想看按钮 或 Vertex 添加想看项目,自动在 PT 站点 内搜索资源,并推送至 qBittorrent 或 Transmission,在种子下载完毕之后 自动 根据指定的 链接规则,将影视文件链接为 可被 Plex / Emby 正常识别的文件。如果是仍在更新的电视剧或暂未上映的电影,则会自动 启动追更模式,定时在站内搜索资源并下载。 + +⭐ 超级模式:追剧任务更支持 类 RSS 的 超级模式,在种子发布之后的 几分钟内 就可以将正在追剧的种子发送至下载器,下载完成之后自动执行链接操作。 + +⛱ 链接:除了追剧任务添加的种子之外,同时支持 监控 下载器内 指定分类或保存路径 的种子文件,当文件完成时,会 自动执行 链接操作,生成 可被 Plex / Emby 正常识别的链接文件。除此之外,更支持选择 单个 或 批量选择 种子根据链接规则执行连接操作。 + +⏱ 定时任务:可以编写自定义的 JavaScript 脚本,利用 Vertex 所有的内置资源(下载器信息,站点信息,内置方法)等,达成各类自定义类似 全自动限速种子、监控站点 HR 等功能。 + +🌈 站点:提供站点的上传下载数据统计及历史信息。 +

+
+ +### Contribute +#### 开发环境 +Node.js v14.17.0 +npm 6.14.13 + +#### 拉取代码 +Fork 本仓库后拉取到本地 + +#### 安装依赖 +``` bash +cd vertex +npm i --save-dev +cd webui +npm i --save-dev --legacy-peer-deps +``` + +#### 目录结构 +``` +. +├── app # 后端 +│ ├── app.js # 程序入口 +│ ├── common # 基本类 +│ ├── config # 配置文件 +│ ├── controller # Controller +│ ├── data # 持久数据存放目录 (具体生成逻辑参考 docker/start.sh) +│ ├── libs # 工具文件夹 +│ ├── model # Model +│ ├── routes # 路由 +│ └── script # 脚本文件夹 (已弃用) +├── docker # docker 相关 +│ ├── Dockerfile +│ └── start.sh +├── LICENSE +├── nodemon.json +├── package.json +├── package-lock.json +├── README.md +├── webhook # Webhook 资源相关 +│ └── EmbySXPackage +└── webui # 前端 + ├── babel.config.js + ├── cyber.js + ├── dark.js + ├── light.js + ├── package.json + ├── package-lock.json + ├── public + │ ├── assets + │ └── index.html + ├── src + │ ├── api # 请求 api + │ ├── App.vue # + │ ├── main.js # 入口 + │ ├── pages # 页面 .vue + │ ├── routes # 路由 + │ ├── style # 主题相关 + │ └── util # 工具类 + └── vue.config.js +``` + +#### 启动 +``` bash +# 安装 nodemon +npm i -g nodemon + +# 终端 1 启动后端 +cd vertex +npm run app + +# 终端 2 启动 vue-server +cd webui +npm run serve +``` + +### 交流群组 +QQ: 刷流 852643057 + +
+ +### Wiki +

Wiki

+
\ No newline at end of file diff --git a/vertex/data.yml b/vertex/data.yml new file mode 100644 index 000000000..44df4d9c1 --- /dev/null +++ b/vertex/data.yml @@ -0,0 +1,20 @@ +name: Vertex +tags: + - 工具 +title: 适用于 PT 玩家的追剧刷流一体化综合管理工具 +type: 工具 +description: 适用于 PT 玩家的追剧刷流一体化综合管理工具 +additionalProperties: + key: vertex + name: Vertex + tags: + - Tool + shortDescZh: 适用于 PT 玩家的追剧刷流一体化综合管理工具 + shortDescEn: An all-in-one comprehensive management tool for PT players + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://wiki.vertex.icu + github: https://github.com/vertex-app/vertex + document: https://wiki.vertex.icu diff --git a/vertex/latest/.env.sample b/vertex/latest/.env.sample new file mode 100644 index 000000000..9f59c3c3d --- /dev/null +++ b/vertex/latest/.env.sample @@ -0,0 +1,3 @@ +CONTAINER_NAME="vertex" +PANEL_APP_PORT_HTTP="40197" +DATA_PATH="./data" diff --git a/vertex/latest/data.yml b/vertex/latest/data.yml new file mode 100644 index 000000000..b43cd00e9 --- /dev/null +++ b/vertex/latest/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: 40197 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: ./data + edit: true + envKey: DATA_PATH + labelEn: Data folder path + labelZh: 数据文件夹路径 + required: true + type: text diff --git a/vertex/latest/docker-compose.yml b/vertex/latest/docker-compose.yml new file mode 100644 index 000000000..7f7ce7e44 --- /dev/null +++ b/vertex/latest/docker-compose.yml @@ -0,0 +1,21 @@ +version: '3' +services: + vertex: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP}" + volumes: + - "${DATA_PATH}:/vertex" + environment: + - TZ=Asia/Shanghai + - PORT=${PANEL_APP_PORT_HTTP} + image: lswl/vertex:latest + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/vertex/logo.png b/vertex/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..375714b0f893b328bfa2c64b04818b19f7e152f4 GIT binary patch literal 1789 zcmd5-`CF1%6#fhaH`EplkP&fOKGU%fEw?m7Bef8h%A7LAA(6xlB{jE+B*mv}Doe{0 zbu4VL#U;%pGO4FRL8R4G!dz0*9NaaVuYY2m`QhAi&pqcp_uTuw=bjuYg^bk2=mG$M z^xEy=59ykpq78?}?d@<|Na@7xKF9_Dn_qv5MpA_v2LRxAy*%6llZw9fIAGwJm-wHKI#Yz-C`?9=nh_Efwyw)Qa6a&K#G z_4!o6r~O4)xe|}gt>%t?9_uJ7B=!wt6yvNd-jB_j`x*@OpdVP3cWPVmiSf7{BNyDQ z)^PWO@HSCiB_Jz7$I-9 z5zMn2G4&`1gVYr+I!nkcPW9W~hwa~0?)NCy-hD#D6<+mWuxnhi*E?~;Z=ZFQBxTv9 zBhD1|(}fLmnWLGbYs6xKMz7|$Pl8E%jPV?Qra)tcwY-q^g5t3tm;h`_KB?ajM$X@n zyI551nQ!V5z4CEuH>u>dJbXG-1v9iBHNVn5EiqBQYxi+^73q&ii+nE4(3()JZ{QvM zA;GZYE4j-NXZ!m5$>{x&Ehjo(yJQTqeHK{GN=4D*m^Ag{yEBPKiMFFeHpjmCp6Z%Y z9+Sp^_4#7rQa~~kZdUu zgw>M>V?fjer{U_=M`GkM9!&?fKiLu%>-#dd!eAk{?QJ(@O88tV zX^h8d&e;!${Sn`zRHI+lF%=a^(MJCe>qJ=}%y2`?Af*f`K4xh(ST5?e++5J#h$UxU zwLNs)*^j5%^v!ahEmgaI`?M!Jtvec)aq{El+qc6MxgcQ>=4g1%nZYPax0}V+3F+Xa8C@m8_PIV?6Zvh0f!M}7 zNh|giNyKU})ELl&9^zpBKf21GI*oVNYaZsAU2hn5xx8q8)%(O~WR6tw9v*u2{J1RK zK+IYHEY*A#zabxG=dfm@BM=eDgh0Tu0S+}Dnj`?6zz<*)QBfMCBC`D;WWF39zF&$I zuL^fPw`f!?T+cvtKv6b=>jL~TwP_VXxs$1fQ5lHYnRzL5PHC3u5O4%W_WYYJk|=q5 zQH9|?ebLrhIC7Fllb7T)bD2;oSGYU}Qry~m4~MEH}X9W0XR2QwKmQ&RUemy|c zYCJ=j0iMm2USeM?40MEW)xnJ5_`aJ*%>x3RAyXGKV#araaltL%-Er*B(slv2jw=q*JW#I7!he=x!z* zBu(0mIa0;0W*E1)m#nyh-#SnQ3O8rupU0~h8xTLq1Aph<_I zkqw$i1VaHTYO2F5-aAyLwqk)T+8^^5jT+EXw4c!}8e^~0vWxUn;wq5h^UEjKN65Z| zkzmN>MZgiAkl~Hy4-LBRpul_XuHvZ#KmH_h$NS*PCEOgdAb@k6Tj6$)}>XB9e$MieAu*rmOpXmA_xXJ()c0d!#YgD`Q<&O_Xaq h_<#7Vp;ob^w<6^iIXRhg3+iWpmnX%eYG>%le*yWEDjNU* literal 0 HcmV?d00001