Secure
README.md
← Back to Folder Raw Code Markdown

5q12's Indexer

PHP file browser with sorting, filtering, download, icons, caching, and configurable indexing.

Installation Methods

Choose your preferred installation method. Docker is recommended for most users. Quick start with Docker Compose:
services:
  5q12-indexer:
    image: 5q12/5q12-indexer:latest
    container_name: 5q12-indexer
    restart: unless-stopped
    ports:
      - "5012:5012"  # Access the indexer on port 5012
    environment:
      - TZ=Etc/UTC   # Set your timezone (optional)
    volumes:
      # Configuration directory - stores config.json and config-reference.txt
      - /example_host_path/config:/config
      
      # Application directory - stores icons, caches, and runtime files
      - /example_host_path/app:/app
      
      # Files directory - mount your content here to index
      - /example_host_path/files:/files
# Create the compose file above, then start
docker compose up -d
Access at: http://localhost:5012 Important: Replace /example_host_path/ with your actual host directories. Minimal Setup (without /app mount):
services:
  5q12-indexer:
    image: 5q12/5q12-indexer:latest
    ports:
      - "5012:5012"
    volumes:
      - ./config:/config
      - ./files:/files
Without mounting /app, caches and icons are generated inside the container and regenerated on each restart.

2. Automated Script Installation

For Debian/Ubuntu systems with automatic dependency management:
# Download installer
wget https://ccls.icu/src/repositories/5q12-indexer/main/install.sh/ -O install.sh
chmod +x install.sh

# Install to web directory
sudo ./install.sh install /var/www/html/files

# Update later
sudo 5q12-index update
Access at: http://your-server:5012

3. Manual Installation

For custom setups or other operating systems:
# Download indexer repository
wget https://ccls.icu/src/repositories/5q12-indexer/main/?download=archive -O 5q12-indexer.zip

# Extract content
unzip 5q12-indexer.zip

# Move to desired location
sudo mv main/* main/.* /var/www/html/ 2>/dev/null

# Configure web server (Nginx/Apache)
# Create configuration manually (see Configuration section)
Requirements:

Features

Docker Configuration

Environment Variables

Configure the indexer using environment variables:
environment:
  # Main settings
  - INDEXER_CACHE_TYPE=sqlite
  - INDEXER_ICON_TYPE=default
  - INDEXER_INDEX_ALL=false
  - INDEXER_INDEX_HIDDEN=false
  
  # Download controls
  - INDEXER_DISABLE_FILE_DOWNLOADS=false
  - INDEXER_DISABLE_FOLDER_DOWNLOADS=false
  - INDEXER_MAX_DOWNLOAD_SIZE_FILE=2048 MB
  - INDEXER_MAX_DOWNLOAD_SIZE_FOLDER=2048 MB
  
  # Access controls
  - INDEXER_DENY_LIST=admin,logs,.git
  - INDEXER_ALLOW_LIST=docs/*,public/*
  
  # File type controls
  - INDEXER_VIEW_FILETYPE_PHP=false
  - INDEXER_INDEX_FILETYPE_LOG=false
See Docker Installation Guide for complete documentation.

Manual Configuration

For non-Docker installations, edit .indexer_files/config.json:
{
  "main": {
    "cache_type": "sqlite",
    "icon_type": "default",
    "disable_file_downloads": false,
    "disable_folder_downloads": false,
    "max_download_size_file": "2048 MB",
    "max_download_size_folder": "2048 MB",
    "index_hidden": false,
    "index_all": false,
    "deny_list": "admin,logs,.git",
    "allow_list": ""
  },
  "exclusions": {
    "index_php": false,
    "index_js": true
  },
  "viewable_files": {
    "view_php": false,
    "view_js": true
  }
}

File Structure

Docker Installation:
/config/                      # Configuration mount
├── config.json              # Settings (editable)
└── config-reference.txt     # Documentation (auto-updated)

/app/                        # Application mount
├── icons/                   # File type icons
├── favicon/                 # Favicon files
├── local_api/               # API endpoints
├── php/                     # PHP classes
├── zip_cache/               # Temporary ZIP files
└── index_cache/             # Performance cache

/files/                      # Content mount
└── (your files and folders)
Manual Installation:
installation-directory/
├── index.php                # Main indexer file
├── .indexer_files/          # Configuration and cache
│   ├── config.json         # Settings file
│   ├── index_cache/        # Performance cache
│   ├── zip_cache/          # Temporary downloads
│   └── icons/              # Local icon files
└── files/                  # Your content directory

Documentation

Security Features

Browser Support

Works with all modern browsers including mobile devices. No JavaScript required for core functionality.

Download

Latest Release:
# Download as archive
wget https://ccls.icu/src/repositories/5q12-indexer/main/?download=archive -O 5q12-indexer.zip
unzip 5q12-indexer.zip

# Or download individual file
wget https://ccls.icu/src/repositories/5q12-indexer/main/index.php/ -O index.php
Docker Hub: https://hub.docker.com/r/5q12/5q12-indexer Repository: https://ccls.icu/src/repositories/5q12-indexer/ GitHub: https://github.com/5q12-ccls/5q12-s-Indexer