Matin SenPai
متین هستم و کامپیوتر رو دوست دارم! در حال یادگیری هستم و چیزهایی که یاد میگیرم رو سعی میکنم به شما هم یاد بدم اگر به دردتون بخوره=) ارتباط با من: https://linktr.ee/matinsenpai
Ko'proq ko'rsatish📈 Telegram kanali Matin SenPai analitikasi
Matin SenPai (@matinsenpaii) Forsiy til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 154 047 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 718-o'rinni va Eron mintaqasida 1 793-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 154 047 obunachiga ega bo‘ldi.
04 Noyabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 168 ga, so‘nggi 24 soatda esa -25 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 22.82% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 16.17% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 35 163 marta ko‘riladi; birinchi sutkada odatda 24 918 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 264 ta reaksiya keladi.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“متین هستم و کامپیوتر رو دوست دارم! در حال یادگیری هستم و چیزهایی که یاد میگیرم رو سعی میکنم به شما هم یاد بدم اگر به دردتون بخوره=)
ارتباط با من: https://linktr.ee/matinsenpai”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 05 Noyabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
/** * DomainFront Relay — Google Apps Script * * TWO modes: * 1. Single: POST { k, m, u, h, b, ct, r } → { s, h, b } * 2. Batch: POST { k, q: [{m,u,h,b,ct,r}, ...] } → { q: [{s,h,b}, ...] } * Uses UrlFetchApp.fetchAll() — all URLs fetched IN PARALLEL. * * DEPLOYMENT: * 1. Go to https://script.google.com → New project * 2. Delete the default code, paste THIS entire file * 3. Click Deploy → New deployment * 4. Type: Web app | Execute as: Me | Who has access: Anyone * 5. Copy the Deployment ID into config.json as "script_id" * * CHANGE THE AUTH KEY BELOW TO YOUR OWN SECRET! */ const AUTH_KEY = "CHANGE_ME_TO_A_STRONG_SECRET"; // Keep browser capability headers (sec-ch-ua*, sec-fetch-*) intact. // Some modern apps, notably Google Meet, use them for browser gating. const SKIP_HEADERS = { host: 1, connection: 1, "content-length": 1, "transfer-encoding": 1, "proxy-connection": 1, "proxy-authorization": 1, "priority": 1, te: 1, }; function doPost(e) { try { var req = JSON.parse(e.postData.contents); if (req.k !== AUTH_KEY) return _json({ e: "unauthorized" }); // Batch mode: { k, q: [...] } if (Array.isArray(req.q)) return _doBatch(req.q); // Single mode return _doSingle(req); } catch (err) { return _json({ e: String(err) }); } } function _doSingle(req) { if (!req.u typeof req.u !== "string" !req.u.match(/^https?:\/\//i)) { return _json({ e: "bad url" }); } var opts = _buildOpts(req); var resp = UrlFetchApp.fetch(req.u, opts); return _json({ s: resp.getResponseCode(), h: _respHeaders(resp), b: Utilities.base64Encode(resp.getContent()), }); } function _doBatch(items) { var fetchArgs = []; var errorMap = {}; for (var i = 0; i < items.length; i++) { var item = items[i]; if (!item.u typeof item.u !== "string" !item.u.match(/^https?:\/\//i)) { errorMap[i] = "bad url"; continue; } var opts = _buildOpts(item); opts.url = item.u; fetchArgs.push({ _i: i, _o: opts }); } // fetchAll() processes all requests in parallel inside Google var responses = []; if (fetchArgs.length > 0) { responses = UrlFetchApp.fetchAll(fetchArgs.map(function(x) { return x._o; })); } var results = []; var rIdx = 0; for (var i = 0; i < items.length; i++) { if (errorMap.hasOwnProperty(i)) { results.push({ e: errorMap[i] }); } else { var resp = responses[rIdx++]; results.push({ s: resp.getResponseCode(), h: _respHeaders(resp), b: Utilities.base64Encode(resp.getContent()), }); } } return _json({ q: results }); } function _buildOpts(req) { var opts = { method: (req.m || "GET").toLowerCase(), muteHttpExceptions: true, followRedirects: req.r !== false, validateHttpsCertificates: true, escaping: false, }; if (req.h && typeof req.h === "object") { var headers = {}; for (var k in req.h) { if (req.h.hasOwnProperty(k) && !SKIP_HEADERS[k.toLowerCase()]) { headers[k] = req.h[k]; } } opts.headers = headers; } if (req.b) { opts.payload = Utilities.base64Decode(req.b); if (req.ct) opts.contentType = req.ct; } return opts; } function _respHeaders(resp) { try { if (typeof resp.getAllHeaders === "function") { return resp.getAllHeaders(); } } catch (err) {} return resp.getHeaders(); } function doGet(e) { return HtmlService.createHtmlOutput( "<!DOCTYPE html><html><head><title>My App</title></head>" + '<body style="font-family:sans-serif;max-width:600px;margin:40px auto">' + "<h1>Welcome</h1><p>This application is running normally.</p>" + "</body></html>" ); } function _json(obj) { return ContentService.createTextOutput(JSON.stringify(obj)).setMimeType( ContentService.MimeType.JSON ); }
@whitedns
@whitedns
