No description
  • TypeScript 93.7%
  • JavaScript 5.5%
  • CSS 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
ryuu a5c0209d41 feat(downloads): implement server actions for downloads management
- Add server actions for adding, removing, retrying and clearing downloads
- Implement rate limiting and input validation for all actions
- Add CSRF protection and proper error handling
- Support revalidation of affected paths
- Include comprehensive logging for all operations
```

```msg
refactor(security): enhance security utilities for edge runtime

- Rewrite sanitizeFilePath to work without Node.js path module
- Add validateFileName utility for additional security checks
- Implement Web Crypto API for CSRFToken generation
- Improve identifier validation with path traversal checks
- Make utilities compatible with Edge Runtime
```

```msg
feat(components): add health monitoring and settings components

- Create HealthSection component for system status monitoring
- Implement SettingsForm with server actions integration
- Add proper validation and error handling
- Include rate limiting for settings updates
- Support revalidation and state management
```

```msg
perf(cache): improve LRU cache behavior in pagination

- Refresh LRU status on cache hits by deleting and re-adding entries
- Maintain proper LRU ordering while preserving cache performance
- Ensure frequently accessed items stay in cache longer
```

```msg
fix(metadata): add CORS and security headers to metadata API

- Implement OPTIONS handler for CORS preflight requests
- Add Access-Control-Allow-Origin header for cross-origin requests
- Include security headers (X-Content-Type-Options, Cache-Control)
- Support proper content disposition for file downloads
```

```msg
chore(deps): update dependencies to latest versions

- Upgrade Next.js to 16.1.1
- Update React to 19.2.3
- Bump TypeScript to 5.9.3
- Update other dependencies (lodash, debug, sharp)
- Enable turbo mode for development builds
```

```msg
feat(proxy): implement comprehensive request middleware

- Add security headers and CORS handling
- Implement rate limiting and CSRF protection
- Add admin route authentication checks
- Include request logging and timing
- Support suspicious request detection
2026-01-11 06:59:02 +01:00
cache/other/finalfantasyiiidawnofsoulsguide feat(downloads): implement server actions for downloads management 2026-01-11 06:59:02 +01:00
public refactor(downloads): improve error handling and path sanitization 2025-08-09 17:54:06 +02:00
scripts feat: implement retry logic, health checks and CSRF protection 2025-09-02 01:31:14 +02:00
src feat(downloads): implement server actions for downloads management 2026-01-11 06:59:02 +01:00
.gitignore feat(logging): implement centralized logging system with file support 2025-09-02 04:53:42 +02:00
config.json feat: add ebook reader and error boundary components 2025-09-01 21:53:03 +02:00
next-env.d.ts feat(downloads): implement server actions for downloads management 2026-01-11 06:59:02 +01:00
next.config.js feat(downloads): implement server actions for downloads management 2026-01-11 06:59:02 +01:00
package-lock.json feat(downloads): implement server actions for downloads management 2026-01-11 06:59:02 +01:00
package.json feat(downloads): implement server actions for downloads management 2026-01-11 06:59:02 +01:00
postcss.config.js build: update tailwindcss and next.js dependencies 2025-09-02 00:35:44 +02:00
README.md feat: add ebook reader and error boundary components 2025-09-01 21:53:03 +02:00
tailwind.config.js feat: major UI overhaul and local thumbnail improvements 2025-01-10 01:14:13 +01:00
TODO.md feat(downloads): implement server actions for downloads management 2026-01-11 06:59:02 +01:00
tsconfig.json feat(downloads): implement server actions for downloads management 2026-01-11 06:59:02 +01:00
tsconfig.tsbuildinfo refactor(api): centralize types and enhance security 2025-09-02 00:10:48 +02:00

Internet Archive Mirror

A Next.js application that allows you to browse and download content from the Internet Archive locally. Create your own offline digital library with millions of books, movies, software, music, and more from archive.org.

Features

  • 🌐 Browse Internet Archive content offline
  • 📥 Download and store items locally
  • 🔍 Search through your local library
  • 🖼️ View item details, metadata, and files
  • 📚 Support for multiple media types (books, videos, software, etc.)
  • 💾 Efficient local storage system
  • 🚀 Fast, modern web interface

Prerequisites

  • Windows 10 or later
  • Node.js 18 or higher
  • npm or yarn
  • Git (optional, for development)
  • At least 1GB of free RAM
  • Storage space for downloaded content (varies based on usage)

Windows Prerequisites Installation

  1. Install Node.js:

    • Download the latest LTS version from Node.js website
    • Run the installer and follow the installation wizard
    • Make sure to check "Automatically install the necessary tools"
    • Verify installation:
      node --version
      npm --version
      
  2. Install Git (Optional):

    • Download from Git website
    • Run the installer with default options

Installation

  1. Clone the repository:

    git clone https://github.com/RyuuSlayer/IA-Mirror.git
    cd IA-Mirror
    
  2. Install dependencies:

    npm install
    
  3. Change config.json file in the root directory:

    {
      "cacheDir": "path/to/storage",
      "maxConcurrentDownloads": 3
    }
    
  4. Start the development server:

    npm run dev
    
  5. Open your browser and navigate to:

    http://localhost:3000
    

Usage

Browsing Content

  1. Visit the homepage to see featured items and collections
  2. Use the search bar to find specific items
  3. Browse by media type (books, videos, software, etc.)
  4. Click on an item to view its details

Downloading Items

  1. Navigate to an item's page
  2. Click the download button for individual files or the entire item
  3. Monitor download progress in the downloads section
  4. Access downloaded content offline through your local library

Running as a Windows Service (Optional)

To have the application start automatically with Windows:

  1. Install node-windows globally:

    npm install -g node-windows
    
  2. Install the service:

    npm run install-service
    
  3. The service will now start automatically with Windows

  4. Manage it in Windows Services (services.msc)

Development

  1. Run the development server:

    npm run dev
    
  2. Build for production:

    npm run build
    
  3. Start production server:

    npm start
    

Contributing

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