View RawView Code

Troubleshooting Guide

Table of Contents

Quick Fixes

Most Common Issues (Try these first)

Indexer Not Loading

# Check PHP is working
echo "<?php phpinfo(); ?>" > test.php
# Access test.php in browser

# Check file permissions
chmod 644 index.php
ls -la index.php

Files Not Appearing

# Clear cache
rm -rf .indexer_files/index_cache/*

# Check configuration
cat .indexer_files/config.json | python -m json.tool

Performance Issues

{
  "main": {
    "cache_type": "sqlite"
  }
}

Icons Not Loading

{
  "main": {
    "local_icons": true
  }
}

Installation Issues

Indexer Not Loading

Symptom: Blank page or "file not found"

Diagnostic steps:
  1. Check PHP installation:
php --version
   which php
  1. Test PHP processing:
<?php echo "PHP is working: " . phpinfo(); ?>
  1. Check web server error logs:
# Apache
   tail -f /var/log/apache2/error.log
   
   # Nginx  
   tail -f /var/log/nginx/error.log
  1. Verify file permissions:
ls -la index.php
   # Should show: -rw-r--r-- (644)
Solutions:

Configuration Directory Creation Failed

Symptom: Error about .indexer_files directory

Solutions:
# Check write permissions
ls -ld .

# Fix permissions
chmod 755 .

# Create manually if needed
mkdir -p .indexer_files/{zip_cache,index_cache,icons,local_api}
chmod -R 755 .indexer_files

Missing PHP Extensions

Symptom: Fatal errors about missing functions

Check extensions:
php -m | grep -E "(sqlite|zip|json)"
Install missing extensions:
# Ubuntu/Debian
sudo apt-get install php-sqlite3 php-zip php-curl

# CentOS/RHEL
sudo yum install php-sqlite3 php-zip php-curl

# Check loaded extensions
php -i | grep -E "(sqlite|zip)"

Performance Problems

Slow Directory Loading

Symptom: Long loading times for file listings

Solutions:
  1. Enable SQLite caching:
{
     "main": {
       "cache_type": "sqlite"
     }
   }
  1. Verify SQLite is available:
php -m | grep sqlite3
  1. Clear existing cache:
rm -rf .indexer_files/index_cache/*
  1. Increase PHP limits:
; In php.ini
   memory_limit = 256M
   max_execution_time = 60

Memory Limit Errors

Symptom: "Fatal error: Allowed memory size exhausted"

Solutions:
; Increase in php.ini
memory_limit = 512M
max_execution_time = 300

; Or for specific directory in .htaccess
php_value memory_limit 512M
php_value max_execution_time 300

Timeout Errors

Symptom: "Maximum execution time exceeded"

Solutions:
; In php.ini
max_execution_time = 300
set_time_limit = 300

; For large directories
max_input_time = 300

Display & Interface Issues

Icons Not Loading

Symptom: Emoji icons instead of file type icons

Solutions:
  1. Enable local icons:
{
     "main": {
       "local_icons": true
     }
   }
  1. Check icon directory:
ls -la .indexer_files/icons/
  1. Test icon accessibility:
curl -I https://yourdomain.com/.indexer_files/icons/folder.png
  1. Manual icon download (if API disabled):
cd .indexer_files/icons/
   wget https://api.indexer.ccls.icu/icons/folder.png

Interface Display Problems

Symptom: Broken layout, missing styles

Solutions:
  1. Check CSS loading:
  1. Clear browser cache:
Ctrl+Shift+Delete (Windows)
   Cmd+Shift+Delete (Mac)
  1. Test with different browser:
  1. Enable local resources:
{
     "main": {
       "disable_api": true,
       "local_icons": true
     }
   }

Mobile Display Issues

Symptom: Poor mobile interface, unresponsive design

Solutions:
  1. Update browser to latest version
  2. Clear mobile browser cache
  3. Try different mobile browser (Chrome, Firefox, Safari)
  4. Check viewport settings - should be automatic
  5. Test on different mobile device

File Access Problems

Files Not Appearing

Symptom: Expected files don't show in listings

Diagnostic checklist:
  1. Check file permissions:
ls -la filename.ext
   # Should be readable: -rw-r--r--
  1. Verify extension configuration:
{
     "exclusions": {
       "index_php": true  // true = show, false = hide
     }
   }
  1. Check deny list:
{
     "main": {
       "deny_list": "*.php, admin, logs"
     }
   }
  1. Hidden files:
{
     "main": {
       "index_hidden": true  // Show files starting with "."
     }
   }
Solutions:

Cannot Access Directories

Symptom: Folders appear but clicking produces errors

Solutions:
  1. Check directory permissions:
ls -ld /path/to/folder
   # Should have execute permission: drwxr-xr-x
   chmod 755 folder/
  1. Verify folder indexing:
{
     "exclusions": {
       "index_folders": true
     }
   }
  1. Check path security:

Download Problems

Symptom: Download buttons missing or not working

Solutions:
  1. Check download settings:
{
     "main": {
       "disable_file_downloads": false,
       "disable_folder_downloads": false
     }
   }
  1. Verify ZIP extension:
php -m | grep zip
   # If missing: apt-get install php-zip
  1. Check disk space:
df -h .indexer_files/zip_cache/
  1. Test with small file first

Large File Download Issues

Solutions:
; In php.ini
max_execution_time = 600
memory_limit = 1024M
post_max_size = 2G
upload_max_filesize = 2G

; Check current limits
php -i | grep -E "(max_execution_time|memory_limit|post_max_size)"

Configuration Issues

Configuration Not Taking Effect

Symptom: Changes to config.json don't work

Solutions:
  1. Validate JSON syntax:
php -r "json_decode(file_get_contents('.indexer_files/config.json')); echo 'Valid JSON\n';"
  1. Clear cache:
rm -rf .indexer_files/index_cache/*
  1. Check file permissions:
chmod 644 .indexer_files/config.json
  1. Look for backup files:
ls -la .indexer_files/config.json.backup.*

API Updates Overwriting Settings

Symptom: Manual changes get reset

Solutions:
  1. Disable API updates:
{
     "main": {
       "disable_api": true
     }
   }
  1. Backup before changes:
cp .indexer_files/config.json .indexer_files/config.json.manual
  1. Check update logs:
cat .indexer_files/config_updates.log

Invalid Configuration

Symptom: Indexer uses defaults despite config file

Solutions:
# Check for JSON syntax errors
python -m json.tool .indexer_files/config.json

# Create minimal working config
cat > .indexer_files/config.json << 'EOF'
{
  "version": "1.0",
  "main": {
    "cache_type": "json"
  },
  "exclusions": {
    "index_folders": true
  },
  "viewable_files": {
    "view_txt": true
  }
}
EOF

Security & Permission Errors

Permission Denied Errors

Symptom: Various "Permission denied" errors

Solutions:
  1. Fix web server permissions:
# For Apache (www-data)
   chown -R www-data:www-data .indexer_files/
   
   # For Nginx
   chown -R nginx:nginx .indexer_files/
  1. Set correct file modes:
find .indexer_files/ -type f -exec chmod 644 {} \;
   find .indexer_files/ -type d -exec chmod 755 {} \;
  1. Check SELinux (if applicable):
# Check status
   sestatus
   
   # Allow HTTP network connections
   setsebool -P httpd_can_network_connect 1
   
   # Set correct context
   restorecon -R .indexer_files/

Access Denied Errors

Symptom: "Access denied - path traversal detected"

Cause: Security system detecting potential attacks Solutions:
  1. Check URL for invalid characters:
  1. Use clean navigation:
  1. Check for symlink issues:
ls -la | grep "^l"  # Find symlinks

ZIP Creation Failures

Symptom: "Failed to create zip file"

Solutions:
  1. Check ZIP extension:
php -m | grep zip
   # Install if missing: apt-get install php-zip
  1. Verify disk space:
df -h .indexer_files/
  1. Check temp directory permissions:
chmod 755 .indexer_files/zip_cache/
   ls -ld .indexer_files/zip_cache/
  1. Test ZIP functionality:
<?php
   $zip = new ZipArchive();
   $result = $zip->open('/tmp/test.zip', ZipArchive::CREATE);
   echo "ZIP test result: " . $result . "\n";
   ?>

Network & API Issues

API Connection Failures

Symptom: Cannot connect to API, configuration not downloading

Solutions:
  1. Test API connectivity:
curl -I https://api.indexer.ccls.icu/api.php?action=status
  1. Check PHP URL functions:
<?php
   echo "allow_url_fopen: " . (ini_get('allow_url_fopen') ? 'enabled' : 'disabled') . "\n";
   echo "curl available: " . (function_exists('curl_version') ? 'yes' : 'no') . "\n";
   ?>
  1. Enable offline mode:
{
     "main": {
       "disable_api": true
     }
   }
  1. Check firewall rules:
# Test outbound HTTPS
   telnet api.indexer.ccls.icu 443

SSL/TLS Issues

Symptom: SSL certificate errors when accessing API

Solutions:
// Temporary workaround (not recommended for production)
$context = stream_context_create([
    "ssl" => [
        "verify_peer" => false,
        "verify_peer_name" => false,
    ],
]);
Better solution:
  1. Update CA certificates: apt-get update && apt-get install ca-certificates
  2. Update PHP: Use recent PHP version with updated SSL support

Diagnostic Tools

System Information Collection

Run this diagnostic script:
#!/bin/bash
echo "=== 5q12's Indexer Diagnostics ==="
echo "Date: $(date)"
echo ""

echo "=== System Information ==="
echo "OS: $(uname -a)"
echo "PHP Version: $(php --version | head -1)"
echo "Web Server: $(ps aux | grep -E '(apache|nginx|httpd)' | head -1)"
echo ""

echo "=== PHP Extensions ==="
php -m | grep -E "(sqlite|zip|json|curl|gd)"
echo ""

echo "=== File Permissions ==="
ls -la index.php .indexer_files/
echo ""

echo "=== Disk Space ==="
df -h .
echo ""

echo "=== Configuration ==="
if [ -f .indexer_files/config.json ]; then
    echo "Config exists: YES"
    cat .indexer_files/config.json | python -m json.tool > /dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo "Config valid: YES"
    else
        echo "Config valid: NO - JSON syntax error"
    fi
else
    echo "Config exists: NO"
fi
echo ""

echo "=== Cache Status ==="
if [ -d .indexer_files/index_cache ]; then
    echo "Cache dir exists: YES"
    echo "Cache files: $(find .indexer_files/index_cache -type f | wc -l)"
else
    echo "Cache dir exists: NO"
fi
echo ""

echo "=== Error Logs (last 10 lines) ==="
if [ -f /var/log/apache2/error.log ]; then
    tail -10 /var/log/apache2/error.log
elif [ -f /var/log/nginx/error.log ]; then
    tail -10 /var/log/nginx/error.log
else
    echo "No standard error logs found"
fi

Configuration Validator

Create config validator:
<?php
function validateIndexerConfig($configFile = '.indexer_files/config.json') {
    echo "=== Configuration Validator ===\n";
    
    if (!file_exists($configFile)) {
        echo "ERROR: Configuration file not found\n";
        return false;
    }
    
    $content = file_get_contents($configFile);
    $config = json_decode($content, true);
    
    if (json_last_error() !== JSON_ERROR_NONE) {
        echo "ERROR: Invalid JSON - " . json_last_error_msg() . "\n";
        return false;
    }
    
    echo "✓ JSON syntax valid\n";
    
    // Check required sections
    $required = ['version', 'main', 'exclusions', 'viewable_files'];
    foreach ($required as $section) {
        if (!isset($config[$section])) {
            echo "WARNING: Missing section '$section'\n";
        } else {
            echo "✓ Section '$section' present\n";
        }
    }
    
    // Check main settings
    if (isset($config['main'])) {
        $mainDefaults = [
            'cache_type' => 'json',
            'local_icons' => false,
            'disable_api' => false
        ];
        
        foreach ($mainDefaults as $key => $default) {
            if (!isset($config['main'][$key])) {
                echo "INFO: Using default for main.$key = $default\n";
            } else {
                echo "✓ Setting main.$key = " . json_encode($config['main'][$key]) . "\n";
            }
        }
    }
    
    echo "Configuration validation complete\n";
    return true;
}

validateIndexerConfig();
?>

Performance Test

Test directory loading performance:
<?php
function testPerformance($directory = '.') {
    $start = microtime(true);
    
    $files = scandir($directory);
    $count = 0;
    
    foreach ($files as $file) {
        if ($file === '.' || $file === '..') continue;
        $count++;
        $filePath = $directory . '/' . $file;
        $size = is_dir($filePath) ? 0 : filesize($filePath);
        $modified = filemtime($filePath);
    }
    
    $end = microtime(true);
    $time = round(($end - $start) * 1000, 2);
    
    echo "Performance Test Results:\n";
    echo "Directory: $directory\n";
    echo "Files processed: $count\n";
    echo "Time taken: {$time}ms\n";
    echo "Average per file: " . round($time / max($count, 1), 2) . "ms\n";
}

testPerformance();
?>

Getting Help

Information to Collect

When seeking help, provide:
  1. Environment Details:
uname -a
   php --version
   apache2 -v  # or nginx -v
  1. Error Information:
  1. Configuration:
cat .indexer_files/config.json | python -m json.tool
   ls -la .indexer_files/
  1. Logs:
tail -50 /var/log/apache2/error.log
   tail -20 .indexer_files/config_updates.log

Common Solutions Summary

ProblemQuick Fix
Not loadingCheck PHP installation and permissions
Files missingCheck configuration exclusions and deny list
Slow performanceEnable SQLite caching
Icons missingEnable local icons
Downloads failCheck ZIP extension and permissions
Config ignoredValidate JSON syntax and clear cache
Permission errorsFix file ownership and permissions
API issuesEnable offline mode

Support Resources

  1. GitHub Repository - Check for known issues and updates
  2. Documentation - Review related guides:
  1. Community - Search for similar issues
  2. Professional Help - Consider system administrator assistance for complex server issues

Recovery Procedures

Complete reset if all else fails:
# Backup current state
cp -r .indexer_files .indexer_files.backup

# Remove configuration
rm -rf .indexer_files

# Access indexer to reinitialize
curl https://yourdomain.com/path/to/indexer/

# Restore custom settings if needed
# Edit .indexer_files/config.json with your requirements
This troubleshooting guide provides systematic approaches to diagnose and resolve the most common issues with 5q12's Indexer.# Troubleshooting Guide

Overview

This guide addresses common issues encountered when using 5q12's Indexer, providing step-by-step solutions and diagnostic procedures.

Initial Setup Issues

Indexer Not Loading

Symptom: Blank page or "file not found" error when accessing the indexer. Possible Causes: Solutions:
  1. Verify PHP Installation:
php --version
If PHP is not installed, install it through your package manager.
  1. Check File Permissions:
chmod 644 index.php
   ls -la index.php
File should be readable by web server user.
  1. Test PHP Processing:
Create a test file phpinfo.php:
<?php phpinfo(); ?>
If this doesn't load, PHP processing is not working.
  1. Check Web Server Error Logs:
# Apache
   tail -f /var/log/apache2/error.log
   
   # Nginx
   tail -f /var/log/nginx/error.log

Configuration Directory Creation Fails

Symptom: Error about inability to create .indexer_files directory. Cause: Insufficient write permissions in the web directory. Solution:
# Check current permissions
ls -la

# Make directory writable
chmod 755 .
mkdir .indexer_files
chmod 755 .indexer_files

# Or create manually with proper permissions
mkdir -p .indexer_files/{zip_cache,index_cache,icons,local_api}
chmod -R 755 .indexer_files

API Connection Errors

Symptom: Error messages about API connectivity or configuration download failures. Solutions:
  1. Check Internet Connectivity:
curl -I https://api.indexer.ccls.icu
  1. Enable Offline Mode:
Manually create config.json with "disable_api": true:
{
     "version": "1.0",
     "main": {
       "disable_api": true
     }
   }
  1. Check Firewall Rules:
Ensure outbound HTTPS (port 443) is allowed.
  1. Verify PHP URL Functions:
<?php
   var_dump(function_exists('file_get_contents'));
   var_dump(ini_get('allow_url_fopen'));
   ?>

Performance Issues

Slow Directory Loading

Symptom: Long loading times for directories with many files. Solutions:
  1. Enable SQLite Caching:
{
     "main": {
       "cache_type": "sqlite"
     }
   }
  1. Check SQLite Extension:
php -m | grep sqlite
If missing, install: apt-get install php-sqlite3
  1. Clear Existing Cache:
rm -rf .indexer_files/index_cache/*
  1. Increase PHP Memory Limit:
In php.ini:
memory_limit = 256M
   max_execution_time = 60

Icons Not Loading

Symptom: File type icons not displaying, showing emoji fallbacks. Solutions:
  1. Enable Local Icons:
{
     "main": {
       "local_icons": true
     }
   }
  1. Check Icon Directory:
ls -la .indexer_files/icons/
  1. Manually Download Icons:
If API is disabled, download icon files manually to .indexer_files/icons/
  1. Verify Web Access to Icons:
Test icon URL directly: https://yourdomain.com/.indexer_files/icons/folder.png

File Display Issues

Files Not Appearing

Symptom: Expected files don't show in directory listing. Diagnostic Steps:
  1. Check File Permissions:
ls -la filename.ext
Ensure file is readable by web server.
  1. Verify Extension Settings:
Check if file type is enabled in configuration:
{
     "exclusions": {
       "index_php": true
     }
   }
  1. Check Deny List:
Verify file isn't in deny list:
{
     "main": {
       "deny_list": "*.php, admin, logs"
     }
   }
  1. Hidden Files:
For files starting with ., check:
{
     "main": {
       "index_hidden": true
     }
   }

Folders Not Accessible

Symptom: Folders appear but clicking them results in errors. Solutions:
  1. Check Directory Permissions:
ls -ld /path/to/folder
Directory needs execute permission: chmod 755 folder
  1. Verify Folder Indexing:
{
     "exclusions": {
       "index_folders": true
     }
   }
  1. Check Path Security:
Ensure path doesn't contain traversal attempts or restricted characters.

Download Issues

Download Buttons Missing

Symptom: No "DL" or "ZIP" buttons visible. Cause: Downloads disabled in configuration. Solution:
{
  "main": {
    "disable_file_downloads": false,
    "disable_folder_downloads": false
  }
}

Download Failures

Symptom: Download button present but downloads fail or produce errors. Solutions:
  1. Check File Permissions:
ls -la filename.ext
  1. Verify ZIP Extension:
php -m | grep zip
Install if missing: apt-get install php-zip
  1. Check Disk Space:
df -h .indexer_files/zip_cache/
  1. Verify Temporary Directory:
ls -la .indexer_files/zip_cache/
   chmod 755 .indexer_files/zip_cache/

Large File Download Issues

Symptom: Large files fail to download or timeout. Solutions:
  1. Increase PHP Limits:
max_execution_time = 300
   memory_limit = 512M
   post_max_size = 1G
   upload_max_filesize = 1G
  1. Check Web Server Timeouts:
# Apache
   Timeout 300
  1. Monitor Server Resources:
top
   df -h

Viewing Issues

Files Not Viewable in Browser

Symptom: Files download instead of displaying in browser. Solutions:
  1. Check Viewable Files Configuration:
{
     "viewable_files": {
       "view_pdf": true,
       "view_png": true,
       "view_txt": true
     }
   }
  1. Verify MIME Type Support:
Browser may not support the file type for viewing.
  1. Check File Size:
Very large files may not be suitable for browser viewing.

Incorrect File Display

Symptom: Files display with wrong formatting or as binary data. Solutions:
  1. Check File Extension Mapping:
Ensure correct extension is configured in extensionMap.json
  1. Verify File Encoding:
For text files, ensure UTF-8 encoding:
file -i filename.txt
  1. Browser Compatibility:
Some file types require specific browser support or plugins.

Configuration Issues

Configuration Not Taking Effect

Symptom: Changes to config.json don't appear to work. Solutions:
  1. Validate JSON Syntax:
php -r "json_decode(file_get_contents('.indexer_files/config.json')); echo 'Valid JSON';"
  1. Clear Cache:
rm -rf .indexer_files/index_cache/*
  1. Check File Permissions:
chmod 644 .indexer_files/config.json
  1. Verify Configuration Backup:
Check if automatic updates overwrote manual changes:
ls -la .indexer_files/config.json.backup.*

API Updates Overwriting Settings

Symptom: Manual configuration changes get reset automatically. Solutions:
  1. Disable API Updates:
{
     "main": {
       "disable_api": true
     }
   }
  1. Backup Before Changes:
cp .indexer_files/config.json .indexer_files/config.json.manual
  1. Check Update Logs:
cat .indexer_files/config_updates.log

Error Messages

"Directory not found" Error

Symptom: Error 404 when accessing specific directories. Solutions:
  1. Check Path Exists:
ls -la /path/to/directory
  1. Verify URL Encoding:
Special characters in URLs may need proper encoding.
  1. Check Permissions:
ls -ld /path/to/directory
   chmod 755 /path/to/directory

"Access denied - path traversal detected"

Symptom: Security error when accessing certain paths. Cause: Security system detecting potential path traversal attack. Solutions:
  1. Check URL for Invalid Characters:
  1. Use Clean Paths:
Navigate through the interface rather than manually editing URLs.
  1. Check Symlinks:
Ensure symbolic links don't point outside allowed directories.

"Failed to create zip file"

Symptom: Error when attempting to download folders as ZIP. Solutions:
  1. Check ZIP Extension:
php -m | grep zip
  1. Verify Disk Space:
df -h .indexer_files/
  1. Check Permissions:
chmod 755 .indexer_files/zip_cache/
  1. Test ZIP Creation:
<?php
   $zip = new ZipArchive();
   $result = $zip->open('/tmp/test.zip', ZipArchive::CREATE);
   var_dump($result);
   ?>

Browser-Specific Issues

Internet Explorer/Edge Legacy Issues

Symptoms: Interface display problems, functionality not working. Solutions:
  1. Update Browser:
Use modern browser versions (Chrome, Firefox, Safari, Edge Chromium).
  1. Enable JavaScript:
Ensure JavaScript is enabled in browser settings.
  1. Clear Browser Cache:
Ctrl+Shift+Delete (Windows)
   Cmd+Shift+Delete (Mac)

Mobile Browser Issues

Symptoms: Poor display on mobile devices, touch interface problems. Solutions:
  1. Check Viewport:
Ensure responsive design is working properly.
  1. Test Different Mobile Browsers:
Chrome, Safari, Firefox mobile.
  1. Check Network Speed:
Mobile networks may cause timeout issues.

Server Environment Issues

Memory Limit Errors

Symptom: "Fatal error: Allowed memory size exhausted" Solutions:
  1. Increase PHP Memory Limit:
memory_limit = 512M
  1. Optimize Large Directory Handling:
{
     "main": {
       "cache_type": "sqlite"
     }
   }
  1. Check for Memory Leaks:
Monitor memory usage during operation.

Timeout Errors

Symptom: "Maximum execution time exceeded" Solutions:
  1. Increase Execution Time:
max_execution_time = 300
  1. Optimize Directory Processing:
Use caching and limit directory depth.
  1. Check Server Load:
top
   htop

File Permission Errors

Symptom: Various "Permission denied" errors. Solutions:
  1. Fix Web Server Permissions:
chown -R www-data:www-data .indexer_files/
  1. Set Correct File Modes:
find .indexer_files/ -type f -exec chmod 644 {} \;
   find .indexer_files/ -type d -exec chmod 755 {} \;
  1. Check SELinux (if applicable):
setsebool -P httpd_can_network_connect 1

Debugging Procedures

Enable Debug Mode

Add debug information to troubleshoot issues:
// Add to top of index.php temporarily
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', '.indexer_files/debug.log');

Collect Diagnostic Information

  1. System Information:
php --version
   php -m
   ls -la .indexer_files/
   df -h
  1. Configuration Status:
cat .indexer_files/config.json
   ls -la .indexer_files/config.json*
  1. Error Logs:
tail -50 /var/log/apache2/error.log
   tail -50 .indexer_files/debug.log

Test API Connectivity

# Test API endpoints
curl -I https://api.indexer.ccls.icu/api.php?action=status
curl https://api.indexer.ccls.icu/api.php?action=config

Validate Configuration

<?php
$config = json_decode(file_get_contents('.indexer_files/config.json'), true);
if (json_last_error() === JSON_ERROR_NONE) {
    echo "Configuration valid\n";
    print_r($config);
} else {
    echo "JSON Error: " . json_last_error_msg() . "\n";
}
?>

Recovery Procedures

Complete Reset

If all else fails, reset the indexer:
  1. Backup Current State:
cp -r .indexer_files .indexer_files.backup
  1. Remove Configuration:
rm -rf .indexer_files
  1. Reload Indexer:
Access in browser to reinitialize.

Restore from Backup

# Restore configuration
cp .indexer_files/config.json.backup.[timestamp] .indexer_files/config.json

# Restore full directory
rm -rf .indexer_files
mv .indexer_files.backup .indexer_files

Manual Configuration Recreation

Create minimal working configuration:
{
  "version": "1.0",
  "main": {
    "cache_type": "json",
    "local_icons": false,
    "disable_api": false,
    "disable_file_downloads": false,
    "disable_folder_downloads": false,
    "index_hidden": false,
    "index_all": false,
    "deny_list": "",
    "allow_list": ""
  },
  "exclusions": {
    "index_folders": true,
    "index_txt": true,
    "index_php": true
  },
  "viewable_files": {
    "view_txt": true,
    "view_php": true
  }
}

Getting Help

Information to Collect

When seeking help, provide:
  1. Environment Details:
  1. Error Information:
  1. Configuration:
  1. Logs:

Support Resources

This troubleshooting guide covers the most common issues encountered with 5q12's Indexer and provides systematic approaches to diagnosis and resolution.