This project has been on hold since 2016
All the data on this site is still available (and will stay available) but not up-to-date anymore
You might like to check Dmitry Moskalchuk's portfolio for his other projects

Nippy File Share [HD – 480p]

.hidden display: none;

fileInfo.downloads++; res.download(filePath, fileInfo.originalName);

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Nippy File Share - Fast & Secure File Sharing</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="container"> <header> <h1>🚀 Nippy File Share</h1> <p>Fast, secure, and temporary file sharing</p> </header> <div class="upload-section"> <div class="upload-area" id="uploadArea"> <div class="upload-icon">📁</div> <p>Drag & drop files here or click to upload</p> <input type="file" id="fileInput" style="display: none;"> <div class="upload-options"> <select id="expirySelect"> <option value="1h">1 Hour</option> <option value="24h" selected>24 Hours</option> <option value="7d">7 Days</option> </select> <button id="uploadBtn" class="btn btn-primary">Select File</button> </div> </div> </div> nippy file share

const app = express(); const PORT = process.env.PORT || 3000;

async function displaySuccess(response) const downloadUrl = $window.location.origin$response.downloadUrl ; shareUrl.value = downloadUrl; .hidden display: none

.feature background: white; padding: 2rem; border-radius: 15px; text-align: center; box-shadow: 0 10px 30px rgba(0,0,0,0.1); transition: transform 0.3s ease;

.btn-primary:hover transform: translateY(-2px); box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4); meta name="viewport" content="width=device-width

// Helper functions function calculateExpiry(expiry) const now = new Date(); switch(expiry) case '1h': return new Date(now.getTime() + 3600000); case '24h': return new Date(now.getTime() + 86400000); case '7d': return new Date(now.getTime() + 604800000); default: return new Date(now.getTime() + 86400000);

// In-memory store for file metadata const fileStore = new Map();