Help
RSS
API
Feed
Maltego
Contact
Domain > athas.dev
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-04-27
172.67.157.36
(
ClassC
)
2025-10-07
49.13.149.181
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: nginx/1.24.0 (Ubuntu)Date: Tue, 07 Oct 2025 23:33:36 GMTContent-Type: text/htmlContent-Length: 178Connection: keep-aliveLocation: https://athas.dev/ html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>nginx/1.24.0 (Ubuntu)/center>/body>/html>
Port 443
HTTP/1.1 200 OKServer: nginx/1.24.0 (Ubuntu)Content-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveCache-Control: no-cache, privateDate: Tue, 07 Oct 2025 23:33:37 GMTSet-Cookie: XSRF-TOKENeyJpdiI6ImYrcnZUYWQ1NGtTQTNMRTBoMkhVekE9PSIsInZhbHVlIjoieUxuT0VSSjVjZHlhK2ZHV2piTmZ3VmFyRkpYTUJURnFKb0Jscjh1S2VzQlA4cjhPM3U4bFh2b1hwM3pUZ2dvUFJhbm9ZWjdWMko1M2tlRkdiaGtZNEI4QW90aGcwclNhc2pIOFNTTnBqcTdySlVjZWd5cXVZUldkY0o4V1FTT2EiLCJtYWMiOiIwZDljMGQ2NTU5OTRkZjc2ZWY0YzBiMTM2NzhlMzA3Y2U1MmIwY2Q2ZDczN2E4ZjExMjY1NTczNDJiZWM1MzhhIiwidGFnIjoiIn0%3D; expiresWed, 08 Oct 2025 01:33:37 GMT; Max-Age7200; path/; secure; samesitelaxSet-Cookie: laravel_sessioneyJpdiI6IkJzaDZwWEJNMjhEem8xWmN0ckZ4WlE9PSIsInZhbHVlIjoick80OCtzRHNQbmE3c2tFZjkxZmtSOGU2YzhLa3BHYVpjeGhsVTRFU0duS0pnUTRrNzA3cDRjSjUrWit3bG5tMEs5OXMzd0hvUGN4Y21qcitremcwOWNFbnVlZjIrL0xna0hmck90SlFPUHVoN05NVHQrNjI1dkJwSXp1K0MrcHIiLCJtYWMiOiI2YTc5MWMyNTNjODBhZjM4ZjEyMWMwOGQ2ZjcxMzFkMmVlZGQ4OTJhY2FiOTYxMjIyY2MxNDRkODZhZmNmN2Y2IiwidGFnIjoiIn0%3D; expiresWed, 08 Oct 2025 01:33:37 GMT; Max-Age7200; path/; secure; httponly; samesitelax !DOCTYPE html>html langen> head> meta charsetutf-8> meta nameviewport contentwidthdevice-width, initial-scale1> meta namecsrf-token contentjps1tmNPPLjHw0dIeNNalACF4R50sgTeyI1YHp6E> title>Athas - Lightweight Code Editor/title> !-- Favicons --> link relapple-touch-icon sizes180x180 href/apple-touch-icon.png> link relicon typeimage/png sizes32x32 href/favicon-32x32.png> link relicon typeimage/png sizes16x16 href/favicon-16x16.png> link relmanifest href/site.webmanifest> link relshortcut icon href/favicon.ico> meta nametheme-color content#ffffff> !-- Fonts --> link relpreconnect hrefhttps://fonts.googleapis.com> link relpreconnect hrefhttps://fonts.gstatic.com crossorigin> link hrefhttps://fonts.googleapis.com/css2?familyJetBrains+Mono:wght@300;400;500;600&displayswap relstylesheet> link relpreload asstyle hrefhttps://athas.dev/build/assets/app-yYT7dpmq.css />link relmodulepreload hrefhttps://athas.dev/build/assets/app-T1DpEqax.js />link relstylesheet hrefhttps://athas.dev/build/assets/app-yYT7dpmq.css />script typemodule srchttps://athas.dev/build/assets/app-T1DpEqax.js>/script> style> body { font-family: JetBrains Mono, monospace; } /style> /head>body classbg-gray-50 text-gray-900 min-h-screen flex flex-col> div classcontainer mx-auto px-6 py-12 max-w-4xl flex-1 flex flex-col justify-center> !-- Logo Section --> div classtext-center mb-16> div classinline-block> h1 classtext-4xl md:text-6xl font-light tracking-wider mb-2> span classtext-gray-900>athas/span> /h1> div classh-0.5 bg-blue-500 w-full>/div> p classtext-sm md:text-base text-gray-600 mt-4 font-light> lightweight code editor /p> /div> /div> !-- Content Grid --> div classgrid md:grid-cols-2 gap-12 md:gap-16> !-- Waitlist Section --> div classspace-y-6> h2 classtext-xl font-medium border-l-4 border-blue-500 pl-4> join waitlist /h2> div classspace-y-4> p classtext-sm text-gray-600 leading-relaxed> Get early access to a minimalist coding environment designed for focus and flow. /p> !-- Success/Error Messages --> div idmessage classhidden p-3 rounded text-sm>/div> !-- Default Form State --> div idform-container> form idwaitlist-form classspace-y-3> input typehidden name_token valuejps1tmNPPLjHw0dIeNNalACF4R50sgTeyI1YHp6E autocompleteoff> div classrelative> input typeemail nameemail idemail-input placeholderyour@email.com classw-full px-4 py-3 border border-gray-300 bg-white text-sm focus:border-blue-500 focus:outline-none transition-colors required > div idemail-status classabsolute right-3 top-3 text-xs hidden>/div> /div> button typesubmit idsubmit-btn classw-full px-4 py-3 bg-gray-900 text-white text-sm hover:bg-blue-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed > span idbtn-text>join waitlist/span> span idbtn-loading classhidden>joining.../span> /button> /form> /div> !-- Already Subscribed State --> div idsubscribed-container classhidden> div classborder-2 border-green-200 bg-green-50 p-4 rounded space-y-3> div classflex items-center space-x-2> div classw-2 h-2 bg-green-500 rounded-full>/div> span classtext-sm font-medium text-green-800>Youre on the waitlist!/span> /div> p classtext-xs text-green-700> Well notify you at span idsubscribed-email classfont-medium>/span> when athas is ready. /p> button idchange-email-btn classtext-xs text-green-600 hover:text-green-800 underline > Use a different email /button> /div> /div> p classtext-xs text-gray-500> → span idwaitlist-count>4,059/span> developers waiting /p> /div> /div> !-- Roadmap Section --> div classspace-y-6> h2 classtext-xl font-medium border-l-4 border-blue-500 pl-4> roadmap /h2> div classspace-y-4> div classflex items-start space-x-3> div classw-2 h-2 bg-blue-500 rounded-full mt-2 flex-shrink-0>/div> div> p classtext-sm font-medium>core features/p> p classtext-xs text-gray-600>minimal editor with syntax highlighting/p> p classtext-xs text-blue-600>in progress/p> /div> /div> div classflex items-start space-x-3> div classw-2 h-2 bg-blue-500 rounded-full mt-2 flex-shrink-0>/div> div> p classtext-sm font-medium>vim mode/p> p classtext-xs text-gray-600>vim mode for editing code/p> p classtext-xs text-blue-600>in progress/p> /div> /div> div classflex items-start space-x-3> div classw-2 h-2 bg-gray-300 rounded-full mt-2 flex-shrink-0>/div> div> p classtext-sm font-medium>customization/p> p classtext-xs text-gray-600>custom themes, fonts, and more/p> p classtext-xs text-gray-500>not started/p> /div> /div> div classflex items-start space-x-3> div classw-2 h-2 bg-gray-300 rounded-full mt-2 flex-shrink-0>/div> div> p classtext-sm font-medium>collaboration/p> p classtext-xs text-gray-600>real-time pair programming/p> p classtext-xs text-gray-500>not started/p> /div> /div> /div> /div> /div> !-- Footer --> div classmt-16 pt-8 border-t border-gray-200> p classtext-center text-xs text-gray-500> © 2025 athas code editor — a hrefhttps://x.com/athasdev classtext-blue-500 hover:text-blue-600>@athasdev/a> /p> /div> /div> script> document.addEventListener(DOMContentLoaded, function() { const form document.getElementById(waitlist-form); const formContainer document.getElementById(form-container); const subscribedContainer document.getElementById(subscribed-container); const messageDiv document.getElementById(message); const submitBtn document.getElementById(submit-btn); const btnText document.getElementById(btn-text); const btnLoading document.getElementById(btn-loading); const countSpan document.getElementById(waitlist-count); const emailInput document.getElementById(email-input); const emailStatus document.getElementById(email-status); const subscribedEmail document.getElementById(subscribed-email); const changeEmailBtn document.getElementById(change-email-btn); let emailCheckTimeout; // Check if user is already subscribed on page load const savedEmail localStorage.getItem(athas_waitlist_email); if (savedEmail) { checkEmailExists(savedEmail, true); } // Real-time email checking emailInput.addEventListener(input, function() { clearTimeout(emailCheckTimeout); emailStatus.classList.add(hidden); const email this.value.trim(); if (email && email.includes(@)) { emailCheckTimeout setTimeout(() > { checkEmailExists(email, false); }, 500); } }); // Change email button changeEmailBtn.addEventListener(click, function() { localStorage.removeItem(athas_waitlist_email); showFormState(); emailInput.value ; emailInput.focus(); }); // Form submission form.addEventListener(submit, async function(e) { e.preventDefault(); const formData new FormData(form); const email formData.get(email).trim(); // Show loading state submitBtn.disabled true; btnText.classList.add(hidden); btnLoading.classList.remove(hidden); messageDiv.classList.add(hidden); try { const response await fetch(https://athas.dev/waitlist, { method: POST, body: formData, headers: { X-CSRF-TOKEN: document.querySelector(metanamecsrf-token).getAttribute(content), } }); const data await response.json(); if (data.success) { // Success - new signup localStorage.setItem(athas_waitlist_email, email); countSpan.textContent new Intl.NumberFormat().format(data.count); showSubscribedState(email); showMessage(Thanks for joining! We\ll notify you when athas is ready., success); } else if (data.already_subscribed) { // Already subscribed localStorage.setItem(athas_waitlist_email, email); countSpan.textContent new Intl.NumberFormat().format(data.count); showSubscribedState(email); } else { // Other error showMessage(data.message, error); } } catch (error) { showMessage(Network error. Please try again., error); } finally { // Reset button state submitBtn.disabled false; btnText.classList.remove(hidden); btnLoading.classList.add(hidden); } }); // Helper function to check if email exists async function checkEmailExists(email, isPageLoad) { try { const formData new FormData(); formData.append(email, email); const response await fetch(https://athas.dev/waitlist/check, { method: POST, body: formData, headers: { X-CSRF-TOKEN: document.querySelector(metanamecsrf-token).getAttribute(content), } }); const data await response.json(); if (data.exists) { if (isPageLoad) { showSubscribedState(email); } else { emailStatus.textContent ✓ Already subscribed; emailStatus.className absolute right-3 top-3 text-xs text-green-600; emailStatus.classList.remove(hidden); } } else if (!isPageLoad) { emailStatus.textContent ✓ Available; emailStatus.className absolute right-3 top-3 text-xs text-blue-600; emailStatus.classList.remove(hidden); } } catch (error) { // Silently fail email checking if (!isPageLoad) { emailStatus.classList.add(hidden); } } } // Helper function to show subscribed state function showSubscribedState(email) { subscribedEmail.textContent email; formContainer.classList.add(hidden); subscribedContainer.classList.remove(hidden); } // Helper function to show form state function showFormState() { formContainer.classList.remove(hidden); subscribedContainer.classList.add(hidden); messageDiv.classList.add(hidden); } // Helper function to show messages function showMessage(message, type) { if (type success) { messageDiv.className p-3 rounded text-sm bg-green-100 text-green-800 border border-green-200; } else { messageDiv.className p-3 rounded text-sm bg-red-100 text-red-800 border border-red-200; } messageDiv.textContent message; messageDiv.classList.remove(hidden); // Auto-hide success messages if (type success) { setTimeout(() > { messageDiv.classList.add(hidden); }, 3000); } } }); /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
]