Main menu
Common skin conditions
NEWS
Join DermNet PRO
Read more
Quick links
Privacy is paramount. Files uploaded to Nurul.zip are not stored indefinitely. Each file is assigned a retention period—typically 7 to 30 days depending on server load and file size. After that, the file is permanently deleted from the server. This ensures that old, forgotten files don’t linger and become security risks.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Nurul.zip - Share Files Online</title> <style> * margin: 0; padding: 0; box-sizing: border-box;body font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; color: #333; .container max-width: 1200px; margin: 0 auto; padding: 20px; .header text-align: center; padding: 40px 20px; color: white; .header h1 font-size: 3rem; margin-bottom: 10px; .header p font-size: 1.2rem; opacity: 0.9; .upload-card, .files-card background: white; border-radius: 20px; padding: 30px; margin-bottom: 30px; box-shadow: 0 10px 40px rgba(0,0,0,0.1); .upload-area border: 2px dashed #667eea; border-radius: 10px; padding: 40px; text-align: center; cursor: pointer; transition: all 0.3s ease; .upload-area:hover border-color: #764ba2; background: #f8f9ff; .upload-area.drag-over border-color: #764ba2; background: #f0f2ff; .file-input display: none; .upload-icon font-size: 48px; margin-bottom: 20px; .upload-btn background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; padding: 12px 30px; border-radius: 50px; font-size: 16px; cursor: pointer; margin-top: 20px; transition: transform 0.2s; .upload-btn:hover transform: translateY(-2px); .options margin-top: 20px; display: flex; gap: 20px; justify-content: center; align-items: center; .options label display: flex; align-items: center; gap: 8px; select, input[type="number"] padding: 8px; border-radius: 5px; border: 1px solid #ddd; .progress-bar width: 100%; height: 30px; background: #f0f0f0; border-radius: 15px; overflow: hidden; margin-top: 20px; display: none; .progress-fill height: 100%; background: linear-gradient(90deg, #667eea, #764ba2); width: 0%; transition: width 0.3s; display: flex; align-items: center; justify-content: center; color: white; font-weight: bold; .file-item background: #f8f9fa; padding: 15px; margin-bottom: 10px; border-radius: 10px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; .file-info flex: 1; .file-name font-weight: bold; color: #333; .file-meta font-size: 12px; color: #666; margin-top: 5px; .file-actions display: flex; gap: 10px; .btn padding: 8px 16px; border: none; border-radius: 5px; cursor: pointer; font-size: 14px; transition: all 0.2s; .btn-primary background: #667eea; color: white; .btn-primary:hover background: #5a67d8; .btn-danger background: #e53e3e; color: white; .btn-danger:hover background: #c53030; .btn-success background: #48bb78; color: white; .toast position: fixed; bottom: 20px; right: 20px; background: #333; color: white; padding: 12px 24px; border-radius: 8px; animation: slideIn 0.3s ease; z-index: 1000; @keyframes slideIn from transform: translateX(100%); opacity: 0; to transform: translateX(0); opacity: 1; @media (max-width: 768px) .file-item flex-direction: column; align-items: stretch; .file-actions justify-content: flex-end; </style></head> <body> <div class="container"> <div class="header"> <h1>📦 Nurul.zip</h1> <p>Share files online - Fast, Secure, and Simple</p> </div>
<div class="upload-card"> <div class="upload-area" id="uploadArea"> <div class="upload-icon">📁</div> <p>Drag & drop files here or click to upload</p> <p style="font-size: 12px; margin-top: 10px;">Maximum file size: 100MB</p> <input type="file" id="fileInput" class="file-input"> <button class="upload-btn" onclick="document.getElementById('fileInput').click()">Choose File</button> </div> <div class="options"> <label> 🔒 Expires in: <select id="expiryDays"> <option value="1">1 day</option> <option value="7" selected>7 days</option> <option value="30">30 days</option> <option value="0">Never</option> </select> </label> </div> <div class="progress-bar" id="progressBar"> <div class="progress-fill" id="progressFill">0%</div> </div> </div> <div class="files-card"> <h2>📋 Your Shared Files</h2> <div id="fileList"></div> </div> </div> <script> const API_URL = ''; let currentFile = null; // Drag and drop functionality const uploadArea = document.getElementById('uploadArea'); const fileInput = document.getElementById('fileInput'); uploadArea.addEventListener('dragover', (e) => e.preventDefault(); uploadArea.classList.add('drag-over'); ); uploadArea.addEventListener('dragleave', () => uploadArea.classList.remove('drag-over'); ); uploadArea.addEventListener('drop', (e) => e.preventDefault(); uploadArea.classList.remove('drag-over'); const files = e.dataTransfer.files; if (files.length > 0) uploadFile(files[0]); ); fileInput.addEventListener('change', (e) => if (e.target.files.length > 0) uploadFile(e.target.files[0]); ); async function uploadFile(file) if (!file) return; const formData = new FormData(); formData.append('file', file); const expiryDays = document.getElementById('expiryDays').value; if (expiryDays !== '0') formData.append('expiresIn', expiryDays); const progressBar = document.getElementById('progressBar'); const progressFill = document.getElementById('progressFill'); progressBar.style.display = 'block'; try const xhr = new XMLHttpRequest(); xhr.open('POST', '/upload', true); xhr.upload.addEventListener('progress', (e) => if (e.lengthComputable) const percent = (e.loaded / e.total) * 100; progressFill.style.width = percent + '%'; progressFill.textContent = Math.round(percent) + '%'; ); xhr.onload = () => if (xhr.status === 200) const response = JSON.parse(xhr.responseText); showToast('✅ File uploaded successfully!'); copyToClipboard(response.downloadUrl); showToast('🔗 Download link copied to clipboard!'); loadFiles(); resetUpload(); else showToast('❌ Upload failed!'); ; xhr.onerror = () => showToast('❌ Upload failed!'); ; xhr.send(formData); catch (error) console.error('Upload error:', error); showToast('❌ Upload failed!'); async function loadFiles() try const response = await fetch('/files'); const files = await response.json(); const fileListDiv = document.getElementById('fileList'); if (files.length === 0) fileListDiv.innerHTML = '<p style="text-align: center; color: #666;">No files shared yet. Upload your first file!</p>'; return; fileListDiv.innerHTML = files.map(file => ` <div class="file-item"> <div class="file-info"> <div class="file-name">$escapeHtml(file.filename)</div> <div class="file-meta"> Size: $formatBytes(file.size) catch (error) console.error('Error loading files:', error); async function deleteFile(fileId) if (!confirm('Are you sure you want to delete this file?')) return; try const response = await fetch(`/delete/$fileId`, method: 'DELETE' ); if (response.ok) showToast('✅ File deleted successfully!'); loadFiles(); catch (error) console.error('Error deleting file:', error); showToast('❌ Failed to delete file'); function copyLink(fileId) const link = `$window.location.origin/download/$fileId`; copyToClipboard(link); function copyToClipboard(text) navigator.clipboard.writeText(text).then(() => showToast('📋 Link copied to clipboard!'); ); function resetUpload() document.getElementById('progressBar').style.display = 'none'; document.getElementById('progressFill').style.width = '0%'; fileInput.value = ''; function showToast(message) const toast = document.createElement('div'); toast.className = 'toast'; toast.textContent = message; document.body.appendChild(toast); setTimeout(() => toast.remove(); , 3000); function formatBytes(bytes) if (bytes === 0) return '0 Bytes'; const k = 1024; const sizes = ['Bytes', 'KB', 'MB', 'GB']; const i = Math.floor(Math.log(bytes) / Math.log(k)); return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i]; function escapeHtml(text) const div = document.createElement('div'); div.textContent = text; return div.innerHTML; // Load files on page load loadFiles(); // Refresh file list every 30 seconds setInterval(loadFiles, 30000); </script>
</body> </html>
If you need a fast, no-account, private way to send large files to colleagues, clients, or friends, Nurul.zip is an excellent choice. It excels at ephemeral transfers—not long-term storage. Its zero-knowledge encryption model gives it an edge over mainstream tools, while the 10GB limit covers 95% of use cases outside 4K RAW video dumps.
However, if you require persistent cloud storage (files that never expire), real-time collaboration (like Google Docs), or enterprise-level compliance (HIPAA, FINRA), look elsewhere. For everyone else, Nurul.zip - share files online delivers on its promise: no friction, no surveillance, just sharing.
Ready to try it? Head to https://nurul.zip right now and send your first file. The link you create will vanish in a week—but your recipient will thank you for making their download seamless.
Have you used Nurul.zip? Share your experience in the comments below. For more file-sharing tips and privacy tools, subscribe to our newsletter.
Nurul.zip is a lightweight, open-source web application designed for fast, ephemeral file sharing that prioritizes a no-frills, registration-free experience. While ideal for quick transfers due to its minimalist interface, the tool lacks advanced features and may have inconsistent uptime compared to major cloud storage services. Nurul.zip - Share Files Online
Nurul.zip is a web-based file-sharing platform designed to simplify the process of sending digital assets online without the complexity of traditional cloud storage. Unlike "overkill" services like Google Drive or Dropbox that focus on long-term storage and synchronization, Nurul.zip caters to users who need quick, temporary, and straightforward file transfers. Key Features and Benefits
Nurul.zip offers a streamlined experience tailored for efficiency:
Browser-Based Accessibility: Because it operates within a web browser, it works across Windows, macOS, Linux, and mobile devices without requiring software installations.
Bypass Email Limits: Standard email providers often cap attachments at 25MB. Nurul.zip allows you to upload larger assets and share a simple link instead.
Ease of Use: Users can select a file from their computer, upload it, and immediately copy-paste a shareable link into forums, social media, or direct messages.
Security Focus: The platform emphasizes secure transfer methods and encryption to protect sensitive data during the sharing process. Why Use Nurul.zip?
While many professional environments use robust systems like ShareFile for regulated industries, Nurul.zip is ideal for everyday scenarios:
Client Deliverables: Send large assets to clients without making them navigate complex folder structures or sign up for accounts. Privacy is paramount
Cross-Device Transfers: Quickly move a file from a laptop to a smartphone without waiting for a full cloud sync.
Collaborative Projects: Share documents or media with friends and peers for one-time use. How to Get Started
To share files using this type of service, follow these general steps:
Upload: Select the desired file or archive from your local storage.
Generate Link: Once the upload is complete, the platform provides a unique URL.
Share: Send the link to your recipient via email, SMS, or chat.
Download: The recipient clicks the link to download the file directly from their browser.
For those looking for permanent storage or advanced team features, upgrading to professional tiers on services like ZipShare can offer benefits such as 5GB transfer limits and files that never expire. DropMeFiles DropMeFiles – free one-click file sharing service </body> </html>
Even the best services hiccup. Here’s how to resolve frequent problems with Nurul.zip - Share Files Online:
Issue: Upload stuck at 99%
Solution: Clear your browser cache, disable VPN temporarily (some VPN IPs are throttled), or try a different browser.
Issue: Download link says "File not found"
Solution: The file has expired (older than retention period). Re-upload the file and share the new link.
Issue: Recipient says the download is slow
Solution: Free tier bandwidth is shared. Ask them to try during off-peak hours (early morning or late night) or use a download manager.
Issue: File is rejected (error: "File type not allowed")
Solution: Remove double file extensions (e.g., .pdf.exe). Common executables (.exe, .dmg, .apk) are often blocked to prevent malware distribution. Rename the file or zip it first.
Nurul.zip is a free online file transfer service that allows users to upload files and share them via a generated link. Unlike comprehensive cloud platforms like Google Drive or Dropbox, Nurul.zip does not require user registration, software installation, or payment details. You visit the website, select your file, and receive a shareable URL within seconds.
The platform is built around the principle of simple, ephemeral sharing—ideal for sending documents, images, or short video clips without the need for long-term storage.
Unlike many free services that cap uploads at 100MB, Nurul.zip supports files up to 5GB per transfer (subject to server limits, which are generous for a free platform). This makes it ideal for sharing video projects, software installers, database backups, or high-resolution image batches.
For business users, Nurul.zip offers optional download statistics. You can see how many times your shared file was downloaded, and from which general geographic regions (country level only, no IP logging).
mkdir nurul-zip-clone
cd nurul-zip-clone
npm init -y
npm install express multer cors dotenv
npm install -D nodemon
npm start
# or for development with auto-reload
npm run dev
Privacy is paramount. Files uploaded to Nurul.zip are not stored indefinitely. Each file is assigned a retention period—typically 7 to 30 days depending on server load and file size. After that, the file is permanently deleted from the server. This ensures that old, forgotten files don’t linger and become security risks.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Nurul.zip - Share Files Online</title> <style> * margin: 0; padding: 0; box-sizing: border-box;body font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; color: #333; .container max-width: 1200px; margin: 0 auto; padding: 20px; .header text-align: center; padding: 40px 20px; color: white; .header h1 font-size: 3rem; margin-bottom: 10px; .header p font-size: 1.2rem; opacity: 0.9; .upload-card, .files-card background: white; border-radius: 20px; padding: 30px; margin-bottom: 30px; box-shadow: 0 10px 40px rgba(0,0,0,0.1); .upload-area border: 2px dashed #667eea; border-radius: 10px; padding: 40px; text-align: center; cursor: pointer; transition: all 0.3s ease; .upload-area:hover border-color: #764ba2; background: #f8f9ff; .upload-area.drag-over border-color: #764ba2; background: #f0f2ff; .file-input display: none; .upload-icon font-size: 48px; margin-bottom: 20px; .upload-btn background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; padding: 12px 30px; border-radius: 50px; font-size: 16px; cursor: pointer; margin-top: 20px; transition: transform 0.2s; .upload-btn:hover transform: translateY(-2px); .options margin-top: 20px; display: flex; gap: 20px; justify-content: center; align-items: center; .options label display: flex; align-items: center; gap: 8px; select, input[type="number"] padding: 8px; border-radius: 5px; border: 1px solid #ddd; .progress-bar width: 100%; height: 30px; background: #f0f0f0; border-radius: 15px; overflow: hidden; margin-top: 20px; display: none; .progress-fill height: 100%; background: linear-gradient(90deg, #667eea, #764ba2); width: 0%; transition: width 0.3s; display: flex; align-items: center; justify-content: center; color: white; font-weight: bold; .file-item background: #f8f9fa; padding: 15px; margin-bottom: 10px; border-radius: 10px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; .file-info flex: 1; .file-name font-weight: bold; color: #333; .file-meta font-size: 12px; color: #666; margin-top: 5px; .file-actions display: flex; gap: 10px; .btn padding: 8px 16px; border: none; border-radius: 5px; cursor: pointer; font-size: 14px; transition: all 0.2s; .btn-primary background: #667eea; color: white; .btn-primary:hover background: #5a67d8; .btn-danger background: #e53e3e; color: white; .btn-danger:hover background: #c53030; .btn-success background: #48bb78; color: white; .toast position: fixed; bottom: 20px; right: 20px; background: #333; color: white; padding: 12px 24px; border-radius: 8px; animation: slideIn 0.3s ease; z-index: 1000; @keyframes slideIn from transform: translateX(100%); opacity: 0; to transform: translateX(0); opacity: 1; @media (max-width: 768px) .file-item flex-direction: column; align-items: stretch; .file-actions justify-content: flex-end; </style></head> <body> <div class="container"> <div class="header"> <h1>📦 Nurul.zip</h1> <p>Share files online - Fast, Secure, and Simple</p> </div>
<div class="upload-card"> <div class="upload-area" id="uploadArea"> <div class="upload-icon">📁</div> <p>Drag & drop files here or click to upload</p> <p style="font-size: 12px; margin-top: 10px;">Maximum file size: 100MB</p> <input type="file" id="fileInput" class="file-input"> <button class="upload-btn" onclick="document.getElementById('fileInput').click()">Choose File</button> </div> <div class="options"> <label> 🔒 Expires in: <select id="expiryDays"> <option value="1">1 day</option> <option value="7" selected>7 days</option> <option value="30">30 days</option> <option value="0">Never</option> </select> </label> </div> <div class="progress-bar" id="progressBar"> <div class="progress-fill" id="progressFill">0%</div> </div> </div> <div class="files-card"> <h2>📋 Your Shared Files</h2> <div id="fileList"></div> </div> </div> <script> const API_URL = ''; let currentFile = null; // Drag and drop functionality const uploadArea = document.getElementById('uploadArea'); const fileInput = document.getElementById('fileInput'); uploadArea.addEventListener('dragover', (e) => e.preventDefault(); uploadArea.classList.add('drag-over'); ); uploadArea.addEventListener('dragleave', () => uploadArea.classList.remove('drag-over'); ); uploadArea.addEventListener('drop', (e) => e.preventDefault(); uploadArea.classList.remove('drag-over'); const files = e.dataTransfer.files; if (files.length > 0) uploadFile(files[0]); ); fileInput.addEventListener('change', (e) => if (e.target.files.length > 0) uploadFile(e.target.files[0]); ); async function uploadFile(file) if (!file) return; const formData = new FormData(); formData.append('file', file); const expiryDays = document.getElementById('expiryDays').value; if (expiryDays !== '0') formData.append('expiresIn', expiryDays); const progressBar = document.getElementById('progressBar'); const progressFill = document.getElementById('progressFill'); progressBar.style.display = 'block'; try const xhr = new XMLHttpRequest(); xhr.open('POST', '/upload', true); xhr.upload.addEventListener('progress', (e) => if (e.lengthComputable) const percent = (e.loaded / e.total) * 100; progressFill.style.width = percent + '%'; progressFill.textContent = Math.round(percent) + '%'; ); xhr.onload = () => if (xhr.status === 200) const response = JSON.parse(xhr.responseText); showToast('✅ File uploaded successfully!'); copyToClipboard(response.downloadUrl); showToast('🔗 Download link copied to clipboard!'); loadFiles(); resetUpload(); else showToast('❌ Upload failed!'); ; xhr.onerror = () => showToast('❌ Upload failed!'); ; xhr.send(formData); catch (error) console.error('Upload error:', error); showToast('❌ Upload failed!'); async function loadFiles() try const response = await fetch('/files'); const files = await response.json(); const fileListDiv = document.getElementById('fileList'); if (files.length === 0) fileListDiv.innerHTML = '<p style="text-align: center; color: #666;">No files shared yet. Upload your first file!</p>'; return; fileListDiv.innerHTML = files.map(file => ` <div class="file-item"> <div class="file-info"> <div class="file-name">$escapeHtml(file.filename)</div> <div class="file-meta"> Size: $formatBytes(file.size) catch (error) console.error('Error loading files:', error); async function deleteFile(fileId) if (!confirm('Are you sure you want to delete this file?')) return; try const response = await fetch(`/delete/$fileId`, method: 'DELETE' ); if (response.ok) showToast('✅ File deleted successfully!'); loadFiles(); catch (error) console.error('Error deleting file:', error); showToast('❌ Failed to delete file'); function copyLink(fileId) const link = `$window.location.origin/download/$fileId`; copyToClipboard(link); function copyToClipboard(text) navigator.clipboard.writeText(text).then(() => showToast('📋 Link copied to clipboard!'); ); function resetUpload() document.getElementById('progressBar').style.display = 'none'; document.getElementById('progressFill').style.width = '0%'; fileInput.value = ''; function showToast(message) const toast = document.createElement('div'); toast.className = 'toast'; toast.textContent = message; document.body.appendChild(toast); setTimeout(() => toast.remove(); , 3000); function formatBytes(bytes) if (bytes === 0) return '0 Bytes'; const k = 1024; const sizes = ['Bytes', 'KB', 'MB', 'GB']; const i = Math.floor(Math.log(bytes) / Math.log(k)); return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i]; function escapeHtml(text) const div = document.createElement('div'); div.textContent = text; return div.innerHTML; // Load files on page load loadFiles(); // Refresh file list every 30 seconds setInterval(loadFiles, 30000); </script>
</body> </html>
If you need a fast, no-account, private way to send large files to colleagues, clients, or friends, Nurul.zip is an excellent choice. It excels at ephemeral transfers—not long-term storage. Its zero-knowledge encryption model gives it an edge over mainstream tools, while the 10GB limit covers 95% of use cases outside 4K RAW video dumps.
However, if you require persistent cloud storage (files that never expire), real-time collaboration (like Google Docs), or enterprise-level compliance (HIPAA, FINRA), look elsewhere. For everyone else, Nurul.zip - share files online delivers on its promise: no friction, no surveillance, just sharing.
Ready to try it? Head to https://nurul.zip right now and send your first file. The link you create will vanish in a week—but your recipient will thank you for making their download seamless.
Have you used Nurul.zip? Share your experience in the comments below. For more file-sharing tips and privacy tools, subscribe to our newsletter.
Nurul.zip is a lightweight, open-source web application designed for fast, ephemeral file sharing that prioritizes a no-frills, registration-free experience. While ideal for quick transfers due to its minimalist interface, the tool lacks advanced features and may have inconsistent uptime compared to major cloud storage services.
Nurul.zip is a web-based file-sharing platform designed to simplify the process of sending digital assets online without the complexity of traditional cloud storage. Unlike "overkill" services like Google Drive or Dropbox that focus on long-term storage and synchronization, Nurul.zip caters to users who need quick, temporary, and straightforward file transfers. Key Features and Benefits
Nurul.zip offers a streamlined experience tailored for efficiency:
Browser-Based Accessibility: Because it operates within a web browser, it works across Windows, macOS, Linux, and mobile devices without requiring software installations.
Bypass Email Limits: Standard email providers often cap attachments at 25MB. Nurul.zip allows you to upload larger assets and share a simple link instead.
Ease of Use: Users can select a file from their computer, upload it, and immediately copy-paste a shareable link into forums, social media, or direct messages.
Security Focus: The platform emphasizes secure transfer methods and encryption to protect sensitive data during the sharing process. Why Use Nurul.zip?
While many professional environments use robust systems like ShareFile for regulated industries, Nurul.zip is ideal for everyday scenarios:
Client Deliverables: Send large assets to clients without making them navigate complex folder structures or sign up for accounts.
Cross-Device Transfers: Quickly move a file from a laptop to a smartphone without waiting for a full cloud sync.
Collaborative Projects: Share documents or media with friends and peers for one-time use. How to Get Started
To share files using this type of service, follow these general steps:
Upload: Select the desired file or archive from your local storage.
Generate Link: Once the upload is complete, the platform provides a unique URL.
Share: Send the link to your recipient via email, SMS, or chat.
Download: The recipient clicks the link to download the file directly from their browser.
For those looking for permanent storage or advanced team features, upgrading to professional tiers on services like ZipShare can offer benefits such as 5GB transfer limits and files that never expire. DropMeFiles DropMeFiles – free one-click file sharing service
Even the best services hiccup. Here’s how to resolve frequent problems with Nurul.zip - Share Files Online:
Issue: Upload stuck at 99%
Solution: Clear your browser cache, disable VPN temporarily (some VPN IPs are throttled), or try a different browser.
Issue: Download link says "File not found"
Solution: The file has expired (older than retention period). Re-upload the file and share the new link.
Issue: Recipient says the download is slow
Solution: Free tier bandwidth is shared. Ask them to try during off-peak hours (early morning or late night) or use a download manager.
Issue: File is rejected (error: "File type not allowed")
Solution: Remove double file extensions (e.g., .pdf.exe). Common executables (.exe, .dmg, .apk) are often blocked to prevent malware distribution. Rename the file or zip it first.
Nurul.zip is a free online file transfer service that allows users to upload files and share them via a generated link. Unlike comprehensive cloud platforms like Google Drive or Dropbox, Nurul.zip does not require user registration, software installation, or payment details. You visit the website, select your file, and receive a shareable URL within seconds.
The platform is built around the principle of simple, ephemeral sharing—ideal for sending documents, images, or short video clips without the need for long-term storage.
Unlike many free services that cap uploads at 100MB, Nurul.zip supports files up to 5GB per transfer (subject to server limits, which are generous for a free platform). This makes it ideal for sharing video projects, software installers, database backups, or high-resolution image batches.
For business users, Nurul.zip offers optional download statistics. You can see how many times your shared file was downloaded, and from which general geographic regions (country level only, no IP logging).
mkdir nurul-zip-clone
cd nurul-zip-clone
npm init -y
npm install express multer cors dotenv
npm install -D nodemon
npm start
# or for development with auto-reload
npm run dev