Skip to content

jshsakura/oc-proxy-downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

324 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ OC Proxy Downloader

Project Banner

Proxy-based 1fichier Download Management System

A web application built with FastAPI + Svelte that provides stable file downloads through proxy servers.

✨ Key Features

  • πŸš€ 1fichier Optimized: Automatic wait time detection and cooldown management (up to 24-hour wait)
  • πŸ”„ Smart Proxy: Auto-rotation, failure detection, mixed local/proxy downloads
  • πŸ“Š Real-time Monitoring: SSE-based real-time status updates and progress display
  • 🎯 Concurrent Download Limits: Semaphore-based limits for system stability
  • πŸ“± Telegram Notifications: Download completion/failure notification support
  • πŸŒ™ Theme Support: Dark/Light/Dracula themes
  • 🌐 Multilingual: Full Korean/English support
  • πŸ“± Responsive UI: Mobile/Desktop optimized
  • πŸ›‘οΈ Optional Authentication: JWT-based security (optional)


πŸ› οΈ Tech Stack

Backend

  • FastAPI: High-performance async web framework
  • SQLAlchemy: ORM and database management
  • SQLite: Main database
  • aiohttp: Async HTTP client (download/proxy)
  • SSE: Server-Sent Events for real-time communication

Frontend

  • Svelte: Compile-based reactive framework
  • Vite: Fast development server and build tool
  • SSE: Real-time status update reception

Infrastructure

  • Docker: Containerized deployment
  • Docker Compose: Development/production environment management

πŸš€ Installation

🐳 Docker Compose Installation (Recommended)

# 1. Download project
curl -O https://raw.githubusercontent.com/jshsakura/oc-proxy-downloader/main/docker-compose.yml

# 2. Create directories
mkdir -p downloads backend/config

# 3. Run
docker-compose up -d

πŸͺŸ Windows Executable

We provide a standalone executable for Windows users:

  1. Download the latest Windows version from Releases
  2. Run oc-proxy-downloader-windows.exe
  3. Access http://localhost:8000 to use

Note: The Windows version is a standalone executable with all features included. No Docker installation required.

πŸ”§ Docker Compose Configuration Examples

General Linux Environment

# docker-compose.yml
version: "3.8"
services:
  oc-proxy-downloader:
    image: jshsakura/oc-proxy-downloader:latest
    container_name: oc-proxy-downloader
    environment:
      - TZ=Asia/Seoul
      - PUID=1000
      - PGID=1000
      # Security (optional)
      # - AUTH_USERNAME=admin
      # - AUTH_PASSWORD=secure123
      # - JWT_SECRET_KEY=your-random-secret-key
    volumes:
      - ./downloads:/downloads
      - ./backend/config:/config
    ports:
      - "8000:8000"
    restart: unless-stopped

Synology NAS Environment

# docker-compose.yml (Synology)
version: "3.8"
services:
  oc-proxy-downloader:
    image: jshsakura/oc-proxy-downloader:latest
    container_name: oc-proxy-downloader
    environment:
      - TZ=Asia/Seoul
      - PUID=1026    # Synology user ID (check with id command)
      - PGID=100     # Synology users group ID
      # Security (optional)
      # - AUTH_USERNAME=admin
      # - AUTH_PASSWORD=secure123
      # - JWT_SECRET_KEY=your-random-secret-key
    volumes:
      - /volume1/docker/oc-proxy/downloads:/downloads
      - /volume1/docker/oc-proxy/config:/config
    ports:
      - "8000:8000"
    restart: unless-stopped

Synology Users Note: SSH into your NAS and use the id command to check your PUID

βš™οΈ Environment Variables

Basic Configuration

Variable Default Description
TZ UTC System timezone setting
PUID 1000 File owner ID (permission management)
PGID 1000 File group ID (permission management)

Security Settings (Optional)

Variable Default Description
AUTH_USERNAME - Web login ID (no auth if not set)
AUTH_PASSWORD - Web login password
JWT_SECRET_KEY default JWT token encryption key (must change in production)

⚠️ Security Warning: In production, always set JWT_SECRET_KEY to a secure random string.

Advanced Settings (Optional)

Variable Default Description
MAX_TOTAL_DOWNLOADS 5 Maximum total concurrent downloads
MAX_LOCAL_DOWNLOADS 1 Maximum concurrent 1fichier local downloads

πŸ“ Directory Structure

oc-proxy-downloader/
β”œβ”€β”€ downloads/           # Downloaded files storage
β”œβ”€β”€ backend/config/      # Configuration files and database
β”‚   β”œβ”€β”€ downloads.db    # SQLite database
β”‚   β”œβ”€β”€ config.json     # App configuration file
β”‚   └── proxies.txt     # Proxy list
└── docker-compose.yml  # Docker Compose configuration

πŸš€ Usage

  1. Access http://localhost:8000
  2. Settings β†’ Proxy Management to add proxies
  3. Enter 1fichier URL and start download
  4. Monitor real-time progress and proxy status

πŸ”§ Development Environment

# Clone repository
git clone https://github.com/jshsakura/oc-proxy-downloader.git
cd oc-proxy-downloader

# Run development environment
docker-compose -f docker-compose.dev.yml up -d --build

# Check logs
docker-compose logs -f

Backend Development

cd backend
python -m venv venv
source venv/bin/activate  # Windows: .\venv\Scripts\activate
pip install -r requirements.txt
python main.py

Frontend Development

cd frontend
npm install
npm run dev

πŸ“Š Monitoring

# Check container status
docker ps

# Check resource usage
docker stats oc-proxy-downloader

# Real-time logs
docker-compose logs -f

# Health check
curl http://localhost:8000/api/settings

πŸ†˜ Troubleshooting

Container Startup Failure

# Check logs
docker-compose logs oc-proxy-downloader

# Permission issues (Linux/macOS)
sudo chown -R 1000:1000 downloads backend/config

Port Conflicts

# Use different port (e.g., 8080)
docker-compose up -d -p 8080:8000

Cache Issues

# Rebuild without cache
docker-compose build --no-cache
docker-compose up -d

πŸ“ž Support

πŸ“„ License

This project is distributed under the MIT License.


⭐ If this project helped you, please give it a Star!

About

1fichier Proxy Downloader (Docker Container Base And Windows EXE)

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors