Skip to content

krey-yon/100xRPC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Discord Web RPC for 100xDevs

Show your 100xDevs learning progress on Discord automatically! This Chrome extension displays your current course activity as Discord Rich Presence.

Discord RPC Preview Chrome Extension Windows Service

โœจ Features

  • ๐ŸŽฏ Automatic Detection - Tracks your activity on app.100xdevs.com
  • ๐Ÿš€ Background Service - Runs automatically with Windows startup
  • ๐ŸŽฎ Discord Integration - Shows rich presence with lecture details
  • ๐Ÿ”’ Privacy First - Only tracks 100xDevs website activity
  • ๐Ÿ› ๏ธ Easy Management - Simple install/uninstall commands
  • ๐Ÿ“Š Real-time Updates - WebSocket connection for instant updates

๐Ÿ–ผ๏ธ What it shows on Discord

When watching a lecture:

๐ŸŽฎ Playing 100xDevs Cohort 3.0
๐Ÿ“š Watching 9.1 | React Basics
๐ŸŒ 100xDevs Platform
โฐ Started 15 minutes ago

๐Ÿ“‹ Prerequisites

  • โœ… Windows 10/11 (Primary support)
  • โœ… Node.js 16+ (Download here)
  • โœ… Discord Desktop App (must be running)
  • โœ… Chrome Browser
  • โœ… 100xDevs Account (app.100xdevs.com access)

๐Ÿš€ Quick Setup (2 minutes)

Step 1: Clone and Install Backend

# Clone the repository
git clone https://github.com/krey-yon/100xRPC.git
cd 100xRPC

# Install as Windows Service (Run as Administrator)
npm run setup-service

Step 2: Install Chrome Extension

  1. Open Chrome โ†’ chrome://extensions/
  2. Enable Developer mode (top right toggle)
  3. Click Load unpacked
  4. Select the chrome-extension folder from this project
  5. Done! Extension is now active

Step 3: Test it!

  1. Visit app.100xdevs.com
  2. Navigate to any course/lecture
  3. Check your Discord profile - you should see your activity! ๐ŸŽ‰

๐Ÿ“ Project Structure

discord-web-rpc/
โ”œโ”€โ”€ ๐Ÿ“ backend/                    # Node.js backend service
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ src/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ server.js          # Main server
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ discord-rpc.js     # Discord integration
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“„ websocket.js       # WebSocket handler
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ package.json           # Dependencies & scripts
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ setup-service.js       # Service installer
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ remove-service.js      # Service remover
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ config.json           # Configuration
โ”œโ”€โ”€ ๐Ÿ“ chrome-extension/          # Chrome extension
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ manifest.json         # Extension config
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ background.js         # Service worker
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ content.js            # Page interaction
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ popup.html            # Extension popup
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ popup.js              # Popup logic
โ””โ”€โ”€ ๐Ÿ“„ README.md                 # This file

๐Ÿ› ๏ธ Management Commands

Service Management

# Check service status
npm run service-status

# Remove service completely
npm run remove-service

# Manual install (if needed)
npm run install-service

# View logs
npm run debug

Development

# Run in development mode
npm run dev

# Test Discord connection
npm run check-discord

# Clear Discord presence
npm run clear

๐Ÿ” API Endpoints

The backend service runs on http://localhost:7832:

Endpoint Method Description
/status GET Service and Discord connection status
/health GET Health check
/service-info GET Detailed service information
/update-status POST Update Discord presence
/clear-status POST Clear Discord presence

๐Ÿ”ง Configuration

Discord Application Setup

  1. Go to Discord Developer Portal
  2. Create a new application
  3. Copy the Client ID
  4. Update CLIENT_ID in backend/src/discord-rpc.js

Ports Configuration

  • HTTP Server: 7832
  • WebSocket: 7833

To change ports, edit backend/package.json scripts or environment variables.

๐ŸŽฏ How It Works

graph LR
    A[100xDevs Website] --> B[Chrome Extension]
    B --> C[WebSocket Connection]
    C --> D[Node.js Backend]
    D --> E[Discord RPC]
    E --> F[Discord App]
Loading
  1. Content Script monitors app.100xdevs.com for course activity
  2. Background Service manages WebSocket connection
  3. Backend Service processes activity and communicates with Discord
  4. Discord RPC updates your presence status
  5. Windows Service ensures it runs automatically

๐Ÿ”’ Privacy & Security

  • โœ… Only tracks 100xDevs website activity
  • โœ… No personal data stored or transmitted
  • โœ… Local processing - everything runs on your machine
  • โœ… Automatic cleanup when you leave 100xDevs
  • โœ… No tracking on other websites

๐Ÿ› Troubleshooting

Service won't install?

# Make sure you're running as Administrator
# Right-click Command Prompt โ†’ "Run as administrator"
cd 100xRPC/backend
npm run setup-service

Discord RPC not working?

  1. โœ… Make sure Discord desktop app is running
  2. โœ… Check service status: npm run service-status
  3. โœ… Visit: http://localhost:7832/status
  4. โœ… Restart Discord if needed

Chrome extension not working?

  1. โœ… Check extension is enabled in chrome://extensions/
  2. โœ… Make sure you're on app.100xdevs.com
  3. โœ… Check browser console for errors (F12)
  4. โœ… Reload the extension if needed

Ports already in use?

# Check what's using the ports
netstat -ano | findstr :7832
netstat -ano | findstr :7833

# Kill the process if needed
taskkill /PID <process_id> /F

Service status check?

# Check Windows Services
services.msc

# Command line status
sc query "Discord Web RPC Service"

# Detailed service info
npm run service-status

๐Ÿ—‘๏ธ Uninstall

Complete Removal

# Remove Windows Service
cd 100xRPC/backend
npm run remove-service

# Remove Chrome Extension
# Go to chrome://extensions/ โ†’ Remove extension

# Delete project folder
# Manually delete the discord-web-rpc folder

What gets removed:

  • โœ… Windows Service registration
  • โœ… Auto-start configuration
  • โœ… Background processes
  • โœ… Service event logs

What stays:

  • โœ… Node.js installation
  • โœ… Source code files (if you want to keep them)
  • โœ… No personal data affected

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

๐Ÿ“ License

MIT License - feel free to use this project for personal or educational purposes.

๐Ÿ†˜ Support

๐ŸŽ“ About 100xDevs

This project is built for the 100xDevs community. Special thanks to Harkirat Singh and the entire 100xDevs team for creating an amazing learning platform!


โญ If this project helped you, please give it a star!

Made with โค๏ธ for the 100xDevs community

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published