Live & Always Updated

Your Ultimate
Telegram File Portal

Access thousands of movies, series, software, and files instantly. Powered by our Telegram bot — fast, free & always available.

10K+
Files Available
50K+
Happy Users
Speed Limit
100%
Free Forever

Latest Files

Click any file → watch a quick ad → get the file instantly on Telegram

How It Works

Get your file in 3 easy steps — no sign-up required

🔍

Browse & Find

Search or browse thousands of files on this portal. Click the one you want.

🎬

Watch Short Ad

A quick Monetag rewarded ad plays. This is how we keep everything free for you!

✈️

Get File on Telegram

After the ad completes, the Telegram bot link is unlocked. Your file arrives instantly.

🔗

Share the Link

Copy the shareable link from any file card and share it. Every viewer watches an ad too!

Everything You Need

Packed with powerful features for both users and admins

Blazing Fast Delivery

Files delivered at Telegram's max speed — no throttling.

🎯

Monetag Ad Wall

Earn high-CPM Rewarded Interstitial revenue from every file access.

🤖

Clone Your Own Bot

Create an identical copy of this bot in 60 seconds with your own earning.

🔗

Shareable File Links

Every file has a unique shareable link that routes through the ad wall.

Auto File Delete

Files auto-delete after a set time, helping comply with copyright rules.

🎥

Stream Support

Watch videos directly in-browser via built-in streaming links.

Ready to Get Started?

Join over 50,000 users who access files for free through our Telegram bot every day.

