From 5f941659d229fdb9a447a0bddb9fdfafb504d5e3 Mon Sep 17 00:00:00 2001
From: VlastikYoutubeKo <56507931+VlastikYoutubeKo@users.noreply.github.com>
Date: Fri, 15 Aug 2025 12:25:30 +0200
Subject: [PATCH 1/3] Create index.html
Added a website that "should" work
---
index.html | 283 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 283 insertions(+)
create mode 100644 index.html
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..de35517
--- /dev/null
+++ b/index.html
@@ -0,0 +1,283 @@
+
+
+
+
+
+ Aria | Curated IPTV Channels
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From 2623494ccd675038f58f75d94d5c3e573ff3b3e7 Mon Sep 17 00:00:00 2001
From: VlastikYoutubeKo <56507931+VlastikYoutubeKo@users.noreply.github.com>
Date: Fri, 15 Aug 2025 12:28:07 +0200
Subject: [PATCH 2/3] Update aria.m3u
---
aria.m3u | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/aria.m3u b/aria.m3u
index 1309e39..a0affe0 100644
--- a/aria.m3u
+++ b/aria.m3u
@@ -317,7 +317,7 @@ http://90.178.86.156:9981/stream/channelid/748255433?ticket=216B5B41838A2332296F
http://90.178.86.156:9981/stream/channelid/1183792288?ticket=6CE25AF67B8D74983939FCF3B123AD08A5B0BAE8&profile=pass
#EXTINF:-1 group-title="Czechia" tvg-id="Óčko.STAR.cz",OCKO STAR
http://90.178.86.156:9981/stream/channelid/1340646702?ticket=6A7ED7E2087641A202EA744A9DE44B07A2EE2FAC&profile=pass
-#EXTINF:-1 group-title="Czechia" tvg-id="CNN.Prima.News.cz"CNN Prima News
+#EXTINF:-1 group-title="Czechia" tvg-id="CNN.Prima.News.cz",CNN Prima News
http://90.178.86.156:9981/stream/channelid/1443888704?ticket=B2AC43F9C197099EE2A723A8B5D26A8402094755&profile=pass
#EXTINF:-1 group-title="Czechia" tvg-id="TV.Barrandov.cz",TV Barrandov
http://90.178.86.156:9981/stream/channelid/1149773228?ticket=56A407B3D9D49568B131C27B70C4B903FD070FE5&profile=pass
@@ -331,7 +331,7 @@ http://tvh.cyn.cz/stream/channelid/1693764695?profile=pass
http://185.236.230.212:9981/play/a0bb
#EXTINF:-1 group-title="Czechia" tvg-id="Auto.Motor.Sport.cz",AUTOMOTORSPORT HD
https://webstream.odjezdy.online/EU/AMSTV/video.m3u8
-#EXTINF:-1 group-title="Czechia"CANAL+ ACTION HD
+#EXTINF:-1 group-title="Czechia",CANAL+ ACTION HD
http://185.236.230.212:9981/play/a0bw
#EXTINF:-1 group-title="Czechia",CANAL+ SPORT
http://185.236.230.212:9981/play/a0bu
From 78d5df59627aa516148243745704d23bd135de32 Mon Sep 17 00:00:00 2001
From: VlastikYoutubeKo <56507931+VlastikYoutubeKo@users.noreply.github.com>
Date: Fri, 15 Aug 2025 12:29:18 +0200
Subject: [PATCH 3/3] Update index.html
---
index.html | 64 +++++++++++++++++++++++++++++++++++++++---------------
1 file changed, 46 insertions(+), 18 deletions(-)
diff --git a/index.html b/index.html
index de35517..5f4147c 100644
--- a/index.html
+++ b/index.html
@@ -60,7 +60,7 @@
margin-bottom: 2rem;
}
- .project-info h2 {
+ .project-info h2, .project-info h3 {
margin-top: 0;
}
@@ -73,6 +73,10 @@
.project-info a:hover {
text-decoration: underline;
}
+
+ .playlist-links p {
+ margin: 0.5rem 0;
+ }
.category-folder {
border: 1px solid var(--border-color);
@@ -95,17 +99,29 @@
width: 100%;
border-collapse: collapse;
}
+
+ .channel-table th, .channel-table td {
+ padding: 0.75rem 1.5rem;
+ border-top: 1px solid var(--border-color);
+ text-align: left;
+ }
- .channel-table td {
- text-align: left;
- padding: 0.75rem 1.5rem;
- border-top: 1px solid var(--border-color);
+ .channel-table th {
+ font-weight: 600;
+ font-size: 0.9rem;
+ color: var(--muted-text-color);
}
.channel-name {
display: flex;
align-items: center;
}
+
+ .channel-table a {
+ color: var(--accent-color);
+ text-decoration: none;
+ font-weight: 500;
+ }
.unstable-icon {
color: #ffc107;
@@ -131,24 +147,28 @@
const parseM3U = (m3uContent, isStable) => {
const lines = m3uContent.split('\n');
const channels = {};
- const regex = /group-title="([^"]+)"/
-
- for (const line of lines) {
+ const regex = /group-title="([^"]+)"/;
+
+ for (let i = 0; i < lines.length; i++) {
+ const line = lines[i];
if (line.startsWith('#EXTINF:-1')) {
try {
+ const nextLine = lines[i + 1];
+ if (!nextLine || nextLine.startsWith('#')) continue;
+
const countryMatch = line.match(regex);
if (!countryMatch) continue;
const country = countryMatch[1].trim();
const channelName = line.split(',').pop().trim();
+ const streamUrl = nextLine.trim();
if (!channels[country]) {
channels[country] = {};
}
- // Přidáme kanál, pouze pokud ještě neexistuje, abychom předešli duplicitám
if (!channels[country][channelName]) {
- channels[country][channelName] = { name: channelName, stable: isStable };
+ channels[country][channelName] = { name: channelName, stable: isStable, url: streamUrl };
}
} catch (e) {
console.error("Chyba při parsování řádku:", line, e);
@@ -169,6 +189,12 @@
{isOpen && (
+
+
+ Channel |
+ Stream Link |
+
+
{channels.map(channel => (
@@ -180,6 +206,9 @@
}
+
+ Link
+ |
))}
@@ -196,7 +225,6 @@
useEffect(() => {
const fetchAndParseData = async () => {
try {
- // Načtení obou M3U souborů
const [ariaRes, ariaPlusRes] = await Promise.all([
fetch('aria.m3u'),
fetch('aria+.m3u')
@@ -205,16 +233,12 @@
const ariaText = await ariaRes.text();
const ariaPlusText = await ariaPlusRes.text();
- // Parsování
const stableChannels = parseM3U(ariaText, true);
const unstableChannels = parseM3U(ariaPlusText, false);
- // Sloučení dat: nestabilní kanály nepřepíší stabilní, pokud mají stejné jméno
const allChannels = { ...stableChannels };
for (const country in unstableChannels) {
- if (!allChannels[country]) {
- allChannels[country] = {};
- }
+ if (!allChannels[country]) allChannels[country] = {};
for (const channelName in unstableChannels[country]) {
if (!allChannels[country][channelName]) {
allChannels[country][channelName] = unstableChannels[country][channelName];
@@ -222,7 +246,6 @@
}
}
- // Převod na pole pro snadné renderování a seřazení
const formattedData = Object.keys(allChannels).sort().map(country => ({
country,
channels: Object.values(allChannels[country]).sort((a, b) => a.name.localeCompare(b.name))
@@ -251,9 +274,14 @@
Aria provides a curated collection of IPTV channels from around the world. The channels are organized by their countries. Unlike our predecessor Mystique, this git is only using official streams, tvheadends, astra control panel among others.
+
Want to help us?
- You can go to the Issues tab on GitHub to request a channel-specific action (e.g., removing a dead link, adding a new channel).
+ You can go to the Issues tab on GitHub to request a channel-specific action.