Help
RSS
API
Feed
Maltego
Contact
Domain > sushi-bot.ecntech.in
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-05-19
160.250.204.51
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyContent-Type: text/html; charsetUTF-8Location: https://sushi-bot.ecntech.in/Server: Microsoft-IIS/10.0X-Powered-By: ASP.NETX-Powered-By-Plesk: PleskWinDate: Mon, 19 May 2025 17:35:25 GMTContent-Length: 152 head>title>Document Moved/title>/head>body>h1>Object Moved/h1>This document may be found a HREFhttps://sushi-bot.ecntech.in/>here/a>/body>
Port 443
HTTP/1.1 200 OKContent-Type: text/htmlLast-Modified: Fri, 28 Mar 2025 12:01:35 GMTAccept-Ranges: bytesETag: b86b2927d99fdb1:0Server: Microsoft-IIS/10.0X-Powered-By: ASP.NETX-Powered-By-Plesk: PleskWinDate: Mon, 19 May 2025 17:35:26 GMTContent-Length: 27741 !DOCTYPE html>html langen>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>Sushi bot/title> link relstylesheet hrefhttps://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css> style> :root { --primary: #6e48aa; --secondary: #9d50bb; --light: #f5f5f5; --dark: #333; --gray: #ddd; --dark-gray: #aaa; --sidebar-width: 280px; } * { box-sizing: border-box; margin: 0; padding: 0; font-family: Segoe UI, Tahoma, Geneva, Verdana, sans-serif; } body { background-color: var(--light); color: var(--dark); line-height: 1.6; display: flex; min-height: 100vh; overflow-x: hidden; } /* Sidebar Styles */ .sidebar { width: var(--sidebar-width); background: linear-gradient(135deg, #2c3e50, #4a6491); color: white; padding: 20px; display: flex; flex-direction: column; transition: transform 0.3s ease; position: relative; z-index: 100; } .sidebar-header { display: flex; align-items: center; margin-bottom: 30px; } .profile-icon { width: 60px; height: 60px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), var(--secondary)); display: flex; align-items: center; justify-content: center; margin-right: 15px; font-size: 24px; color: white; box-shadow: 0 4px 8px rgba(0,0,0,0.2); } .profile-info h3 { font-size: 1.2rem; margin-bottom: 5px; } .profile-info p { font-size: 0.8rem; opacity: 0.8; } .sidebar-menu { flex: 1; margin-top: 20px; } .menu-item { padding: 12px 15px; border-radius: 8px; margin-bottom: 8px; cursor: pointer; display: flex; align-items: center; transition: all 0.3s ease; } .menu-item:hover { background-color: rgba(255,255,255,0.1); } .menu-item.active { background-color: rgba(255,255,255,0.2); } .menu-item i { margin-right: 10px; width: 20px; text-align: center; } .sidebar-footer { margin-top: auto; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.1); } .sidebar-toggle { position: absolute; top: 20px; right: -15px; background: white; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 5px rgba(0,0,0,0.2); cursor: pointer; z-index: 101; } /* Main Content Styles */ .main-content { flex: 1; display: flex; flex-direction: column; transition: margin-left 0.3s ease; } .container { flex: 1; padding: 20px; max-width: 1200px; margin: 0 auto; width: 100%; } .chat-container { background: white; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); overflow: hidden; height: calc(100vh - 150px); display: flex; flex-direction: column; position: relative; } .chat-header { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: white; padding: 15px 20px; font-size: 1.2rem; font-weight: bold; display: flex; justify-content: space-between; align-items: center; } .fullscreen-btn { background: none; border: none; color: white; cursor: pointer; font-size: 1rem; } .chat-messages { flex: 1; padding: 20px; overflow-y: auto; background-color: #fafafa; } .message { margin-bottom: 15px; display: flex; } .user-message { justify-content: flex-end; } .bot-message { justify-content: flex-start; } .message-content { max-width: 75%; padding: 12px 16px; border-radius: 18px; word-wrap: break-word; } .user-message .message-content { background: var(--primary); color: white; border-bottom-right-radius: 5px; } .bot-message .message-content { background: white; border: 1px solid var(--gray); border-bottom-left-radius: 5px; } /* Improved Table Styling */ table { border-collapse: collapse; width: 100%; margin: 10px 0; background: white; box-shadow: 0 1px 3px rgba(0,0,0,0.1); } th, td { border: 1px solid #ddd; padding: 8px 12px; text-align: left; } th { background-color: #f2f2f2; font-weight: bold; } tr:nth-child(even) { background-color: #f9f9f9; } tr:hover { background-color: #f1f1f1; } /* Code block styling */ pre { background: #f5f5f5; border-radius: 4px; padding: 12px; overflow-x: auto; margin: 10px 0; border: 1px solid #ddd; } code { font-family: Courier New, Courier, monospace; font-size: 0.9em; } .chat-input { display: flex; padding: 15px; border-top: 1px solid var(--gray); background: white; } #user-input { flex: 1; padding: 12px 15px; border: 1px solid var(--gray); border-radius: 25px; outline: none; font-size: 1rem; } #user-input:focus { border-color: var(--primary); } #send-button { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: white; border: none; border-radius: 25px; padding: 12px 25px; margin-left: 10px; cursor: pointer; font-size: 1rem; transition: all 0.3s ease; } #send-button:hover { opacity: 0.9; transform: translateY(-2px); } .typing-indicator { display: none; margin: 10px 0; } .typing-indicator span { height: 10px; width: 10px; background-color: var(--primary); border-radius: 50%; display: inline-block; margin: 0 3px; animation: bounce 1.4s infinite ease-in-out; } .typing-indicator span:nth-child(2) { animation-delay: 0.2s; } .typing-indicator span:nth-child(3) { animation-delay: 0.4s; } @keyframes bounce { 0%, 60%, 100% { transform: translateY(0); } 30% { transform: translateY(-5px); } } .logs-container { margin-top: 20px; background: white; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); padding: 20px; display: none; } .logs-header { display: flex; justify-content: space-between; margin-bottom: 15px; } .logs-content { max-height: 300px; overflow-y: auto; } .log-date { margin: 15px 0 10px; padding-bottom: 5px; border-bottom: 1px solid var(--gray); color: var(--primary); } .log-message { margin-bottom: 8px; padding: 8px 12px; background: #f9f9f9; border-radius: 5px; } .log-message.user { border-left: 3px solid var(--primary); } .log-message.bot { border-left: 3px solid var(--secondary); } .action-buttons { margin-top: 20px; display: flex; gap: 10px; } .action-button { padding: 8px 15px; border: none; border-radius: 5px; cursor: pointer; font-size: 0.9rem; } .export-btn { background: var(--primary); color: white; } .clear-btn { background: #f44336; color: white; } .toggle-logs { background: var(--secondary); color: white; } /* Fullscreen mode */ .fullscreen { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1000; background: white; margin: 0; border-radius: 0; } /* Mobile responsive */ @media (max-width: 768px) { .sidebar { position: fixed; left: 0; top: 0; bottom: 0; transform: translateX(-100%); } .sidebar.open { transform: translateX(0); } .main-content { margin-left: 0 !important; } .message-content { max-width: 85%; } } /* Performance optimizations */ .chat-messages { will-change: transform; backface-visibility: hidden; transform: translateZ(0); } /* Loading animation */ @keyframes pulse { 0%, 100% { opacity: 0.6; } 50% { opacity: 1; } } .loading { animation: pulse 1.5s infinite ease-in-out; } /style>/head>body> !-- Sidebar --> div classsidebar idsidebar> div classsidebar-toggle idsidebar-toggle> i classfas fa-chevron-right idtoggle-icon>/i> /div> div classsidebar-header> div classprofile-icon> i classfas fa-robot>/i> /div> div classprofile-info> h3>Sushi Bot/h3> p>Premium User/p> /div> /div> div classsidebar-menu> div classmenu-item active> i classfas fa-comment>/i> span>Chat/span> /div> div classmenu-item> i classfas fa-history>/i> span>History/span> /div> div classmenu-item> i classfas fa-cog>/i> span>Settings/span> /div> div classmenu-item> i classfas fa-lightbulb>/i> span>Examples/span> /div> div classmenu-item> i classfas fa-book>/i> span>Documentation/span> /div> /div> div classsidebar-footer> div classmenu-item> i classfas fa-question-circle>/i> span>Help & FAQ/span> /div> div classmenu-item> i classfas fa-sign-out-alt>/i> span>Logout/span> /div> /div> /div> !-- Main Content --> div classmain-content idmain-content> div classcontainer> div classchat-container idchat-container> div classchat-header> span>Sushi bot/span> button classfullscreen-btn idfullscreen-btn> i classfas fa-expand>/i> /button> /div> div classchat-messages idchat-messages> div classtyping-indicator idtyping-indicator> span>/span> span>/span> span>/span> /div> /div> div classchat-input> input typetext iduser-input placeholderType your message... autocompleteoff> button idsend-button>Send/button> /div> /div> div classaction-buttons> button classaction-button toggle-logs idtoggle-logs>Show Conversation Logs/button> button classaction-button export-btn idexport-logs>Export Logs/button> button classaction-button clear-btn idclear-logs>Clear Logs/button> /div> div classlogs-container idlogs-container> div classlogs-header> h3>Conversation Logs/h3> span idclose-logs stylecursor: pointer;>×/span> /div> div classlogs-content idlogs-content>/div> /div> /div> /div> script> // DOM Elements const chatMessages document.getElementById(chat-messages); const userInput document.getElementById(user-input); const sendButton document.getElementById(send-button); const typingIndicator document.getElementById(typing-indicator); const toggleLogsButton document.getElementById(toggle-logs); const exportLogsButton document.getElementById(export-logs); const clearLogsButton document.getElementById(clear-logs); const logsContainer document.getElementById(logs-container); const logsContent document.getElementById(logs-content); const closeLogsButton document.getElementById(close-logs); const sidebar document.getElementById(sidebar); const sidebarToggle document.getElementById(sidebar-toggle); const toggleIcon document.getElementById(toggle-icon); const mainContent document.getElementById(main-content); const fullscreenBtn document.getElementById(fullscreen-btn); const chatContainer document.getElementById(chat-container); // API Configuration const API_KEY sk-4f524e6c5d5e456b9b61e8718c1d8da4; // Replace with your actual key const API_URL https://api.deepseek.com/chat/completions; // Conversation Logs let conversationLog JSON.parse(localStorage.getItem(deepseek_chat_logs)) || {}; const today new Date().toISOString().split(T)0; // Initialize todays log if it doesnt exist if (!conversationLogtoday) { conversationLogtoday ; } // Sidebar state let sidebarOpen true; // Performance optimization flags let isProcessing false; let abortController null; // Load previous messages loadPreviousMessages(); // Event Listeners sendButton.addEventListener(click, sendMessage); userInput.addEventListener(keypress, (e) > e.key Enter && sendMessage()); toggleLogsButton.addEventListener(click, toggleLogs); exportLogsButton.addEventListener(click, exportLogs); clearLogsButton.addEventListener(click, clearLogs); closeLogsButton.addEventListener(click, () > logsContainer.style.display none); sidebarToggle.addEventListener(click, toggleSidebar); fullscreenBtn.addEventListener(click, toggleFullscreen); // Functions function loadPreviousMessages() { conversationLogtoday.forEach(msg > { displayMessage(msg.role, msg.content); }); } function toggleSidebar() { sidebarOpen !sidebarOpen; if (sidebarOpen) { sidebar.style.transform translateX(0); mainContent.style.marginLeft var(--sidebar-width); toggleIcon.className fas fa-chevron-left; sidebar.classList.add(open); } else { sidebar.style.transform translateX(-100%); mainContent.style.marginLeft 0; toggleIcon.className fas fa-chevron-right; sidebar.classList.remove(open); } } function toggleFullscreen() { if (chatContainer.classList.contains(fullscreen)) { chatContainer.classList.remove(fullscreen); fullscreenBtn.innerHTML i classfas fa-expand>/i>; } else { chatContainer.classList.add(fullscreen); fullscreenBtn.innerHTML i classfas fa-compress>/i>; } } async function sendMessage() { if (isProcessing) return; const message userInput.value.trim(); if (!message) return; // Display user message displayMessage(user, message); // Add to conversation log conversationLogtoday.push({ role: user, content: message, timestamp: new Date().toISOString() }); // Save to localStorage saveConversationLog(); // Clear input userInput.value ; // Show typing indicator typingIndicator.style.display block; // Set processing flag isProcessing true; // Create new AbortController for this request abortController new AbortController(); try { const startTime performance.now(); const response await fetch(API_URL, { method: POST, headers: { Content-Type: application/json, Authorization: `Bearer ${API_KEY}`, Accept: application/json }, body: JSON.stringify({ model: deepseek-chat, messages: ...conversationLogtoday.map(msg > ({ role: msg.role, content: msg.content })) , temperature: 0.7, stream: false }), signal: abortController.signal }); if (!response.ok) { throw new Error(`API error: ${response.status}`); } const data await response.json(); const botResponse data.choices0.message.content; // Display bot response displayMessage(assistant, botResponse); // Add to conversation log conversationLogtoday.push({ role: assistant, content: botResponse, timestamp: new Date().toISOString() }); // Save to localStorage saveConversationLog(); const endTime performance.now(); console.log(`API response time: ${(endTime - startTime).toFixed(2)}ms`); } catch (error) { if (error.name ! AbortError) { console.error(API Error:, error); displayMessage(assistant, Sorry, I encountered an error. Please try again later.); } } finally { // Hide typing indicator typingIndicator.style.display none; // Reset processing flag isProcessing false; // Clear abort controller abortController null; } } function displayMessage(role, content) { const messageDiv document.createElement(div); messageDiv.className `message ${role}-message`; const contentDiv document.createElement(div); contentDiv.className message-content; // Format content with proper HTML for tables, code blocks, etc. let formattedContent content; // Convert markdown tables to HTML tables formattedContent formattedContent.replace( /\|(.+?)\|(.+?)\|(.+?)\|(\r?\n|\r)\|(.+?)\|(.+?)\|(.+?)\|(\s\S*?)(?\||$)/g, (match, header1, header2, header3, lineBreak, align1, align2, align3, rows) > { let tableHtml table>thead>tr>; tableHtml + `th>${header1}/th>th>${header2}/th>th>${header3}/th>`; tableHtml + /tr>/thead>tbody>; const rowMatches rows.matchAll(/\|(.+?)\|(.+?)\|(.+?)\|/g); for (const row of rowMatches) { tableHtml + `tr>td>strong>${row1}/strong>/td>td>strong>${row2}/strong>/td>td>strong>${row3}/strong>/td>/tr>`; } tableHtml + /tbody>/table>; return tableHtml; } ); // Convert code blocks formattedContent formattedContent.replace( /```(\w*)(\s\S*?)```/g, pre>code>$2/code>/pre> ); contentDiv.innerHTML formattedContent; messageDiv.appendChild(contentDiv); // Use requestAnimationFrame for smoother DOM updates requestAnimationFrame(() > { chatMessages.insertBefore(messageDiv, typingIndicator); // Scroll to bottom with smooth behavior chatMessages.scrollTo({ top: chatMessages.scrollHeight, behavior: smooth }); }); } function saveConversationLog() { localStorage.setItem(deepseek_chat_logs, JSON.stringify(conversationLog)); } function toggleLogs() { if (logsContainer.style.display none || !logsContainer.style.display) { logsContainer.style.display block; displayLogs(); } else { logsContainer.style.display none; } } function displayLogs() { logsContent.innerHTML ; // Sort dates in descending order const sortedDates Object.keys(conversationLog).sort((a, b) > new Date(b) - new Date(a)); sortedDates.forEach(date > { const dateHeader document.createElement(div); dateHeader.className log-date; dateHeader.textContent new Date(date).toLocaleDateString(en-US, { weekday: long, year: numeric, month: long, day: numeric }); logsContent.appendChild(dateHeader); conversationLogdate.forEach(msg > { const messageDiv document.createElement(div); messageDiv.className `log-message ${msg.role}`; messageDiv.innerHTML ` strong>${msg.role user ? You : Assistant}:/strong> div>${msg.content}/div> small>${new Date(msg.timestamp).toLocaleTimeString()}/small> `; logsContent.appendChild(messageDiv); }); }); } function exportLogs() { const dataStr JSON.stringify(conversationLog, null, 2); const dataUri data:application/json;charsetutf-8,+ encodeURIComponent(dataStr); const exportFileDefaultName `deepseek-chat-logs-${new Date().toISOString().split(T)0}.json`; const linkElement document.createElement(a); linkElement.setAttribute(href, dataUri); linkElement.setAttribute(download, exportFileDefaultName); linkElement.click(); } function clearLogs() { if (confirm(Are you sure you want to clear all conversation logs?)) { localStorage.removeItem(deepseek_chat_logs); conversationLog {}; conversationLogtoday ; logsContent.innerHTML ; chatMessages.innerHTML ; chatMessages.appendChild(typingIndicator); typingIndicator.style.display none; } } /script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]