update
This commit is contained in:
parent
adefce01cb
commit
1f876fb98d
|
|
@ -1,10 +1,17 @@
|
|||
<?php include 'header.php'; ?>
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
<div class="containerindex">
|
||||
<div class="grid">
|
||||
<div class="card wide">
|
||||
<h3>ShreeBhattJi</h3>
|
||||
<p>If you’ve ever read the Panchatantra, a few stories begin like this: “Once upon a time, there lived a poor Brahmin in a village.” In this story, that Brahmin is me — ShreeBhattJi, also known as Devdatt Bhatt, the King of Automation and Remote Control from the land of great beginnings, Bhavnagar.
|
||||
<p>If you ever read the Panchatantra, a few stories begin like this: “Once upon a time, there lived a poor Brahmin in a village.” In this story, that Brahmin is me — ShreeBhattJi, also known as Devdatt Bhatt, the King of Automation and Remote Control from the land of great beginnings, Bhavnagar.
|
||||
<p>I am here to help provide a great viewing experience for users, generate strong commissions for LCOs, MSOs, and ISPs, and create substantial revenue for content owners while contributing fair taxes to the government. I have reason to believe that by upgrading a few devices at the transmission point, both streaming operations and customer viewing experiences can be improved exponentially.
|
||||
<p>We are proud to present Universal Digital Encoder Decoder as all format to all format encoder cum decoder for dedicated hardware , virtual machines and proxmox lxc images .
|
||||
<p><a href="https://urmic.org/trusted-partners/" target="_blank"><button class="red-btn">Meet Our Partners</button></a>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,12 @@
|
|||
<?php include 'header.php'; ?>
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
<div class="containerindex">
|
||||
<div class="grid">
|
||||
<div class="card wide">
|
||||
|
|
@ -15,35 +22,35 @@
|
|||
<h3>Say Hello to Us</h3>
|
||||
<p>C-1819 , <br>Radhesyam Soc,<br>Kalyabid, <br>Bhavnagar - 364001<br>INDIA
|
||||
<p>support@urmic.org
|
||||
<br>+91-8000-74-1919
|
||||
<br>+91-8000-74-1919
|
||||
</div>
|
||||
<div class="card wide">
|
||||
<div class="social-row" aria-label="Social links">
|
||||
<a class="social-btn" href="https://www.facebook.com/WorldwideDigitalAssociation" target="_blank" rel="noopener" aria-label="Facebook page">
|
||||
<svg viewBox="0 0 23 23" fill="currentColor" aria-hidden="true">
|
||||
<path d="M22 12.07C22 6.47 17.52 2 11.92 2S2 6.47 2 12.07c0 4.99 3.66 9.12 8.44 9.86v-6.98H8.1v-2.88h2.34V9.41c0-2.31 1.37-3.59 3.46-3.59.99 0 2.03.18 2.03.18v2.23h-1.14c-1.12 0-1.47.7-1.47 1.42v1.7h2.5l-.4 2.88h-2.1v6.98C18.34 21.19 22 17.06 22 12.07z"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="social-btn" href="https://www.linkedin.com/in/dbhatt-org/" target="_blank" rel="noopener" aria-label="LinkedIn profile">
|
||||
<svg viewBox="0 0 23 23" fill="currentColor" aria-hidden="true">
|
||||
<path d="M4.98 3.5C4.98 4.88 3.86 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1 4.98 2.12 4.98 3.5zM.5 8h4v14h-4V8zm7.5 0h3.84v1.93h.05c.54-1.02 1.86-2.1 3.83-2.1 4.1 0 4.86 2.7 4.86 6.21V22h-4V15.2c0-1.61-.03-3.68-2.24-3.68-2.24 0-2.58 1.75-2.58 3.55V22h-4V8z"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="social-btn" href="https://wa.me/918000741919?text=Hello%20from%20website" target="_blank" rel="noopener" aria-label="WhatsApp chat">
|
||||
<svg viewBox="0 0 23 23" fill="currentColor" aria-hidden="true">
|
||||
<path d="M20.52 3.48A11.93 11.93 0 0 0 12 0C5.37 0 .05 5.32.05 11.92c0 2.1.55 4.15 1.6 5.95L0 24l6.4-1.68c1.75 1.02 3.77 1.56 5.6 1.56 6.63 0 11.95-5.32 11.95-11.95 0-3.2-1.25-6.2-3.43-8.45zM12 21.95c-1.55 0-3.06-.4-4.36-1.16l-.31-.18-3.8 1 1-3.5-.2-.34A8.72 8.72 0 0 1 3.1 11.9c0-4.85 3.95-8.8 8.8-8.8 2.35 0 4.56.92 6.22 2.6a8.76 8.76 0 0 1-6.13 15.45zM17.03 14.1c-.29-.15-1.7-.84-1.97-.93-.27-.09-.47-.14-.67.14-.2.28-.77.93-.94 1.12-.17.19-.34.21-.63.07-.29-.15-1.23-.45-2.34-1.44-.87-.78-1.46-1.74-1.63-2.03-.17-.29-.02-.45.13-.6.13-.13.29-.34.44-.51.14-.17.19-.29.29-.48.1-.19.05-.36-.02-.51-.07-.15-.67-1.6-.92-2.19-.24-.58-.49-.5-.67-.51l-.57-.01c-.19 0-.5.07-.76.36-.27.29-1.03 1.01-1.03 2.47s1.05 2.87 1.2 3.07c.15.19 2.07 3.19 5.02 4.47 2.95 1.28 3.12.88 3.68.83.56-.05 1.78-.72 2.03-1.41.25-.69.25-1.28.18-1.41-.07-.13-.27-.19-.56-.34z"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="social-btn" href="sms:+918000741919?body=Test%20message" aria-label="Send test SMS">
|
||||
<svg viewBox="0 0 23 23" fill="currentColor" aria-hidden="true">
|
||||
<path d="M20 2H4c-1.1 0-2 .9-2 2v14l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="social-btn" href="mailto:hello@urmic.org?subject=Hello&body=Hi%2C%20I%20am%20contacting%20you%20from%20the%20website." aria-label="Send email">
|
||||
<svg viewBox="0 0 23 23" fill="currentColor" aria-hidden="true">
|
||||
<path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="social-btn" href="https://www.facebook.com/WorldwideDigitalAssociation" target="_blank" rel="noopener" aria-label="Facebook page">
|
||||
<svg viewBox="0 0 23 23" fill="currentColor" aria-hidden="true">
|
||||
<path d="M22 12.07C22 6.47 17.52 2 11.92 2S2 6.47 2 12.07c0 4.99 3.66 9.12 8.44 9.86v-6.98H8.1v-2.88h2.34V9.41c0-2.31 1.37-3.59 3.46-3.59.99 0 2.03.18 2.03.18v2.23h-1.14c-1.12 0-1.47.7-1.47 1.42v1.7h2.5l-.4 2.88h-2.1v6.98C18.34 21.19 22 17.06 22 12.07z" />
|
||||
</svg>
|
||||
</a>
|
||||
<a class="social-btn" href="https://www.linkedin.com/in/dbhatt-org/" target="_blank" rel="noopener" aria-label="LinkedIn profile">
|
||||
<svg viewBox="0 0 23 23" fill="currentColor" aria-hidden="true">
|
||||
<path d="M4.98 3.5C4.98 4.88 3.86 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1 4.98 2.12 4.98 3.5zM.5 8h4v14h-4V8zm7.5 0h3.84v1.93h.05c.54-1.02 1.86-2.1 3.83-2.1 4.1 0 4.86 2.7 4.86 6.21V22h-4V15.2c0-1.61-.03-3.68-2.24-3.68-2.24 0-2.58 1.75-2.58 3.55V22h-4V8z" />
|
||||
</svg>
|
||||
</a>
|
||||
<a class="social-btn" href="https://wa.me/918000741919?text=Hello%20from%20website" target="_blank" rel="noopener" aria-label="WhatsApp chat">
|
||||
<svg viewBox="0 0 23 23" fill="currentColor" aria-hidden="true">
|
||||
<path d="M20.52 3.48A11.93 11.93 0 0 0 12 0C5.37 0 .05 5.32.05 11.92c0 2.1.55 4.15 1.6 5.95L0 24l6.4-1.68c1.75 1.02 3.77 1.56 5.6 1.56 6.63 0 11.95-5.32 11.95-11.95 0-3.2-1.25-6.2-3.43-8.45zM12 21.95c-1.55 0-3.06-.4-4.36-1.16l-.31-.18-3.8 1 1-3.5-.2-.34A8.72 8.72 0 0 1 3.1 11.9c0-4.85 3.95-8.8 8.8-8.8 2.35 0 4.56.92 6.22 2.6a8.76 8.76 0 0 1-6.13 15.45zM17.03 14.1c-.29-.15-1.7-.84-1.97-.93-.27-.09-.47-.14-.67.14-.2.28-.77.93-.94 1.12-.17.19-.34.21-.63.07-.29-.15-1.23-.45-2.34-1.44-.87-.78-1.46-1.74-1.63-2.03-.17-.29-.02-.45.13-.6.13-.13.29-.34.44-.51.14-.17.19-.29.29-.48.1-.19.05-.36-.02-.51-.07-.15-.67-1.6-.92-2.19-.24-.58-.49-.5-.67-.51l-.57-.01c-.19 0-.5.07-.76.36-.27.29-1.03 1.01-1.03 2.47s1.05 2.87 1.2 3.07c.15.19 2.07 3.19 5.02 4.47 2.95 1.28 3.12.88 3.68.83.56-.05 1.78-.72 2.03-1.41.25-.69.25-1.28.18-1.41-.07-.13-.27-.19-.56-.34z" />
|
||||
</svg>
|
||||
</a>
|
||||
<a class="social-btn" href="sms:+918000741919?body=Test%20message" aria-label="Send test SMS">
|
||||
<svg viewBox="0 0 23 23" fill="currentColor" aria-hidden="true">
|
||||
<path d="M20 2H4c-1.1 0-2 .9-2 2v14l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z" />
|
||||
</svg>
|
||||
</a>
|
||||
<a class="social-btn" href="mailto:hello@urmic.org?subject=Hello&body=Hi%2C%20I%20am%20contacting%20you%20from%20the%20website." aria-label="Send email">
|
||||
<svg viewBox="0 0 23 23" fill="currentColor" aria-hidden="true">
|
||||
<path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -51,4 +58,4 @@
|
|||
|
||||
<br>
|
||||
<br>
|
||||
<?php include 'footer.php'; ?>
|
||||
<?php include 'footer.php'; ?>
|
||||
|
|
@ -1,4 +1,14 @@
|
|||
<?php include 'header.php' ?>
|
||||
<?php
|
||||
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
include 'header.php' ?>
|
||||
<?php
|
||||
|
||||
$jsonFile = __DIR__ . '/firewall.json';
|
||||
|
|
@ -44,7 +54,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
);
|
||||
if (count($tmp) > 0) {
|
||||
foreach ($tmp as $ip) {
|
||||
exec("sudo ufw allow from " . $ip." to any port " . $port . " proto tcp");
|
||||
exec("sudo ufw allow from " . $ip . " to any port " . $port . " proto tcp");
|
||||
}
|
||||
} else {
|
||||
exec("sudo ufw allow " . $port);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,12 @@
|
|||
<?php
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
exec("sudo chmod 444 /sys/class/dmi/id/product_uuid");
|
||||
$version = 1;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
session_start();
|
||||
|
|
@ -9,10 +19,12 @@ $clientIp = $_SERVER['REMOTE_ADDR'] ?? '';
|
|||
$usersFile = '/var/www/users.json';
|
||||
|
||||
/* ---------- helpers ---------- */
|
||||
function load_json(string $file): array {
|
||||
function load_json(string $file): array
|
||||
{
|
||||
return is_file($file) ? json_decode(file_get_contents($file), true) ?: [] : [];
|
||||
}
|
||||
function save_json(string $file, array $data): void {
|
||||
function save_json(string $file, array $data): void
|
||||
{
|
||||
file_put_contents($file, json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);
|
||||
}
|
||||
|
||||
|
|
@ -56,10 +68,11 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>URMIC powred by Shreebhattji</title>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>URMIC powred by Shreebhattji</title>
|
||||
|
||||
<style>
|
||||
* {
|
||||
|
|
@ -115,11 +128,9 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
position: absolute;
|
||||
width: 2px;
|
||||
height: 70px;
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
rgba(255, 255, 255, 0.9),
|
||||
rgba(255, 255, 255, 0)
|
||||
);
|
||||
background: linear-gradient(to bottom,
|
||||
rgba(255, 255, 255, 0.9),
|
||||
rgba(255, 255, 255, 0));
|
||||
opacity: 0.55;
|
||||
border-radius: 999px;
|
||||
filter: blur(0.3px);
|
||||
|
|
@ -133,6 +144,7 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
0% {
|
||||
transform: translate3d(0, -120px, 0);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translate3d(0, 110vh, 0);
|
||||
}
|
||||
|
|
@ -146,12 +158,9 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
padding: 2.5rem 2rem;
|
||||
border-radius: 1.75rem;
|
||||
border: 1px solid rgba(148, 163, 184, 0.6);
|
||||
background: linear-gradient(
|
||||
135deg,
|
||||
background: linear-gradient(135deg,
|
||||
rgba(15, 23, 42, 0.9),
|
||||
rgba(15, 23, 42, 0.7)
|
||||
)
|
||||
border-box;
|
||||
rgba(15, 23, 42, 0.7)) border-box;
|
||||
backdrop-filter: blur(16px);
|
||||
box-shadow:
|
||||
0 20px 60px rgba(15, 23, 42, 0.7),
|
||||
|
|
@ -171,11 +180,9 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
text-transform: uppercase;
|
||||
letter-spacing: 0.12em;
|
||||
color: var(--text-main);
|
||||
background: linear-gradient(
|
||||
90deg,
|
||||
rgba(59, 130, 246, 0.6),
|
||||
rgba(34, 197, 94, 0.75)
|
||||
);
|
||||
background: linear-gradient(90deg,
|
||||
rgba(59, 130, 246, 0.6),
|
||||
rgba(34, 197, 94, 0.75));
|
||||
}
|
||||
|
||||
.badge-dot {
|
||||
|
|
@ -192,12 +199,10 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
|
||||
h1 span.highlight {
|
||||
font-size: clamp(1.1rem, 2vw, 1.8rem);
|
||||
background-image: linear-gradient(
|
||||
120deg,
|
||||
#22c55e,
|
||||
#a855f7,
|
||||
#f97316
|
||||
);
|
||||
background-image: linear-gradient(120deg,
|
||||
#22c55e,
|
||||
#a855f7,
|
||||
#f97316);
|
||||
background-clip: text;
|
||||
-webkit-background-clip: text;
|
||||
color: transparent;
|
||||
|
|
@ -229,11 +234,9 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
border: 1px solid rgba(148, 163, 184, 0.8);
|
||||
font-size: 0.75rem;
|
||||
color: #e5e7eb;
|
||||
background: radial-gradient(
|
||||
circle at top left,
|
||||
rgba(59, 130, 246, 0.22),
|
||||
rgba(15, 23, 42, 0.7)
|
||||
);
|
||||
background: radial-gradient(circle at top left,
|
||||
rgba(59, 130, 246, 0.22),
|
||||
rgba(15, 23, 42, 0.7));
|
||||
}
|
||||
|
||||
.footer {
|
||||
|
|
@ -291,118 +294,116 @@ if ($clientIp === $ALLOWED_IP && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
</head>
|
||||
|
||||
<body>
|
||||
<div class="rain-container" id="rain"></div>
|
||||
<div class="rain-container" id="rain"></div>
|
||||
|
||||
<div class="page-wrap">
|
||||
<main class="card">
|
||||
<div class="page-wrap">
|
||||
<main class="card">
|
||||
|
||||
<div class="badge">
|
||||
<span class="badge-dot"></span>
|
||||
<span>Password Recovery</span>
|
||||
</div>
|
||||
<div class="badge">
|
||||
<span class="badge-dot"></span>
|
||||
<span>Password Recovery</span>
|
||||
</div>
|
||||
|
||||
<h1>
|
||||
Universal Encoder / Decoder
|
||||
<span class="highlight">powred by Shreebhattji</span>
|
||||
</h1>
|
||||
<h1>
|
||||
Universal Encoder / Decoder
|
||||
<span class="highlight">powred by Shreebhattji</span>
|
||||
</h1>
|
||||
|
||||
<?php if ($clientIp !== $ALLOWED_IP): ?>
|
||||
<?php if ($clientIp !== $ALLOWED_IP): ?>
|
||||
|
||||
<p class="subtitle">
|
||||
Set you computer ip to <strong>172.16.111.112</strong> then
|
||||
Connect USB dongle to encoder and visit
|
||||
<strong>172.16.111.111</strong> for password reset
|
||||
|
||||
</p>
|
||||
<p class="subtitle">
|
||||
Set you computer ip to <strong>172.16.111.112</strong> then
|
||||
Connect USB dongle to encoder and visit
|
||||
<strong>172.16.111.111</strong> for password reset
|
||||
|
||||
<?php else: ?>
|
||||
</p>
|
||||
|
||||
<?php if ($error): ?>
|
||||
<p style="color:#fca5a5"><?= htmlspecialchars($error) ?></p>
|
||||
<?php endif; ?>
|
||||
<?php else: ?>
|
||||
|
||||
<?php if ($success): ?>
|
||||
<p style="color:#86efac"><?= htmlspecialchars($success) ?></p>
|
||||
<?php endif; ?>
|
||||
<?php if ($error): ?>
|
||||
<p style="color:#fca5a5"><?= htmlspecialchars($error) ?></p>
|
||||
<?php endif; ?>
|
||||
|
||||
<form method="post" autocomplete="off" style="display:flex;flex-direction:column;gap:0.75rem">
|
||||
<?php if ($success): ?>
|
||||
<p style="color:#86efac"><?= htmlspecialchars($success) ?></p>
|
||||
<?php endif; ?>
|
||||
|
||||
<input type="hidden" name="csrf" value="<?= htmlspecialchars($_SESSION['csrf']) ?>">
|
||||
<form method="post" autocomplete="off" style="display:flex;flex-direction:column;gap:0.75rem">
|
||||
|
||||
<input
|
||||
type="text"
|
||||
name="username"
|
||||
placeholder="New Username"
|
||||
required
|
||||
style="padding:0.7rem;border-radius:0.5rem;border:none"
|
||||
/>
|
||||
<input type="hidden" name="csrf" value="<?= htmlspecialchars($_SESSION['csrf']) ?>">
|
||||
|
||||
<input
|
||||
type="password"
|
||||
name="password"
|
||||
placeholder="New Password"
|
||||
required
|
||||
style="padding:0.7rem;border-radius:0.5rem;border:none"
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
name="username"
|
||||
placeholder="New Username"
|
||||
required
|
||||
style="padding:0.7rem;border-radius:0.5rem;border:none" />
|
||||
|
||||
<input
|
||||
type="password"
|
||||
name="confirm"
|
||||
placeholder="Confirm Password"
|
||||
required
|
||||
style="padding:0.7rem;border-radius:0.5rem;border:none"
|
||||
/>
|
||||
<input
|
||||
type="password"
|
||||
name="password"
|
||||
placeholder="New Password"
|
||||
required
|
||||
style="padding:0.7rem;border-radius:0.5rem;border:none" />
|
||||
|
||||
<button
|
||||
type="submit"
|
||||
style="padding:0.75rem;border-radius:0.6rem;border:none;
|
||||
<input
|
||||
type="password"
|
||||
name="confirm"
|
||||
placeholder="Confirm Password"
|
||||
required
|
||||
style="padding:0.7rem;border-radius:0.5rem;border:none" />
|
||||
|
||||
<button
|
||||
type="submit"
|
||||
style="padding:0.75rem;border-radius:0.6rem;border:none;
|
||||
background:#22c55e;color:#000;font-weight:600">
|
||||
Reset Credentials
|
||||
</button>
|
||||
Reset Credentials
|
||||
</button>
|
||||
|
||||
</form>
|
||||
</form>
|
||||
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<!-- ===== YOUR RAIN SCRIPT (UNCHANGED) ===== -->
|
||||
<script>
|
||||
(function () {
|
||||
const container = document.getElementById("rain");
|
||||
<!-- ===== YOUR RAIN SCRIPT (UNCHANGED) ===== -->
|
||||
<script>
|
||||
(function() {
|
||||
const container = document.getElementById("rain");
|
||||
|
||||
function generateRain() {
|
||||
if (!container) return;
|
||||
container.innerHTML = "";
|
||||
function generateRain() {
|
||||
if (!container) return;
|
||||
container.innerHTML = "";
|
||||
|
||||
const width = window.innerWidth;
|
||||
const height = window.innerHeight;
|
||||
let drops = Math.floor(width * 0.16);
|
||||
const width = window.innerWidth;
|
||||
const height = window.innerHeight;
|
||||
let drops = Math.floor(width * 0.16);
|
||||
|
||||
if (window.innerWidth < 600) drops = Math.floor(width * 0.10);
|
||||
else if (window.innerWidth > 1400) drops = Math.floor(width * 0.18);
|
||||
if (window.innerWidth < 600) drops = Math.floor(width * 0.10);
|
||||
else if (window.innerWidth > 1400) drops = Math.floor(width * 0.18);
|
||||
|
||||
for (let i = 0; i < drops; i++) {
|
||||
const drop = document.createElement("span");
|
||||
drop.className = "raindrop";
|
||||
drop.style.left = Math.random() * 100 + "vw";
|
||||
drop.style.top = -120 - Math.random() * height * 0.3 + "px";
|
||||
drop.style.animationDuration = (0.7 + Math.random() * 1.2) + "s";
|
||||
drop.style.animationDelay = (Math.random() * -3) + "s";
|
||||
drop.style.opacity = (0.35 + Math.random() * 0.55).toFixed(2);
|
||||
container.appendChild(drop);
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < drops; i++) {
|
||||
const drop = document.createElement("span");
|
||||
drop.className = "raindrop";
|
||||
drop.style.left = Math.random() * 100 + "vw";
|
||||
drop.style.top = -120 - Math.random() * height * 0.3 + "px";
|
||||
drop.style.animationDuration = (0.7 + Math.random() * 1.2) + "s";
|
||||
drop.style.animationDelay = (Math.random() * -3) + "s";
|
||||
drop.style.opacity = (0.35 + Math.random() * 0.55).toFixed(2);
|
||||
container.appendChild(drop);
|
||||
}
|
||||
}
|
||||
|
||||
let resizeTimer;
|
||||
window.addEventListener("resize", () => {
|
||||
clearTimeout(resizeTimer);
|
||||
resizeTimer = setTimeout(generateRain, 180);
|
||||
});
|
||||
let resizeTimer;
|
||||
window.addEventListener("resize", () => {
|
||||
clearTimeout(resizeTimer);
|
||||
resizeTimer = setTimeout(generateRain, 180);
|
||||
});
|
||||
|
||||
window.addEventListener("DOMContentLoaded", generateRain);
|
||||
})();
|
||||
</script>
|
||||
window.addEventListener("DOMContentLoaded", generateRain);
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
</html>
|
||||
|
|
@ -1,4 +1,14 @@
|
|||
<?php
|
||||
<?php
|
||||
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
|
||||
require 'require_login.php';
|
||||
include 'static.php';
|
||||
?>
|
||||
|
|
@ -409,12 +419,14 @@ include 'static.php';
|
|||
.form-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.social-row {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
align-items: center;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.social-btn {
|
||||
width: 67px;
|
||||
height: 67px;
|
||||
|
|
@ -425,9 +437,26 @@ include 'static.php';
|
|||
text-decoration: none;
|
||||
transition: transform .12s, box-shadow .12s;
|
||||
}
|
||||
.social-btn:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,.08); }
|
||||
.social-btn svg { width: 22px; height: 22px; display: block; }
|
||||
.sr-only { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
|
||||
|
||||
.social-btn:hover {
|
||||
transform: translateY(-3px);
|
||||
box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
|
||||
}
|
||||
|
||||
.social-btn svg {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.sr-only {
|
||||
position: absolute;
|
||||
left: -10000px;
|
||||
top: auto;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,15 @@
|
|||
<?php include 'header.php'; ?>
|
||||
<?php
|
||||
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
|
||||
include 'header.php'; ?>
|
||||
|
||||
<div class="containerindex">
|
||||
<div class="grid">
|
||||
|
|
|
|||
|
|
@ -1,4 +1,13 @@
|
|||
<?php include 'header.php'; ?>
|
||||
<?php
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
include 'header.php'; ?>
|
||||
<?php
|
||||
$coreFile = "/var/www/core.json";
|
||||
|
||||
|
|
@ -161,7 +170,7 @@ function all_service_update()
|
|||
. ' ffmpeg -hide_banner -loglevel info -thread_queue_size 512 -fflags +genpts+discardcorrupt+nobuffer -readrate 1.0'
|
||||
. ' -i "udp://@' . $new["input_udp"] . '?fifo_size=50000&buffer_size=50000&overrun_nonfatal=1"'
|
||||
. ' -vf "scale=' . $new["resolution"] . ',format=yuv420p" '
|
||||
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 8 '
|
||||
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 5 '
|
||||
. ' -b:v ' . $new["video_bitrate"] . 'k -minrate ' . max(0, $new["video_bitrate"] - 500) . 'k -maxrate ' . ($new["video_bitrate"] + 500) . 'k -bufsize ' . ($new["video_bitrate"] + 500) . 'k '
|
||||
. ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 -af "volume=' . $new["volume"] . 'dB,aresample=async=1000:min_hard_comp=0.100000:first_pts=0" '
|
||||
. ' -metadata service_provider="ShreeBhattJI" ';
|
||||
|
|
@ -212,7 +221,7 @@ function all_service_start()
|
|||
. ' ffmpeg -hide_banner -loglevel info -thread_queue_size 512 -fflags +genpts+discardcorrupt+nobuffer -readrate 1.0'
|
||||
. ' -i "udp://@' . $new["input_udp"] . '?fifo_size=50000&buffer_size=50000&overrun_nonfatal=1"'
|
||||
. ' -vf "scale=' . $new["resolution"] . ',format=yuv420p" '
|
||||
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 8 '
|
||||
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 5 '
|
||||
. ' -b:v ' . $new["video_bitrate"] . 'k -minrate ' . max(0, $new["video_bitrate"] - 500) . 'k -maxrate ' . ($new["video_bitrate"] + 500) . 'k -bufsize ' . ($new["video_bitrate"] + 500) . 'k '
|
||||
. ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 -af "volume=' . $new["volume"] . 'dB,aresample=async=1000:min_hard_comp=0.100000:first_pts=0" '
|
||||
. ' -metadata service_provider="ShreeBhattJI" ';
|
||||
|
|
@ -306,7 +315,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
|||
. ' ffmpeg -hide_banner -loglevel info -thread_queue_size 512 -fflags +genpts+discardcorrupt+nobuffer -readrate 1.0'
|
||||
. ' -i "udp://@' . $new["input_udp"] . '?fifo_size=50000&buffer_size=50000&overrun_nonfatal=1"'
|
||||
. ' -vf "scale=' . $new["resolution"] . ',format=yuv420p" '
|
||||
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 8 '
|
||||
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 5 '
|
||||
. ' -b:v ' . $new["video_bitrate"] . 'k -minrate ' . max(0, $new["video_bitrate"] - 500) . 'k -maxrate ' . ($new["video_bitrate"] + 500) . 'k -bufsize ' . ($new["video_bitrate"] + 500) . 'k '
|
||||
. ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 -af "volume=' . $new["volume"] . 'dB,aresample=async=1000:min_hard_comp=0.100000:first_pts=0" '
|
||||
. ' -metadata service_provider="ShreeBhattJI" ';
|
||||
|
|
@ -374,7 +383,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
|||
. ' ffmpeg -hide_banner -loglevel info -thread_queue_size 512 -fflags +genpts+discardcorrupt+nobuffer -readrate 1.0'
|
||||
. ' -i "udp://@' . $new["input_udp"] . '?fifo_size=50000&buffer_size=50000&overrun_nonfatal=1"'
|
||||
. ' -vf "scale=' . $new["resolution"] . ',format=yuv420p" '
|
||||
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 8 '
|
||||
. ' -c:v ' . $new["video_format"] . ' -pix_fmt yuv420p -flags -ildct-ilme -top 1 -threads 1 -g 25 -bf 2 -qmin 2 -qmax 5 '
|
||||
. ' -b:v ' . $new["video_bitrate"] . 'k -minrate ' . max(0, $new["video_bitrate"] - 500) . 'k -maxrate ' . ($new["video_bitrate"] + 500) . 'k -bufsize ' . ($new["video_bitrate"] + 500) . 'k '
|
||||
. ' -c:a ' . $new["audio_format"] . ' -b:a ' . $new["audio_bitrate"] . 'k -ar 48000 -ac 2 -af "volume=' . $new["volume"] . 'dB,aresample=async=1000:min_hard_comp=0.100000:first_pts=0" '
|
||||
. ' -metadata service_provider="ShreeBhattJI" ';
|
||||
|
|
@ -490,7 +499,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
|||
|
||||
<h2>Service List</h2>
|
||||
<div style="margin-top:10px;">
|
||||
<button onclick="openAddPopup()">Add Service</button>
|
||||
<button onclick="openAddPopup()">Add Service</button>
|
||||
<button onclick="submitAction('start_all')">Start All</button>
|
||||
<button onclick="submitAction('stop_all')">Stop All</button>
|
||||
<button onclick="submitAction('update_all')">Update All</button>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,19 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
|
||||
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
|
||||
header('Pragma: no-cache');
|
||||
header('Expires: 0');
|
||||
session_start();
|
||||
|
||||
|
||||
if (!empty($_SESSION['user'])) {
|
||||
header('Location: /index.php', true, 302);
|
||||
exit;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,14 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
|
||||
session_start();
|
||||
|
||||
$_SESSION = [];
|
||||
|
|
|
|||
|
|
@ -1,5 +1,14 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
include 'header.php';
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,15 @@
|
|||
<?php include 'header.php'; ?>
|
||||
<?php
|
||||
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
|
||||
include 'header.php'; ?>
|
||||
<style>
|
||||
:root {
|
||||
--accent: #0b74de;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,12 @@
|
|||
<?php
|
||||
// auth/require_login.php
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
session_start();
|
||||
|
|
|
|||
|
|
@ -1,5 +1,14 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
|
||||
function generateRandomString($length = 16)
|
||||
{
|
||||
$bytes = random_bytes(ceil($length / 2));
|
||||
|
|
@ -287,4 +296,3 @@ function netplan_yaml(array $data, int $indent = 0): string
|
|||
|
||||
return $out;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,13 @@
|
|||
<?php include 'header.php'; ?>
|
||||
<?php
|
||||
/*
|
||||
Urmi you happy me happy licence
|
||||
|
||||
Copyright (c) 2026 shreebhattji
|
||||
|
||||
License text:
|
||||
https://github.com/shreebhattji/Urmi/blob/main/licence.md
|
||||
*/
|
||||
include 'header.php'; ?>
|
||||
<?php
|
||||
|
||||
$domain = "";
|
||||
|
|
@ -67,7 +76,7 @@ if ($service_rtmp1_multiple == 'enable') {
|
|||
$text .= "</h5>";
|
||||
}
|
||||
|
||||
if($service_srt_multiple){
|
||||
if ($service_srt_multiple) {
|
||||
$text .= "<h5>srt://" . $domain . ":1937?streamid=shree/bhatt/ji</h5><br><br>";
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue