logo
0
0
WeChat Login

Script Injector

一个轻量级的脚本注入管理系统,类似油猴(Tampermonkey),用于内部系统的前端自定义扩展。

功能特点

  • 通过 URL 匹配规则(支持 * 通配符)自动注入脚本
  • 基于用户 token 隔离脚本管理
  • Monaco Editor 代码编辑器(语法高亮、智能提示)
  • SQLite 本地存储,无需额外数据库
  • 所有依赖本地化,支持内网环境

快速开始

1. 编译运行

go build -o script-injector . ./script-injector

服务默认监听 http://localhost:8080

2. 访问管理页面

http://localhost:8080/admin?token=你的用户标识

在管理页面可以:

  • 新建/编辑/删除脚本
  • 设置 URL 匹配规则
  • 启用/禁用脚本

3. 嵌入目标系统

在目标页面添加一行代码即可自动加载匹配的脚本:

<script src="http://localhost:8080/api/loader.js?token=用户标识" defer></script>

URL 匹配规则

规则示例说明
https://example.com/*匹配 example.com 下所有页面
https://example.com/app/*匹配 /app/ 路径下所有页面
*://example.com/*匹配 http 和 https
*匹配所有页面

API 接口

方法路径说明
GET/api/scripts?token=xxx获取脚本列表
POST/api/scripts?token=xxx创建脚本
PUT/api/scripts/:id?token=xxx更新脚本
DELETE/api/scripts/:id?token=xxx删除脚本
GET/api/loader.js?token=xxx动态脚本加载器
GET/admin?token=xxx管理页面

项目结构

├── main.go # 程序入口 ├── database.go # SQLite 数据库操作 ├── handlers.go # HTTP 处理函数 ├── static/ # 静态资源(jQuery、Monaco Editor) └── templates/ # HTML 模板

技术栈

  • 后端:Go + SQLite
  • 前端:HTML + jQuery + Monaco Editor

About

这是一个开源的 基于公司的项目的插件功能。设计功能借鉴 tampermonkey(油猴)的功能 通过js嵌入系统中。 可以针对内部系统中不同的用户加载脚本 实现一些自定义的前端联动。

Language
Go39.1%
HTML24.2%
JavaScript15.9%
CSS9.9%
Others10.9%