编译在openwrt上运行的frp

前言

对于内网环境而言,反向代理是一个很强大的端口突破方式。

frp 的作用

  • 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
  • 对于 http 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
  • 利用处于内网或防火墙后的机器,对外网环境提供 tcp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。
  • 可查看通过代理的所有 http 请求和响应的详细信息。(待开发)

步骤

#下载frp代码
git clone https://github.com/fatedier/frp.git
cd frp

保存下面的命令到build.sh,运行成功即可在bin目录看到frpc frps

#GOROOT指向编译完成的go-mips32代码
export GOROOT=/home/openwrtuser/openwrt_go/go-mips32
export GOPATH=$GOROOT/src/gocode
export GOOS=linux
export GOARCH=mips32le
export PATH=$GOROOT/bin:$PATH

go get -v  github.com/docopt/docopt-go
go get -v  github.com/fatedier/frp/src/models/client
go get -v  github.com/fatedier/frp/src/utils/log
go get -v  github.com/fatedier/frp/src/utils/version
go get -v  github.com/mitchellh/gox
go get -v  github.com/rakyll/statik

go fmt ./src/...
go fmt ./test/echo_server.go
go fmt ./test/http_server.go
go fmt ./test/func_test.go
go build -o bin/frps ./src/cmd/frps
go build -o bin/frpc ./src/cmd/frpc
go build -o test/bin/echo_server ./test/echo_server.go
go build -o test/bin/http_server ./test/http_server.go

推荐阅读更多精彩内容

  • 开发及环境搭建类面试题 1、描述软件产生内存泄露的原因以及检查方式。(可以结合一种开发语言进行描述) 参考答案: ...
    天宇逍遥heart阅读 268评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 75,864评论 12 117
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 11,913评论 2 47
  • 刚刚看完欢乐颂的三十二集,樊胜美的家庭又一次冲击着我对这个世界的认识。看完躺在床上,心中的感觉很闷,很想与人倾诉却...
    DecemberWinter阅读 52评论 0 0
  • 你太喜欢抱怨了,你自己也不好,有很多缺点。下次不要抱怨了,直接说,好吗?我希望你每一天都是晴天。
    梨酪阅读 14评论 0 0