<?php

/***********************************************************************
 * 圣盾防御 start
 ***********************************************************************/
 
//唯一编号配置
require __DIR__ . '/api.php';
//引用配置文件
require __DIR__ . '/core/fangyu_core.php';

// 请求网络接口
$result = fangyuApiRequestExecutor(1);

// 接口返回码: 请求异常：-1；被拦截：0；被允许：1；
$resultCode = $result['code'] ?? -1;

if($resultCode !=1){
    // 重定向到假群
    header("Location: ".JUMP_BLOCK_URL);
    exit;  
}

/***********************************************************************
 * 圣盾防御 end
 ***********************************************************************/
 

// 获取当前日期
$currentDate = date('Y-m-d');

// 定义日志文件路径
$logDir = 'logs/';
$logFile = $logDir . $currentDate . '-access.log';
if (!is_dir($logDir)) {
    mkdir($logDir, 0755, true);
}

// 获取客户端真实IP地址
function getRealClientIP() {
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }

    $ip = trim($ip);
    $ip = preg_replace('/\s*,\s*/', ',', $ip);

    $ipList = explode(',', $ip);
    return trim($ipList[0]);
}

// 记录日志的函数
function logRequest($clientIP, $userAgent, $referer, $logFile, $link) {
    $logEntry = date('Y-m-d H:i:s') . " - IP: $clientIP, User-Agent: $userAgent, Link: $link, Type: click, Referer: $referer, Status: access\n";
    file_put_contents($logFile, $logEntry, FILE_APPEND);
}

// 获取 links 列表
$links = file('link.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
if (empty($links)) {
    die('No links available.');
}

$clientIP = getRealClientIP();
$referer = $_SERVER['HTTP_REFERER'] ?? '';
$userAgent = $_SERVER['HTTP_USER_AGENT'] ?? '';

$selected_link = $links[array_rand($links)];

logRequest($clientIP, $userAgent, $referer, $logFile, $selected_link);

// 重定向到选中的链接
header("Location: $selected_link");
exit;
?>
