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/soundstudiopro.com/public_html/gocodeme.com/src/server/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/soundstudiopro.com/public_html/gocodeme.com/src/server/index.js
const express = require('express');
const http = require('http');
const socketIo = require('socket.io');
const path = require('path');
const cors = require('cors');
const helmet = require('helmet');
const compression = require('compression');
require('dotenv').config();

const app = express();
const server = http.createServer(app);
const io = socketIo(server, {
  cors: {
    origin: "*",
    methods: ["GET", "POST"]
  }
});

// Middleware
app.use(helmet());
app.use(compression());
app.use(cors());
app.use(express.json({ limit: '10mb' }));
app.use(express.static(path.join(__dirname, '../../public')));

// Import AI service
const aiService = require('../ai/claude-service');

// Routes
app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname, '../../public/index.html'));
});

// AI Chat API
app.post('/api/chat', async (req, res) => {
  try {
    const { message, context, fileContent } = req.body;
    
    const response = await aiService.chat(message, context, fileContent);
    
    res.json({
      success: true,
      response: response
    });
  } catch (error) {
    console.error('AI Chat Error:', error);
    res.status(500).json({
      success: false,
      error: 'Failed to get AI response'
    });
  }
});

// code-server proxy
app.use('/code-server', (req, res) => {
  // Proxy to code-server instance
  const codeServerUrl = `http://localhost:${process.env.CODE_SERVER_PORT || 8080}`;
  req.pipe(require('http').request(codeServerUrl + req.url, {
    method: req.method,
    headers: req.headers
  }, (response) => {
    res.writeHead(response.statusCode, response.headers);
    response.pipe(res);
  }));
});

// WebSocket for real-time AI chat
io.on('connection', (socket) => {
  console.log('Client connected:', socket.id);
  
  socket.on('ai-chat', async (data) => {
    try {
      const response = await aiService.chat(data.message, data.context, data.fileContent);
      socket.emit('ai-response', {
        success: true,
        response: response
      });
    } catch (error) {
      socket.emit('ai-response', {
        success: false,
        error: 'Failed to get AI response'
      });
    }
  });
  
  socket.on('disconnect', () => {
    console.log('Client disconnected:', socket.id);
  });
});

// Health check
app.get('/health', (req, res) => {
  res.json({
    status: 'healthy',
    timestamp: new Date().toISOString(),
    version: '1.0.0'
  });
});

const PORT = process.env.PORT || 3000;

server.listen(PORT, () => {
  console.log(`🚀 GoCodeMe.com server running on port ${PORT}`);
  console.log(`📁 Workspace: ${process.env.CODE_SERVER_WORKSPACE || '/home/gositeme/domains/soundstudiopro.com/public_html'}`);
  console.log(`🤖 AI Model: ${process.env.CLAUDE_MODEL || 'anthropic/claude-3-sonnet'}`);
});

module.exports = { app, server, io }; 

CasperSecurity Mini