/* ─── FILE DATA msg_id = the bot /start parameter that delivers the file Shareable link format: https://yoursite.com/?file=MSG_ID ─── */ const MOCK_FILES = [ { id:1, title:'Avengers: Endgame (2019) 4K', type:'movie', size:'18.2 GB', emoji:'🎬', desc:'The epic conclusion to the Infinity Saga.', msg_id:'10' }, { id:2, title:'Breaking Bad Complete Series', type:'series', size:'45 GB', emoji:'📺', desc:'All 5 seasons of Walter White\'s transformation.', msg_id:'11' }, { id:3, title:'Adobe Photoshop 2025', type:'software', size:'4.1 GB', emoji:'💾', desc:'Full Adobe Photoshop 2025 with all plugins. Win & Mac.', msg_id:'12' }, { id:4, title:'Interstellar (2014) 1080p', type:'movie', size:'12.5 GB',emoji:'🎬', desc:'A team explores a wormhole to ensure humanity\'s survival.', msg_id:'13' }, { id:5, title:'The Dark Knight Trilogy 4K', type:'movie', size:'37.8 GB',emoji:'🎬', desc:'All three Christopher Nolan Batman films in 4K HDR.', msg_id:'14' }, { id:6, title:'Money Heist Season 1–5', type:'series', size:'28 GB', emoji:'📺', desc:'Complete La Casa de Papel in 1080p with subtitles.', msg_id:'15' }, { id:7, title:'Python Mastery eBook Bundle', type:'ebook', size:'890 MB', emoji:'📖', desc:'20 Python programming eBooks from beginner to advanced.', msg_id:'16' }, { id:8, title:'Top 100 Hits 2025 Pack', type:'music', size:'1.2 GB', emoji:'🎵', desc:'Top 100 chart songs of 2025 in 320kbps MP3.', msg_id:'17' }, { id:9, title:'Oppenheimer (2023) 4K HDR', type:'movie', size:'22.6 GB',emoji:'🎬', desc:'The Manhattan Project story directed by Christopher Nolan.', msg_id:'18' }, { id:10, title:'Microsoft Office 2025 Suite', type:'software', size:'6.8 GB', emoji:'💾', desc:'Complete MS Office 2025 — Word, Excel, PowerPoint & more.', msg_id:'19' }, { id:11, title:'One Piece Episodes 1–1000', type:'series', size:'120 GB', emoji:'📺', desc:'Complete One Piece HD anime, dual audio.', msg_id:'20' }, { id:12, title:'JavaScript: The Good Parts PDF', type:'ebook', size:'12 MB', emoji:'📖', desc:'Douglas Crockford\'s essential JS guide.', msg_id:'21' }, { id:13, title:'Dune Part 2 (2024) 4K', type:'movie', size:'19.4 GB',emoji:'🎬', desc:'Paul Atreides joins the Fremen in the stunning sequel.', msg_id:'22' }, { id:14, title:'Lo-Fi Chill Beats Vol.3', type:'music', size:'560 MB', emoji:'🎵', desc:'4 hours of 320kbps lo-fi beats for study & work.', msg_id:'23' }, { id:15, title:'VS Code Ultimate Setup Pack', type:'software', size:'320 MB', emoji:'💾', desc:'VS Code with best extensions & themes. Ready to install.', msg_id:'24' }, { id:16, title:'Attack on Titan Final Season', type:'series', size:'22 GB', emoji:'📺', desc:'Complete AoT final season in 1080p.', msg_id:'25' }, ]; /* ─── STATE ─── */ let currentFilter = 'all'; let currentSearch = ''; let currentPage = 1; let activeFiles = [...MOCK_FILES]; let pendingFile = null; // file object waiting for ad completion let adCompleted = false; // true once ad was watched this session /* ─── HELPERS ─── */ function buildBotLink(msgId) { return `https://t.me/${CONFIG.BOT_USERNAME}?start=${msgId}`; } function buildShareLink(msgId) { return `${CONFIG.SITE_URL}?file=${msgId}`; } function getTypeLabel(t) { return {movie:'Movie',series:'Series',software:'Software',ebook:'eBook',music:'Music'}[t]||t; } function escHtml(s) { return String(s).replace(/&/g,'&').replace(//g,'>'); } function showToast(msg, dur = 2800) { const t = document.getElementById('toast'); t.textContent = msg; t.classList.add('show'); setTimeout(() => t.classList.remove('show'), dur); } function copyText(text) { if (navigator.clipboard) { navigator.clipboard.writeText(text); } else { const ta = document.createElement('textarea'); ta.value = text; document.body.appendChild(ta); ta.select(); document.execCommand('copy'); document.body.removeChild(ta); } } /* ─── FILE CARD RENDER ─── */ function renderCard(file, delay = 0) { const div = document.createElement('div'); div.className = 'file-card'; div.style.animationDelay = delay + 'ms'; div.setAttribute('role','listitem'); div.setAttribute('tabindex','0'); div.setAttribute('aria-label', file.title); div.innerHTML = `
${file.emoji} ${getTypeLabel(file.type)}
${file.id % 4 === 0 ? 'NEW' : 'HD'}
${escHtml(file.title)}
${getTypeLabel(file.type)} ${file.size}
`; /* Click card → open ad wall */ div.querySelector('.file-thumb').addEventListener('click', () => openAdWall(file)); div.querySelector('.file-info').addEventListener('click', () => openAdWall(file)); div.addEventListener('keydown', e => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); openAdWall(file); } }); /* Click share button → copy link WITHOUT showing ad */ div.querySelector('.file-share-btn').addEventListener('click', e => { e.stopPropagation(); const link = buildShareLink(file.msg_id); copyText(link); showToast('✅ Share link copied! Send it to anyone.'); }); return div; } /* ─── RENDER GRID ─── */ function renderGrid(reset = false) { const grid = document.getElementById('fileGrid'); if (reset) { grid.innerHTML = ''; currentPage = 1; } const start = (currentPage - 1) * CONFIG.ITEMS_PER_PAGE; const end = currentPage * CONFIG.ITEMS_PER_PAGE; const slice = activeFiles.slice(start, end); if (activeFiles.length === 0) { grid.innerHTML = `
🔍

No files found

Try a different search or filter.

`; document.getElementById('loadMoreBtn').style.display = 'none'; return; } slice.forEach((f, i) => grid.appendChild(renderCard(f, i * 40))); document.getElementById('loadMoreBtn').style.display = (end < activeFiles.length) ? '' : 'none'; } function applyFilters() { activeFiles = MOCK_FILES.filter(f => { const mF = currentFilter === 'all' || f.type === currentFilter; const mS = !currentSearch || f.title.toLowerCase().includes(currentSearch.toLowerCase()); return mF && mS; }); renderGrid(true); } /* ════════════════════════════════════════════════ AD WALL — CORE MONETAG INTEGRATION ════════════════════════════════════════════════ */ function openAdWall(file) { pendingFile = file; /* Populate header */ document.getElementById('adwallFileName').textContent = file.title; document.getElementById('adwallFileMeta').innerHTML = ` ${getTypeLabel(file.type)} ${file.size} `; /* Reset state */ resetAdWall(); /* If already watched ad this session, skip ad and unlock directly */ if (adCompleted) { unlockFile(file); return; } document.getElementById('adwallOverlay').classList.add('open'); document.body.style.overflow = 'hidden'; } function resetAdWall() { document.getElementById('adwallIcon').textContent = '🔒'; document.getElementById('adwallSteps').style.display = ''; document.getElementById('adwallProgress').classList.remove('visible'); document.getElementById('adwallCountdown').classList.remove('visible'); document.getElementById('adwallSuccess').classList.remove('visible'); document.getElementById('adWatchBtn').style.display = ''; document.getElementById('adWatchBtn').disabled = false; document.getElementById('btnSpinner').style.display = 'none'; document.getElementById('btnText').innerHTML = '🎬 Watch Ad & Unlock File'; document.getElementById('adwallStatus').textContent = ''; document.getElementById('adwallProgressBar').style.width = '0%'; } function closeAdWall() { document.getElementById('adwallOverlay').classList.remove('open'); document.body.style.overflow = ''; pendingFile = null; } /* Called after ad successfully completes */ function unlockFile(file) { /* Show success UI */ document.getElementById('adwallIcon').textContent = '✅'; document.getElementById('adwallSteps').style.display = 'none'; document.getElementById('adWatchBtn').style.display = 'none'; document.getElementById('adwallProgress').classList.remove('visible'); document.getElementById('adwallCountdown').classList.remove('visible'); document.getElementById('adwallStatus').textContent = ''; const successEl = document.getElementById('adwallSuccess'); successEl.classList.add('visible'); /* Set bot link */ const botLink = buildBotLink(file.msg_id); document.getElementById('adwallGetFileBtn').href = botLink; /* Set copy share link */ document.getElementById('adwallCopyBtn').onclick = () => { copyText(buildShareLink(file.msg_id)); showToast('✅ Share link copied!'); }; /* Mark ad as watched for this session */ adCompleted = true; sessionStorage.setItem('adWatched', '1'); } /* ─── Main ad trigger button ─── */ document.getElementById('adWatchBtn').addEventListener('click', async () => { const btn = document.getElementById('adWatchBtn'); const spinner = document.getElementById('btnSpinner'); const btnTxt = document.getElementById('btnText'); const status = document.getElementById('adwallStatus'); const progress= document.getElementById('adwallProgress'); const progBar = document.getElementById('adwallProgressBar'); const countdown= document.getElementById('adwallCountdown'); const timerEl = document.getElementById('adwallTimer'); btn.disabled = true; spinner.style.display = 'inline-block'; btnTxt.textContent = 'Loading ad…'; status.textContent = ''; /* Show animated progress bar */ progress.classList.add('visible'); animateProgress(progBar, 10000); /* Show countdown */ countdown.classList.add('visible'); let secs = 10; timerEl.textContent = secs; const cdTimer = setInterval(() => { secs--; timerEl.textContent = Math.max(secs, 0); if (secs <= 0) clearInterval(cdTimer); }, 1000); try { /* ✅ Monetag Rewarded Interstitial — Zone 11082607 */ await show_11082607(); clearInterval(cdTimer); status.textContent = '✅ Ad completed! Unlocking file...'; setTimeout(() => { if (pendingFile) unlockFile(pendingFile); }, 600); } catch (err) { clearInterval(cdTimer); console.warn('Monetag ad error or skipped:', err); /* If SDK not loaded or no ad available, still unlock after short delay (remove this fallback if you want strict ad enforcement) */ status.textContent = '⚠️ No ad available — unlocking anyway...'; setTimeout(() => { if (pendingFile) unlockFile(pendingFile); }, 1200); } }); /* Animate progress bar */ function animateProgress(bar, durationMs) { let start = null; function step(ts) { if (!start) start = ts; const pct = Math.min(((ts - start) / durationMs) * 100, 99); bar.style.width = pct + '%'; if (pct < 99) requestAnimationFrame(step); } requestAnimationFrame(step); } /* ─── Handle ?file=MSG_ID URL param (shareable links) ─── */ function checkShareableLink() { const params = new URLSearchParams(window.location.search); const fileId = params.get('file'); if (!fileId) return; /* Find matching file in our list */ const file = MOCK_FILES.find(f => String(f.msg_id) === String(fileId)); if (file) { /* Scroll to files section then open ad wall */ setTimeout(() => openAdWall(file), 400); } else { /* Unknown file id: show ad wall with generic info */ const genericFile = { title: 'Requested File', type: 'file', size: 'Unknown', emoji: '📁', desc: 'Your requested file', msg_id: fileId }; setTimeout(() => openAdWall(genericFile), 400); } } /* Close ad wall on overlay click */ document.getElementById('adwallOverlay').addEventListener('click', e => { if (e.target === e.currentTarget) closeAdWall(); }); document.addEventListener('keydown', e => { if (e.key === 'Escape') closeAdWall(); }); /* ─── Animated counter ─── */ function animateCount(el, target, suffix) { let v = 0; const step = target / 60; const t = setInterval(() => { v = Math.min(v + step, target); el.innerHTML = `${Math.floor(v).toLocaleString()}${suffix}`; if (v >= target) clearInterval(t); }, 16); } /* ─── Intersection observer for scroll reveals ─── */ function observeElements() { const io = new IntersectionObserver(entries => { entries.forEach(e => { if (e.isIntersecting) { e.target.style.opacity = '1'; e.target.style.transform = 'translateY(0)'; io.unobserve(e.target); } }); }, { threshold: .15 }); document.querySelectorAll('.step-card, .feature-card').forEach(el => { el.style.opacity = '0'; el.style.transform = 'translateY(24px)'; el.style.transition = 'opacity .5s ease, transform .5s ease'; io.observe(el); }); const statsEl = document.querySelector('.hero-stats'); if (statsEl) { const sio = new IntersectionObserver(([e]) => { if (e.isIntersecting) { animateCount(document.getElementById('stat-files'), 10, 'K+'); animateCount(document.getElementById('stat-users'), 50, 'K+'); sio.unobserve(statsEl); } }, { threshold: .5 }); sio.observe(statsEl); } } /* ─── Particle canvas ─── */ function initParticles() { const canvas = document.createElement('canvas'); canvas.style.cssText = 'position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.3'; document.body.prepend(canvas); const ctx = canvas.getContext('2d'); const resize = () => { canvas.width = window.innerWidth; canvas.height = window.innerHeight; }; resize(); window.addEventListener('resize', resize); const cols = ['#6366f1','#a855f7','#06b6d4']; const pts = Array.from({length:55}, () => ({ x: Math.random()*window.innerWidth, y: Math.random()*window.innerHeight, vx:(Math.random()-.5)*.3, vy:(Math.random()-.5)*.3, r: Math.random()*1.5+.5, a: Math.random()*.45+.1, c: cols[Math.floor(Math.random()*3)] })); (function draw() { ctx.clearRect(0,0,canvas.width,canvas.height); pts.forEach(p => { p.x+=p.vx; p.y+=p.vy; if(p.x<0)p.x=canvas.width; if(p.x>canvas.width)p.x=0; if(p.y<0)p.y=canvas.height; if(p.y>canvas.height)p.y=0; ctx.beginPath(); ctx.arc(p.x,p.y,p.r,0,Math.PI*2); ctx.fillStyle=p.c; ctx.globalAlpha=p.a; ctx.fill(); }); ctx.globalAlpha=1; requestAnimationFrame(draw); })(); } /* ─── INIT ─── */ document.addEventListener('DOMContentLoaded', () => { /* Restore session ad state */ if (sessionStorage.getItem('adWatched') === '1') adCompleted = true; renderGrid(true); observeElements(); initParticles(); checkShareableLink(); /* Filter tabs */ document.getElementById('filterTabs').addEventListener('click', e => { const btn = e.target.closest('.filter-tab'); if (!btn) return; document.querySelectorAll('.filter-tab').forEach(b => { b.classList.remove('active'); b.setAttribute('aria-selected','false'); }); btn.classList.add('active'); btn.setAttribute('aria-selected','true'); currentFilter = btn.dataset.filter; applyFilters(); }); /* Search */ let searchTimer; document.getElementById('searchInput').addEventListener('input', e => { clearTimeout(searchTimer); searchTimer = setTimeout(() => { currentSearch = e.target.value.trim(); applyFilters(); }, 350); }); document.getElementById('searchBtn').addEventListener('click', () => { currentSearch = document.getElementById('searchInput').value.trim(); applyFilters(); }); /* Load more */ document.getElementById('loadMoreBtn').addEventListener('click', () => { currentPage++; renderGrid(false); }); /* Back to top */ const backTop = document.getElementById('backTop'); window.addEventListener('scroll', () => backTop.classList.toggle('visible', window.scrollY > 400), { passive: true }); backTop.addEventListener('click', () => window.scrollTo({ top: 0, behavior: 'smooth' })); /* Hamburger */ const hamburger = document.getElementById('hamburger'); const navLinks = document.getElementById('navLinks'); hamburger.addEventListener('click', () => navLinks.classList.toggle('mobile-open')); document.addEventListener('click', e => { if (!hamburger.contains(e.target) && !navLinks.contains(e.target)) navLinks.classList.remove('mobile-open'); }); });