Skip to content

Commit

Permalink
2023-11-12 00:39:30 UTC - You are deeply attached to your friends and…
Browse files Browse the repository at this point in the history
… acquaintances
  • Loading branch information
actions-user committed Nov 12, 2023
0 parents commit 08a801e
Show file tree
Hide file tree
Showing 15 changed files with 510,725 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
112 changes: 112 additions & 0 deletions .github/workflows/m3u.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
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
# Download the URLs
echo "Downloading from $url..."
wget "$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
43 changes: 43 additions & 0 deletions IPTV.m3u
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#EXTM3U
#EXTINF:0 tvg-chno="1" tvg-name="Bloomberg" tvg-ID="bloomberg.us" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/us/bloomberg.png" group-title="📰 NEWS",Bloomberg
https://i.mjh.nz/PlutoTV/54ff7ba69222cb1c2624c584-alt.m3u8
#EXTINF:0 tvg-chno="2" tvg-name="Reuters" tvg-ID="reuterstv.us" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/uk/reuters.png" group-title="📰 NEWS",Reuters
https://i.mjh.nz/Plex/5e20b730f2f8d5003d739db7-5eea71d65252710041e0ccbc.m3u8
#EXTINF:0 tvg-chno="3" tvg-name="CNA" tvg-ID="cna.sg" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/sg/cna.png" group-title="📰 NEWS",Channel News Asia
https://d2ko4czujk9652.cloudfront.net/hls/clr4ctv_cnas/master.m3u8
#EXTINF:0 tvg-chno="4" 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-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="5" tvg-name="Euronews" tvg-ID="euronews.uk" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/euronews.png" group-title="📰 NEWS",Euronews
https://i.mjh.nz/PlutoTV/60492dcf1c9b6a00089f41df-alt.m3u8
#EXTINF:0 tvg-chno="6" tvg-name="CNN" tvg-ID="cnn.us" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/us/cnn.png" group-title="📰 NEWS ",CNN
https://i.mjh.nz/PlutoTV/5421f71da6af422839419cb3-alt.m3u8
#EXTINF:0 tvg-chno="7" tvg-name="CNBC" tvg-ID="cnbc.us" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/us/cnbc.png" group-title="📰 NEWS ",CNBC
https://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="201" 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://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="202" 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://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="203" 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://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="204" 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://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="205" tvg-name="ITV" tvg-ID="itv.uk" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/uk/itv.png" group-title="🇬🇧 UK",ITV
https://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="206" tvg-name="ITV2" tvg-ID="itv2.uk" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/uk/itv2.png" group-title="🇬🇧 UK",ITV2
https://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="301" tvg-name="TF1" tvg-ID="tf1.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/tf1.png" group-title=" 🇫🇷 FR ",TF1
https://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="302" 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://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="303" tvg-name="France 3" tvg-ID="france3.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/france3.png" group-title=" 🇫🇷 FR ",France 3
https://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="304" tvg-name="France 4" tvg-ID="france4.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/france4.png" group-title=" 🇫🇷 FR ",France 4
https://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="305" tvg-name="France 5" tvg-ID="france5.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/france5.png" group-title=" 🇫🇷 FR ",France 5
https://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="306" tvg-name="M6" tvg-ID="m6.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/m6.png" group-title=" 🇫🇷 FR ",M6
https://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="307" tvg-name="CANAL+" tvg-ID="canal.fr" tvg-logo="https://raw.githubusercontent.com/fraudiay79/logos/master/fr/canalplus.png" group-title=" 🇫🇷 FR ",CANAL+
https://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
#EXTINF:0 tvg-chno="308" 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://live-par-1-abr-cdn.livepush.io/live/bigbuckbunnyclip/index.m3u8
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

<table style="border: 1px solid transparent">
<tr>
<td align="center"><img width="200" alt="Logo" src="/docs/_static/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>
</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>
65 changes: 65 additions & 0 deletions config/WebGrab++.config.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<?xml version="1.0"?>
<settings>

<!-- for detailed info about the settings see http://webgrabplus.com/documentation/configuration/webgrabconfigxml
and http://webgrabplus.com/sites/default/files/downloads/Misc/Documented_Configuration_Files.zip -->

<filename>guide.xml</filename>
<mode></mode>
<postprocess grab="y" run="n">rex</postprocess>
<user-agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36 Edg/79.0.309.71</user-agent>
<!--<decryptkey site="site-name">decrypt_userkey</decryptkey>-->
<!--<license wg-username="your webgrab+plus username" registered-email="your registered email address" password="your license password" />-->

<logging>on</logging>
<retry time-out="5">4</retry>
<timespan>0</timespan>
<update>f</update>

<!--
For the latest version,
see http://webgrabplus.com/epg-channels for the available sites/channels
-->

