Help
RSS
API
Feed
Maltego
Contact
Domain > realaddr.ifantic.de
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-05-13
104.18.20.69
(
ClassC
)
2026-02-19
104.18.21.69
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Thu, 19 Feb 2026 04:43:02 GMTContent-Type: text/html;charsetUTF-8Content-Length: 23182Connection: keep-aliveReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?s9cxa7aDhJDxL%2FiarMk6XMBm0iP80RErlrwWy8sPtqCLtSzV1i3jkPACDslrUH%2Fleqj8zxK8KNXDss4eq8XZAsjlPZV0DYYyOaqtrqqO6k0ID}}Nel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Server: cloudflareCF-RAY: 9d0319d0bc665ed4-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html>head> title>Real Address Generator/title> meta nameviewport contentwidthdevice-width, initial-scale1.0> style> body { font-family: Arial, sans-serif; display: flex; justify-content: center; align-items: center; flex-direction: column; min-height: 100vh; background-color: #f0f0f0; margin: 0; } .container { text-align: center; background: white; padding: 20px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); width: 90%; max-width: 600px; margin: 20px; box-sizing: border-box; position: relative; } .name, .gender, .phone, .address { font-size: 1.5em; margin-bottom: 10px; cursor: pointer; } .refresh-btn { padding: 10px 20px; background-color: #007bff; color: white; border: none; border-radius: 5px; cursor: pointer; margin-bottom: 20px; } .refresh-btn:hover { background-color: #0056b3; } .country-select { margin-bottom: 20px; } .map { width: 100%; height: 400px; border: 0; } .title { font-size: 2em; margin: 20px 0; } .subtitle { font-size: 1.5em; margin-bottom: 20px; } .footer { margin-top: auto; padding: 10px 0; background-color: #f0f0f0; width: 100%; text-align: center; font-size: 0.9em; } .footer a { color: #007bff; text-decoration: none; } .footer a:hover { text-decoration: underline; } .copied { position: absolute; top: 10px; right: 10px; background: #28a745; color: white; padding: 5px 10px; border-radius: 5px; display: none; } .subtitle-small { font-size: 1.2em; margin-bottom: 20px; } .saved-addresses { width: 100%; border-collapse: collapse; margin-top: 20px; } .saved-addresses th, .saved-addresses td { border: 1px solid #ddd; padding: 8px; text-align: center; } .saved-addresses th { background-color: #f2f2f2; } .delete-btn { padding: 5px 10px; background-color: #dc3545; color: white; border: none; border-radius: 3px; cursor: pointer; } .delete-btn:hover { background-color: #c82333; } .mode-switch { margin: 20px 0; } .mode-btn { padding: 10px 20px; background-color: #6c757d; color: white; border: none; border-radius: 5px; cursor: pointer; margin: 0 10px; } .mode-btn.active { background-color: #28a745; } .batch-controls { margin: 20px 0; } .batch-input { padding: 8px; margin-right: 10px; width: 60px; text-align: center; } .container-batch { display: none; } .batch-address-item { border: 1px solid #ddd; padding: 10px; margin-bottom: 10px; text-align: left; position: relative; } .batch-action-btns { margin: 20px 0; } .loading { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); display: flex; justify-content: center; align-items: center; z-index: 1000; } .loading-spinner { width: 50px; height: 50px; border: 5px solid #f3f3f3; border-top: 5px solid #3498db; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .export-controls { margin: 20px 0; display: flex; justify-content: center; gap: 10px; } .export-btn { padding: 10px 20px; background-color: #28a745; color: white; border: none; border-radius: 5px; cursor: pointer; } .export-btn:hover { background-color: #218838; } /style>/head>body> div classtitle>Real Address Generator/div> div classsubtitle>真实地址生成器/div> div classmode-switch> button idsingleModeBtn classmode-btn active onclickswitchMode(single)>单个地址模式br>Single Address Mode/button> button idbatchModeBtn classmode-btn onclickswitchMode(batch)>批量地址模式br>Batch Address Mode/button> /div> !-- Single address container (existing functionality) --> div idcontainerSingle classcontainer> div classsubtitle-small>Click to copy information(点击即可复制信息)/div> div classcopied idcopied>Copied!/div> div classname onclickcopyToClipboard(Emilie Kowalski)>Emilie Kowalski/div> div classgender onclickcopyToClipboard(Female)>Female/div> div classphone onclickcopyToClipboard(+79186397394)>+7 918 639-73-94/div> div classaddress onclickcopyToClipboard(18 улица Писарева, Санкт-Петербург, 190121, RU)>18 улица Писарева, Санкт-Петербург, 190121, RU/div> button classrefresh-btn onclickwindow.location.reload();>Get Another Address 获取新地址/button> button classrefresh-btn onclicksaveAddress();>Save Address 保存地址/button> div classcountry-select> label forcountry>Select country, new address will be generated automatically after checking the box/label>br> span>选择国家,在勾选后将自动生成新地址/span> select idcountry onchangechangeCountry(this.value)> option valueUS >United States 美国/option>option valueUK >United Kingdom 英国/option>option valueFR >France 法国/option>option valueDE >Germany 德国/option>option valueCN >China 中国/option>option valueTW >Taiwan 中国台湾/option>option valueHK >Hong Kong 中国香港/option>option valueJP >Japan 日本/option>option valueIN >India 印度/option>option valueAU >Australia 澳大利亚/option>option valueBR >Brazil 巴西/option>option valueCA >Canada 加拿大/option>option valueRU selected>Russia 俄罗斯/option>option valueZA >South Africa 南非/option>option valueMX >Mexico 墨西哥/option>option valueKR >South Korea 韩国/option>option valueIT >Italy 意大利/option>option valueES >Spain 西班牙/option>option valueTR >Turkey 土耳其/option>option valueSA >Saudi Arabia 沙特阿拉伯/option>option valueAR >Argentina 阿根廷/option>option valueEG >Egypt 埃及/option>option valueNG >Nigeria 尼日利亚/option>option valueID >Indonesia 印度尼西亚/option> /select> /div> iframe classmap srchttps://www.google.com/maps?q18%20%D1%83%D0%BB%D0%B8%D1%86%D0%B0%20%D0%9F%D0%B8%D1%81%D0%B0%D1%80%D0%B5%D0%B2%D0%B0%2C%20%D0%A1%D0%B0%D0%BD%D0%BA%D1%82-%D0%9F%D0%B5%D1%82%D0%B5%D1%80%D0%B1%D1%83%D1%80%D0%B3%2C%20190121%2C%20RU&outputembed>/iframe> table classsaved-addresses idsavedAddressesTable> thead> tr> th>操作 Operation/th> th>备注 Notes/th> th>姓名 Name/th> th>性别 Gender/th> th>电话号码 Phone number/th> th>地址 Address/th> /tr> /thead> tbody> !-- 动态生成的内容 --> /tbody> /table> /div> !-- Batch address container (new functionality) --> div idcontainerBatch classcontainer container-batch> div classsubtitle-small>Batch generate addresses (批量生成地址)/div> div classbatch-controls> label forbatchSize>Number of addresses to generate (生成地址数量,最多100):/label> input typenumber idbatchSize classbatch-input min1 max100 value10> div classcountry-select> label forbatchCountry>Select country (选择国家):/label> select idbatchCountry> option valueUS >United States 美国/option>option valueUK >United Kingdom 英国/option>option valueFR >France 法国/option>option valueDE >Germany 德国/option>option valueCN >China 中国/option>option valueTW >Taiwan 中国台湾/option>option valueHK >Hong Kong 中国香港/option>option valueJP >Japan 日本/option>option valueIN >India 印度/option>option valueAU >Australia 澳大利亚/option>option valueBR >Brazil 巴西/option>option valueCA >Canada 加拿大/option>option valueRU selected>Russia 俄罗斯/option>option valueZA >South Africa 南非/option>option valueMX >Mexico 墨西哥/option>option valueKR >South Korea 韩国/option>option valueIT >Italy 意大利/option>option valueES >Spain 西班牙/option>option valueTR >Turkey 土耳其/option>option valueSA >Saudi Arabia 沙特阿拉伯/option>option valueAR >Argentina 阿根廷/option>option valueEG >Egypt 埃及/option>option valueNG >Nigeria 尼日利亚/option>option valueID >Indonesia 印度尼西亚/option> /select> /div> button classrefresh-btn onclickgenerateBatchAddresses()>Generate Batch Addresses 批量生成地址/button> /div> div idbatchResults classbatch-results> !-- Batch results will be inserted here --> /div> div classbatch-action-btns> button classrefresh-btn onclicksaveAllBatchAddresses()>Save All Addresses 保存所有地址/button> button classrefresh-btn stylebackground-color: #dc3545; onclickclearBatchAddresses()>Clear Batch 清空批量地址/button> /div> table classsaved-addresses idbatchSavedAddressesTable> thead> tr> th>操作 Operation/th> th>备注 Notes/th> th>姓名 Name/th> th>性别 Gender/th> th>电话号码 Phone number/th> th>地址 Address/th> /tr> /thead> tbody> !-- 动态生成的内容 --> /tbody> /table> div classbatch-action-btns> button classrefresh-btn stylebackground-color: #dc3545; onclickdeleteAllSavedAddresses()>Delete All Saved Addresses 删除所有保存的地址/button> /div> div classexport-controls> button classexport-btn onclickexportSavedAddresses(json)>Export as JSON 导出为JSON/button> button classexport-btn onclickexportSavedAddresses(csv)>Export as CSV 导出为CSV/button> /div> /div> div classloading idloadingOverlay styledisplay: none;> div classloading-spinner>/div> /div> div classfooter> Original version by chatgpt.org.uk, modified by Adonis142857 | a hrefhttps://github.com/Adonis142857/Real-Address-Generator target_blank>img srchttps://pic.imgdb.cn/item/66e7ab36d9c307b7e9cefd24.png altGitHub stylewidth: 20px; height: 20px; vertical-align: middle; position: relative; top: -3px;>/a> /div> script> // Current mode let currentMode single; // Batch addresses storage let batchAddresses ; // Switch between single and batch modes function switchMode(mode) { currentMode mode; if (mode single) { document.getElementById(singleModeBtn).classList.add(active); document.getElementById(batchModeBtn).classList.remove(active); document.getElementById(containerSingle).style.display block; document.getElementById(containerBatch).style.display none; } else { document.getElementById(singleModeBtn).classList.remove(active); document.getElementById(batchModeBtn).classList.add(active); document.getElementById(containerSingle).style.display none; document.getElementById(containerBatch).style.display block; renderBatchSavedAddresses(); } } // Copy to clipboard function (existing) function copyToClipboard(text) { navigator.clipboard.writeText(text).then(() > { const copied document.getElementById(copied) copied.style.display block setTimeout(() > { copied.style.display none }, 2000) }) } // Single address: Change country function changeCountry(country) { window.location.href `?country${country}` } // Single address: Save address (existing) function saveAddress() { const note prompt(请输入备注(可以留空)| Please enter a note (can be left blank)) || ; const savedAddresses JSON.parse(localStorage.getItem(savedAddresses) || ); const newEntry { note: note, name: Emilie Kowalski, gender: Female, phone: +7 918 6397394, address: 18 улица Писарева, Санкт-Петербург, 190121, RU }; savedAddresses.push(newEntry); localStorage.setItem(savedAddresses, JSON.stringify(savedAddresses)); renderSavedAddresses(); } // Single address: Render saved addresses (existing) function renderSavedAddresses() { const savedAddresses JSON.parse(localStorage.getItem(savedAddresses) || ); const tbody document.getElementById(savedAddressesTable).getElementsByTagName(tbody)0; tbody.innerHTML ; savedAddresses.forEach((entry, index) > { const row tbody.insertRow(); const deleteCell row.insertCell(); const noteCell row.insertCell(); const nameCell row.insertCell(); const genderCell row.insertCell(); const phoneCell row.insertCell(); const addressCell row.insertCell(); // Delete button const deleteBtn document.createElement(button); deleteBtn.textContent 删除 Delete; deleteBtn.className delete-btn; deleteBtn.onclick () > { savedAddresses.splice(index, 1); localStorage.setItem(savedAddresses, JSON.stringify(savedAddresses)); renderSavedAddresses(); }; deleteCell.appendChild(deleteBtn); noteCell.textContent entry.note; nameCell.textContent entry.name; genderCell.textContent entry.gender; phoneCell.textContent entry.phone; addressCell.textContent entry.address; }); } // Batch address: Generate batch addresses async function generateBatchAddresses() { const batchSize parseInt(document.getElementById(batchSize).value); const country document.getElementById(batchCountry).value; if (batchSize 1 || batchSize > 100) { alert(Please enter a number between 1 and 100); return; } // Show loading overlay document.getElementById(loadingOverlay).style.display flex; try { // Call API to generate batch addresses const response await fetch(?batchtrue&country + country + &batchSize + batchSize, { method: POST, headers: { Content-Type: application/json } }); if (!response.ok) { const errorText await response.text(); throw new Error(Failed to generate addresses: + response.status + + errorText); } const data await response.json(); batchAddresses data.addresses; // Render batch addresses renderBatchAddresses(); if (data.generated data.requested) { alert(`Warning: Requested ${data.requested} addresses, but only ${data.generated} could be generated. This might be due to API limits or other issues.`); } } catch (error) { alert(Error generating addresses: + error.message); } finally { // Hide loading overlay document.getElementById(loadingOverlay).style.display none; } } // Batch address: Render batch addresses function renderBatchAddresses() { const resultsContainer document.getElementById(batchResults); resultsContainer.innerHTML ; batchAddresses.forEach((address, index) > { const addressDiv document.createElement(div); addressDiv.className batch-address-item; addressDiv.innerHTML ` strong>Name:/strong> span onclickcopyToClipboard(${address.name}) stylecursor:pointer;>${address.name}/span>br> strong>Gender:/strong> span onclickcopyToClipboard(${address.gender}) stylecursor:pointer;>${address.gender}/span>br> strong>Phone:/strong> span onclickcopyToClipboard(${address.phone.replace(/()\s-/g, )}) stylecursor:pointer;>${address.phone}/span>br> strong>Address:/strong> span onclickcopyToClipboard(${address.address}) stylecursor:pointer;>${address.address}/span>br> button classrefresh-btn stylepadding: 5px 10px; margin-top: 10px; onclicksaveAddressFromBatch(${index})>Save this address 保存此地址/button> `; resultsContainer.appendChild(addressDiv); }); } // Batch address: Save a single address from batch function saveAddressFromBatch(index) { const address batchAddressesindex; if (!address) return; const note prompt(请输入备注(可以留空)| Please enter a note (can be left blank)) || ; const savedAddresses JSON.parse(localStorage.getItem(savedAddresses) || ); const newEntry { note: note, name: address.name, gender: address.gender, phone: address.phone.replace(/()\s-/g, ), address: address.address }; savedAddresses.push(newEntry); localStorage.setItem(savedAddresses, JSON.stringify(savedAddresses)); renderBatchSavedAddresses(); alert(Address saved! 地址已保存!); } // Batch address: Save all addresses from batch function saveAllBatchAddresses() { if (batchAddresses.length 0) { alert(No addresses to save. Please generate addresses first.); return; } const note prompt(请为所有地址输入备注(可以留空)| Please enter a note for all addresses (can be left blank)) || ; const savedAddresses JSON.parse(localStorage.getItem(savedAddresses) || ); batchAddresses.forEach(address > { const newEntry { note: note, name: address.name, gender: address.gender, phone: address.phone.replace(/()\s-/g, ), address: address.address }; savedAddresses.push(newEntry); }); localStorage.setItem(savedAddresses, JSON.stringify(savedAddresses)); renderBatchSavedAddresses(); alert(All addresses saved! 所有地址已保存!); } // Batch address: Clear batch addresses function clearBatchAddresses() { if (confirm(Are you sure you want to clear all batch addresses? 确定要清空所有批量生成的地址吗?)) { batchAddresses ; renderBatchAddresses(); } } // Batch address: Delete all saved addresses function deleteAllSavedAddresses() { if (confirm(Are you sure you want to delete ALL saved addresses? This cannot be undone. 确定要删除所有已保存的地址吗?此操作不可撤销。)) { localStorage.removeItem(savedAddresses); renderBatchSavedAddresses(); // Renders empty table in batch mode if (currentMode single) { // Also clear single mode table if visible renderSavedAddresses(); } alert(All saved addresses deleted! 所有已保存的地址已删除!); } } // Batch address: Render saved addresses in batch mode function renderBatchSavedAddresses() { const savedAddresses JSON.parse(localStorage.getItem(savedAddresses) || ); const tbody document.getElementById(batchSavedAddressesTable).getElementsByTagName(tbody)0; tbody.innerHTML ; savedAddresses.forEach((entry, index) > { const row tbody.insertRow(); const deleteCell row.insertCell(); const noteCell row.insertCell(); const nameCell row.insertCell(); const genderCell row.insertCell(); const phoneCell row.insertCell(); const addressCell row.insertCell(); // Delete button const deleteBtn document.createElement(button); deleteBtn.textContent 删除 Delete; deleteBtn.className delete-btn; deleteBtn.onclick () > { savedAddresses.splice(index, 1); localStorage.setItem(savedAddresses, JSON.stringify(savedAddresses)); renderBatchSavedAddresses(); }; deleteCell.appendChild(deleteBtn); noteCell.textContent entry.note; nameCell.textContent entry.name; genderCell.textContent entry.gender; phoneCell.textContent entry.phone; addressCell.textContent entry.address; }); } // Export saved addresses in JSON or CSV format function exportSavedAddresses(format) { const savedAddresses JSON.parse(localStorage.getItem(savedAddresses) || ); if (savedAddresses.length 0) { alert(No saved addresses to export. Please save some addresses first.); return; } let content ; if (format json) { content JSON.stringify(savedAddresses, null, 2); copyToClipboard(content); alert(JSON data copied to clipboard! 已复制JSON数据到剪贴板!); } else if (format csv) { // CSV header content Note,Name,Gender,Phone,Address\n; // CSV rows savedAddresses.forEach(entry > { // Escape quotes in CSV fields const note entry.note.replace(//g, ); const name entry.name.replace(//g, ); const gender entry.gender.replace(//g, ); const phone entry.phone.replace(//g, ); const address entry.address.replace(//g, ); content + `${note},${name},${gender},${phone},${address}\n`; }); copyToClipboard(content); alert(CSV data copied to clipboard! 已复制CSV数据到剪贴板!); } } // Initialize the page window.onload function() { renderSavedAddresses(); // For single mode // Batch mode saved addresses are rendered when switching to batch mode }; /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
]