Skip to content

whitestorm007/PPSU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

College ERP Assignment Downloader

A Node.js application that automatically downloads all assignments from your college ERP system for the current semester. This tool helps you maintain a local backup of all assignments uploaded by specific users.

Features

  • Automated assignment downloads from college ERP
  • User-specific filtering (download assignments from specific users)
  • Secure authentication handling
  • Custom header generation to mimic browser behavior
  • Parallel download support
  • Automatic file organization
  • HTTPS support for secure connections

Prerequisites

Before running this application, make sure you have:

  • Node.js (v14 or higher)
  • npm (Node Package Manager)
  • Valid college ERP credentials

Installation

# Clone the repository
git clone https://github.com/yourusername/collage-upload

# Navigate to project directory
cd collage-upload

# Install dependencies
npm install

Dependencies

The project uses the following npm packages:

{
  "dependencies": {
    "axios": "^1.7.9",         // HTTP client for making requests
    "cheerio": "^1.0.0",       // HTML parsing and manipulation
    "crypto": "^1.0.1",        // Cryptographic functionality
    "dotenv": "^16.4.7",       // Environment variable management
    "form-data": "^4.0.1",     // Form data handling
    "fs": "^0.0.1-security",   // File system operations
    "header-generator": "^2.1.61", // Generate realistic browser headers
    "https": "^1.0.0",         // HTTPS support
    "net": "^1.0.2",           // Network functionality
    "request": "^2.88.2",      // Legacy HTTP client
    "url": "^0.11.4"           // URL parsing and formatting
  }
}

Configuration

Create a .env file in the root directory:

EMAIL="clgid@ppsu.ac.in"
PASS="your_pass"

Usage

# Start the application
node app.js

# With specific environment file
node app.js --env custom.env

How It Works

  1. The application logs into your college ERP using provided credentials
  2. It generates browser-like headers to avoid detection
  3. Parses the HTML content to find assignment links
  4. Downloads files from matched users
  5. Organizes downloads by subject and date

Security Features

  • Secure password handling using crypto
  • HTTPS for secure connections
  • Custom headers to prevent blocking
  • Environment variable usage for sensitive data

Error Handling

The application handles:

  • Network timeouts and retries
  • Invalid credentials
  • File system errors
  • Rate limiting
  • Connection issues

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/NewFeature)
  3. Commit your changes (git commit -m 'Add NewFeature')
  4. Push to the branch (git push origin feature/NewFeature)
  5. Create a Pull Request

License

This project is licensed under the ISC License.

Troubleshooting

Common issues and solutions:

  • If downloads fail, check your network connection
  • For authentication errors, verify your credentials
  • If files are incomplete, check storage space
  • For rate limiting, adjust the delay between requests

Note

This tool is intended for personal use to maintain local backups of your assignments. Please ensure you comply with your institution's policies regarding automated downloads.

About

Assignment Downloader for PPSU university

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors