mirror of
https://github.com/doms9/iptv.git
synced 2026-04-20 19:37:00 +02:00
Compare commits
37 commits
a74d9e3065
...
fb644af5d0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fb644af5d0 | ||
|
|
a29c5528a3 | ||
|
|
24c5bc3e3d | ||
|
|
288cc67e4b | ||
|
|
c46c40e074 | ||
|
|
72bde081ea | ||
|
|
565d80da79 | ||
|
|
f2b97ed187 | ||
|
|
9648a86f3c | ||
|
|
6697a95be8 | ||
|
|
00000d9ab6 | ||
|
|
6e2908535f | ||
|
|
987e59a385 | ||
|
|
9a13f85c54 | ||
|
|
82bb69a10e | ||
|
|
c6c93b7e16 | ||
|
|
87703a8220 | ||
|
|
2605567099 | ||
|
|
40dc6ee21d | ||
|
|
ea21379746 | ||
|
|
e195428f0b | ||
|
|
d31f445f5f | ||
|
|
05388ddc16 | ||
|
|
edcab2af93 | ||
|
|
8bfe58b25d | ||
|
|
bc2d28833d | ||
|
|
44bf4d60f5 | ||
|
|
f74a1871a4 | ||
|
|
7d4766a3dc | ||
|
|
0073400e35 | ||
|
|
459960a48b | ||
|
|
707e9650f2 | ||
|
|
64efdd513f | ||
|
|
ea134e5fc6 | ||
|
|
4c2178dfb9 | ||
|
|
d7bbf4997f | ||
|
|
e886d63d1a |
8 changed files with 107268 additions and 106108 deletions
5
.github/workflows/health.yml
vendored
5
.github/workflows/health.yml
vendored
|
|
@ -14,11 +14,6 @@ jobs:
|
|||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install FFmpeg
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install ffmpeg -y
|
||||
|
||||
- name: Run health.sh
|
||||
run: bash health.sh
|
||||
|
||||
|
|
|
|||
2610
M3U8/TV.m3u8
2610
M3U8/TV.m3u8
File diff suppressed because it is too large
Load diff
208012
M3U8/TV.xml
208012
M3U8/TV.xml
File diff suppressed because one or more lines are too long
|
|
@ -301,7 +301,7 @@ http://89.105.221.127/MSNBC/index.m3u8?token=test
|
|||
http://23.237.104.106:8080/USA_MTV/index.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="101" tvg-id="National.Geographic.HD.us2" tvg-name="National Geographic" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s49438_dark_360w_270h.png" group-title="TV",National Geographic
|
||||
http://23.237.104.106:8080/USA_NAT_GEO/index.m3u8
|
||||
http://89.105.221.127/NationalGeographic/index.m3u8?token=test
|
||||
|
||||
#EXTINF:-1 tvg-chno="102" tvg-id="NBA.TV.HD.us2" tvg-name="NBA TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s32281_dark_360w_270h.png" group-title="TV",NBA TV
|
||||
http://212.102.60.231/NBA_TV/index.m3u8
|
||||
|
|
|
|||
2608
M3U8/events.m3u8
2608
M3U8/events.m3u8
File diff suppressed because it is too large
Load diff
|
|
@ -75,11 +75,11 @@ async def main() -> None:
|
|||
asyncio.create_task(istreameast.scrape()),
|
||||
# asyncio.create_task(listapreta.scrape()),
|
||||
asyncio.create_task(mainportal.scrape()),
|
||||
# asyncio.create_task(ovogoal.scrape()),
|
||||
asyncio.create_task(ovogoal.scrape()),
|
||||
asyncio.create_task(pawa.scrape()),
|
||||
asyncio.create_task(shark.scrape()),
|
||||
asyncio.create_task(streamcenter.scrape()),
|
||||
# asyncio.create_task(streamhub.scrape()),
|
||||
asyncio.create_task(streamhub.scrape()),
|
||||
asyncio.create_task(streamsgate.scrape()),
|
||||
asyncio.create_task(streamtpnew.scrape()),
|
||||
asyncio.create_task(totalsportek.scrape()),
|
||||
|
|
|
|||
66
health.sh
66
health.sh
|
|
@ -8,45 +8,58 @@ STATUSLOG=$(mktemp)
|
|||
get_status() {
|
||||
local url="$1"
|
||||
local channel="$2"
|
||||
local index="$3"
|
||||
local total="$4"
|
||||
local attempt response status_code
|
||||
|
||||
[[ "$url" != http* ]] && return
|
||||
|
||||
output=$(
|
||||
timeout 10s ffprobe \
|
||||
-v error \
|
||||
-rw_timeout 15000000 \
|
||||
-timeout 15000000 \
|
||||
-select_streams v:0 \
|
||||
-show_entries stream=codec_name \
|
||||
-of csv=p=0 \
|
||||
-headers "User-Agent: $UA" \
|
||||
-analyzeduration 5M \
|
||||
-probesize 5M \
|
||||
-http_persistent 0 \
|
||||
printf -v chnl_info "%s (%s)\n" "$channel" "$url"
|
||||
|
||||
response=$(
|
||||
curl -skL \
|
||||
-A "$UA" \
|
||||
-H "Accept: */*" \
|
||||
-H "Accept-Language: en-US,en;q=0.9" \
|
||||
-H "Connection: keep-alive" \
|
||||
-o /dev/null \
|
||||
--compressed \
|
||||
--max-time 10 \
|
||||
-w "%{http_code}" \
|
||||
"$url" 2>&1
|
||||
)
|
||||
|
||||
rc=$?
|
||||
case "$response" in
|
||||
|
||||
if ((rc == 0)); then
|
||||
printf '✔️ %s (%s)\n' "$channel" "$url"
|
||||
2* | 3*)
|
||||
printf '[%d/%d] ✔️ %s' "$((index + 1))" "$total" "$chnl_info"
|
||||
|
||||
echo "PASS" >>"$STATUSLOG"
|
||||
else
|
||||
printf '❌ %s (%s)\n' "$channel" "$url"
|
||||
;;
|
||||
|
||||
if [[ "$output" =~ Server\ returned\ ([0-9]{3})\ (.+) ]]; then
|
||||
code="${BASH_REMATCH[1]}"
|
||||
echo "| $channel | HTTP Error ($code) | \`$url\` |" >>"$STATUSLOG"
|
||||
elif ((rc == 124)); then
|
||||
4* | 5*)
|
||||
printf '[%d/%d] ❌ %s' "$((index + 1))" "$total" "$chnl_info"
|
||||
|
||||
echo "| $channel | HTTP Error ($response) | \`$url\` |" >>"$STATUSLOG"
|
||||
|
||||
echo "FAIL" >>"$STATUSLOG"
|
||||
;;
|
||||
|
||||
*)
|
||||
printf '[%d/%d] ❌ %s' "$((index + 1))" "$total" "$chnl_info"
|
||||
|
||||
if [[ "$response" == "000" ]]; then
|
||||
echo "| $channel | HTTP Timeout (408) | \`$url\` |" >>"$STATUSLOG"
|
||||
|
||||
else
|
||||
echo "| $channel | HTTP Error (000) | \`$url\` |" >>"$STATUSLOG"
|
||||
echo "| $channel | Unknown status ($status_code) | \`$url\` |" >>"$STATUSLOG"
|
||||
|
||||
fi
|
||||
|
||||
echo "FAIL" >>"$STATUSLOG"
|
||||
fi
|
||||
;;
|
||||
|
||||
esac
|
||||
}
|
||||
|
||||
check_links() {
|
||||
|
|
@ -54,7 +67,7 @@ check_links() {
|
|||
channel_num=0
|
||||
name=""
|
||||
|
||||
echo -e "Checking $total_urls links from: $base_file\n"
|
||||
printf "Checking %d links from %s\n" "$total_urls" "$base_file"
|
||||
|
||||
echo "| Channel | Error (Code) | Link |" >"$STATUSLOG"
|
||||
echo "| ------- | ------------ | ---- |" >>"$STATUSLOG"
|
||||
|
|
@ -64,11 +77,14 @@ check_links() {
|
|||
|
||||
if [[ "$line" == \#EXTINF* ]]; then
|
||||
name=$(echo "$line" | sed -n 's/.*tvg-name="\([^"]*\)".*/\1/p')
|
||||
|
||||
[[ -z "$name" ]] && name="Channel $channel_num"
|
||||
|
||||
elif [[ "$line" =~ ^https?:// ]]; then
|
||||
while (($(jobs -rp | wc -l) >= MAX_JOBS)); do sleep 0.2; done
|
||||
get_status "$line" "$name" &
|
||||
|
||||
get_status "$line" "$name" "$channel_num" "$total_urls" &
|
||||
|
||||
((channel_num++))
|
||||
fi
|
||||
|
||||
|
|
|
|||
69
readme.md
69
readme.md
|
|
@ -1,16 +1,79 @@
|
|||
## Base Log @ 2026-04-12 09:10 UTC
|
||||
## Base Log @ 2026-04-13 15:53 UTC
|
||||
|
||||
### ✅ Working Streams: 153<br>❌ Dead Streams: 8
|
||||
### ✅ Working Streams: 90<br>❌ Dead Streams: 71
|
||||
|
||||
| Channel | Error (Code) | Link |
|
||||
| ------- | ------------ | ---- |
|
||||
| Aspire | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/150605.ts` |
|
||||
| C-SPAN | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/14804.ts` |
|
||||
| CBS Sports Network | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/267357.ts` |
|
||||
| CW | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/171820.ts` |
|
||||
| Comedy TV | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/199482.ts` |
|
||||
| Cozi TV | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/8392.ts` |
|
||||
| Discovery Family Channel | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/2300.ts` |
|
||||
| Discovery Life | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/201208.ts` |
|
||||
| Discovery Science | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/2301.ts` |
|
||||
| ESPN News | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/2312.ts` |
|
||||
| ESPN2 | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/41918.ts` |
|
||||
| FDSN Detroit | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/6463.ts` |
|
||||
| FDSN Florida | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/296662.ts` |
|
||||
| FDSN Midwest | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/58557.ts` |
|
||||
| FDSN Ohio | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/296675.ts` |
|
||||
| FDSN Oklahoma | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/6452.ts` |
|
||||
| FDSN SoCal | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/296681.ts` |
|
||||
| FDSN Southeast | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/82301.ts` |
|
||||
| FDSN Southwest | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/296685.ts` |
|
||||
| FDSN Sun | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/2325.ts` |
|
||||
| FDSN West | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/3367.ts` |
|
||||
| FDSN Wisconsin | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/295668.ts` |
|
||||
| FX Movie Channel | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/39873.ts` |
|
||||
| FYI TV | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/9234.ts` |
|
||||
| Fox Business | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/2316.ts` |
|
||||
| Fox News | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/1611.ts` |
|
||||
| Fox Sports 1 | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/756.ts` |
|
||||
| Fox Sports 2 | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/757.ts` |
|
||||
| Freeform TV | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/2329.ts` |
|
||||
| Game Show Network | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/466.ts` |
|
||||
| Golf Channel | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/5845.ts` |
|
||||
| Grit TV | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/15086.ts` |
|
||||
| HBO Family | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/760.ts` |
|
||||
| Hallmark Family | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/304609.ts` |
|
||||
| Hallmark Mystery | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/3388.ts` |
|
||||
| History Channel | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/761.ts` |
|
||||
| ION TV | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/147661.ts` |
|
||||
| Investigation Discovery | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/8557.ts` |
|
||||
| Lifetime | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/4667.ts` |
|
||||
| Marquee Sports Network | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/150609.ts` |
|
||||
| MotorTrend TV | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/272264.ts` |
|
||||
| NBC Sports Bay Area | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/45785.ts` |
|
||||
| NBC Sports Boston | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/35132.ts` |
|
||||
| NBC Sports California | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/16116.ts` |
|
||||
| NBC Sports Philadelphia | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/35472.ts` |
|
||||
| NFL RedZone | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/2369.ts` |
|
||||
| NewsNation | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/6296.ts` |
|
||||
| TV Land | HTTP Timeout (408) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/2364.ts` |
|
||||
| Nick Jr | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/14835.ts` |
|
||||
| Ovation | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/194336.ts` |
|
||||
| Pop TV | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/305494.ts` |
|
||||
| Premier Sports 1 | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/1097.ts` |
|
||||
| Premier Sports 2 | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/4723.ts` |
|
||||
| Showtime Extreme | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/12036.ts` |
|
||||
| Sky Sports News | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/304775.ts` |
|
||||
| Smithsonian Channel | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/8585.ts` |
|
||||
| Sony Movie Channel | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/5831.ts` |
|
||||
| SportsNet Pittsburgh | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/59945.ts` |
|
||||
| Sportsman Channel | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/30847.ts` |
|
||||
| Sportsnet 360 | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/3377.ts` |
|
||||
| Sportsnet East | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/1720.ts` |
|
||||
| Sportsnet One | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/3378.ts` |
|
||||
| TLC | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/2362.ts` |
|
||||
| TSN1 | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/770.ts` |
|
||||
| TSN2 | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/771.ts` |
|
||||
| TV Land | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/2364.ts` |
|
||||
| TV One | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/13010.ts` |
|
||||
| The Weather Channel | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/2361.ts` |
|
||||
| USA East | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/3390.ts` |
|
||||
| Willow Cricket | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/296763.ts` |
|
||||
| YES Network | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/5519.ts` |
|
||||
| getTV | HTTP Error (404) | `http://iptvtree.net:8080/live/7e4b0dbd/1dd755dc3f/194187.ts` |
|
||||
---
|
||||
#### Base Channels URL
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue