no message
This commit is contained in:
parent
f06a42da73
commit
b8d91ad982
@ -26,9 +26,20 @@ class SakaiController
|
|||||||
|
|
||||||
public function test1()
|
public function test1()
|
||||||
{
|
{
|
||||||
$oReportTraffic = new ReportTraffic();
|
$s = "vmess://eyJ2IjoiMiIsInBzIjoi8J+HuvCfh7hVU18yNHwxMDNLQi9zfEIwMDctMjYwNjE4IiwiYWRkIjoiMTI5LjE0Ni43Ny4yNDgiLCJwb3J0IjoiMzk0OTUiLCJpZCI6ImY4MzZjNzM2LTg3ZmMtNGZkZS1hYWJjLTAwODU3ZWNkZmYzZSIsImFpZCI6IjAiLCJzY3kiOiJhdXRvIiwibmV0Ijoid3MiLCJ0eXBlIjoiIiwidGxzIjoiIiwicGF0aCI6Ii9jY3R2MTMubTN1OCJ9";
|
||||||
|
|
||||||
$oReportTraffic->all();
|
$s = explode("://", $s);
|
||||||
|
|
||||||
|
$a = $s[0];
|
||||||
|
$b = $s[1];
|
||||||
|
|
||||||
|
$s = base64_decode($b);
|
||||||
|
|
||||||
|
tt($s);
|
||||||
|
|
||||||
|
// $oReportTraffic = new ReportTraffic();
|
||||||
|
//
|
||||||
|
// $oReportTraffic->all();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function test1__b()
|
public function test1__b()
|
||||||
|
|||||||
@ -85,7 +85,6 @@ final class Cron
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($h % 3 === 0 && $i === 3) {
|
if ($h % 3 === 0 && $i === 3) {
|
||||||
// CronFreenodeSync::nodehub(); // fn分到到nodehub
|
|
||||||
CronFreenodeSync::run(); // fn分发到各到各站,旧版!!
|
CronFreenodeSync::run(); // fn分发到各到各站,旧版!!
|
||||||
NasaTestFnSubfile::run_b(); // nasa测试订阅文件
|
NasaTestFnSubfile::run_b(); // nasa测试订阅文件
|
||||||
}
|
}
|
||||||
@ -100,11 +99,6 @@ final class Cron
|
|||||||
CronFreenodeFile::clear(); // 清理fn
|
CronFreenodeFile::clear(); // 清理fn
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($h == 13 && $i == 3) { // 中午12点03发布fn的tg
|
|
||||||
// CronFnTgPublish::run(); // fn发布tg频道
|
|
||||||
// CronFnTgPublish::run_b(); // 新版,fn发布tg频道
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($i % 3 === 0) {
|
if ($i % 3 === 0) {
|
||||||
ServiceCacheTg::cron_saveToSchema(); // 文章从tg接收
|
ServiceCacheTg::cron_saveToSchema(); // 文章从tg接收
|
||||||
CronArticleSchema::cacheTgSave(); // 文章入库
|
CronArticleSchema::cacheTgSave(); // 文章入库
|
||||||
|
|||||||
@ -138,11 +138,16 @@ final class FreenodeMerge
|
|||||||
$aNode["country"] = $aNode["country"]." :[".$aNode["fromName"]."]:";
|
$aNode["country"] = $aNode["country"]." :[".$aNode["fromName"]."]:";
|
||||||
|
|
||||||
if ($sPoolClient == "v2ray") {
|
if ($sPoolClient == "v2ray") {
|
||||||
|
$sNodeNameWei = "#".urlencode($aNode["country"]);
|
||||||
$sConfig = $aNode["config"];
|
$sConfig = $aNode["config"];
|
||||||
if (is_array($sConfig)) {
|
if (is_array($sConfig)) {
|
||||||
|
if ($aNode["protocolType"] == "vmess") {
|
||||||
|
$sConfig["ps"] = urlencode($aNode["country"]);
|
||||||
|
$sNodeNameWei = "";
|
||||||
|
}
|
||||||
$sConfig = json_encode($sConfig);
|
$sConfig = json_encode($sConfig);
|
||||||
}
|
}
|
||||||
$sNode = $aNode["protocolType"]."://".$sConfig."#".urlencode($aNode["country"]);
|
$sNode = $aNode["protocolType"]."://".$sConfig.$sNodeNameWei;
|
||||||
$aNodeMerge[] = $sNode;
|
$aNodeMerge[] = $sNode;
|
||||||
} else if ($sPoolClient == "clash") {
|
} else if ($sPoolClient == "clash") {
|
||||||
$sFlagCountry = self::countryJoinFlag($aNode["country"]);
|
$sFlagCountry = self::countryJoinFlag($aNode["country"]);
|
||||||
|
|||||||
@ -86,6 +86,9 @@ final class ShadowRocketCrawl
|
|||||||
$oShadowRocketRecord = ShadowRocketIds::whereDate('created_at', $sTodayDate)->first()
|
$oShadowRocketRecord = ShadowRocketIds::whereDate('created_at', $sTodayDate)->first()
|
||||||
?? new ShadowRocketIds();
|
?? new ShadowRocketIds();
|
||||||
|
|
||||||
|
if (empty($json)) {
|
||||||
|
$json = "[]";
|
||||||
|
}
|
||||||
$oShadowRocketRecord->arr = $json;
|
$oShadowRocketRecord->arr = $json;
|
||||||
$oShadowRocketRecord->save();
|
$oShadowRocketRecord->save();
|
||||||
|
|
||||||
@ -109,7 +112,7 @@ final class ShadowRocketCrawl
|
|||||||
}
|
}
|
||||||
|
|
||||||
return array_values($aUniqueAccounts);
|
return array_values($aUniqueAccounts);
|
||||||
}
|
} // 好像因为这里成为0
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 解析 HTML 并提取账号列表(包含地区与检测时间)
|
* 解析 HTML 并提取账号列表(包含地区与检测时间)
|
||||||
|
|||||||
@ -17,8 +17,9 @@ final class ShadowRocketPublish
|
|||||||
{
|
{
|
||||||
$cSiteFnb = SiteMap::byGroupCode("fn_b");
|
$cSiteFnb = SiteMap::byGroupCode("fn_b");
|
||||||
$sBlade = Blade::where("code", "shadowRocketIds_a")->first()?->content;
|
$sBlade = Blade::where("code", "shadowRocketIds_a")->first()?->content;
|
||||||
$sShadowRocketIds = ShadowRocketIds::whereDate('created_at', date("Y-m-d"))->first()?->arr;
|
$sShadowRocketIds = ShadowRocketIds::whereDate('created_at', date("Y-m-d"))->first()?->arr ; // 这么写可以吗
|
||||||
$aShadowRocketIds = json_decode($sShadowRocketIds, true);
|
$aShadowRocketIds = json_decode($sShadowRocketIds, true);
|
||||||
|
|
||||||
$iShadowRocketIdsCount = count($aShadowRocketIds);
|
$iShadowRocketIdsCount = count($aShadowRocketIds);
|
||||||
|
|
||||||
foreach ($cSiteFnb as $oSiteFnb) {
|
foreach ($cSiteFnb as $oSiteFnb) {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -67,16 +67,26 @@ class FnLook extends Base {
|
|||||||
|
|
||||||
$sConfig = $aClientContent["config"];
|
$sConfig = $aClientContent["config"];
|
||||||
|
|
||||||
if (is_array($sConfig)) {
|
$sNameWei = "#".urlencode($sNodeName);
|
||||||
$sConfig["ps"] = "xx".rand(1, 999);
|
|
||||||
|
if ($sContentXieyi == "vmess") {
|
||||||
|
$sConfig["ps"] = urlencode($sNodeName);
|
||||||
$sConfig = json_encode($sConfig);
|
$sConfig = json_encode($sConfig);
|
||||||
|
$sNameWei = "";
|
||||||
}
|
}
|
||||||
|
// tt($sConfig);
|
||||||
|
|
||||||
|
// if (is_array($sConfig)) {
|
||||||
|
// $sConfig["ps"] = "xx".rand(1, 999);
|
||||||
|
// $sConfig = json_encode($sConfig);
|
||||||
|
// }
|
||||||
|
|
||||||
// $sNodeName = preg_replace('/ :\[.*?\]:/su', '', $sNodeName);
|
// $sNodeName = preg_replace('/ :\[.*?\]:/su', '', $sNodeName);
|
||||||
//
|
//
|
||||||
// tt($sNodeName);
|
|
||||||
$sConfig = base64_encode($sConfig);
|
// $sConfig = base64_encode($sConfig);
|
||||||
$sNodeTmp = $sContentXieyi."://".$sConfig;
|
$sNodeTmp = $sContentXieyi."://".$sConfig.$sNameWei;
|
||||||
|
// echo($sNodeTmp);exit;
|
||||||
$cNode[] = $sNodeTmp;
|
$cNode[] = $sNodeTmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
15
fn逻辑.md
15
fn逻辑.md
@ -1,4 +1,19 @@
|
|||||||
|
|
||||||
|
2.0 逻辑:
|
||||||
|
|
||||||
|
1.把爬到的存成文件
|
||||||
|
|
||||||
|
2.把文件保存到数据库pool
|
||||||
|
|
||||||
|
3.从pool取出,加工成各站版本,保存成文件
|
||||||
|
|
||||||
|
4.读文件发送到各站
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
===================
|
||||||
|
|
||||||
1.CronFreenodeCrawl :: 爬各来源,根据crawl_freenode,存到public/freenode/from/xxx文件。
|
1.CronFreenodeCrawl :: 爬各来源,根据crawl_freenode,存到public/freenode/from/xxx文件。
|
||||||
数据:
|
数据:
|
||||||
v2ray只是base64_decode一下,便于查看
|
v2ray只是base64_decode一下,便于查看
|
||||||
|
|||||||
1
public/freenode/merge/base/v2ray/2026-08-12.txt
Executable file
1
public/freenode/merge/base/v2ray/2026-08-12.txt
Executable file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user