import gradio as gr from modules.data import data_converter from modules.exif import clexif from modules.gif import video2gif from modules.cmd import cmd_inject from modules.rct import rct_generator from modules.splitter import str_splitter from modules.tools import webtools from utils import EN_US ZH2EN = { "# 在线工具合集": "# Online Tools Collection", "数据文件转换": "Data Converter", "图片 EXIF 清理": "Image EXIF Cleaner", "视频转 GIF 动图": "Video to GIF", "命令注入测试": "CMD Injector", "随机对照试验生成": "RCT Generator", "字符串分割": "String Splitter", "在线编程辅助工具": "Web Tools", } def _L(zh_txt: str): return ZH2EN[zh_txt] if EN_US else zh_txt if __name__ == "__main__": with gr.Blocks() as demo: gr.Markdown(_L("# 在线工具合集")) with gr.Tab(_L("图片 EXIF 清理")): clexif() with gr.Tab(_L("数据文件转换")): data_converter() with gr.Tab(_L("视频转 GIF 动图")): video2gif() with gr.Tab(_L("命令注入测试")): cmd_inject() with gr.Tab(_L("随机对照试验生成")): rct_generator() with gr.Tab(_L("字符串分割")): str_splitter() with gr.Tab(_L("在线编程辅助工具")): webtools() demo.launch()