Update.yml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. name: Auto Update
  2. on:
  3. workflow_dispatch:
  4. schedule:
  5. - cron: '0 1,9,17 * * *'
  6. push:
  7. paths-ignore:
  8. - 。github
  9. - 。gitignore
  10. - LICENSE
  11. - logo.png
  12. env:
  13. TZ: Asia/Shanghai
  14. jobs:
  15. Update:
  16. strategy:
  17. fail-fast: false
  18. matrix:
  19. include:
  20. - os: ubuntu-latest
  21. branch: master
  22. owner: kilvn
  23. runs-on: ${{ matrix.os }}
  24. steps:
  25. - name: Checkout
  26. uses: actions/checkout@v4
  27. - name: Check Repository Owner
  28. id: check_owner
  29. run: |
  30. if [ "${{ github.repository_owner }}" != "${{ matrix.owner }}" ]; then
  31. echo "Repository owner is not ${{ matrix.owner }}. Cancelling the job."
  32. exit 1
  33. fi
  34. - name: GetTime
  35. run: echo "DATE=$(date +'%Y-%m-%d %H:%M:%S CST' | sed 's/ CST$//')" >> $GITHUB_ENV
  36. - name: Update Files
  37. run: |
  38. rm -f fanmingming.m3u && wget https://raw.githubusercontent.com/fanmingming/live/main/tv/m3u/ipv6.m3u -O fanmingming.m3u
  39. # 央视源
  40. cat fanmingming.m3u > CCTV.m3u
  41. sed -i -n '/央视频道/,+1p' CCTV.m3u
  42. sed -i '/^\s*$/d' CCTV.m3u
  43. # 卫视源、地方频道、数字频道、港澳台
  44. cat fanmingming.m3u > CNTV1.m3u && sed -i -n '/卫视频道/,+1p' CNTV1.m3u
  45. cat fanmingming.m3u > CNTV2.m3u && sed -i -n '/数字频道/,+1p' CNTV2.m3u
  46. rm -f zbds.m3u && wget https://raw.githubusercontent.com/vbskycn/iptv/master/tv/iptv4.m3u -O zbds.m3u
  47. cat zbds.m3u > CNTV3.m3u && sed -i -n '/地方频道/,+1p' CNTV3.m3u
  48. cat zbds.m3u > CHC.m3u && sed -i -n '/电影频道/,+1p' CHC.m3u && sed -i -n '/CHC/,+1p' CHC.m3u
  49. # cat zbds.m3u > ZBZG.m3u && sed -i -n '/直播中国/,+1p' ZBZG.m3u
  50. # wget https://raw.githubusercontent.com/yan-sheng-li/tvhub/main/tv.txt -O ZBZG.m3u && sed -i -n '/直播中国/,+1p' ZBZG.m3u
  51. cat live-china.m3u > ZBZG.m3u
  52. wget https://raw.githubusercontent.com/zhumeng11/IPTV/main/IPTV.m3u -O GAT.m3u && sed -i '/#港澳台/d' GAT.m3u && sed -i '/爱尔达/d' GAT.m3u && sed -i -n '/港澳台/,+1p' GAT.m3u
  53. cat CNTV1.m3u >> CNTV.m3u
  54. cat CNTV3.m3u >> CNTV.m3u
  55. cat CHC.m3u >> CNTV.m3u
  56. cat CNTV2.m3u >> CNTV.m3u
  57. cat GAT.m3u >> CNTV.m3u
  58. echo "" >> CNTV.m3u
  59. cat ZBZG.m3u >> CNTV.m3u
  60. rm -f CNTV1.m3u CNTV2.m3u CNTV3.m3u CHC.m3u GAT.m3u ZBZG.m3u fanmingming.m3u zbds.m3u
  61. sed -i '/^\s*$/d' CNTV.m3u
  62. # 整合源
  63. cat CCTV.m3u > iptv.m3u
  64. cat CNTV.m3u >> iptv.m3u
  65. sed -i '/#EXTM3U/d' iptv.m3u
  66. sed -i '1i #EXTM3U x-tvg-url="https://live.kilvn.com/epg.xml.gz,https://e.erw.cc/all.xml.gz,http://epg.51zmt.top:8000/e.xml.gz" catchup="append" catchup-source="?playseek=${(b)yyyyMMddHHmmss}-${(e)yyyyMMddHHmmss}"' iptv.m3u
  67. sed -i 's|"https://raw.githubusercontent.com|"https://ghproxy.kilvn.com/https://raw.githubusercontent.com|g' iptv.m3u
  68. sed -i '/^\s*$/d' iptv.m3u
  69. # 大人源
  70. rm -f Adult.m3u && wget http://adultiptv.net/chs.m3u -O Adult.m3u
  71. sed -i -n '/XXX/,+1p' Adult.m3u
  72. sed -i 's/XXX/成人频道/' Adult.m3u
  73. sed -i 's/AdultIPTV.net //g' Adult.m3u
  74. sed -i '/^\s*$/d' Adult.m3u
  75. cat iptv.m3u > iptv+.m3u
  76. echo "" >> iptv+.m3u
  77. cat Adult.m3u >> iptv+.m3u
  78. sed -i '/^\s*$/d' iptv+.m3u
  79. rm -f CCTV.m3u CNTV.m3u Adult.m3u
  80. # FM源
  81. rm -f radio.m3u && wget https://raw.githubusercontent.com/huangsuming/iptv/main/list/radio.txt -O radio.m3u
  82. # 节目源
  83. rm -f epg.xml && wget https://epg.112114.xyz/pp.xml -O epg.xml
  84. sed -i 's/中国教育1台/CETV-1/g' epg.xml
  85. sed -i 's/中国教育2台/CETV-2/g' epg.xml
  86. sed -i 's/中国教育3台/CETV-3/g' epg.xml
  87. sed -i 's/中国教育4台/CETV-4/g' epg.xml
  88. sed -i '/<channel id="中国教育一套">/,/<\/channel>/d; /<programme channel="中国教育一套".*>/,/<\/programme>/d' epg.xml
  89. rm -f epg.xml.gz && gzip -k epg.xml
  90. # README
  91. sed -i "s/已于 [0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\} [0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\} 自动更新/已于 ${DATE} 自动更新/g" README.md
  92. - name: Commit
  93. run: |
  94. git config --local user.email "github-actions[bot]@users.noreply.github.com"
  95. git config --local user.name "github-actions[bot]"
  96. git checkout --orphan latest_branch
  97. git add -A
  98. git commit -am "${DATE} 更新."
  99. git branch -D ${{ matrix.branch }}
  100. git branch -m ${{ matrix.branch }}
  101. - name: Push
  102. run: git push -f origin ${{ matrix.branch }}