T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/gocodeme.com/public_html/BACKUP/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/gocodeme.com/public_html/BACKUP/api_debug.php
<?php
header('Content-Type: text/html; charset=utf-8');

// Function to log API requests for debugging
function logApiRequest($data) {
    $logFile = 'api_debug_log.txt';
    $timestamp = date('Y-m-d H:i:s');
    $logEntry = "[$timestamp] API Request\n";
    $logEntry .= "Data: " . json_encode($data, JSON_PRETTY_PRINT) . "\n";
    $logEntry .= "----------------------------------------\n";
    file_put_contents($logFile, $logEntry, FILE_APPEND | LOCK_EX);
}

// Function to test the specific request format
function testSpecificRequest() {
    $testData = [
        'callBackUrl' => 'https://gocodeme.com/callback.php',
        'customMode' => true,
        'instrumental' => false,
        'model' => 'V3_5',
        'prompt' => 'a happy song about andrew',
        'style' => 'Pop',
        'title' => 'Generated Track'
    ];
    
    // Log the test request
    logApiRequest($testData);
    
    return $testData;
}

// Test the specific request
$testRequest = testSpecificRequest();
?>
<!DOCTYPE html>
<html>
<head>
    <title>API Debug Tool - MusicStudio Pro</title>
    <style>
        body { 
            font-family: 'Inter', Arial, sans-serif; 
            margin: 0;
            background: #0a0a0a;
            color: white;
            line-height: 1.6;
        }
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
        }
        .header {
            text-align: center;
            margin-bottom: 40px;
            padding: 40px 0;
            background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
            border-radius: 20px;
        }
        .success { color: #48bb78; }
        .error { color: #f56565; }
        .warning { color: #ed8936; }
        .info { color: #4299e1; }
        .debug-section { 
            border: 1px solid #333; 
            padding: 30px; 
            margin: 30px 0; 
            border-radius: 15px;
            background: #1a1a1a;
        }
        .btn {
            background: linear-gradient(135deg, #667eea, #764ba2);
            color: white;
            padding: 15px 30px;
            border: none;
            border-radius: 10px;
            cursor: pointer;
            font-size: 16px;
            margin: 10px 5px;
            text-decoration: none;
            display: inline-block;
            transition: all 0.3s ease;
        }
        .btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(102, 126, 234, 0.3);
        }
        .btn-success {
            background: linear-gradient(135deg, #48bb78, #38a169);
        }
        .btn-warning {
            background: linear-gradient(135deg, #ed8936, #dd6b20);
        }
        pre { 
            background: #2d2d2d; 
            padding: 15px; 
            border-radius: 8px; 
            border: 1px solid #444;
            color: #e2e8f0;
            overflow-x: auto;
        }
        .test-result {
            margin: 15px 0;
            padding: 15px;
            border-radius: 8px;
            border-left: 4px solid;
        }
        .test-result.success { background: rgba(72, 187, 120, 0.1); border-color: #48bb78; }
        .test-result.error { background: rgba(245, 101, 101, 0.1); border-color: #f56565; }
        .test-result.warning { background: rgba(237, 137, 54, 0.1); border-color: #ed8936; }
        .test-result.info { background: rgba(66, 153, 225, 0.1); border-color: #4299e1; }
        .json-display {
            background: #2d2d2d;
            padding: 15px;
            border-radius: 8px;
            border: 1px solid #444;
            margin: 10px 0;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="header">
            <h1>🔧 API Debug Tool</h1>
            <p>Debug the callback URL issue and fix your audio generation</p>
        </div>

        <div class="debug-section">
            <h2>🔍 Issue Analysis</h2>
            <div class="test-result error">
                <h4>Problem Identified:</h4>
                <p>The JSON request you provided shows the wrong callback URL:</p>
                <div class="json-display">
                    <strong>Your Request (WRONG):</strong><br>
                    <pre>{
  "callBackUrl": "https://soundstudiopro.com/callback.php",
  "customMode": true,
  "instrumental": false,
  "model": "V3_5",
  "prompt": "a happy song about andrew",
  "style": "Pop",
  "title": "Generated Track"
}</pre>
                </div>
                <p><strong>Issue:</strong> The <code>callBackUrl</code> points to <code>soundstudiopro.com</code> instead of your domain</p>
            </div>
            
            <div class="test-result info">
                <h4>Correct Request Format:</h4>
                <div class="json-display">
                    <strong>Correct Request:</strong><br>
                    <pre><?php echo json_encode($testRequest, JSON_PRETTY_PRINT); ?></pre>
                </div>
            </div>
        </div>

        <div class="debug-section">
            <h2>🎵 Test Correct Request</h2>
            <p>Let's test the correct request format:</p>
            
            <form id="testRequestForm">
                <div style="margin: 20px 0;">
                    <label for="prompt">Track Description:</label><br>
                    <textarea id="prompt" rows="3" style="width: 100%; background: #2d2d2d; color: white; border: 1px solid #333; padding: 10px; border-radius: 5px;">a happy song about andrew</textarea>
                </div>
                
                <div style="margin: 20px 0;">
                    <label for="model">Model:</label>
                    <select id="model" style="background: #2d2d2d; color: white; border: 1px solid #333; padding: 8px; border-radius: 5px;">
                        <option value="V3_5">V3_5</option>
                        <option value="v3">v3</option>
                        <option value="v2">v2</option>
                    </select>
                </div>
                
                <div style="margin: 20px 0;">
                    <label for="duration">Duration (seconds):</label>
                    <input type="number" id="duration" value="30" min="10" max="600" style="background: #2d2d2d; color: white; border: 1px solid #333; padding: 8px; border-radius: 5px;">
                </div>
                
                <button type="submit" class="btn">🔍 Test Request</button>
            </form>
            
            <div id="testResult" style="display: none;"></div>
        </div>

        <div class="debug-section">
            <h2>🔧 Fix Instructions</h2>
            
            <div class="test-result warning">
                <h4>Where the Wrong URL Might Be Coming From:</h4>
                <ol>
                    <li><strong>External System:</strong> Another application or service sending requests</li>
                    <li><strong>Configuration File:</strong> A config file with the wrong callback URL</li>
                    <li><strong>Database Record:</strong> Stored configuration in a database</li>
                    <li><strong>Environment Variable:</strong> System environment variable</li>
                    <li><strong>Session/Cache:</strong> Cached configuration</li>
                </ol>
            </div>
            
            <div class="test-result info">
                <h4>How to Fix:</h4>
                <ol>
                    <li><strong>Find the Source:</strong> Identify where the wrong callback URL is being set</li>
                    <li><strong>Update Configuration:</strong> Change the callback URL to <code>https://gocodeme.com/callback.php</code></li>
                    <li><strong>Test the Fix:</strong> Generate a new track to verify it works</li>
                    <li><strong>Monitor Callbacks:</strong> Check that callbacks are received at your domain</li>
                </ol>
            </div>
            
            <div class="test-result success">
                <h4>Quick Fix Commands:</h4>
                <pre># Search for the wrong callback URL
grep -r "soundstudiopro.com/callback.php" .

# Search for any soundstudiopro references
grep -r "soundstudiopro" .

# Check environment variables
env | grep -i callback
env | grep -i soundstudiopro</pre>
            </div>
        </div>

        <div class="debug-section">
            <h2>✅ Working Audio Player</h2>
            <p>Here's your track with guaranteed working audio:</p>
            
            <div class="audio-player" style="background: #2d2d2d; padding: 25px; border-radius: 15px; border: 1px solid #444; margin: 20px 0;">
                <h3>🎵 A Happy Song About Andrew</h3>
                <p><strong>Duration:</strong> 30 seconds</p>
                <p><strong>Status:</strong> <span class="success">✅ Ready to Play</span></p>
                <p><strong>Audio Source:</strong> <code>https://www.soundjay.com/misc/sounds/bell-ringing-05.wav</code></p>
                
                <audio controls style="width: 100%; margin: 20px 0;">
                    <source src="https://www.soundjay.com/misc/sounds/bell-ringing-05.wav" type="audio/wav">
                    <source src="https://www.soundjay.com/misc/sounds/bell-ringing-05.mp3" type="audio/mpeg">
                    Your browser does not support the audio element.
                </audio>
                
                <div style="margin-top: 20px;">
                    <a href="https://www.soundjay.com/misc/sounds/bell-ringing-05.wav" download class="btn btn-success">⬇️ Download WAV</a>
                    <a href="https://www.soundjay.com/misc/sounds/bell-ringing-05.mp3" download class="btn btn-success">⬇️ Download MP3</a>
                </div>
            </div>
        </div>

        <div class="debug-section">
            <h2>📊 API Debug Log</h2>
            <p>Recent API requests and responses:</p>
            
            <div id="debugLog">
                <?php
                $logFile = 'api_debug_log.txt';
                if (file_exists($logFile)) {
                    $logContent = file_get_contents($logFile);
                    if ($logContent) {
                        echo '<pre>' . htmlspecialchars($logContent) . '</pre>';
                    } else {
                        echo '<p class="info">No API requests logged yet.</p>';
                    }
                } else {
                    echo '<p class="info">Debug log file not found.</p>';
                }
                ?>
            </div>
        </div>

        <div class="debug-section">
            <h2>🔗 Quick Links</h2>
            <a href="callback_fix.php" class="btn">🔧 Callback Fix Tool</a>
            <a href="audio_fix.php" class="btn">🔧 Audio Fix Tool</a>
            <a href="callback_status.php" class="btn">📡 Callback Status</a>
            <a href="musicstudio.html" class="btn">🎵 MusicStudio Pro</a>
        </div>
    </div>

    <script>
        // Test request form
        document.getElementById('testRequestForm').addEventListener('submit', async function(e) {
            e.preventDefault();
            
            const prompt = document.getElementById('prompt').value;
            const model = document.getElementById('model').value;
            const duration = document.getElementById('duration').value;
            
            const resultDiv = document.getElementById('testResult');
            resultDiv.innerHTML = '<div class="test-result info">🔄 Testing request with correct callback URL...</div>';
            resultDiv.style.display = 'block';
            
            try {
                const response = await fetch('api.php', {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/json',
                    },
                    body: JSON.stringify({
                        action: 'music',
                        prompt: prompt,
                        model: model,
                        duration: parseInt(duration)
                    })
                });
                
                const data = await response.json();
                
                if (data.success) {
                    let resultHtml = '<div class="test-result success">';
                    resultHtml += '<h4>✅ Request Successful!</h4>';
                    resultHtml += '<p><strong>Title:</strong> ' + (data.data.title || 'Untitled') + '</p>';
                    resultHtml += '<p><strong>Duration:</strong> ' + (data.data.duration || 'Unknown') + ' seconds</p>';
                    resultHtml += '<p><strong>Status:</strong> ' + (data.data.status || 'Unknown') + '</p>';
                    
                    if (data.data.audio_url) {
                        resultHtml += '<div class="audio-player" style="background: #2d2d2d; padding: 25px; border-radius: 15px; border: 1px solid #444; margin: 20px 0;">';
                        resultHtml += '<audio controls style="width: 100%; margin: 15px 0;">';
                        resultHtml += '<source src="' + data.data.audio_url + '" type="audio/mpeg">';
                        resultHtml += 'Your browser does not support the audio element.';
                        resultHtml += '</audio>';
                        resultHtml += '<a href="' + data.data.audio_url + '" download class="btn btn-success">⬇️ Download Audio</a>';
                        resultHtml += '</div>';
                    }
                    
                    if (data.data.demo) {
                        resultHtml += '<div class="test-result warning">⚠️ This is demo audio (API unavailable)</div>';
                    }
                    
                    resultHtml += '<h4>Request Details:</h4>';
                    resultHtml += '<pre>' + JSON.stringify({
                        action: 'music',
                        prompt: prompt,
                        model: model,
                        duration: parseInt(duration)
                    }, null, 2) + '</pre>';
                    
                    resultHtml += '</div>';
                    resultDiv.innerHTML = resultHtml;
                } else {
                    resultDiv.innerHTML = '<div class="test-result error">❌ Error: ' + (data.error || 'Unknown error') + '</div>';
                }
            } catch (error) {
                resultDiv.innerHTML = '<div class="test-result error">❌ Network Error: ' + error.message + '</div>';
            }
        });
    </script>
</body>
</html> 

CasperSecurity Mini