Skip to content

Whisingx/WhisingExpress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Whising Express

Whising express is a email client based on Outlook Express from Windows 98

License: MIT Hack Club Netlify Client | Email Hackclub | Nest

Features

  • Multi‑account support – Add and multiple accounts.
  • Unified inbox – View all accounts in one place.
  • Full email handling – Read, reply, forward, delete, mark read/unread.
  • Rich compose – Formatting bar, signatures, and attachments!
  • Dark mode – Follows system preference or manual toggle.
  • Search – Find emails by subject or sender.
  • Keyboard shortcuts – Ctrl+N new mail, Ctrl+M send/receive, Del delete, etc.
  • Cross Platform – The application is cross platform with EXE, web and APK builds available.
  • Security – AES‑256‑GCM encrypted passwords, hashed session tokens, rate limiting, CSP headers, sandboxed email preview and DOMPurify.

Download & Setup

Pre‑built packages:

You can either go to email.whising.space, or go to release -> download file for your system for native build.

Star the repository!

I would really appreciate it!

AI Usage

A little bit of AI was used for helping me create the SVG's throughout the project, help me get Electron setup and create the APK Build which I used a android studio template for. AI was also used for helping me get texts like a accurate cross and stuff.

Hosting your own version

# Install Node.js 18+
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs

# Clone and copy backend files
git clone https://github.com/Whisingdilli71/WhisingExpress
mkdir -p /opt/whising-backend
cp -r WhisingExpress/mailapi/src WhisingExpress/mailapi/package*.json /opt/whising-backend/
cd /opt/whising-backend
npm install

# Create .env (generates random key)
echo "PORT=3000" > .env
echo "MASTER_KEY=$(node -e "console.log(require('crypto').randomBytes(32).toString('hex'))")" >> .env
echo "DB_PATH=/var/data/mail.db" >> .env
mkdir -p /var/data

# Install PM2 and start
sudo npm install -g pm2
pm2 start src/server.js --name mailapi
pm2 save
pm2 startup

Upload frontend files (index.html, scripts/) to Netlify manually
Update netlify.toml redirects to your backend api

# Edit allowedOrigins in src/server.js (Manually ofc) 
nano src/server.js   # add your frontend domain and backend domain
pm2 restart mailapi

About

This is a email client made from scratch based on Outlook Express from Win98

Topics

Resources

Security policy

Stars

Watchers

Forks

Contributors