Secure Remote Desktop Control & Management Platform
GhostSocket is a comprehensive remote desktop solution that allows you to securely access and control your computers from anywhere in the world all from Browser. Perfect for IT support, system administration, or personal remote access needs.
Website: GhostSocket
Note: Disable Antivirus and firewall for the application to function properly.
If you are running this on an organization's Wi-Fi, it might block peer-to-peer traffic, leading to non-functionality.
- GhostSocket
- Create Account: Visit GhostSocket and sign up for a new account
- Download Desktop App: After login, download the desktop application.
- SignIn & Set Permissions: SignIn to the app with the credentials you used in website.
- Configure Permissions: Set access permissions in the desktop application and save.
- Start Remote Control: Access your devices from the web interface under My Devices.
- Configure Multiple Devices: You can Download any number of devices to access them Remotely
Note: Disable Antivirus and firewall for the application to function properly.
- Navigate to My Devices
- Click on Options select New Session
- Configure Permissions and Expiry settings
- Share the Session Key with authorized users
- The One with key can control the device with alloted permissions
Note: You can kill the session at any time.
-
Clone the Repository
git clone https://github.com/tatwik-sai/GhostSocket.git cd ghostsocket -
Backend Setup
Install Nodejs Dependencies
cd server npm install- Create an App Password for any of your account.
- This is the account from which emails are sent to the user.
-
Create an account and download Ngrok
-
Open cmd and run the following commands (Get the credentials from website)
ngrok config add-authtoken <YOUR_AUTH_TOKEN>
-
Choose the Static Domain and run the command
ngrok http --url=<YOUR_STATIC_URL> 8747
- Create an account on Clerk
- Create a new application with email and google enabled
- Copy and store the PUBLIC and SECRET key
- Go to Configure > Webhooks
- Add a new endpoint with ngrok static url subscribe to user events and create.
- Copy the Signing Secret provided.
-
Create .env file in this directory with following fields
CLERK_PUBLISHABLE_KEY=<YOUR_CLERK_PUBLISHABLE_KEY> CLERK_SECRET_KEY=<YOUR_CLERK_SECRET_KEY> CLERK_WEBHOOK_SIGNING_SECRET=<YOUR_CLERK_WEBHOOK_SIGNING_SECRET> PORT=8747 ORIGIN=http://localhost:3000 DATABASE_URL=<YOUR_DATABASE_URL> EMAIL_USER=<YOUR_GMAIL_ADDRESS> EMAIL_PASS=<YOUR_APP_PASSWORD>
npm run dev
-
Frontend Setup
cd ../frontend npm installNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=<YOUR_CLERK_PUBLISHABLE_KEY> CLERK_SECRET_KEY=<YOUR_CLERK_SECRET_KEY> NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL=/console NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL=/console NEXT_PUBLIC_SERVER_URL=http://localhost:8747 NEXT_PUBLIC_APPLICATION_URL=<APPLICATION_EXECUTABLE_DOWNLOAD_URL> NEXT_PUBLIC_DEMO_URL=<DEMO_VIDEO_URL>
npm run dev -
Desktop Application Setup
cd ../application python -m venv venv venv\Scripts\activate
pip install -r requirements.txt
SERVER_URL = "http://localhost:8747" WEB_BASE = "http://localhost:3000"
python main.py
- Multi-Device Management: Control multiple computers from a single web interface.
- Session-Based Access: Generate temporary access sessions with custom permissions.
- Real-Time Control: Live screen sharing with mouse and keyboard control.
- Exceptional Security: Complete data is encrypted and flows from peer to peer.
- Device Profile - View device information (OS, username, location, IP) and manage sessions
- File Management - Browse, download, and delete files remotely
- Terminal Access - Execute remote commands via command line
- Webcam Feed - Live webcam streaming with snapshot capabilities
- Screen Control - Real-time screen sharing with full mouse/keyboard control
- Resource Monitor - Live CPU, memory usage, and process monitoring
- End-to-End Encryption: All live streams are fully encrypted
- JWT Authentication: Secure token-based authentication system
- Peer-to-Peer Communication: Direct connection between devices (no data stored on servers)
- Permission-Based Access: Granular control over what remote users can access
- Session Management: Create, modify, and terminate access sessions instantly
- Frontend: React with Next.js, Tailwind CSS
- Backend: Express.js with MongoDB, Clerk Authentication
- Desktop App: Python with Custom Tkinter
- Real-time Communication: WebSockets + WebRTC
- HTTP: CRUD operations and standard API communication
- WebSockets: Real-time data transfer and WebRTC signaling
- WebRTC: Live screen/webcam feeds and real-time control
- Disable Windows Defender: Temporarily disable real-time protection during setup
- Firewall Exceptions: Add GhostSocket application to firewall exceptions
- Network Access: Allow the application through Windows security prompts
USE WITH EXTREME CAUTION
- Only use on devices you own or have explicit permission to access
- Never use on corporate or shared computers without proper authorization
- Always terminate sessions when not in use
- Regularly review and audit active sessions
- Keep the application updated to the latest security patches
- Use strong, unique passwords for your GhostSocket account
- Backend:
cd server && node index.js - Frontend:
cd frontend && npm run dev - Desktop App:
cd application && python main.py
-
Frontend Build:
cd frontend npm run build npm start -
Desktop App Distribution:
cd application pip install nuitkapython -m nuitka --standalone --onefile --include-data-dir=assets=assets --enable-plugin=tk-inter --windows-icon-from-ico=assets/icon.ico --windows-disable-console app.py
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: GitHub Issues
- Email: molletitatwiksai@gmail.com
- Linkdin
Remember: Use GhostSocket ethically and only on systems you own or have explicit permission to access.