作为服务的Web内容净化代理
Morty 重写网页以排除恶意 HTML 标签和属性。它还会替换外部资源引用以防止第三方信息泄露。
Morty 的主要目标是作为 searx 的结果代理提供,但它也可以作为独立的净化服务使用。
特性:
要求:Go 版本 1.10 或更高。
$ go get github.com/asciimoo/morty
$ "$GOPATH/bin/morty" --help
-debug
调试模式(默认 true)
-followredirect
跟随 HTTP GET 重定向
-ipv6
允许 IPv6 HTTP 请求(默认 true)
-key string
HMAC URL 验证密钥(base64 编码)- 留空禁用验证
-listen string
监听地址(默认 "127.0.0.1:3000")
-proxy string
使用指定的 HTTP 代理(例如:'[user:pass@]hostname:port')。覆盖 -socks5、-ipv6。
-proxyenv
使用环境变量中设置的 HTTP 代理(HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY)。覆盖 -proxy、-socks5、-ipv6。
-socks5 string
使用 SOCKS5 代理(例如:'hostname:port')。覆盖 -ipv6。
-timeout uint
请求超时时间(默认 5)
-version
显示版本
Morty 还可以使用以下环境变量进行配置:
MORTY_ADDRESS:监听地址(默认为 127.0.0.1:3000)MORTY_KEY:HMAC URL 验证密钥(base64 编码),用于防止直接打开 URL。留空禁用验证。使用 openssl rand -base64 33 生成。DEBUG:启用/禁用代理和重定向日志(默认为 true)。设置为 false 禁用。docker run -e DEBUG=false -e MORTY_ADDRESS=0.0.0.0:3000 dalf/morty
docker run -e DEBUG=false dalf/morty -listen 0.0.0.0:3000
$ cd "$GOPATH/src/github.com/asciimoo/morty"
$ go test
$ cd "$GOPATH/src/github.com/asciimoo/morty"
$ go test -benchmem -bench .
发现缺陷或有建议?请访问 问题追踪器。