Skip to content

Commit

Permalink
2024-08-17 00:41:34 UTC - The man who sets out to carry a cat by its …
Browse files Browse the repository at this point in the history
…tail learns something that
  • Loading branch information
actions-user committed Aug 17, 2024
0 parents commit af3f5fa
Show file tree
Hide file tree
Showing 13 changed files with 510,698 additions and 0 deletions.
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: 2
updates:

# Maintain dependencies for poetry
- package-ecosystem: "pip"
directory: "/"
target-branch: "main"
schedule:
interval: "weekly"
commit-message:
prefix: "⬆️ 🤖 Dependencies"
29 changes: 29 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base",
":semanticCommitTypeAll(⬆️ 🛠️)",
":disableDependencyDashboard"
],
"gitIgnoredAuthors": ["[email protected]","github-actions[bot]","[email protected]"],

"semanticCommits": "enabled",
"labels": ["dependencies"],
"baseBranches": ["main"],
"packageRules": [
{
"matchManagers": ["pip_requirements"],
"enabled": false
},
{
"matchUpdateTypes": ["minor", "patch"],
"matchCurrentVersion": "!/^0/",
"automerge": true
},
{
"matchUpdateTypes": ["major"],
"automerge": false,
"minimumReleaseAge": "30 days"
}
]
}
94 changes: 94 additions & 0 deletions .github/workflows/epg.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: Make EPG
on:
# schedule:
# - cron: "0 0 * * *"
workflow_dispatch:

jobs:
epg:
name: Make EPG
runs-on: ubuntu-latest
steps:

- name: 📥 Checkout the repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Create temp directory
run: |
mkdir -p temp
# - name: Download & Install WebGrab+Plus & its config
# run: |
# wget http://webgrabplus.com/sites/default/files/download/SW/V3.2.0/WebGrabPlus_V3.2_install.tar.gz
# tar -zxvf WebGrabPlus_V3.2_install.tar.gz
# cd .wg++
# ./install.sh
# wget -N https://raw.githubusercontent.com/mraniki/tv/main/config/WebGrab++.config.xml
# ./run.sh

# - name: Extract Channel List
# run: |
# sudo apt install xmlstarlet
# xmlstarlet sel -t -v "//channel/@xmltv_id" config/WebGrab++.config.xml > config/channels.txt

