Coder Social home page Coder Social logo

v2rss's Introduction

V2RSS 云彩姬

🚀 科学上网 从娃娃抓起




服务声明 🧙‍♂️

  1. 本项目开源免费,请不要滥用接口;

  2. 本项目软件及源码禁止在国内网络环境大范围传播;

  3. 禁止任何人使用本项目及其分支提供任何形式的收费代理服务。

项目简介 👋

V2RSS 是一种能对全球范围内基于 SSPanel-Uim 框架产出的服务提供商进行垂直挖掘的「生态矿机」;能够自下而上地生成针对主流协议头的「聚合采集」任务;能够自我消化并产出相较于 proxypool 更加纯净可靠的代理节点;具备自主发现,服务自愈等强大的生产特性。

快速上手 🛴

用户

Step1: 阅读 云彩姬使用指南 并运行 demo

Step2: 期待好评 ✨

玩家

Step1: Fork 项目 🥂

Step2: 根据 技术文档 合理配置 config.yaml

Step3: 使用脚手架调试并部署服务

v2rss's People

Contributors

qin2dim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

v2rss's Issues

skipped: maximum number of running instances reached (1)

该错误源自apscheduler;原因是上一段任务定时启动但未执行完毕时该任务再次被启动。

举个例子

假设定时器设置每隔5分钟启动任务A,在0时刻任务A被启动。5分钟时刻任务A再次被定时器启动,此时若上一段时刻启动的任务A还没执行完,定时器就会抛出这个异常警告。
skkipped_error

常见问题1

config中配置的任务启动的时间间隔太小,超过了理论极限值,任务不可能来得及完全释放,则一定会触发此异常。

常见问题2

任务间隔设置合理,但在任务执行中出现了异常算子的超时问题导致资源无法正常释放,此种情况有小概率引发此异常。

[Document] Scaffold mining

[Document] Scaffold mining

更多信息请移步至分支项目 SSPanel-Mining

1 指令简介

采集、清洗、分类、存储暴露在公网上的sspanel-uim站点

2 demo

  • 如下图所示,直接通由Terminal编译mining指令既可运行脚本

    mining5

  • 如下图所示为通由mining指令的运行结果mining2

[BUG]down?

描述您遇到的问题
对 bug 的清晰而简洁的描述。

如何重现问题
把你遇到的问题的发生步骤替换掉下面的内容:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

期待修复的效果
清晰而简洁地描述您期望的修复效果。

相关截图
若有必要,可以用相关截图来增加信息浓度。

环境版本说明

  • 操作系统 [e.g. Windows]
  • 板载方案 [e.g. v2rayN, Qv2ray]
  • 软体版本 [e.g. v4.5.4]

附加内容
添加您认为有必要补充的内容。

又挂了?

[Hamster] ICE-BREAKER | Collaborative Wokers

近期尝试上线ice-breaker协同订阅 子模块 ,主要特征为大幅度拉抬 demo 订阅的可用流量以及节点速度,可用时长也许不变。

ps: 代码暂不开源(流畅运行完整(峰值)服务需要至少 8C16G 的硬件配置或包含多个 prod 的基础设施。待测试稳定后会逐步开放降频代码)。

采集结果会分发到 panel 中,访客可通过本项目 release demo 查看。

[快速上手] V2RSS云彩姬最佳实践

摘要

  • 简要介绍一些在技术文档中未被提及的隐藏机制;
  • 针对 demo 用户提出几点有助于提升使用体验的技巧。

文档导航

有关云彩姬(panel)的介绍详见 技术文档 ,了解软体获取方法以及功能介绍。
有关云彩姬(public-service)的介绍详见 项目仓库,了解服务部署方法。

[Hamster]windows client 查看可用连接

订阅类型后面跟着一串GUID样子的字符串 这个是否替换成url更加直观 更加方便用户选择
我使用了一段时间 想优先选择之前使用的provider

[Document] Scaffold decouple

[Document] Scaffold decouple指令

1 指令介绍

  • 发起一次向活跃订阅池的失效订阅剔除任务。解析订阅链接指向的节点服务器摘要信息,通过简单的决策流程判断节点是否可用,进而决定链接的去留。满足以下条件的实例将被剔除。
    • 订阅指向的节点无一可用;
    • 无法正常连接目标服务器(接口关闭或集群瘫痪);
    • 订阅可用流量为0;
  • 在部署模式中,此指令任务支持多机协同执行,多台服务器可指向同一个订阅池执行该指令任务。
  • 在scaffold(调试)模式中,打印信息中包含审查链接(类型)以及链接所指向的节点服务器摘要信息,失效链接将被直接剔除。

2 demo

decouple

3 使用说明

main.py所在目录下运行以下编译指令

python main.py decouple

或根据具体情况运行,既确保运行的python版本 py >= 3.6

python3 main.py decouple

[Document] Scaffold remain

[Document] Scaffold remain指令

1 指令简介

打印目前活跃的订阅池的状态,所含信息包括各“订阅源”的存活数量 类型以及标签名

2 demo

1234

3 使用说明

main.py所在目录下运行以下编译指令

python main.py remain

或根据具体情况运行,既确保运行的python版本 py >= 3.6

python3 main.py remain

[Document] Scaffold overdue

[Document] Scaffold overdue指令

1 指令简介

  • 发起一次向活跃订阅池的过时订阅清洗任务。

    • 订阅入池时会被“人为”标注过期时间(expiration time),此时间点严格对齐订阅源提供的免费使用时长。

    • 执行overdue时存在预清洗操作,既若设定预清洗时长(pre-cleaning time),则清洗目标的过期时间与任务发起时间点(当前时间)的距离小于或等于X时就会被清除,而非是过期时间小于或等于当前时间。预清洗参数让订阅分发更加科学,杜绝用户端”刚拿到手“就过期的极端情况。

    • Scaffold overdue pre-cleaning time 预清洗时长默认为6小时,既当任务发起时,可用时长不足6小时的链接将被剔除。

overdue_pre-cleaning

  • 打印信息中包含信息有订阅类型及对应类型的存活数量

2 demo

overdue1

3 使用说明

main.py所在目录下运行以下编译指令

python main.py overdue

或根据具体情况运行,既确保运行的python版本 py >= 3.6

python3 main.py overdue

你好

软件获取不到呢

⚠项目闭源警告

为减少滥用风险,V2RSS云彩姬上游产出将转为闭源状态(也即 action 不再更新),采集器代码保持落后于开发版半年的进度稳定推送。也请早已熟悉 V2RayCloudSpider 业务逻辑的各路高玩不要将自己手动搜集/编排的 action 分享给其他人,保持自用的需求量运行程序。

v_5.4.r-dev ePlugin 增效插件开源清单

为现有模拟登陆的常规阻碍提供解决方案

  • 根据系统稳定运行半年所产生的debug日志,总结现有机厂的阻碍策略,并一次性开源音频降噪增齿英文语音识别转录图像降噪中文语义理解图像识别以及Selenium模拟拖拽、点击、匿名伪装等一系列增效工具箱插件;
  • 开源工具做解耦处理,可移植到任意项目当中;
  • 把白嫖做到极致...

尝试解决Selenium+Chrome启动后的假死问题

问题1

  • 问题描述

    1. 使用Selenium处理滑动验证。当Selenium完整渲染页面、填入必要信息并加载拼图图像后,浏览器有几率假死。具体表现为,不触发任何类型Exception异常,使用TimeoutException无法捕捉异常,行为阻塞线程,浏览器不会自动关闭。

    2. 上述问题导致协程内的异常捕获方案无法正常执行(如超时关闭,刷新网页,窗口选定等等)。

    3. 上述问题可导致线程阻塞,使用诸如schedule等轻量化定时库会出现任务停滞等严重问题。意味着这一个浏览器动作卡着了,很可能导致后续所有预订的线程内定时任务都无法正常进行。

  • 尝试方案

    在关键步骤前后加入元素断言,在协程内判断驱动是否假死。并在当前函数的局部空间内实现通信日志的返回(returnyield 机制),立即释放资源或尝试接入异常捕获措施。

问题2

  • 问题描述

    使用Selenium渲染Chrome,某些意外操作引发的Exception异常导致Chrome进程游离。

  • 尝试方案(已实现)

    在多接口调用表层加入类似loguru catch方案,捕获异常栈追踪日志,使得Driver最终执行quit()而正常释放。此方法在某些场景下可用with代替。

    # 实例代码
    @logger.catch()
    def interface(url:str,options:ChromeOptions) -> None:
        api = Chrome(options=options)
        api.get(url)
        try:
            action_1(api)
            action_2(api)
            ...
        except WebDriverException as e:
            loger.exception(e)
        except Exception as e:
            loger.error(e)
        finally:
            api.quit()

采集队列的收集与更新

  • src/Logicer/cluster/slavers/actions.py中存放了当前版本程序的募集机场队列,该模块的__entropy__ 列表为当前执行的任务队列,其存放的元素为“任务别名”,指向唯一标识的特征抽象描述
  • [注意] 节点服务器的嗅探及优选模块暂不开源,采集队列将以静态源码的形式不定期更新在actions.py中。

欢迎大家在此处留言可用机场的注册网址。指标如下:

  1. 基于STAFF编写(可参考上述文件中记录的机场网址,如https://机场域名/staff可正常访问);

  2. 提供免费节点;

  3. 提供至少1日的试用时长以及合理的(1:1 2G或以上)试用流量;

  4. 未使用DDoS防御(如常见的Cloudflare引流)与堡垒机;

[TODO] Rebuild docs

根据具体需求更新技术文档#38

  • 使用 Hugo 重写/移植技术文档
  • 提供 基于Windows/Linux(CentOS7)白环境的一键安装脚本/ docker

[开源计划] v5.u.r-dev

Project

查看工程进度

UtiLs v5.u.r-dev.x

Mining

Armour

armour 是一系列针对目前常见的 sspanel 验证方案的对抗组件。包含如下模块:

Icebreaker

icebreaker 是一系列能够从「延拓可用流量」「延长剩余时间」「优化通信效率」等多个维度提升订阅质量的插件集合。

  • icebreaker-synergy 协同生产模式,延拓可用流量
  • icebreaker-prism 棱镜辐射模式,延长剩余时间(闭源)

Inline Relayer

inline-relayer 是一个能够自主萃取代理节点对象并自由重组配置文件,最后输出 Clash URL-Scheme 的内联中继系统。客户端可实现自主嗅探并自动打开 Clash 拉取订阅对象。

  • gardener-ash 园丁系统(闭源)

关于`指令堆积`问题

What?

尝试解决缓存堆积问题的血泪史 --> #10 #13 #16 #26 #27 #30

如上文issue中提到的bug归根结底均由采集服务的指令缓存堆积引发。

作者先前也编写了一些小脚本尝试解决问题(减少临床病发率,但治标不治本)。本着“当程序以自己意想不到的方式正常运行時就不要再轻易地改动代码”的原则,这个远古遗留问题一直没有得到很好的处理。

现在总结日志发现之前脚本能“治病”主要是作者利用服务器的闲置资源,将本项目分散在性能卓越的各个集群节点上,几个G的内存变动完全察觉不到,而脚本起到的作用仅仅是允许任务运行足够长的时间(也就是毫无作用 🐱 )。然而当架构调整后,本项目采集器部署在一台1xCPU 2GRAM的学生机上,结果就是发挥非常不稳定!🐶只要有一个实例运行阻塞,之后所有的定时器任务都会发出skip next run的使用警告,因为这个引起定时器阻塞的实例大概率是不会自然消解的。

Why?

指令缓存堆积的根本原因是:Selenium控制的chromedriver运行实体总会以作者意想不到的方式游离。

程序体中不存在死循环,反而每一步都设置了超时销毁,然而实际情况是异常实例的窗口打开后既不退出也不作业,就停在那。当然作者认为也可能是由greenlet并发任务+scheduler定时器+selenium结合所引发的有趣化学反应,既chromedriver作为一个运行实体,有一定概率在运行的系统中被各种并行指令乱杀。

当然老老实实for loop运行实例会很大程度上避免这种情况。但是21世纪了……

所以我们的优化目标是:更高,更快,更强!采集器不仅要快,还要稳。

How?

发现问题后解决问题的思路就比较明确了。大体是:引用经典”关单任务“的思路,从更高层的服务杀掉底层游离的进程。这个检查服务的粒度应该足够细致,能够渗透/监控chromedriver在环境中的的每一个行为细节(当然现阶段需求主要是发现实体游离)。

体现在代码里仅仅是将任务调度原子化并分散到定时器的各个方法中,仅需改动不到50行代码既能实现这个解决方案(当然测试后会逐渐写厚)。

Thanks

感谢体验panel遇到问题积极反馈的小伙men,也欢迎具备一定debug能力的小伙伴来跑一跑代码,帮助完善“生态”。

【公告】demo-paneL 服务迁移

用于项目演示的 Windows PaneL 后端服务迁移,预计2021/09/27 00:00 前以新的发行客户端重新上线,其间所有终端服务权限锁死,不可使用。

昨天开始突然崩了

最新版本始终提示升级,使用4.5.1 得到如下error

HTTPSConnectionPool(host='t.qinse.top', port=443): Max retries exceeded with url: /subscribe/version_manager.txt (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)')))


Traceback (most recent call last):
  File "urllib3\connectionpool.py", line 670, in urlopen
  File "urllib3\connectionpool.py", line 381, in _make_request
  File "urllib3\connectionpool.py", line 978, in _validate_conn
  File "urllib3\connection.py", line 362, in connect
  File "urllib3\util\ssl_.py", line 384, in ssl_wrap_socket
  File "ssl.py", line 500, in wrap_socket
  File "ssl.py", line 1040, in _create
  File "ssl.py", line 1309, in do_handshake
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "requests\adapters.py", line 439, in send
  File "urllib3\connectionpool.py", line 726, in urlopen
  File "urllib3\util\retry.py", line 439, in increment
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='t.qinse.top', port=443): Max retries exceeded with url: /subscribe/version_manager.txt (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "MiddleKey\version_IO.py", line 105, in run
  File "MiddleKey\version_IO.py", line 181, in get_server_version
  File "requests\api.py", line 76, in get
  File "requests\api.py", line 61, in request
  File "requests\sessions.py", line 530, in request
  File "requests\sessions.py", line 643, in send
  File "requests\adapters.py", line 514, in send
requests.exceptions.SSLError: HTTPSConnectionPool(host='t.qinse.top', port=443): Max retries exceeded with url: /subscribe/version_manager.txt (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)')))


v_5.4.r-dev panel 功能开源清单

2~4工作模式的转换会强制共享本机算力,分担群体“上链”的资源消耗。(因发行工程量较大暂时无法开源)

  • 加入proxypool,允许panel客户端拉取开源订阅,一键打开Clash并下载配置;
  • 试运行优选IP模块。panel将具备IP优选以及CDN套用的能力(仅Windows可用)。此时终端代理将享有极为夸张的代理加速效果;
  • 试运行园丁系统。panel将具备基于本机环境采集、优选开源订阅节点的能力。此时panel本体将切换工作模式。终端程序可获取“优质免费”的代理节点;
  • 试运行破冰船永久订阅系统。panel将具备从服务堆拉取永久订阅的能力。此时panel本体将切换工作模式,可实现一定程度的网络代理功能,根据不同的使用场景实现“坏点自动切换”“忙时分流”“加速访问”“代理维护”等智能驻台功能。

[Document] Scaffold entropy

[Document] Scaffold entropy指令

1 指令简介

打印当前主机活跃的采集队列,既当前采集器收到相关指令时会主动调用的任务实例。包含的信息段有存活周期 源链接 以及采集类型

2 demo

12345

3 使用说明

main.py所在目录下运行以下编译指令

python main.py entropy

或根据具体情况运行,既确保运行的python版本 py >= 3.6

python3 main.py entropy

[Document] Scaffold panel

[Document] Scaffold panel指令

[注意] 仅Windows可用

1 指令介绍

唤起由Easygui编写的简易的桌面端仪表盘。

2 demo

123

3 使用说明

main.py所在目录下运行以下编译指令

python main.py panel

或根据具体情况运行,既确保运行的python版本 py >= 3.6

python3 main.py panel

feat(remove): v6.x.r-dev 项目计划

  1. 重写项目技术文档 #58

    先前的技术文档年久失修,已无参考价值。

    涵盖项目的下载安装介绍,examples 运行示例介绍,脚手架指令介绍,链接采集与获取常用方法介绍,应用部署最佳实践等。

  2. 开发脚手架指令 install

    基于主流操作系统(Windows/MacOS/Ubuntu18.04+)的指令集编写第三方驱动自动下载适配脚本。

  3. 制作基于 pywebio 编写的 aff 协同注册子模块(Optional)

    该模块继承云彩姬自带的 synergy 协同模式以及 armor 人机对抗模组,能够以极高的并发率批量生成邀请用户实体并完成实例注册。与其他开源的脚本项目不同,本模块内联 armor 应用模组,能够穿透几乎所有的基于模式产出的人机对抗验证。

    该模块提供一个简洁的 web 面板,仅有一个 Input 元素以及一个 Button 元素。填入带有 aff 的分享链接则启动协同注册任务;填入服务注册链接则根据模式自动生成实例摘要信息并启动采集器任务获取订阅。

  4. 基于 Playwright 修改部分代码提高系统性能(Optional)

萌新疑惑

为什么要分个单独的前端exe,而不直接搞个订阅接口?
例如v2ray订阅地址直接填写接口地址.后端吧订阅链接内容传给用户
这不很方便么~

[开源计划] v5.u.r-dev

Project

查看工程进度

PaneL v5.4.r-dev

2~4 工作模式的转换会强制共享本机算力,分担群体“上链”的资源消耗。(因发行工程量较大暂时无法开源)

  • 加入 proxypool 模式,允许 Panel 客户端拉取开源订阅,一键打开 Clash 并下载配置;
  • 试运行 优选IP模块。Panel 将具备「IP优选」以及「CDN 复用」的能力(仅 Windows 可用)。此时终端代理将享有极为夸张的代理加速效果;
  • 试运行 园丁系统。Panel 将具备基于本机环境采集、优选开源订阅节点的能力。此时 Panel 本体将切换工作模式,终端程序可获取优质可靠的代理节点;
  • 试运行 破冰船永久订阅系统。Panel 将具备从服务堆拉取永久订阅的能力。此时 Panel 本体将切换工作模式,具备一定程度的流量反射能力,根据不同的使用场景实现“坏点自动切换”“忙时分流”“加速访问”“代理维护”等智能驻台功能。

UtiLs v5.u.r-dev.x

armour是一系列针对目前常见的sspanel验证方案的对抗组件。包含如下模块:

  • ArmourGeeTest
    • v2 滑动验证
    • v3 滑动验证
    • 文字点选验证
    • 图像水平验证
  • 邮箱验证
  • Google reCAPTHCA 人机验证

关于软件部署的问题

您好!
看了您的项目,很有帮助。有个问题想咨询啊您:
如果想在本地windows二次开发本项目的话,需要配置哪些地方呢?如何配置呢?也需要像https://shimo.im/docs/5bqnroJYDbU4rGqy/read
这里所写的,把所有服务安装一遍吗?
可以也写个配置教程吗?

[Document] Scaffold ash

[Add] Scaffold ash 指令

V2Ray雲彩姬 Clash一键订阅脚本 | Clash for Windows

1 指令介绍

  • 清洗订阅池,筛选出高可用订阅并转换为ClashConfig~.yaml配置文件;
  • 借由URL Scheme自启Clash for Windows并拉取配置文件;
  • Clash客户端将自行维护订阅池,若一段时间后节点大面积过期,仅需再此运行脚本更新订阅~

2 demo

3 注意事项

  • 若在Terminal中直接运行脚本,需要先手动开启Clash
  • 请使用确保网络通畅,并使用py3运行;
  • 请确保已安装Clash for Windows,测试版本为v 0.15.8(参考);
  • 请确保订阅池仍有可用订阅,否则建议先采集一点;
  • 作者认为使用此脚本的玩家应当熟悉Clash for Windows的基本操作并具备一定的故障排查能力;
  • 更多关于此脚本的问题请在issue下留言(提供可靠的运行日志能够有效的解决您的问题);

4 使用说明

4.1 [方案一] 命令行运行

开启与main.py同根的Terminal,随后键入:

python main.py ash

4.2 [方案二] 脚本驱动(以uTools为例)

搭配类似uTools等具备QuickComment模组插件的工具使用(更加2077的解决方案)

  • Alt + spacebar 呼出插件

image-20210622030636386

  • 输入QuickComment并进入捷径编辑器

image-20210622030921451

image-20210622031212000

  • 根据如下引导新建命令

image-20210622032303696

此处的命令行视为直接使用cmd后输入的指令,以作者所使用的环境为例,没有设置全局环境变量,运行方案1中的指令无法直接执行脚本(请确保执行环境为开发项目所使用的环境,否则可能会缺少某些第三方库)

参考指令如下:

image-20210622051057756

  • 第一行用于先启动Clash进程,以免不必要的并行bug;
  • 第二行使用&&串接两条指令,
    • 前半段用于激活Anaconda运行环境,activate [env name]
    • 后半段为Python编译脚本,Python [main.py绝对路径] ash
  • 根据自己的环境灵活调整

项目部署后,如何查看(获取)采集到的订阅链接?

开源版本代码做了数据脱敏,重心放在了后端功能的优化上。(意思是各种花里胡哨的链接分发接口并没有开源)

Flask路由授权

viewer/myapp/app.py中找到admin-get-subs这个接口函数,修改路由规则。项目部署后访问http://ip:port/router既可获取池内相应类型(v2ray/ssr/...)的订阅

  • 以本机调试环境为例
    使用常规网络请求方式既可获取订阅,返回信息转为json,提取subscribe的值既可获取订阅(utf8)

admin-get-subs

Panel指令控制

确保您的源码已更新至v_5.1.8-beta或更高版本

Terminal中输入panel指令呼出前端面板进而执行与订阅获取有关的操作。

demo_bot_twqd_stuNum

(更新中…)

remove(outdated): [快速上手] ScaffoldHelp

1 指令简介

Scaffold 指令是高层封装的「云彩姬」后端服务API。通由简短的python main.py [scaffold] 既可启动主要的服务功能。

2 运行前奏

[注意事项]

  • 本项目理想的部署系统是 Linux,仅支持 python 3.6+;
  • 本项目未在 MacOS 运行测试,可能存在兼容性问题;
  • 本使用指南默认玩家掌握Python项目开发的相关知识并具备基础的 debug 能力;
  • 本使用指南默认玩家已在开发环境中拉取 Git 项目文件;

以 CentOS7 为例,假设已拉取项目文件,并已同步项目依赖 requirements,当前目录为 ./V2RaycSpider[version]

"""
V2RaycSpider1125
 |————examples
 |————src
 |————main.py
 |————requirements.txt
"""

运行 scaffold 编译指令。所有与通信有关的指令都支持协程异步调用。

python main.py [scaffold commands]
# or: python3 main.py [scaffold commands]

3 食用指南

  • scaffold server
    脚手架读入配置文件,并根据相关配置依次启动 「网关」「协程定时器」 等核心服务。

    python main.py server
  • 其他单步执行指令详见 技术文档,标有 [Run in OS] 的指令仅在对应操作系统下正常运行。

[常见问题] ProjectHelp

PaneL

1 缓存堆击穿

V2rayc_spider 缓冲数据库被击穿,链接池被瞬间清空,导致大量请求服务被拒绝而引发的一系列表征问题如下:

(1)客户端提示版本更新等有关问题;

(2)点击 获取订阅链接 后无法显示下一层界面;

2 定时服务“宕机”

GeventScheduler 运行节拍陷入紊乱,且短期内无法通过预设备案完成“自愈”,进而导致 订阅清洗服务,采集服务,订阅分发服务等一系列定时任务无法完成信息同步而引发的一系列表征问题如下:

(1)客户端提示版本更新等有关问题;

(2)节点显示在有效期内,而实际已过期/失效/不可用;

3 核心服务关闭

v2rayc_spider 或 kernel-server 服务关闭,导致 panel 发起的请求指向空IP或无效域名而引发的一系列表征问题如下:

(1)客户端提示版本更新等有关问题;

(2)软件打开后弹出提示 Windows: failed to execute script main,此时也有可能是本机网络状况不佳;


  • 以上问题表示系统相应的服务正处于故障级运行状态,请(有能力的同学)通过电报群及时联系作者修复;

  • kernel-server v5.5.2 (Public) 及更高版本系统可实现“服务自愈”,根除了先前进程游离引发的恶性bug。目前依然能引发如上类似问题的仅有人为因素(如:“服务器数据迁移”“服务器重启”“核心服务人为关停”)或因版本更新引入新组件后带来的不确定性连锁反应;

  • 开源Panel仅做演示用途,请不要提出作者“无法实现”的功能需求;


Server

v_5.u.r-dev.x armour组件开源清单

armour是一系列针对目前常见的sspanel验证方案的对抗组件。包含如下模块:

  • ArmourGeeTest
    • v2 滑动验证
    • v3 滑动验证
    • 文字点选验证
    • 图像水平验证
  • 邮箱验证
  • Google reCAPTHCA 人机验证

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.