برنامج فايبر للأنرويد وللكمبيوتر

إنضم
16 نوفمبر 2011
المشاركات
2,783
مستوى التفاعل
114
النقاط
0
العمر
48
الإقامة
عيون الطيبين
الفايبر برنامج دردشه صوتيه وكتابيه للأجهزه الخلويه التي تعمل بنظام اندرويد

Viber : Free Messages & Calls



تطبيق الفايبر بآخر تحديث

للتحميل :
https://appsnode.com/d.php?code=yOHpeUmG4Lb7

نسخة الكمبيوتر برابط خارجي :
https://appsnode.com/d.php?code=hu78MKDiHS4o
دمتم بحب
 

فرحة الاردن

الادارة العامة
طاقم الإدارة
إنضم
18 ديسمبر 2011
المشاركات
20,610
مستوى التفاعل
446
النقاط
83
الإقامة
الاردن
يعطيك العافيه على الجهود الراقيه
تقديري لك
 
إنضم
16 نوفمبر 2011
المشاركات
2,783
مستوى التفاعل
114
النقاط
0
العمر
48
الإقامة
عيون الطيبين
نورتي غاليتي فرحه
مرور راقي تسلمي يا عسل
 
إنضم
18 مارس 2013
المشاركات
196
مستوى التفاعل
3
النقاط
0
العمر
29
الإقامة
عمان
كل الشكر ويعطيك العافية
 
إنضم
16 نوفمبر 2011
المشاركات
2,783
مستوى التفاعل
114
النقاط
0
العمر
48
الإقامة
عيون الطيبين
هلا حبيبتي مجد نورتي صفحتي بمرورك وردك♡♬♩✿✺
 
إنضم
19 أكتوبر 2012
المشاركات
1,708
مستوى التفاعل
26
النقاط
0
الإقامة
مكان بعيد
يعطيك العافية
برنامج كتير حلو
 
const config = { siteUrl: 'https://www.jnob-jo.com', whitelist: [ 'youtube.com', 'youtu.be', 'facebook.com', 'twitter.com', 'iinkor.com', 'forum.iinkor.com', 'instagram.com', 'up.jnob-jo.com', 'drive.google.com', 'docs.google.com', 'apps.moe.gov.jo', 'nccd.gov.jo''instagram.com' ] }; function isWhitelisted(url) { return config.whitelist.some(domain => url.includes(domain)); } function isExternalLink(url) { try { const urlObj = new URL(url); const siteUrlObj = new URL(config.siteUrl); return urlObj.hostname !== siteUrlObj.hostname; } catch (e) { return false; } } function convertExternalLink(url, replaceWithStars = false) { if (!url) return url; // تجاهل الروابط الداخلية والمستثناة if (!isExternalLink(url) || isWhitelisted(url)) { return url; } if (replaceWithStars) { return '****'; } return config.siteUrl; } function processBBCodeLinks() { const textNodes = document.evaluate( "//text()[contains(., '[URL')]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null ); for (let i = 0; i < textNodes.snapshotLength; i++) { const node = textNodes.snapshotItem(i); let text = node.textContent; text = text.replace( /\[URL[^\]]*\](https?:\/\/[^\[]+)\[\/URL\]/g, (match, url) => { const isUrlAlone = text.trim() === match; const newUrl = convertExternalLink(url.trim(), isUrlAlone); return `[URL]${newUrl}[/URL]`; } ); if (text !== node.textContent) { node.textContent = text; } } } function processPlainTextLinks() { const textNodes = document.evaluate( "//text()[contains(., 'http://') or contains(., 'https://')]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null ); for (let i = 0; i < textNodes.snapshotLength; i++) { const node = textNodes.snapshotItem(i); let text = node.textContent; text = text.replace( /(https?:\/\/[^\s\[\]<>"']+)/g, (match) => { // تحقق مما إذا كان الرابط وحده في النص const isUrlAlone = text.trim() === match; return convertExternalLink(match, isUrlAlone); } ); if (text !== node.textContent) { node.textContent = text; } } } function processPageLinks() { const links = document.querySelectorAll('.message-body a, .p-body-pageContent a'); links.forEach(link => { const href = link.getAttribute('href'); if (href) { const isUrlAlone = link.textContent.trim() === href; const newHref = convertExternalLink(href, isUrlAlone); if (newHref !== href) { link.setAttribute('href', newHref); if (isUrlAlone) { link.textContent = '****'; } link.classList.add('external-redirect'); } } }); processBBCodeLinks(); processPlainTextLinks(); } document.addEventListener('DOMContentLoaded', processPageLinks); document.addEventListener('XFContentLoaded', processPageLinks); const observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (mutation.addedNodes && mutation.addedNodes.length > 0) { processPageLinks(); } }); }); observer.observe(document.body, { childList: true, subtree: true });