<channel update="i" site="mewatch.sg" site_id="97072" xmltv_id="CNA">CNA</channel>
<channel update="i" site="aljazeera.com" site_id="aje" xmltv_id="AlJazeera English">AlJazeera English</channel>
<channel update="i" site="uk-sky.com" site_id="4604" xmltv_id="Euronews">Euronews</channel>
<channel update="i" site="m.tvguide.co.uk-index" site_id="683" xmltv_id="BBC1 HD">BBC1 HD</channel>
<channel update="i" site="m.tvguide.co.uk-index" site_id="387" xmltv_id="BBC2 HD">BBC2 HD</channel>
<channel update="i" site="m.tvguide.co.uk-index" site_id="476" xmltv_id="Channel 4 HD">Channel 4 HD</channel>
<channel update="i" site="m.tvguide.co.uk-index" site_id="148" xmltv_id="Channel 5">Channel 5</channel>
<channel update="i" site="m.tvguide.co.uk-index" site_id="642" xmltv_id="ITV HD">ITV HD</channel>
<channel update="i" site="m.tvguide.co.uk-index" site_id="671" xmltv_id="ITV2 HD">ITV2 HD</channel>
<channel update="i" site="telerama.fr.api" site_id="192" xmltv_id="TF1">TF1</channel>
<channel update="i" site="telerama.fr.api" site_id="4" xmltv_id="France 2">France 2</channel>
<channel update="i" site="telerama.fr.api" site_id="80" xmltv_id="France 3">France 3</channel>
<channel update="i" site="telerama.fr.api" site_id="78" xmltv_id="France 4">France 4</channel>
<channel update="i" site="telerama.fr.api" site_id="47" xmltv_id="France 5">France 5</channel>
<channel update="i" site="telerama.fr.api" site_id="34" xmltv_id="Canal+">Canal+</channel>
<channel update="i" site="telerama.fr.api" site_id="118" xmltv_id="M6">M6</channel>
<channel update="i" site="telerama.fr.api" site_id="145" xmltv_id="Paris Première">Paris Première</channel>
<channel update="i" site="telerama.fr.api" site_id="260" xmltv_id="Guyane la 1ère">Guyane la 1ère</channel>
<channel update="i" site="ustvgo.tv" site_id="5943" xmltv_id="CBS">CBS</channel>
<channel update="i" site="ustvgo.tv" site_id="5942" xmltv_id="ABC">ABC</channel>
<channel update="i" site="ustvgo.tv" site_id="6077" xmltv_id="NBC">NBC</channel>
<channel update="i" site="ustvgo.tv" site_id="5963" xmltv_id="FOX">FOX</channel>
<channel update="i" site="ustvgo.tv" site_id="5964" xmltv_id="PBS">PBS</channel>
<channel update="i" site="ustvgo.tv" site_id="410" xmltv_id="TBS Superstation (East)">TBS Superstation (East)</channel>
<channel update="i" site="ustvgo.tv" site_id="427" xmltv_id="Turner Network Television (East)">Turner Network Television (East)</channel>
<channel update="i" site="ustvgo.tv" site_id="432" xmltv_id="USA Network (East)">USA Network (East)</channel>
<channel update="i" site="ustvgo.tv" site_id="411" xmltv_id="HBO (East)">HBO (East)</channel>
<channel update="i" site="ustvgo.tv" site_id="1188" xmltv_id="HBO 2 (East)">HBO 2 (East)</channel>
<channel update="i" site="ustvgo.tv" site_id="429" xmltv_id="Cable News Network">Cable News Network</channel>
<channel update="i" site="skysports.com" site_id="1301" xmltv_id="Sky Sports Main Event">Sky Sports Main Event</channel>
<channel update="i" site="skysports.com" site_id="1303" xmltv_id="Sky Sports Premier League">Sky Sports Premier League</channel>
<channel update="i" site="skysports.com" site_id="3838" xmltv_id="Sky Sports Football">Sky Sports Football</channel>
<channel update="i" site="skysports.com" site_id="1302" xmltv_id="Sky Sports Cricket">Sky Sports Cricket</channel>
<channel update="i" site="skysports.com" site_id="1322" xmltv_id="Sky Sports Golf">Sky Sports Golf</channel>
<channel update="i" site="skysports.com" site_id="1354" xmltv_id="Sky Sports Racing">Sky Sports Racing</channel>
<channel update="i" site="skysports.com" site_id="1306" xmltv_id="Sky Sports F1">Sky Sports F1</channel>
<channel update="i" site="skysports.com" site_id="1333" xmltv_id="Sky Sports NFL">Sky Sports NFL</channel>
<channel update="i" site="skysports.com" site_id="3839" xmltv_id="Sky Sports Arena">Sky Sports Arena</channel>
<channel update="i" site="skysports.com" site_id="4091" xmltv_id="Sky Sports Mix">Sky Sports Mix</channel>
<channel update="i" site="ustvgo.tv" site_id="423" xmltv_id="ESPN">ESPN</channel>
<channel update="i" site="ustvgo.tv" site_id="435" xmltv_id="ESPN2">ESPN2</channel>
</settings>
Loading

0 comments on commit 08a801e

Please sign in to comment.