<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: yim wang (enigmatic man)</title>
    <description>The latest articles on DEV Community by yim wang (enigmatic man) (@dongyan_huangenigmatic).</description>
    <link>https://dev.to/dongyan_huangenigmatic</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4110752%2F5a26f6ff-2ba4-4b07-9af4-1d473304d12f.png</url>
      <title>DEV Community: yim wang (enigmatic man)</title>
      <link>https://dev.to/dongyan_huangenigmatic</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dongyan_huangenigmatic"/>
    <language>en</language>
    <item>
      <title>How I Built a Live TV Search Tool After M3U Links Died</title>
      <dc:creator>yim wang (enigmatic man)</dc:creator>
      <pubDate>Sat, 05 Sep 2026 06:36:53 +0000</pubDate>
      <link>https://dev.to/dongyan_huangenigmatic/how-i-built-a-live-tv-search-tool-after-m3u-links-died-3j6o</link>
      <guid>https://dev.to/dongyan_huangenigmatic/how-i-built-a-live-tv-search-tool-after-m3u-links-died-3j6o</guid>
      <description>&lt;p&gt;Last year, my mom called me from back home saying she could not watch the Spring Festival Gala on TV. The IPTV source she had been using for months had just stopped working — one of those free M3U playlists that expire after a few weeks.&lt;/p&gt;

&lt;p&gt;I tried to help her remotely, but the whole process was frustrating. I found a playlist on CSDN, imported it into her player, and half the channels were dead. Tried another one from GitHub — same thing. It felt like whack-a-mole.&lt;/p&gt;

&lt;p&gt;Honestly, I thought there had to be a better way. This is a problem plenty of overseas Chinese people face, and yet every solution I found was either outdated or paid.&lt;/p&gt;

&lt;p&gt;So I built something myself.&lt;/p&gt;

&lt;p&gt;I wrote a script that crawls public streaming sources every morning, tests which URLs actually work, and keeps only the healthy ones. Then I built a simple search page where you can type a channel name and get a working stream URL instantly — no need to browse through hundreds of lines in a text file.&lt;/p&gt;

&lt;p&gt;The tech stack is pretty minimal: Node.js on Cloudflare Workers, D1 for the database, and a daily cron job to refresh the source list. Nothing fancy, just something that works.&lt;/p&gt;

&lt;p&gt;I shared it with a few friends overseas and word spread. Turns out a lot of people were tired of the same M3U headaches. Now the tool supports searching by channel name, country, and category, and covers Chinese, Korean, Japanese, and European channels.&lt;/p&gt;

&lt;p&gt;If you have ever struggled with dead streams or expired playlists, you might find it useful. It is free and open source. Happy to answer any questions in the comments.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>python</category>
      <category>streaming</category>
    </item>
  </channel>
</rss>
