代码拉取完成,页面将自动刷新
package main
import (
"io/ioutil"
"os"
"os/exec"
"runtime"
)
const (
FORWARD_AUTOCERT_XML = "ext/forward_autocert.xml"
)
func prepareKangle() error {
str := "<!--#start 999 -->\n<config>\n" +
"\t<server name='autocert' proto='http' host='127.0.0.1' port='19981' life_time='5' />\n" +
"\t\t<request>\n" +
"\t\t\t<table name='BEGIN'>\n" +
"\t\t\t\t<chain action='server:autocert' >\n" +
"\t\t\t\t\t<acl_path path='/.well-known/acme-challenge/*'></acl_path>\n" +
"\t\t\t\t\t<mark_flag x_real_ip='1' ></mark_flag>\n" +
"\t\t\t\t</chain>\n" +
"\t\t</table>\n" +
"\t</request>\n" +
"</config>"
//try to mkdir ext
os.Mkdir(kangle_base_dir+"ext", 0755)
err := ioutil.WriteFile(kangle_base_dir+FORWARD_AUTOCERT_XML, []byte(str), 0644)
if err != nil {
return err
}
return reloadKangle()
}
func reloadKangle() error {
kangle := kangle_base_dir + "bin/kangle"
if runtime.GOOS == "windows" {
kangle += ".exe"
}
return exec.Command(kangle, "-r").Run()
}
func cleanKangle() error {
err := os.Remove(kangle_base_dir + FORWARD_AUTOCERT_XML)
if err != nil {
return err
}
return reloadKangle()
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。