代码拉取完成,页面将自动刷新
同步操作将从 konyshe/goodlink 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
//go:build linux
package main
import (
"gogo"
"goodlink/pro"
_ "goodlink/pro"
"goodlink/stun2"
"log"
"net/http"
_ "net/http/pprof"
"os"
"os/signal"
"syscall"
"time"
)
func main2() {
if *m_cli_stun_test { // 测试stun节点,开发使用选项
stun2.TestStun()
os.Exit(0)
}
go func() {
if m_cli_pprof_addr != "" { // 性能监测,开发使用选项
log.Println(http.ListenAndServe(m_cli_pprof_addr, nil))
}
}()
if m_cli_stun_svr_addr != "" { // 自建stun服务,开发使用选项
stun2.StartSvr(m_cli_stun_svr_addr, m_cli_stun_svr_port)
os.Exit(0)
}
// 第三方集成, 关注以下代码即可
go func() {
pro.Init(m_cli_redis_addr, m_cli_redis_pass, m_cli_redis_id)
switch len(m_cli_tun_local_addr) {
case 0:
pro.RunRemote(m_cli_tun_remote_addr,
m_cli_tun_key,
time.Duration(m_cli_stun_timeout)*time.Second)
default:
if err := pro.RunLocal(m_cli_conn_type,
m_cli_tun_local_addr,
m_cli_tun_key); err != nil {
log.Println(err)
os.Exit(0)
}
}
}()
ch := make(chan os.Signal, 1)
signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM)
<-ch
log.Println(" main2 end")
}
func main() {
help()
gogo.GuardStart(main2, func(err error) {
// if 0: err==nil; -1: err==255; -2: err==254; err==1: 1; err==2
if err != nil {
log.Printf(" 发现导致重启的错误: %v", err)
}
})
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。