项目简介
支持缓存静态文件,加速访问
支持 dump 所有请求,dump 匹配规则的请求
支持访问日志输出到 es、syslog、文件等
支持通过插件快速配置,调整不合适的跳转或者内容
支持植入特定的 js
支持修改响应内容或者 goblin 请求的内容
支持通过代理方式隐藏真实 IP
快速部署
Docker 快速部署
docker pull becivells/goblin
FROM scratch
COPY goblin /usr/bin/goblin
ENTRYPOINT ["/usr/bin/goblin"]
WORKDIR /goblin
docker run -it --rm -v $(pwd):/goblin/ -p 8084:8084 becivells/goblin
goblin用法:
-config string
网络服务器端口 (默认 "goblin.yaml")
-gen-plugin string
生成规则文件
-log string
服务器日志 (默认 "goblin.log")
-log-level int
日志模式[1-5] 1.dump所有日志包括GET日志、POST日志、2.记录POST日志,3.记录转储登录规则;4.记录错误日志;5.记录异常退出日志(默认1)
-print-config
输出配置文件
-test-notice
测试消息通知
-v 显示goblin版本
-w 将配置写入配置文件
高阶用法
goblin 使用反向代理,前端使用 cf 等代理 Goblin, 即可隐藏 Goblin 主机,具体文档可以参考下文。
https://goblin.xiecat.fun/guide/proxy.html
js 注入有两种方式一种是跟着页面走(Replace 需要自己追加 \<script\> 标签),一种是跟着全局 js 文件走各有好处。
使用 InjectJs 注入
具体文档可以参考 goblin InjectJs 模块
https://goblin.xiecat.fun/plugin/injectjs.html
- url: /base.js # 待替换的js 尽量选择全局 js
Match: word # 匹配方式
InjectJs:
File: aaa.js # 要替换的 js。可以为文件或者 url
https://goblin.xiecat.fun/plugin/replace.html
- url: /art_103.html # 待替换的网页
Match: Word
Replace: # 替换模块
- Request:
Method: # 匹配到如下请求方式方可替换
- GET
- POST
Header:
goblin: 1.0.1 # 替换的 header 头内容。为空则是删除。
Response: # 替换的响应内容
Body:
Append: "<script type='text/javascript' src='{{ .Static }}a.js'></script>" # 追加字符串
下载地址
文章来源:HACK分享吧
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END