anycoder-4a8719ae / index.html
joshworksit's picture
Upload folder using huggingface_hub
bf135ef verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>OSINT Hound - Open Directory Scanner</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Space+Grotesk:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: {
mono: ['"JetBrains Mono"', 'monospace'],
sans: ['"Space Grotesk"', 'system-ui', 'sans-serif'],
},
colors: {
void: {
950: '#07070e',
900: '#0c0c18',
800: '#131324',
700: '#1c1c35',
600: '#2a2a4a',
500: '#3d3d6a',
400: '#5a5a8f',
300: '#8282b5',
200: '#b0b0d8',
100: '#e0e0f0',
},
obsidian: {
500: '#1a1a2e',
400: '#16213e',
},
crimson: {
DEFAULT: '#ff2a6d',
dim: '#cc1a4d',
glow: '#ff5c8d',
},
chartreuse: {
DEFAULT: '#b4e600',
dim: '#8db300',
glow: '#d4ff33',
},
azure: {
DEFAULT: '#05d9e8',
dim: '#03a3af',
glow: '#4df0fc',
}
},
backgroundImage: {
'grid-pattern': "linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.03) 1px, transparent 1px)",
},
boxShadow: {
'neon-red': '0 0 15px rgba(255, 42, 109, 0.3), 0 0 30px rgba(255, 42, 109, 0.1)',
'neon-cyan': '0 0 15px rgba(5, 217, 232, 0.3), 0 0 30px rgba(5, 217, 232, 0.1)',
'neon-green': '0 0 15px rgba(180, 230, 0, 0.3), 0 0 30px rgba(180, 230, 0, 0.1)',
}
}
}
}
</script>
<style>
:root {
--bg-primary: #07070e;
--bg-secondary: #0c0c18;
--accent: #05d9e8;
--accent-dim: #03a3af;
--danger: #ff2a6d;
--success: #b4e600;
}
body {
background-color: var(--bg-primary);
font-family: 'Space Grotesk', sans-serif;
color: #e0e0f0;
overflow-x: hidden;
}
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 6px;
height: 6px;
}
::-webkit-scrollbar-track {
background: var(--bg-secondary);
}
::-webkit-scrollbar-thumb {
background: var(--void-600);
border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
background: var(--void-500);
}
/* Animations */
@keyframes scan-line {
0% { top: 0; opacity: 0; }
10% { opacity: 1; }
90% { opacity: 1; }
100% { top: 100%; opacity: 0; }
}
@keyframes pulse-glow {
0%, 100% { box-shadow: 0 0 10px rgba(5, 217, 232, 0.1); }
50% { box-shadow: 0 0 25px rgba(5, 217, 232, 0.25); }
}
@keyframes data-flow {
0% { background-position: 0% 0%; }
100% { background-position: 0% 100%; }
}
@keyframes blink-caret {
0%, 100% { border-color: transparent; }
50% { border-color: var(--accent); }
}
@keyframes slide-in-up {
from { transform: translateY(20px); opacity: 0; }
to { transform: translateY(0); opacity: 1; }
}
@keyframes border-rotate {
0% { --angle: 0deg; }
100% { --angle: 360deg; }
}
@property --angle {
syntax: '<angle>';
initial-value: 0deg;
inherits: false;
}
/* UI Components */
.glass-panel {
background: rgba(12, 12, 24, 0.6);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.scan-line-overlay {
position: fixed;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, transparent, var(--accent), transparent);
box-shadow: 0 0 15px var(--accent);
z-index: 50;
pointer-events: none;
display: none;
}
.scan-line-overlay.active {
display: block;
animation: scan-line 3s linear infinite;
}
.terminal-text {
font-family: 'JetBrains Mono', monospace;
}
.typing-cursor::after {
content: '|';
animation: blink-caret 1s step-end infinite;
color: var(--accent);
}
.keyword-highlight {
display: inline-block;
padding: 1px 6px;
border-radius: 4px;
font-weight: 700;
font-size: 0.85em;
letter-spacing: 0.02em;
border: 1px solid transparent;
}
.kw-critical {
background: rgba(255, 42, 109, 0.12);
color: #ff5c8d;
border-color: rgba(255, 42, 109, 0.3);
text-shadow: 0 0 8px rgba(255, 42, 109, 0.4);
}
.kw-alert {
background: rgba(244, 196, 48, 0.12);
color: #ffd700;
border-color: rgba(244, 196, 48, 0.3);
}
.kw-info {
background: rgba(5, 217, 232, 0.12);
color: #4df0fc;
border-color: rgba(5, 217, 232, 0.3);
}
.hit-card {
animation: slide-in-up 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.hit-card:hover {
transform: translateY(-2px);
box-shadow: 0 8px 30px rgba(5, 217, 232, 0.08);
border-color: rgba(5, 217, 232, 0.25);
}
.btn-primary {
background: linear-gradient(135deg, #05d9e8, #03a3af);
color: #07070e;
font-weight: 700;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.btn-primary:hover {
transform: translateY(-1px);
box-shadow: 0 0 25px rgba(5, 217, 232, 0.4);
}
.btn-primary::after {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
transform: rotate(45deg) translateY(-100%);
transition: transform 0.6s;
}
.btn-primary:hover::after {
transform: rotate(45deg) translateY(100%);
}
.btn-danger {
background: linear-gradient(135deg, #ff2a6d, #cc1a4d);
color: white;
font-weight: 700;
}
.btn-danger:hover {
box-shadow: 0 0 25px rgba(255, 42, 109, 0.4);
transform: translateY(-1px);
}
.input-field {
background: rgba(7, 7, 14, 0.6);
border: 1px solid rgba(255, 255, 255, 0.08);
color: #e0e0f0;
transition: all 0.3s ease;
}
.input-field:focus {
border-color: var(--accent);
box-shadow: 0 0 0 3px rgba(5, 217, 232, 0.1);
outline: none;
}
/* Ticker */
.ticker-wrap {
overflow: hidden;
white-space: nowrap;
}
.ticker-content {
display: inline-block;
animation: ticker 30s linear infinite;
}
@keyframes ticker {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}
/* Status Indicators */
.status-dot {
width: 8px;
height: 8px;
border-radius: 50%;
display: inline-block;
}
.status-idle { background: #5a5a8f; box-shadow: 0 0 8px #5a5a8f; }
.status-running { background: var(--success); box-shadow: 0 0 10px var(--success); animation: pulse-dot 1.5s infinite; }
.status-stopping { background: var(--danger); box-shadow: 0 0 10px var(--danger); }
.status-done { background: var(--azure); box-shadow: 0 0 10px var(--azure); }
@keyframes pulse-dot {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.5; transform: scale(1.2); }
}
/* File size badge */
.file-badge {
font-size: 0.7rem;
padding: 2px 6px;
border-radius: 4px;
font-family: 'JetBrains Mono', monospace;
}
/* Grid background */
.bg-grid {
background-size: 40px 40px;
background-image:
linear-gradient(to right, rgba(255,255,255,0.02) 1px, transparent 1px),
linear-gradient(to bottom, rgba(255,255,255,0.02) 1px, transparent 1px);
}
/* Preview modal */
.preview-modal {
position: fixed;
inset: 0;
z-index: 100;
display: flex;
align-items: center;
justify-content: center;
background: rgba(7, 7, 14, 0.85);
backdrop-filter: blur(8px);
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease;
}
.preview-modal.active {
opacity: 1;
pointer-events: auto;
}
.preview-modal-content {
transform: scale(0.95);
transition: transform 0.3s ease;
}
.preview-modal.active .preview-modal-content {
transform: scale(1);
}
/* Animated border on active scan */
.scanning-border {
position: relative;
}
.scanning-border::before {
content: '';
position: absolute;
inset: -1px;
border-radius: inherit;
padding: 1px;
background: conic-gradient(from var(--angle), transparent 30%, var(--accent) 50%, transparent 70%);
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
animation: border-rotate 3s linear infinite;
opacity: 0;
transition: opacity 0.3s;
pointer-events: none;
z-index: 10;
}
.scanning-border.active::before {
opacity: 1;
}
.progress-track {
background: rgba(255,255,255,0.05);
border-radius: 4px;
overflow: hidden;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--accent-dim), var(--accent));
border-radius: 4px;
transition: width 0.3s ease;
position: relative;
}
.progress-fill::after {
content: '';
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3));
}
</style>
</head>
<body class="min-h-screen bg-grid text-void-200 selection:bg-azure selection:text-void-950">
<div id="scanLine" class="scan-line-overlay"></div>
<!-- Header -->
<header class="sticky top-0 z-40 glass-panel border-b border-white/[0.06]">
<div class="max-w-[1600px] mx-auto px-4 py-3 flex items-center justify-between">
<div class="flex items-center gap-4">
<div class="relative">
<div class="w-10 h-10 rounded-lg bg-void-800 border border-azure/20 flex items-center justify-center">
<i class="fa-solid fa-shield-halved text-azure text-lg"></i>
</div>
<div class="absolute -top-1 -right-1 w-3 h-3 bg-azure rounded-full animate-ping opacity-40"></div>
</div>
<div>
<h1 class="text-xl font-bold tracking-tight text-white">OSINT <span class="text-azure">Hound</span></h1>
<p class="text-[11px] text-void-400 font-mono tracking-widest uppercase">Open Directory Reconnaissance Engine</p>
</div>
</div>
<div class="hidden md:flex items-center gap-6">
<div class="flex items-center gap-2 text-sm">
<span class="status-dot status-idle" id="statusDot"></span>
<span class="text-void-400 font-mono text-xs uppercase tracking-wider" id="statusText">IDLE</span>
</div>
<div class="h-6 w-px bg-white/10"></div>
<a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank" class="text-[11px] text-void-400 hover:text-azure transition-colors font-mono">
Built with <span class="text-azure font-semibold">anycoder</span> <i class="fa-solid fa-arrow-up-right-from-square ml-1 text-[9px]"></i>
</a>
</div>
</div>
</header>
<!-- Main Layout -->
<main class="max-w-[1600px] mx-auto px-4 py-6 grid grid-cols-1 xl:grid-cols-[380px_1fr] gap-6">
<!-- Left Panel: Controls -->
<aside class="space-y-5">
<!-- Configuration Card -->
<div class="glass-panel rounded-xl p-5 scanning-border" id="configCard">
<div class="flex items-center gap-2 mb-4">
<i class="fa-solid fa-sliders text-azure text-sm"></i>
<h2 class="text-sm font-bold uppercase tracking-wider text-white">Configuration</h2>
</div>
<div class="space-y-4">
<div>
<label class="block text-xs font-mono text-void-400 mb-1.5">TARGET URL</label>
<input type="text" id="targetUrl" value="http://192.168.1.100:8080"
class="input-field w-full rounded-lg px-3 py-2.5 text-sm font-mono placeholder-void-600"
placeholder="http://target.com">
</div>
<div class="grid grid-cols-2 gap-3">
<div>
<label class="block text-xs font-mono text-void-400 mb-1.5">THREADS</label>
<input type="number" id="threads" value="12" min="1" max="64"
class="input-field w-full rounded-lg px-3 py-2.5 text-sm font-mono">
</div>
<div>
<label class="block text-xs font-mono text-void-400 mb-1.5">TIMEOUT (ms)</label>
<input type="number" id="timeout" value="5000" min="1000" step="500"
class="input-field w-full rounded-lg px-3 py-2.5 text-sm font-mono">
</div>
</div>
<div>
<label class="block text-xs font-mono text-void-400 mb-1.5">KEYWORDS</label>
<textarea id="keywords" rows="4" readonly
class="input-field w-full rounded-lg px-3 py-2.5 text-xs font-mono leading-relaxed text-void-300 resize-none">bitcoin, recovery, wallet, private, key, secret, username, password</textarea>
</div>
<div>
<label class="block text-xs font-mono text-void-400 mb-1.5">DETECTION MODE</label>
<div class="flex gap-2">
<label class="flex-1 cursor-pointer">
<input type="radio" name="mode" value="12" class="peer sr-only" checked>
<div class="text-center py-2 rounded-lg border border-white/[0.06] text-xs font-mono text-void-400 peer-checked:bg-azure/10 peer-checked:border-azure/30 peer-checked:text-azure transition-all">
12-WORD
</div>
</label>
<label class="flex-1 cursor-pointer">
<input type="radio" name="mode" value="24" class="peer sr-only">
<div class="text-center py-2 rounded-lg border border-white/[0.06] text-xs font-mono text-void-400 peer-checked:bg-azure/10 peer-checked:border-azure/30 peer-checked:text-azure transition-all">
24-WORD
</div>
</label>
<label class="flex-1 cursor-pointer">
<input type="radio" name="mode" value="both" class="peer sr-only">
<div class="text-center py-2 rounded-lg border border-white/[0.06] text-xs font-mono text-void-400 peer-checked:bg-azure/10 peer-checked:border-azure/30 peer-checked:text-azure transition-all">
BOTH
</div>
</label>
</div>
</div>
</div>
</div>
<!-- Action Panel -->
<div class="glass-panel rounded-xl p-5">
<div class="grid grid-cols-2 gap-3 mb-4">
<button id="btnStart" class="btn-primary rounded-lg py-3 px-4 text-sm flex items-center justify-center gap-2">
<i class="fa-solid fa-play text-xs"></i>
<span>START SCAN</span>
</button>
<button id="btnStop" class="btn-danger rounded-lg py-3 px-4 text-sm flex items-center justify-center gap-2 opacity-50 cursor-not-allowed" disabled>
<i class="fa-solid fa-stop text-xs"></i>
<span>ABORT</span>
</button>
</div>
<button id="btnClear" class="w-full py-2.5 rounded-lg border border-white/[0.06] text-xs font-mono text-void-400 hover:text-white hover:border-white/20 hover:bg-white/5 transition-all flex items-center justify-center gap-2">
<i class="fa-solid fa-trash-can"></i>
CLEAR RESULTS
</button>
</div>
<!-- Terminal / Log -->
<div class="glass-panel rounded-xl overflow-hidden flex flex-col" style="height: 380px;">
<div class="px-4 py-2.5 border-b border-white/[0.06] flex items-center justify-between bg-void-950/50">
<div class="flex items-center gap-2">
<i class="fa-solid fa-terminal text-void-500 text-xs"></i>
<span class="text-[11px] font-mono font-bold text-void-400 uppercase">System Log</span>
</div>
<div class="flex items-center gap-1.5">
<span class="w-2.5 h-2.5 rounded-full bg-crimson/20 border border-crimson/40"></span>
<span class="w-2.5 h-2.5 rounded-full bg-chartreuse/20 border border-chartreuse/40"></span>
<span class="w-2.5 h-2.5 rounded-full bg-azure/20 border border-azure/40"></span>
</div>
</div>
<div id="logContainer" class="flex-1 overflow-y-auto p-4 font-mono text-xs space-y-1.5 bg-void-950/30">
<div class="text-void-500 italic">Ready to initialize scan sequence...</div>
</div>
</div>
</aside>
<!-- Right Panel: Results -->
<div class="space-y-5">
<!-- Stats Bar -->
<div class="grid grid-cols-2 md:grid-cols-4 gap-3">
<div class="glass-panel rounded-xl p-4 relative overflow-hidden">
<div class="absolute top-0 right-0 p-2 opacity-10">
<i class="fa-solid fa-globe text-4xl text-azure"></i>
</div>
<div class="text-[11px] font-mono text-void-400 uppercase tracking-wider mb-1">URLs Scanned</div>
<div class="text-2xl font-bold text-white tabular-nums" id="statScanned">0</div>
<div class="progress-track h-1 mt-3">
<div class="progress-fill" id="progressBar" style="width: 0%"></div>
</div>
</div>
<div class="glass-panel rounded-xl p-4 relative overflow-hidden">
<div class="absolute top-0 right-0 p-2 opacity-10">
<i class="fa-solid fa-bullseye text-4xl text-chartreuse"></i>
</div>
<div class="text-[11px] font-mono text-void-400 uppercase tracking-wider mb-1">Hits Found</div>
<div class="text-2xl font-bold text-chartreuse tabular-nums" id="statHits">0</div>
<div class="flex items-center gap-1 mt-2">
<div class="h-1.5 w-1.5 rounded-full bg-chartreuse animate-pulse"></div>
<span class="text-[10px] font-mono text-void-500" id="statHitRate">0.0% success rate</span>
</div>
</div>
<div class="glass-panel rounded-xl p-4 relative overflow-hidden">
<div class="absolute top-0 right-0 p-2 opacity-10">
<i class="fa-solid fa-file-lines text-4xl text-void-300"></i>
</div>
<div class="text-[11px] font-mono text-void-400 uppercase tracking-wider mb-1">Files Indexed</div>
<div class="text-2xl font-bold text-white tabular-nums" id="statFiles">0</div>
<div class="text-[10px] font-mono text-void-500 mt-2" id="statSize">0 B total</div>
</div>
<div class="glass-panel rounded-xl p-4 relative overflow-hidden">
<div class="absolute top-0 right-0 p-2 opacity-10">
<i class="fa-solid fa-bug text-4xl text-crimson"></i>
</div>
<div class="text-[11px] font-mono text-void-400 uppercase tracking-wider mb-1">Keywords Hit</div>
<div class="text-2xl font-bold text-crimson tabular-nums" id="statKeywords">0</div>
<div class="text-[10px] font-mono text-void-500 mt-2">12/24-word phrases</div>
</div>
</div>
<!-- Active Ticker -->
<div class="glass-panel rounded-lg overflow-hidden border-l-2 border-azure">
<div class="ticker-wrap py-2 bg-void-900/40">
<div class="ticker-content font-mono text-[11px] text-void-400" id="tickerText">
<span class="mx-6 text-azure"><i class="fa-solid fa-circle text-[6px] mr-2"></i>SCANNER INITIALIZED</span>
<span class="mx-6 text-void-500">WAITING FOR TARGET</span>
<span class="mx-6 text-void-500">MODULES: DIRECTORY_INDEXER, KEYWORD_EXTRACTOR, MNEMONIC_FINDER</span>
<span class="mx-6 text-void-500">DICTIONARY: BIP39 ENGLISH (2048 WORDS)</span>
<span class="mx-6 text-azure"><i class="fa-solid fa-circle text-[6px] mr-2"></i>SCANNER INITIALIZED</span>
<span class="mx-6 text-void-500">WAITING FOR TARGET</span>
<span class="mx-6 text-void-500">MODULES: DIRECTORY_INDEXER, KEYWORD_EXTRACTOR, MNEMONIC_FINDER</span>
<span class="mx-6 text-void-500">DICTIONARY: BIP39 ENGLISH (2048 WORDS)</span>
</div>
</div>
</div>
<!-- Results Grid -->
<div class="space-y-4" id="resultsArea">
<!-- Empty State -->
<div id="emptyState" class="glass-panel rounded-xl p-16 text-center border-dashed border-2 border-white/[0.04]">
<div class="w-20 h-20 mx-auto mb-6 rounded-full bg-void-800 border border-white/[0.06] flex items-center justify-center">
<i class="fa-solid fa-magnifying-glass text-3xl text-void-600"></i>
</div>
<h3 class="text-lg font-bold text-void-300 mb-2">No Data</h3>
<p class="text-sm text-void-500 max-w-sm mx-auto">Configure a target URL and initiate the scan sequence to begin directory reconnaissance and keyword extraction.</p>
</div>
</div>
</div>
</main>
<!-- Preview Modal -->
<div id="previewModal" class="preview-modal" onclick="if(event.target === this) closePreview()">
<div class="preview-modal-content w-full max-w-3xl mx-4">
<div class="glass-panel rounded-xl overflow-hidden shadow-2xl border border-azure/20">
<div class="px-5 py-3 border-b border-white/[0.06] flex items-center justify-between bg-void-900/80">
<div class="flex items-center gap-3">
<i class="fa-solid fa-file-code text-azure"></i>
<span class="font-mono text-sm text-white" id="previewFilename">document.txt</span>
</div>
<button onclick="closePreview()" class="w-8 h-8 rounded-lg hover:bg-white/10 flex items-center justify-center transition-colors text-void-400 hover:text-white">
<i class="fa-solid fa-xmark"></i>
</button>
</div>
<div class="p-5 bg-void-950/60 overflow-y-auto max-h-[60vh]">
<pre class="font-mono text-sm text-void-300 leading-relaxed whitespace-pre-wrap" id="previewContent"></pre>
</div>
<div class="px-5 py-3 border-t border-white/[0.06] bg-void-900/50 flex items-center justify-between">
<span class="text-[11px] font-mono text-void-500" id="previewMeta">128 KB | text/plain</span>
<button class="text-xs font-mono text-azure hover:text-azure-glow transition-colors flex items-center gap-2">
<i class="fa-solid fa-download"></i>
DOWNLOAD
</button>
</div>
</div>
</div>
</div>
<!-- Footer -->
<footer class="mt-12 border-t border-white/[0.04] py-6">
<div class="max-w-[1600px] mx-auto px-4 flex flex-col md:flex-row items-center justify-between gap-4">
<div class="flex items-center gap-4 text-[11px] text-void-500 font-mono">
<span>OSINT HOUND v2.4.1</span>
<span class="text-void-700">|</span>
<span>Python 3.11 Engine</span>
<span class="text-void-700">|</span>
<span class="text-chartreuse">SECURE CONNECTION</span>
</div>
<div class="text-[11px] text-void-600 font-mono">
Built with <a href="https://huggingface.co/spaces/akhaliq/anycoder" class="text-azure hover:underline">anycoder</a>
</div>
</div>
</footer>
<script>
// ====== DATA & UTILITIES ======
const BIP39 = [
"abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident",
"account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual",
"adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford",
"afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol",
"alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur",
"amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle",
"announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple",
"approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange",
"arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist",
"assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt",
"author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward",
"axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar",
"barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become",
"beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray",
"better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black",
"blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush",
"board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss",
"bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge",
"brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble",
"buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst",
"bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call",
"calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable",
"capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino",
"castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling",
"celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos",
"chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief",
"child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle",
"citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client",
"cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster",
"clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine",
"come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider",
"control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton",
"couch","could","council","count","country","couple","course","cousin","cover","coyote","crack","cradle",
"craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime",
"crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush",
"cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom",
"cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal",
"debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define",
"defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit",
"depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect",
"develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital",
"dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss",
"disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll",
"dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama",
"drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck",
"dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth",
"easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either",
"elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody",
"embrace","emerge","emotion","employ","empty","enable","enact","end","endless","enemy","energy","enforce",
"engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire",
"entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape",
"essay","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess",
"exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit",
"exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric",
"face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy",
"farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee",
"feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure",
"file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish",
"fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock",
"floor","flower","fluid","flush","fly","foam","