Files
tubo-live-source-2026092822…/app.py
T

50 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
"""
Flask Web 服务
对外提供 m3u 文件访问,并支持手动触发更新
"""
import os
from flask import Flask, send_file, jsonify
from updater import update, OUTPUT_FILE
app = Flask(__name__)
@app.route("/")
def index():
"""首页,返回简单说明"""
return jsonify({
"name": "tubo-live-source",
"description": "途播播放器专用直播源",
"m3u": "/tubo.m3u",
"update": "/update",
})
@app.route("/tubo.m3u")
def m3u():
"""返回 m3u 文件;若不存在则先更新一次"""
if not os.path.exists(OUTPUT_FILE):
update()
return send_file(
OUTPUT_FILE,
mimetype="audio/x-mpegurl",
as_attachment=False,
download_name="tubo.m3u",
)
@app.route("/update")
def manual_update():
"""手动触发更新"""
path = update()
return jsonify({"status": "ok", "file": path})
if __name__ == "__main__":
# 启动前确保 m3u 存在
if not os.path.exists(OUTPUT_FILE):
update()
app.run(host="0.0.0.0", port=8000)