|
|
<!DOCTYPE html> |
|
|
<html lang="en"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>PayPal MCP Termux Installer</title> |
|
|
<script src="https://cdn.tailwindcss.com"></script> |
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
|
|
<style> |
|
|
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&display=swap'); |
|
|
|
|
|
body { |
|
|
font-family: 'Fira Code', monospace; |
|
|
background-color: #1a1a1a; |
|
|
} |
|
|
|
|
|
.terminal { |
|
|
background-color: #0a0a0a; |
|
|
border-radius: 10px; |
|
|
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); |
|
|
overflow: hidden; |
|
|
} |
|
|
|
|
|
.terminal-header { |
|
|
background: linear-gradient(90deg, #333, #222); |
|
|
padding: 8px 15px; |
|
|
border-top-left-radius: 8px; |
|
|
border-top-right-radius: 8px; |
|
|
} |
|
|
|
|
|
.terminal-body { |
|
|
height: 500px; |
|
|
overflow-y: auto; |
|
|
padding: 20px; |
|
|
} |
|
|
|
|
|
.command-line { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
margin-top: 15px; |
|
|
} |
|
|
|
|
|
.prompt { |
|
|
color: #4CAF50; |
|
|
margin-right: 10px; |
|
|
} |
|
|
|
|
|
.cursor { |
|
|
display: inline-block; |
|
|
width: 10px; |
|
|
height: 18px; |
|
|
background-color: #4CAF50; |
|
|
animation: blink 1s infinite; |
|
|
} |
|
|
|
|
|
@keyframes blink { |
|
|
0%, 100% { opacity: 1; } |
|
|
50% { opacity: 0; } |
|
|
} |
|
|
|
|
|
.red { color: #ff5555; } |
|
|
.green { color: #50fa7b; } |
|
|
.yellow { color: #f1fa8c; } |
|
|
.blue { color: #8be9fd; } |
|
|
|
|
|
.progress-bar { |
|
|
height: 5px; |
|
|
background: linear-gradient(90deg, #4CAF50, #8BC34A); |
|
|
border-radius: 3px; |
|
|
transition: width 0.5s ease; |
|
|
} |
|
|
|
|
|
.btn-paypal { |
|
|
background: linear-gradient(90deg, #0070BA, #003087); |
|
|
color: white; |
|
|
border: none; |
|
|
transition: all 0.3s; |
|
|
} |
|
|
|
|
|
.btn-paypal:hover { |
|
|
transform: translateY(-2px); |
|
|
box-shadow: 0 5px 15px rgba(0, 112, 186, 0.4); |
|
|
} |
|
|
|
|
|
|
|
|
::-webkit-scrollbar { |
|
|
width: 8px; |
|
|
} |
|
|
|
|
|
::-webkit-scrollbar-track { |
|
|
background: #222; |
|
|
} |
|
|
|
|
|
::-webkit-scrollbar-thumb { |
|
|
background: #444; |
|
|
border-radius: 4px; |
|
|
} |
|
|
|
|
|
::-webkit-scrollbar-thumb:hover { |
|
|
background: #555; |
|
|
} |
|
|
</style> |
|
|
</head> |
|
|
<body class="min-h-screen flex items-center justify-center p-4"> |
|
|
<div class="terminal w-full max-w-3xl"> |
|
|
<div class="terminal-header flex items-center"> |
|
|
<div class="flex space-x-2 mr-4"> |
|
|
<div class="w-3 h-3 rounded-full bg-red-500"></div> |
|
|
<div class="w-3 h-3 rounded-full bg-yellow-500"></div> |
|
|
<div class="w-3 h-3 rounded-full bg-green-500"></div> |
|
|
</div> |
|
|
<div class="text-white text-sm">PayPal MCP Termux Installer</div> |
|
|
<div class="ml-auto flex items-center"> |
|
|
<i class="fab fa-paypal text-white mr-2"></i> |
|
|
<i class="fab fa-node-js text-green-400"></i> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="terminal-body text-gray-200"> |
|
|
<div class="mb-4"> |
|
|
<div class="text-blue-400"># PayPal MCP Termux Installer</div> |
|
|
<div class="text-blue-400"># This script automates the setup of PayPal MCP server in Termux</div> |
|
|
</div> |
|
|
|
|
|
<div class="mb-6"> |
|
|
<div class="flex items-center mb-2"> |
|
|
<span class="yellow mr-2">[1/5]</span> |
|
|
<span>Updating packages...</span> |
|
|
</div> |
|
|
<div class="progress-bar w-full mb-2"></div> |
|
|
<div class="text-green-500 text-sm">✓ Successfully updated all packages</div> |
|
|
</div> |
|
|
|
|
|
<div class="mb-6"> |
|
|
<div class="flex items-center mb-2"> |
|
|
<span class="yellow mr-2">[2/5]</span> |
|
|
<span>Installing dependencies...</span> |
|
|
</div> |
|
|
<div class="text-sm mb-2"> |
|
|
<div class="text-gray-400">> Installing nodejs...</div> |
|
|
<div class="text-gray-400">> Installing curl...</div> |
|
|
<div class="text-gray-400">> Installing jq...</div> |
|
|
</div> |
|
|
<div class="progress-bar w-3/4 mb-2"></div> |
|
|
<div class="text-green-500 text-sm">✓ Node.js v18.15.0 installed successfully</div> |
|
|
</div> |
|
|
|
|
|
<div class="mb-6"> |
|
|
<div class="yellow mb-2">PayPal Access Token Generation</div> |
|
|
<div class="bg-gray-800 p-4 rounded mb-4"> |
|
|
<div class="mb-3"> |
|
|
<label class="block text-gray-400 mb-1">PayPal Client ID</label> |
|
|
<input type="text" class="w-full bg-gray-700 text-white p-2 rounded" value="AeA**********************"> |
|
|
</div> |
|
|
<div class="mb-3"> |
|
|
<label class="block text-gray-400 mb-1">PayPal Client Secret</label> |
|
|
<input type="text" class="w-full bg-gray-700 text-white p-2 rounded" value="EC0**********************"> |
|
|
</div> |
|
|
<div class="mb-3"> |
|
|
<label class="block text-gray-400 mb-1">Environment</label> |
|
|
<select class="w-full bg-gray-700 text-white p-2 rounded"> |
|
|
<option>SANDBOX</option> |
|
|
<option>PRODUCTION</option> |
|
|
</select> |
|
|
</div> |
|
|
<button class="btn-paypal px-4 py-2 rounded font-bold w-full"> |
|
|
Generate Access Token |
|
|
</button> |
|
|
</div> |
|
|
<div class="text-green-500"> |
|
|
✓ Access token generated successfully! |
|
|
<div class="text-yellow-300 mt-1">Token: <span class="text-gray-400">A21**********************</span></div> |
|
|
<div class="text-yellow-300">Environment: <span class="text-gray-400">SANDBOX</span></div> |
|
|
<div class="text-yellow-300">Expires in: <span class="text-gray-400">32400 seconds</span></div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="mb-6"> |
|
|
<div class="flex items-center mb-2"> |
|
|
<span class="yellow mr-2">[3/5]</span> |
|
|
<span>Installing PayPal MCP server...</span> |
|
|
</div> |
|
|
<div class="text-sm mb-2"> |
|
|
<div class="text-gray-400">> npm install -g @paypal/mcp</div> |
|
|
<div class="text-gray-400">+ @paypal/mcp@2.1.3</div> |
|
|
</div> |
|
|
<div class="progress-bar w-1/2 mb-2"></div> |
|
|
<div class="text-green-500 text-sm">✓ PayPal MCP installed successfully</div> |
|
|
</div> |
|
|
|
|
|
<div class="mb-6"> |
|
|
<div class="flex items-center mb-2"> |
|
|
<span class="yellow mr-2">[4/5]</span> |
|
|
<span>Creating run script...</span> |
|
|
</div> |
|
|
<div class="bg-gray-800 p-3 rounded text-sm mb-2 font-mono overflow-x-auto"> |
|
|
<div class="text-blue-400">#!/bin/bash</div> |
|
|
<div>echo -e "\033[0;32mStarting PayPal MCP server...\033[0m"</div> |
|
|
<div>npx -y @paypal/mcp --tools=all \</div> |
|
|
<div>PAYPAL_ACCESS_TOKEN="$PAYPAL_ACCESS_TOKEN" \</div> |
|
|
<div>PAYPAL_ENVIRONMENT="$PAYPAL_ENVIRONMENT"</div> |
|
|
</div> |
|
|
<div class="text-green-500 text-sm">✓ Run script created at ~/paypal-mcp.sh</div> |
|
|
</div> |
|
|
|
|
|
<div class="mb-6"> |
|
|
<div class="flex items-center mb-2"> |
|
|
<span class="yellow mr-2">[5/5]</span> |
|
|
<span>Setting up alias...</span> |
|
|
</div> |
|
|
<div class="text-gray-400 mb-2">Added to ~/.bashrc: alias paypal-mcp='~/paypal-mcp.sh'</div> |
|
|
<div class="progress-bar w-full mb-2"></div> |
|
|
<div class="text-green-500 text-sm">✓ Alias configured successfully</div> |
|
|
</div> |
|
|
|
|
|
<div class="bg-green-900 bg-opacity-30 p-4 rounded border border-green-700"> |
|
|
<div class="text-green-400 font-bold mb-2">Setup completed successfully!</div> |
|
|
<div class="mb-1">You can now start the PayPal MCP server by typing: <span class="yellow">paypal-mcp</span></div> |
|
|
<div class="mb-1">To use this in Claude Desktop, configure with these values:</div> |
|
|
<div class="ml-4"> |
|
|
<div>Access Token: <span class="yellow">A21**********************</span></div> |
|
|
<div>Environment: <span class="yellow">SANDBOX</span></div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="command-line mt-6"> |
|
|
<span class="prompt">$</span> |
|
|
<span class="flex-1">paypal-mcp</span> |
|
|
<span class="cursor"></span> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<script> |
|
|
|
|
|
document.addEventListener('DOMContentLoaded', function() { |
|
|
const progressBars = document.querySelectorAll('.progress-bar'); |
|
|
|
|
|
progressBars.forEach(bar => { |
|
|
|
|
|
bar.style.width = '0'; |
|
|
|
|
|
|
|
|
setTimeout(() => { |
|
|
const targetWidth = bar.parentElement.querySelector('.yellow') ? |
|
|
(bar.parentElement.querySelector('.yellow').textContent.includes('[1/5]') ? '100%' : |
|
|
bar.parentElement.querySelector('.yellow').textContent.includes('[2/5]') ? '75%' : |
|
|
bar.parentElement.querySelector('.yellow').textContent.includes('[3/5]') ? '50%' : |
|
|
bar.parentElement.querySelector('.yellow').textContent.includes('[4/5]') ? '25%' : '100%') : '100%'; |
|
|
|
|
|
bar.style.width = targetWidth; |
|
|
}, 300); |
|
|
}); |
|
|
|
|
|
|
|
|
const commands = [ |
|
|
"paypal-mcp", |
|
|
"npm start", |
|
|
"node server.js" |
|
|
]; |
|
|
|
|
|
let currentCommand = 0; |
|
|
let currentChar = 0; |
|
|
const commandLine = document.querySelector('.command-line span:nth-child(2)'); |
|
|
|
|
|
function typeCommand() { |
|
|
if (currentChar < commands[currentCommand].length) { |
|
|
commandLine.textContent += commands[currentCommand].charAt(currentChar); |
|
|
currentChar++; |
|
|
setTimeout(typeCommand, 100); |
|
|
} else { |
|
|
setTimeout(eraseCommand, 1500); |
|
|
} |
|
|
} |
|
|
|
|
|
function eraseCommand() { |
|
|
if (commandLine.textContent.length > 0) { |
|
|
commandLine.textContent = commandLine.textContent.substring(0, commandLine.textContent.length - 1); |
|
|
setTimeout(eraseCommand, 50); |
|
|
} else { |
|
|
currentCommand = (currentCommand + 1) % commands.length; |
|
|
currentChar = 0; |
|
|
setTimeout(typeCommand, 500); |
|
|
} |
|
|
} |
|
|
|
|
|
setTimeout(typeCommand, 1000); |
|
|
}); |
|
|
</script> |
|
|
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Drewtu/termux" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
|
|
</html> |