HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //proc/thread-self/root/opt/panomity_tools/panomity_tools.py
import time
import requests
from crewai_tools import BaseTool

class SearXNGSearchTool(BaseTool):
    name: str = "SearXNG Search Tool"
    description: str = "Searches queries using SearXNG and returns the results."

    def _run(self, query: str) -> str:
        searx_url = "https://search.panomity.com/search"
        params = {
            "q": query,
            "format": "json"
        }
        
        for attempt in range(5):  # Retry up to 5 times
            response = requests.get(searx_url, params=params)
            
            if response.status_code == 200:
                results = response.json()
                return self._format_results(results)
            elif response.status_code == 429:
                time.sleep(2 ** attempt)  # Exponential backoff
            else:
                return f"Error: Unable to fetch results (Status Code: {response.status_code})"
        
        return "Error: Too many requests. Please try again later."

    def _format_results(self, results: dict) -> str:
        formatted_results = ""
        for result in results.get('results', []):
            formatted_results += f"Title: {result.get('title')}\n"
            formatted_results += f"URL: {result.get('url')}\n"
            formatted_results += f"Snippet: {result.get('content')}\n\n"
        return formatted_results if formatted_results else "No results found."