Closed numberone0001 closed 3 years ago
想在自己的设备上跑下您的代码,但是部署不成功。。。目前没有搞明白哪部分代码应该放在服务器端,哪部分放在本地。希望您可以直到下!谢谢!
或者说,要是想在本地windows二次开发本项目的话,需要配置哪些地方呢?
另外,项目详情里写的“该项目基于Windows10环境开发”,可并无win10下如何配置开发环境的相应介绍。。。希望开发者予以指导。
Tos:该项目基于Windows10环境开发,Mac用户可能无法正常使用
Help: 环境配置说明
你好,我在服务器端按您写的配置方法搭建了环境,可是 https://shimo.im/docs/5bqnroJYDbU4rGqy/read 这里好像没有写出mysql的作用以及配置方法,运行后就出现了下面的错误。您可否指导下呢?
[root@instance-1 V2RaycSpider1125]# python3 main.py deploy &
[1] 18179
[root@instance-1 V2RaycSpider1125]# Traceback (most recent call last):
File "main.py", line 1, in
oh没想到真有小伙伴想跑一下代码。我一开始还没想着开源代码的(虽然代码是发在那了),因为讲清楚如何部署环境和写技术文档都挺耗时的 毕竟前文也说了是用来刻意练习的练手项目(主要是太懒了),如果想交流技术♂可以来Telegram Group
这个项目(开源在
Github
上的版本)暂时没有用到MySQL(测试代码忘记删了Orz)。
执行一下pip拉取相关依赖既可,应该是这个库我没有放在requirement.txt
里
# 当前目录下执行 pip install <PackageName>
pip install pymysql
同理,ModuleNotFoundError: No module named <ModuleName>
如果指的是缺少第三方依赖,执行上述命令既可,缺啥补啥,一般情况下模块名(ModuleName)和包名(PackageName)是一致的。
另外,项目详情里写的“该项目基于Windows环境开发”,可并无Windows下如何配置开发环境的相应介绍。。。希望开发者予以指导。
Tos:该项目基于Windows环境开发,Mac用户可能无法正常使用
Help: 环境配置说明
上文提到的无法可用的场景(目前已知)特指目录定位和程序打包问题。
对于python os
库在不同操作系统中的路径定位实现方案不同,根据报错提示改就行。因为config.py
中出现了C://XXX
这样的写法……而Linux和Mac是没有这种东西的(但其实只有在某些特殊场景下才会报错)。
panel
客户端的打包问题本人用的是Pyinstaller
打包桌面程序,这个方案暂时没法(在Windows环境下)稳定地打包.app
(也可能是我的打开方式有问题)。
如果跨平台的编译比较难,能不能搞个docker文件
如果跨平台的编译比较难,能不能搞个docker文件
emmm,是后端服务的docker吗
根据我的理解 mac上没有client 那我要用 就得自己部署一套后台? mac上开发或者适配现有的windows client到mac上去 好像比较难? 我之前在windows上尝试部署过 因为redis的原因后来放弃了
根据我的理解 mac上没有client 那我要用 就得自己部署一套后台?
"client": 目前开源版本panel中的“获取订阅链接”功能指向某一确定的redis数据库。这个数据库可以是部署在云的也可以是本机跑的。
显然,如果需要建立自己的redis数据库,是需要“部署一套后台”的。
mac上开发或者适配现有的windows client到mac上去 好像比较难?
目前的开源版本的“client”是基于python第三方库easygui
快速搭建的前端面板,理论上并不能实现类似electron
高度抽象高度封装一套代码就能跨平台维护的需求。比如一些众所周知的“权限问题”以及“上下文目录检索”问题,python中同一处os.dirname()
返回的结果不一定相同,这也许并不会影响核心功能的正常使用,但会使得系统的运行偏离设计构想,出现不可控的运行结果。
其实在mac上开发并不难(比如针对路径问题,panel的路径索引均由配置文件高度管控,只需要改一行代码就可以de了)- -主要是当初缺少mac的测试环境,也没人提issue就没做233- -
我之前在windows上尝试部署过 因为redis的原因后来放弃了
大概去年暑假整个微服务快速扩建的脚本就已经开发好了- -但随着对设计模式的学习逐渐加深,越发觉得当初设计的框架实在naive,就一直没发布- -我也放弃了233,主要是一个在用工具的分享~没人提issue我也没想着放入新的东西
client 和 server 是两个完全分离的项目(至少目前最新开源版本是这样的嗯)
我之前在windows上尝试部署过 因为redis的原因后来放弃了
啊刚才看了一下之前写的技术文档,确实需要更新了...
实在不行 client后面弄成bs这种怎么样 挂一个page 流量大还可以赚点ad
实在不行 client后面弄成bs这种怎么样 挂一个page 流量大还可以赚点ad
emmmm,当时在技术选型的时候当下比较流行的解决方案都考虑过了,选了一个性价比最高的方案了暂时。
一个是docker这块,因为项目架构实在是太简单了,很难想到哪些服务能切到docker里运行(或许可以制作一个具备所需运行依赖的最小体积镜像),再来是目前团队在用的服务和开源版本的差距还蛮大的,“开源服务”还不是一个完整的薅羊毛生态....“更新采集队列”得手动push仓库才行,还没法“自产自销”。这需要保持一个微妙的平衡...万一薅穿了以后再也不会有免费的policy可用了233
关于client,目前比较可靠的是用聊天机器人分发订阅,其他解决方案相对来说都不太安全;
最后本项目是不可盈利的~
话说 我不用client的话 能在mac上通过post请求后台得到sharelink吗 有api endpoint不
我现在要两台机都登录钉钉 然后通过聊天记录共享。。 @QIN2DIM
有呀,直接改viewer
的flask接口Admin Interface
再部署就行。
虽然没有文档- -但是应该不难操作,接口都写好了,直接访问就能出结果。
话说 我不用client的话 能在mac上通过post请求后台得到sharelink吗 有api endpoint不
我现在要两台机都登录钉钉 然后通过聊天记录共享。。 @QIN2DIM
其实是有更加一劳永逸的解决方案的(强烈暗示)~
话说 我不用client的话 能在mac上通过post请求后台得到sharelink吗 有api endpoint不
我现在要两台机都登录钉钉 然后通过聊天记录共享。。 @wanghaisheng
~昂刚去吃了波夜宵- -回来~看了一下钉钉机器人的文档。
说实话这文档写的真是非常有水平了,而且平台生态十分健壮,搭建一个用于(群组内)分发订阅的机器人门槛非常低(几乎5行代码就能实现消息转发)于是一个demo已经写完了- -查看运行结果
然后是关于DingTalk
相关代码暂时不会加入到master中,毕竟我也是入门5分钟的新手(此处省略若干字)
如果小伙伴感兴趣可以参考模板写自己的机器人,如果可以的话建议把交互安全
以及异步性能
写到顶(经验之谈)。
[注意] 本人对“钉钉开发者平台”的操作略为生疏,所以:
webhook
以及secret_key
都是以“管理员”身份执行的。
# -*- coding: utf-8 -*-
# Time : 2021/8/31 2:19
# Author : QIN2DIM
# Github : https://github.com/QIN2DIM
# Description:DingTalk bot | V2RCS:分发云彩姬订阅的钉钉机器人
import base64
import hashlib
import hmac
import json
import time
import urllib.parse
import requests
def ding_to_group(subscribe: str = "这里是V2Ray云彩姬",
access_token: str = None, timestamp: str = None, sign_: str = None
):
"""
通过POST接口,传递必要参数,控制指定的机器人向指定的群组发送TEXT类型消息
:param subscribe: 要发送的订阅
:param access_token:
:param timestamp:
:param sign_:
:return:
"""
web_hook = "https://oapi.dingtalk.com/robot/send?"
headers = {
"Content-Type": "application/json",
}
params = {
"access_token": access_token,
"timestamp": timestamp,
"sign": sign_
}
data = {
"msgtype": "text",
"text": {"content": subscribe},
}
session = requests.session()
response = session.post(web_hook, headers=headers, params=params, data=json.dumps(data))
print(response.json())
def calculate_the_signature(secret_key: str = None) -> dict:
"""
实现机器人安全组接口策略,此处使用官方文档中的案例写法
:param secret_key:
:return:
"""
# 机器人安全密钥
secret = secret_key
# 计算时间戳
timestamp = str(round(time.time() * 1000))
# 计算签名
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
return {"timestamp": timestamp, "sign": sign}
def get_subscribe() -> str:
"""
可通过内网访问已部署的项目接口获取订阅,返回字符串形式的明文订阅链接
:return:
"""
return "A shareLink of the V2RayCloudSpider server."
def quick_start(secret_key: str, access_token: str):
"""
一个快速创建的demo
:param secret_key: see https://developers.dingtalk.com/document/robots/customize-robot-security-settings
:param access_token: see https://developers.dingtalk.com/document/robots/custom-robot-access
:return:
"""
# 获取订阅
subscribe = get_subscribe()
# 安全组:计算时间戳和应用签名
security_group = calculate_the_signature(secret_key=secret_key)
# 通过post机器人接口发送订阅
ding_to_group(
subscribe=subscribe,
access_token=access_token,
timestamp=security_group['timestamp'],
sign_=security_group['sign']
)
if __name__ == '__main__':
quick_start(
secret_key="",
access_token=""
)
nb 我基本上是个代码白痴 @QIN2DIM 似乎是在mac上跑起来了 满屏的timeout。这个难道是在这些网站注册小号 然后拿到免费时间内的sharelink 我本地的机器似乎网络就不行 还是说我chrome配置的有问题 因为我也没找到chromedriver到底放在哪个文件夹
python main.py deploy
2021-08-31 20:22:09.795 | WARNING | src.BusinessCentralLayer.scaffold:check_config:120 - 您未正确配置<Redis-Slave> 本项目资源拷贝功能无法使用,但不影响系统正常运行。
[2021-08-31 20:22:10] [✓] [SystemEngineIO] CONFIG_COLLECTOR_PERMISSION:['v2ray', 'ssr']
[2021-08-31 20:22:10] [✓] [SystemEngineIO] CONFIG_ENABLE_DEPLOY:{'global': True, 'tasks': {'collector': True, 'ddt_overdue': True, 'ddt_decouple': True}}
[2021-08-31 20:22:10] [✓] [SystemEngineIO] CONFIG_COROUTINE:True
[2021-08-31 20:22:10] [✓] [SystemEngineIO] CONFIG_ACTIONS:['v2ray']ActionReCloud
[2021-08-31 20:22:10] [✓] [SystemEngineIO] CONFIG_ACTIONS:['v2ray']ActionJydCloud
[2021-08-31 20:22:10] [✓] [SystemEngineIO] CONFIG_ACTIONS:['v2ray']ActionJssForV2rayCloud
[2021-08-31 20:22:10] [✓] [SystemEngineIO] CONFIG_ACTIONS:['v2ray']ActionPPForV2rayCloud
[2021-08-31 20:22:10] [✓] [SystemEngineIO] CONFIG_ACTIONS:['ssr']ActionPPForSSRCloud
2021-08-31 20:22:10.204 | SUCCESS | src.BusinessCentralLayer.middleware.interface_io:__init__:98 - <SystemEngineIO> System core initialized successfully.
2021-08-31 20:22:10.205 | SUCCESS | src.BusinessCentralLayer.middleware.interface_io:startup:218 - <SystemProcess> Startup -- deploymentTimingTask
2021-08-31 20:22:10.208 | SUCCESS | src.BusinessCentralLayer.middleware.interface_io:startup:218 - <SystemProcess> Startup -- deploymentFlaskAPI
* Serving Flask app 'src.BusinessViewLayer.myapp.app' (lazy loading)
* Environment: production
2021-08-31 20:22:10.213 | INFO | src.BusinessCentralLayer.middleware.interface_io:run_deploy:130 - [Job] collector -- interval: 300s -- run: True
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
2021-08-31 20:22:10.216 | INFO | src.BusinessCentralLayer.middleware.interface_io:run_deploy:130 - [Job] ddt_overdue -- interval: 3600s -- run: True
2021-08-31 20:22:10.217 | INFO | src.BusinessCentralLayer.middleware.interface_io:run_deploy:130 - [Job] ddt_decouple -- interval: 60s -- run: True
2021-08-31 20:22:10.220 | SUCCESS | src.BusinessLogicLayer.deploy:deploy_jobs:154 - <CollectorScheduler> The echo-monitor was created successfully.
* Running on http://127.0.0.1:6500/ (Press CTRL+C to quit)
127.0.0.1 - - [31/Aug/2021 20:22:38] "GET / HTTP/1.1" 302 -
127.0.0.1 - - [31/Aug/2021 20:22:46] "GET / HTTP/1.1" 302 -
127.0.0.1 - - [31/Aug/2021 20:22:56] "GET / HTTP/1.1" 302 -
2021-08-31 20:23:10.249 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:24:10.250 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:25:10.238 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:26:10.239 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
127.0.0.1 - - [31/Aug/2021 20:26:37] "GET / HTTP/1.1" 302 -
2021-08-31 20:27:10.220 | DEBUG | src.BusinessLogicLayer.deploy:monitor:188 - <CollectorScheduler> queue_size[0] running_jobs[0] is_running[None]
2021-08-31 20:27:10.521 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:27:12.272 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionPPForV2rayCloud> --> beat_sync[True] feature[General]
2021-08-31 20:27:12.287 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionPPForSSRCloud> --> beat_sync[True] feature[General]
2021-08-31 20:27:12.332 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionJydCloud> --> beat_sync[True] feature[General]
2021-08-31 20:27:12.473 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionReCloud> --> beat_sync[True] feature[General]
2021-08-31 20:27:12.590 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionJssForV2rayCloud> --> beat_sync[True] feature[General]
2021-08-31 20:27:33.045 | SUCCESS | src.BusinessLogicLayer.cluster.master:load_any_subscribe:335 - >> GET <ActionReCloud> --> [v2ray] https://www.recear.xyz/link/oPSgvrBUrOJJaTJX?sub=3
2021-08-31 20:27:33.120 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionReCloud> --> [session_id] 88a45faf095ee433232082bb736b5515
2021-08-31 20:27:43.588 | ERROR | src.BusinessLogicLayer.cluster.master:run:461 - >>> TimeoutException <ActionPPForV2rayCloud> -- https://www.ppyun.fun/auth/register
2021-08-31 20:27:43.608 | ERROR | src.BusinessLogicLayer.cluster.master:run:461 - >>> TimeoutException <ActionPPForSSRCloud> -- https://www.ppyun.fun/auth/register
2021-08-31 20:27:43.655 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionPPForV2rayCloud> --> [session_id] 67930a4a2d95b59051aeb8b6721d2bdd
2021-08-31 20:27:43.679 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionPPForSSRCloud> --> [session_id] 46dba0b0753d735adaef5189398e5cec
2021-08-31 20:27:50.329 | SUCCESS | src.BusinessLogicLayer.cluster.master:load_any_subscribe:335 - >> GET <ActionJydCloud> --> [v2ray] https://www.douluoyun.xyz/link/rdAaR70ebz0uAq7h?sub=3
2021-08-31 20:27:50.404 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionJydCloud> --> [session_id] c8f5330f4747f9287add60485ad83045
2021-08-31 20:28:12.464 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:29:11.542 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:29:45.536 | ERROR | src.BusinessLogicLayer.cluster.master:run:461 - >>> TimeoutException <ActionJssForV2rayCloud> -- https://www.jssr.cc/auth/register
2021-08-31 20:29:45.600 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionJssForV2rayCloud> --> [session_id] d8b1ceaff0aab4ba0ecc471b9b2546ed
2021-08-31 20:30:11.624 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:31:11.537 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:32:10.223 | DEBUG | src.BusinessLogicLayer.deploy:monitor:188 - <CollectorScheduler> queue_size[0] running_jobs[0] is_running[False]
2021-08-31 20:32:11.178 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionJydCloud> --> beat_sync[True] feature[General]
2021-08-31 20:32:11.222 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionJssForV2rayCloud> --> beat_sync[True] feature[General]
2021-08-31 20:32:11.262 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionReCloud> --> beat_sync[True] feature[General]
2021-08-31 20:32:11.284 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionPPForV2rayCloud> --> beat_sync[True] feature[General]
2021-08-31 20:32:11.747 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:32:11.797 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionPPForSSRCloud> --> beat_sync[True] feature[General]
2021-08-31 20:32:30.447 | SUCCESS | src.BusinessLogicLayer.cluster.master:load_any_subscribe:335 - >> GET <ActionJydCloud> --> [v2ray] https://www.douluoyun.xyz/link/FzPsSVIu0SxSfORO?sub=3
2021-08-31 20:32:30.516 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionJydCloud> --> [session_id] 863b650a4719994be033045dd2a0b91b
2021-08-31 20:32:31.298 | SUCCESS | src.BusinessLogicLayer.cluster.master:load_any_subscribe:335 - >> GET <ActionReCloud> --> [v2ray] https://www.recear.xyz/link/hzfkbJnLJLC39NZM?sub=3
2021-08-31 20:32:31.373 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionReCloud> --> [session_id] f901dfd52f31173d344c6272f97c6ed9
2021-08-31 20:32:42.270 | ERROR | src.BusinessLogicLayer.cluster.master:run:461 - >>> TimeoutException <ActionPPForV2rayCloud> -- https://www.ppyun.fun/auth/register
2021-08-31 20:32:42.334 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionPPForV2rayCloud> --> [session_id] e0d028552f6bd2f45dfdfeffce461249
2021-08-31 20:32:42.755 | ERROR | src.BusinessLogicLayer.cluster.master:run:461 - >>> TimeoutException <ActionPPForSSRCloud> -- https://www.ppyun.fun/auth/register
2021-08-31 20:32:42.820 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionPPForSSRCloud> --> [session_id] e46f15bd997116c447a42b01fda44a9f
2021-08-31 20:33:11.543 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:34:11.551 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:34:42.611 | ERROR | src.BusinessLogicLayer.cluster.master:run:461 - >>> TimeoutException <ActionJssForV2rayCloud> -- https://www.jssr.cc/auth/register
2021-08-31 20:34:42.675 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionJssForV2rayCloud> --> [session_id] 5c5260156c8ca9a25031a0d616fbde3e
2021-08-31 20:35:11.540 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:36:11.578 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:37:10.223 | DEBUG | src.BusinessLogicLayer.deploy:monitor:188 - <CollectorScheduler> queue_size[0] running_jobs[0] is_running[False]
2021-08-31 20:37:11.152 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionJydCloud> --> beat_sync[True] feature[General]
2021-08-31 20:37:11.199 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionPPForV2rayCloud> --> beat_sync[True] feature[General]
2021-08-31 20:37:11.337 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionReCloud> --> beat_sync[True] feature[General]
2021-08-31 20:37:11.353 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionJssForV2rayCloud> --> beat_sync[True] feature[General]
2021-08-31 20:37:11.518 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:37:11.883 | DEBUG | src.BusinessLogicLayer.cluster.master:run:446 - >> RUN <ActionPPForSSRCloud> --> beat_sync[True] feature[General]
2021-08-31 20:37:30.153 | SUCCESS | src.BusinessLogicLayer.cluster.master:load_any_subscribe:335 - >> GET <ActionReCloud> --> [v2ray] https://www.recear.xyz/link/OphTJSvI6jhNuPeS?sub=3
2021-08-31 20:37:30.230 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionReCloud> --> [session_id] 25e01249b65de9acd5a39f5664d5e568
2021-08-31 20:37:32.196 | ERROR | src.BusinessLogicLayer.cluster.master:run:461 - >>> TimeoutException <ActionPPForV2rayCloud> -- https://www.ppyun.fun/auth/register
2021-08-31 20:37:32.261 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionPPForV2rayCloud> --> [session_id] a659dbc4ab94999c80308c88b4054dff
2021-08-31 20:37:42.932 | ERROR | src.BusinessLogicLayer.cluster.master:run:461 - >>> TimeoutException <ActionPPForSSRCloud> -- https://www.ppyun.fun/auth/register
2021-08-31 20:37:42.998 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionPPForSSRCloud> --> [session_id] 7fd38842ca13745f482b63feafaa2715
2021-08-31 20:37:45.362 | SUCCESS | src.BusinessLogicLayer.cluster.master:load_any_subscribe:335 - >> GET <ActionJydCloud> --> [v2ray] https://www.douluoyun.xyz/link/GSnMgJ0RBbeuiIZv?sub=3
2021-08-31 20:37:45.437 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionJydCloud> --> [session_id] 749201796521720e36ed5dfabb843cad
2021-08-31 20:38:11.641 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:39:11.575 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:39:53.287 | ERROR | src.BusinessLogicLayer.cluster.master:run:461 - >>> TimeoutException <ActionJssForV2rayCloud> -- https://www.jssr.cc/auth/register
2021-08-31 20:39:53.360 | DEBUG | src.BusinessLogicLayer.deploy:devil_king_armed:311 - >> Detach <ActionJssForV2rayCloud> --> [session_id] 6172d8deb6a726ebf6cb127d76406cb0
2021-08-31 20:40:11.539 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
2021-08-31 20:41:13.090 | SUCCESS | src.BusinessLogicLayer.plugins.accelerator.cleaner:killer:86 - <SubscribesCleaner> --> decouple compete.
我昨晚突发奇想 @QIN2DIM github不是有个action可以跑脚本吗 client的话 非window平台 是不是直接可以用这个action 1.fork本仓库 2.新建或者复制workflow的yml 3.手动或自动运行yml 当然频次你要控制 就跟windows一样 10s一次?最多 4.运行结果保存在repo目录下 txt/csv文件? 整个流程下来 就完全脱离了平台限制 还能充分利用github
我昨晚突发奇想 @QIN2DIM github不是有个action可以跑脚本吗 client的话 非window平台 是不是直接可以用这个action 1.fork本仓库 2.新建或者复制workflow的yml 3.手动或自动运行yml 当然频次你要控制 就跟windows一样 10s一次?最多 4.运行结果保存在repo目录下 txt/csv文件? 整个流程下来 就完全脱离了平台限制 还能充分利用github
感谢建议昂,利用GithubActions
优异的性能确实能解决一些繁琐的操作降低开发成本。
早在去年项目需求分析以及技术选型阶段- -本人认为本项目开源版本应是一个脚本项目而非工程项目,或者说应是一个低门槛的最小优化部署模型- -看.py
去掉注释也才五六千行代码,代码覆盖率才~35%
就知道问题的严重性了。
同时也有很多更加适合国内网络环境的比GithubActions
更加便捷地CI/CD解决方案,但考虑种种原因最终都没挂载。
白嫖说难听点就是偷,如果还把“薅羊毛”做成全球流通人手一个还能一键上云的垂搜引擎那还得了,完整服务几乎每台虚拟机每秒钟都有几百个协程在运行,估计用不了多久就没有免费的节点可用了Orz。
@QIN2DIM 的确是 那我不是要自己去selenium注册帐号了 哭
@wanghaisheng
emmm,其实完全可以自己拉一个私有仓库部署Actions,但是配置文件的索引逻辑需要更改,弄成环境变量读取的方式,并把隐私信息存储到 SECRET KEY
环境变量中。
此外,不建议直接把采集结果写到repo仓库中...也许有更好的通信方式,比如钉钉机器人消息转发,或者邮件通信。
您好! 看了您的项目,很有帮助。有个问题想咨询啊您: 如果想在本地windows二次开发本项目的话,需要配置哪些地方呢?如何配置呢?也需要像https://shimo.im/docs/5bqnroJYDbU4rGqy/read 这里所写的,把所有服务安装一遍吗? 可以也写个配置教程吗?