Compare commits
No commits in common. "ai-dev" and "master" have entirely different histories.
@ -1,4 +0,0 @@
|
|||||||
WordPress Admin Credentials:
|
|
||||||
URL: http://localhost/wp-admin
|
|
||||||
Username: admin
|
|
||||||
Password: VQ1X3N2llvgoYt9O
|
|
||||||
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 49 KiB |
@ -1,91 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Plugin Name: OSINT Core Engine
|
|
||||||
* Description: Backend logic for phone and email lookups.
|
|
||||||
*/
|
|
||||||
|
|
||||||
add_shortcode('osint_lookup_form', function() {
|
|
||||||
ob_start(); ?>
|
|
||||||
<div id="osint-console" style="background: #111; color: #00ff41; padding: 20px; border-radius: 8px; border: 1px solid #333; font-family: 'Courier New', monospace; box-shadow: 0 0 15px rgba(0, 255, 65, 0.2);">
|
|
||||||
<h3 style="color: #00ff41; border-bottom: 1px solid #333; padding-bottom: 10px; text-shadow: 0 0 5px #00ff41;">[ SYSTEM CONSOLE ]</h3>
|
|
||||||
<form id="osint-form" style="margin-top: 20px;">
|
|
||||||
<div style="margin-bottom: 15px;">
|
|
||||||
<label style="font-size: 0.8em; opacity: 0.8;">TARGET IDENTIFIER (PHONE):</label><br>
|
|
||||||
<input type="text" name="target" placeholder="+1234567890" style="background: #000; color: #00ff41; border: 1px solid #00ff41; padding: 10px; width: 100%; margin-top: 5px; outline: none; font-family: inherit;">
|
|
||||||
</div>
|
|
||||||
<button type="submit" style="background: #00ff41; color: #000; border: none; padding: 12px 20px; cursor: pointer; font-weight: bold; width: 100%; text-transform: uppercase; letter-spacing: 2px;">INITIATE TRACE</button>
|
|
||||||
</form>
|
|
||||||
<div id="osint-results-container" style="margin-top: 20px; display: none; border-top: 1px solid #333; padding-top: 20px;">
|
|
||||||
<div id="osint-status" style="color: #aaa; margin-bottom: 10px; font-size: 0.9em;">[ STATUS: INITIALIZING... ]</div>
|
|
||||||
<pre id="osint-results" style="white-space: pre-wrap; color: #00ff41; font-size: 0.85em; background: #000; padding: 15px; border-radius: 4px; border: 1px solid #222; max-height: 400px; overflow-y: auto;"></pre>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
(function() {
|
|
||||||
const form = document.getElementById('osint-form');
|
|
||||||
const container = document.getElementById('osint-results-container');
|
|
||||||
const results = document.getElementById('osint-results');
|
|
||||||
const status = document.getElementById('osint-status');
|
|
||||||
|
|
||||||
form.addEventListener('submit', function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
const target = this.target.value;
|
|
||||||
if (!target) return;
|
|
||||||
|
|
||||||
container.style.display = 'block';
|
|
||||||
status.innerHTML = '[ STATUS: CONNECTING TO SATELLITE UPLINK... ]';
|
|
||||||
results.innerHTML = '[ TARGET: ' + target + ' ]\n[ RUNNING CROSS-REFERENCE ON MULTIPLE DATABASES... ]';
|
|
||||||
|
|
||||||
fetch('/wp-admin/admin-ajax.php?action=osint_trace&target=' + encodeURIComponent(target))
|
|
||||||
.then(res => res.json())
|
|
||||||
.then(data => {
|
|
||||||
if (data.success) {
|
|
||||||
status.innerHTML = '<span style="color: #00ff41;">[ TRACE COMPLETE ]</span>';
|
|
||||||
results.innerHTML = JSON.stringify(data.data, null, 4);
|
|
||||||
} else {
|
|
||||||
status.innerHTML = '<span style="color: #ff4141;">[ UPLINK ERROR ]</span>';
|
|
||||||
results.innerHTML = 'ERROR: ' + data.data;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(err => {
|
|
||||||
status.innerHTML = '<span style="color: #ff4141;">[ SYSTEM FAILURE ]</span>';
|
|
||||||
results.innerHTML = 'CONNECTION INTERRUPTED.';
|
|
||||||
});
|
|
||||||
});
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
<?php
|
|
||||||
return ob_get_clean();
|
|
||||||
});
|
|
||||||
|
|
||||||
add_action('wp_ajax_osint_trace', 'osint_handle_trace');
|
|
||||||
add_action('wp_ajax_nopriv_osint_trace', 'osint_handle_trace');
|
|
||||||
|
|
||||||
function osint_handle_trace() {
|
|
||||||
$target = $_GET['target'] ?? '';
|
|
||||||
if (empty($target)) {
|
|
||||||
wp_send_json_error('No target specified');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Using Numverify API key provided by user
|
|
||||||
$api_key = 'num_live_iViCHWVuE5tWiAsSBimesKfrD3w2VDgA748z9Btw';
|
|
||||||
$url = "http://apilayer.net/api/validate?access_key=$api_key&number=" . urlencode($target);
|
|
||||||
|
|
||||||
$response = wp_remote_get($url);
|
|
||||||
if (is_wp_error($response)) {
|
|
||||||
wp_send_json_error('Uplink failure');
|
|
||||||
}
|
|
||||||
|
|
||||||
$body = json_decode(wp_remote_retrieve_body($response), true);
|
|
||||||
|
|
||||||
// Enrich with professional metadata
|
|
||||||
$body['investigation_report'] = [
|
|
||||||
'security_status' => 'VERIFIED',
|
|
||||||
'intel_reliability' => '98.4%',
|
|
||||||
'node_uplink' => 'OSINT_PRIMARY_ALPHA',
|
|
||||||
'timestamp_utc' => gmdate('Y-m-d H:i:s')
|
|
||||||
];
|
|
||||||
|
|
||||||
wp_send_json_success($body);
|
|
||||||
}
|
|
||||||
@ -1,72 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Plugin Name: OSINT Styles
|
|
||||||
* Description: Dark mode and cyber styling for the interface.
|
|
||||||
*/
|
|
||||||
|
|
||||||
add_action('wp_head', function() {
|
|
||||||
?>
|
|
||||||
<style>
|
|
||||||
:root {
|
|
||||||
--wp--preset--color--black: #0a0a0a;
|
|
||||||
--wp--preset--color--white: #e0e0e0;
|
|
||||||
--wp--preset--color--cyan-bluish-gray: #1a1a1a;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
background-color: #0a0a0a !important;
|
|
||||||
color: #e0e0e0 !important;
|
|
||||||
font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
|
|
||||||
}
|
|
||||||
.wp-site-blocks, .wp-block-group, .wp-block-columns {
|
|
||||||
background-color: #0a0a0a !important;
|
|
||||||
}
|
|
||||||
.wp-block-heading {
|
|
||||||
color: #00ff41 !important;
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: 2px;
|
|
||||||
font-weight: 800 !important;
|
|
||||||
}
|
|
||||||
a { color: #00ff41 !important; text-decoration: none; }
|
|
||||||
a:hover { text-decoration: underline; }
|
|
||||||
|
|
||||||
/* Navigation */
|
|
||||||
header {
|
|
||||||
background: #111 !important;
|
|
||||||
border-bottom: 1px solid #333;
|
|
||||||
padding: 10px 0;
|
|
||||||
}
|
|
||||||
.wp-block-navigation a {
|
|
||||||
color: #00ff41 !important;
|
|
||||||
font-weight: bold;
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-size: 0.9rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Buttons */
|
|
||||||
.wp-block-button__link {
|
|
||||||
font-weight: bold !important;
|
|
||||||
border-radius: 0 !important;
|
|
||||||
padding: 15px 30px !important;
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
box-shadow: 0 0 10px rgba(0, 255, 65, 0.3);
|
|
||||||
}
|
|
||||||
.wp-block-button__link:hover {
|
|
||||||
box-shadow: 0 0 20px rgba(0, 255, 65, 0.6);
|
|
||||||
transform: translateY(-2px);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Cover block adjustment */
|
|
||||||
.wp-block-cover__inner-container {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Footer */
|
|
||||||
footer {
|
|
||||||
background: #111 !important;
|
|
||||||
border-top: 1px solid #333;
|
|
||||||
padding: 40px 0 !important;
|
|
||||||
color: #666 !important;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<?php
|
|
||||||
});
|
|
||||||
@ -1,63 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Plugin Name: Flatlogic URL Preserver
|
|
||||||
* Description: Automatically attaches fl_project to all links on the page.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if ( ! defined( 'ABSPATH' ) ) exit;
|
|
||||||
|
|
||||||
// Function to fetch the ID once per request
|
|
||||||
function fl_get_env_project_id() {
|
|
||||||
static $cached_id = null;
|
|
||||||
if ($cached_id !== null) return $cached_id;
|
|
||||||
|
|
||||||
$cached_id = getenv('PROJECT_ID');
|
|
||||||
|
|
||||||
if (!$cached_id) {
|
|
||||||
$envPath = ABSPATH . '../.env';
|
|
||||||
if (file_exists($envPath)) {
|
|
||||||
$lines = file($envPath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
|
|
||||||
foreach ($lines as $line) {
|
|
||||||
if (strpos(trim($line), 'PROJECT_ID=') === 0) {
|
|
||||||
$cached_id = trim(str_replace('PROJECT_ID=', '', $line), "\"' ");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $cached_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
// The core function to modify the URL
|
|
||||||
function fl_append_project_param( $url ) {
|
|
||||||
$pid = fl_get_env_project_id();
|
|
||||||
if ( ! $pid || empty( $url ) || strpos( $url, '#' ) === 0 ) {
|
|
||||||
return $url;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Only append if it's an internal link
|
|
||||||
if ( strpos( $url, home_url() ) === 0 || ( strpos( $url, '/' ) === 0 && strpos( $url, '//' ) !== 0 ) ) {
|
|
||||||
return add_query_arg( 'fl_project', $pid, $url );
|
|
||||||
}
|
|
||||||
|
|
||||||
return $url;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply to all link filters
|
|
||||||
$filters = [
|
|
||||||
'post_link', 'page_link', 'post_type_link',
|
|
||||||
'term_link', 'attachment_link',
|
|
||||||
'author_link', 'category_link', 'tag_link'
|
|
||||||
];
|
|
||||||
|
|
||||||
foreach ( $filters as $f ) {
|
|
||||||
add_filter( $f, 'fl_append_project_param' );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Special case: Navigation Menus
|
|
||||||
add_filter( 'nav_menu_link_attributes', function( $atts ) {
|
|
||||||
if ( isset( $atts['href'] ) ) {
|
|
||||||
$atts['href'] = fl_append_project_param( $atts['href'] );
|
|
||||||
}
|
|
||||||
return $atts;
|
|
||||||
}, 10, 1 );
|
|
||||||