- name: Download manual EPG
run: |
mapfile -t urls < config/epg.txt
# Iterate over the URLs and download the XML files
for url in "${urls[@]}"; do
echo "Downloading from $url..."
wget -P temp "$url"
done
- name: xmltv install
run: |
sudo apt install xmltv
- name: Merge EPG
run: |
ls -l temp/*.xml
# Get a list of downloaded XML files
xml_files=$(ls temp/*.xml)
# Iterate over the XML files
for xml_file in $xml_files; do
if [ ! -f "guide.xml" ] || [ ! -s "guide.xml" ]; then
# Rename the first XML file to guide.xml
tv_sort --by-channel --output $xml_file $xml_file
mv $xml_file guide.xml
continue
fi
echo "Sorting ..."
tv_sort --by-channel --output $xml_file $xml_file
sleep 2
tv_merge -t -i guide.xml -m $xml_file -o temp.xml
mv temp.xml guide.xml
done
# # Save the merged XML file as compressed tarball
# tar czf guide.tar.gz guide.xml
# rm guide.xml
- name: 🪪 Identify
run: |
git config --global user.email "[email protected]"
git config --global user.name "${GITHUB_ACTOR}"
- name: Clean
run: |
rm -rf temp
git checkout --orphan latest_branch
git add -A
git commit -am "${{ steps.date.outputs.DATE }} - ${{ steps.quote.outputs.TITLE }}"
git branch -D main
git branch -m main
git push -f origin main
116 changes: 116 additions & 0 deletions .github/workflows/m3u.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
name: Update M3U

on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"


jobs:
Update:
name: 📺 m3u update
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write

steps:
- name: 📥 Checkout the repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: 🕓 GetTime
id: date
run: |
echo "DATE=$(date +'%Y-%m-%d %H:%M:%S UTC')" >> $GITHUB_OUTPUT
- name: 🔮 Get a random quote
id: quote
run: |
sudo apt-get -y install fortune-mod
TITLE=$(fortune -s | tr -d '[:punct:]' | tr -d '[:digit:]' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | head -n 1)
# Limit the TITLE to 256 characters
TITLE=${TITLE:0:256}
echo "TITLE=$TITLE" >> $GITHUB_OUTPUT
- name: Update
run: |
cp config/template.txt IPTV.m3u
echo "IPTV.m3u contents:"
cat IPTV.m3u
# Define the search terms
mapfile -t search_terms < config/search_terms.txt
# mapfile -t search_terms < <(grep 'tvg-name' template.txt | cut -d'"' -f4)
for search_term in "${search_terms[@]}"; do
# Control flag for each search term
found=0
# Define the URLs
mapfile -t urls < config/urls.txt
for url in "${urls[@]}"; do
if [ $found -eq 1 ]; then
break
fi
if [[ $url == \#* ]]; then
echo "Skipping commented out URL: $url"
continue
fi
# Download the URLs
echo "Downloading from $url..."
wget --no-check-certificate "$url" -O input.txt
echo "Extracting URL for $search_term..."
new_url=$(awk "/$search_term/{getline; print; exit}" input.txt)
echo "Extracted URL: $new_url"
if [ -z "$new_url" ]; then
echo "No New URL found"
else
echo "URL extracted found: $new_url"
echo ""
echo "Replacing URL in file with: $new_url"
awk -v new_url="$new_url" -v search_term="$search_term" '
index($0, search_term) {
print $0
getline
print new_url
next
}
{print}
' IPTV.m3u > temp && mv temp IPTV.m3u
echo "URL replaced in IPTV.m3u"
echo "IPTV.m3u contents:"
cat IPTV.m3u
# Set the control flag to 1
found=1
fi
done
done
rm input.txt
echo "Update completed."
echo "IPTV.m3u contents:"
cat IPTV.m3u
- name: 🪪 Identify
run: |
git config --global user.email "[email protected]"
git config --global user.name "${GITHUB_ACTOR}"
- name: Clean
run: |
git checkout --orphan latest_branch
git add -A
git commit -am "${{ steps.date.outputs.DATE }} - ${{ steps.quote.outputs.TITLE }}"
git branch -D main
git branch -m main
git push -f origin main
51 changes: 51 additions & 0 deletions IPTV.m3u
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#EXTM3U
#EXTINF:0 tvg-chno="840001" tvg-name="Bloomberg" tvg-ID="bloomberg.us" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/us/bloomberg.png" group-title="📰 NEWS",Bloomberg
https://jmp2.uk/SamsungTVPlus/USAJ3400011A8.m3u8
#EXTINF:0 tvg-chno="826000" tvg-name="Reuters" tvg-ID="reuterstv.us" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/uk/reuters.png" group-title="📰 NEWS",Reuters
https://jmp2.uk/Plex/5e20b730f2f8d5003d739db7-5eea71d65252710041e0ccbc.m3u8
#EXTINF:0 tvg-chno="702003" tvg-name="CNA International" tvg-ID="cna.sg" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/sg/cna.png" group-title="📰 NEWS",Channel News Asia
https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index.m3u8
#EXTINF:0 tvg-chno="634001" tvg-name="Al Jazeera" tvg-ID="aljazeera.uk" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/qa/aljazeera.png" group-title="📰 NEWS",Al Jazeera
https://live-hls-web-aje.getaj.net/AJE/03.m3u8
#EXTINF:0 tvg-chno="056001" tvg-name="Euronews" tvg-ID="euronews.uk" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/euronews.png" group-title="📰 NEWS",Euronews
https://shls-live-ak.akamaized.net/out/v1/115bfcde8fa342d182ef846445cdbdcf/index.m3u8
#EXTINF:0 tvg-chno="840006" tvg-name="CNN" tvg-ID="cnn.us" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/us/cnn.png" group-title="📰 NEWS ",CNN
https://turnerlive.warnermediacdn.com/hls/live/586495/cnngo/cnn_slate/VIDEO_0_3564000.m3u8
#EXTINF:0 tvg-chno="840007" tvg-name="CNBC" tvg-ID="cnbc.us" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/us/cnbc.png" group-title="📰 NEWS ",CNBC
https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8
#EXTINF:0 tvg-chno="840008" tvg-name="FOXNEWS" tvg-ID="foxnews.us" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/us/foxnews.png" group-title="📰 NEWS ",CNN
https://fox-foxnewsnow-samsungus.amagi.tv/playlist720p.m3u8
#EXTINF:0 tvg-chno="826001" tvg-name="BBC One" tvg-ID="bbc1.uk" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/uk/bbcone.png" group-title="🇬🇧 UK",BBC One
https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8
#EXTINF:0 tvg-chno="826002" tvg-name="BBC Two" tvg-ID="bbctwo.uk" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/uk/bbctwo.png" group-title="🇬🇧 UK",BBC Two
https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8
#EXTINF:0 tvg-chno="826003" tvg-name="Channel 4" tvg-ID="channel4.uk" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/uk/channel4.png" group-title="🇬🇧 UK",Channel 4
https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8
#EXTINF:0 tvg-chno="826004" tvg-name="Channel 5" tvg-ID="channel5.uk" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/uk/channel5.png" group-title="🇬🇧 UK",Channel 5
https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8
#EXTINF:0 tvg-chno="826005" tvg-name="ITV" tvg-ID="itv.uk" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/uk/itv.png" group-title="🇬🇧 UK",ITV
https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8
#EXTINF:0 tvg-chno="826006" tvg-name="ITV2" tvg-ID="itv2.uk" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/uk/itv2.png" group-title="🇬🇧 UK",ITV2
https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8
#EXTINF:0 tvg-chno="826010" tvg-name="BBC News" tvg-ID="bbcnews.uk" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/uk/bbcnews.png" group-title="🇬🇧 UK",ITV2
https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8
#EXTINF:0 tvg-chno="250001" tvg-name="TF1" tvg-ID="tf1.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/tf1.png" group-title=" 🇫🇷 FR ",TF1
https://www.tntendirect.com/tf1/live/playlist.m3u8
#EXTINF:0 tvg-chno="250002" tvg-name="France2" tvg-ID="france2.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/france2.png" group-title=" 🇫🇷 FR ",France 2
https://www.tntendirect.com/france2/live/playlist.m3u8
#EXTINF:0 tvg-chno="250003" tvg-name="France3" tvg-ID="france3.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/france3.png" group-title=" 🇫🇷 FR ",France 3
https://www.tntendirect.com/france3/live/playlist.m3u8
#EXTINF:0 tvg-chno="250004" tvg-name="France4" tvg-ID="france4.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/france4.png" group-title=" 🇫🇷 FR ",France 4
https://www.tntendirect.com/france4/live/playlist.m3u8
#EXTINF:0 tvg-chno="250005" tvg-name="France5" tvg-ID="france5.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/france5.png" group-title=" 🇫🇷 FR ",France 5
https://www.tntendirect.com/france5/live/playlist.m3u8
#EXTINF:0 tvg-chno="250006" tvg-name="M6" tvg-ID="m6.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/m6.png" group-title=" 🇫🇷 FR ",M6
https://www.tntendirect.com/m6/live/playlist.m3u8
#EXTINF:0 tvg-chno="250007" tvg-name="CANAL+" tvg-ID="canal.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/canalplus.png" group-title=" 🇫🇷 FR ",CANAL+
https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8
#EXTINF:0 tvg-chno="250008" tvg-name="PARIS PREMIERE" tvg-ID="parispremiere.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/parispremiere.png" group-title=" 🇫🇷 FR ",PARIS PREMIERE
https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8
#EXTINF:0 tvg-chno="276001" tvg-name="Das Erste" tvg-ID="daserste.de" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/de/daserste.png" group-title=" 🇩🇪 DE ",Das Erste
https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8
#EXTINF:0 tvg-chno="000001" tvg-name="NightWave Plaza" radio="true" tvg-ID="plaza.one" tvg-logo="http://pa1.narvii.com/6389/4bcee8daec7d0300c37f22e929e8a245e51772b0_00.gif" group-title=" 📻 Radio ",NightWave Plaza
http://radio.plaza.one/mp3
28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

<table style="border: 1px solid transparent">
<tr>
<td align="center"><img width="200" alt="Logo" src="/config/logo.png">
</td>
<tr>
<td align="left">
<a href="https://raw.githubusercontent.com/mraniki/tv/main/IPTV.m3u"> M3U </a> <br><br>
<a href="https://shorturl.at/nrtDL"> https://shorturl.at/nrtDL </a> <br>
<img src="https://github.com/mraniki/tv/actions/workflows/m3u.yml/badge.svg">
</td>
</tr>
</tr>
<tr>
<td align="left">
<a href="https://raw.githubusercontent.com/mraniki/tv/main/guide.xml"> Electronic Program Guide </a> <br><br>
<a href="https://shorturl.at/xKV26"> https://shorturl.at/xKV26 </a>
</td>
</tr>
<tr>
<td align="left">
<a href="https://iptvnator.vercel.app"> PLAYER </a> <br>
</td>
</tr>

</table>


Loading

0 comments on commit af3f5fa

Please sign in to comment.