123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package main
- import (
- "flag"
- "jycdp"
- "log"
- "net/http"
- )
- type (
- //RemoteBrowserConfig
- RemoteBrowserConfig struct {
- MaxUseTimeout int64 `yaml:"maxUseTimeout"`
- //公共ws代理地址
- PublishWebsocktAddr string `yaml:"publishWebsocktAddr"`
- Browseres []*RemoteBrowser `yaml:"remotebrowser"`
- }
- )
- var (
- addr = flag.String("proxy", ":9090", "服务监听地址")
- cfgFile = flag.String("cfg", "./config.yaml", "配置文件")
- cfg = new(RemoteBrowserConfig)
- )
- // init
- func init() {
- flag.Parse()
- //TODO默认加载配置文件,也可以调用接口动态加减
- err := jycdp.LoadConfig("./config.yaml", cfg)
- if err != nil {
- log.Fatal(err)
- }
- for _, c := range cfg.Browseres {
- ws, err := LoadRemoteBrowserCfg(c.HttpAddr)
- if err != nil {
- continue
- }
- log.Println(ws)
- c.WsAddr = ws
- c.RunStatus = browser_status_idle
- olrm.cache.Store(c.WsAddr, c)
- }
- }
- // main
- func main() {
- http.HandleFunc("/", ProxyHandler)
- http.ListenAndServe(*addr, nil)
- }
|