Skip to content

Commit 24e90c1

Browse files
committed
feat: 新增客户端ccd配置
1 parent ea8f1aa commit 24e90c1

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

main.go

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,11 @@ func init() {
246246
}
247247

248248
func main() {
249+
ovData, ok := os.LookupEnv("OVPN_DATA")
250+
if !ok {
251+
ovData = "/data"
252+
}
253+
249254
ovManage, ok := os.LookupEnv("OVPN_MANAGEMENT")
250255
if !ok {
251256
ovManage = "127.0.0.1:7505"
@@ -527,10 +532,11 @@ func main() {
527532
name := c.PostForm("name")
528533
serverAddr := c.PostForm("serverAddr")
529534
config := c.PostForm("config")
535+
ccdConfig := c.PostForm("ccdConfig")
530536

531-
_, err := os.Stat(path.Join("clients", fmt.Sprintf("%s.ovpn", name)))
537+
_, err := os.Stat(path.Join(ovData, "clients", fmt.Sprintf("%s.ovpn", name)))
532538
if err != nil {
533-
cmd := exec.Command("sh", "-c", fmt.Sprintf("/usr/bin/docker-entrypoint.sh genclient %s %s %#v", name, serverAddr, config))
539+
cmd := exec.Command("sh", "-c", fmt.Sprintf("/usr/bin/docker-entrypoint.sh genclient %s %s %#v %#v", name, serverAddr, config, ccdConfig))
534540
if out, err := cmd.CombinedOutput(); err != nil {
535541
if out == nil {
536542
out = []byte(err.Error())
@@ -560,7 +566,9 @@ func main() {
560566
return
561567
}
562568

563-
os.Remove(path.Join("/data/clients", fmt.Sprintf("%s.ovpn", name)))
569+
os.Remove(path.Join(ovData, "/clients", fmt.Sprintf("%s.ovpn", name)))
570+
os.Remove(path.Join(ovData, "/ccd", name))
571+
564572
c.JSON(http.StatusOK, gin.H{"message": "删除客户端成功"})
565573
})
566574

templates/index.tmpl

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -503,6 +503,13 @@
503503
<input type="text" class="form-control form-control-sm" name="serverAddr" placeholder="VPN服务器外网IP或域名" />
504504
</div>
505505
</div>
506+
<div class="row mb-2">
507+
<label class="col-sm-3 col-form-label">CCD配置:</label>
508+
<div class="col-sm-9">
509+
<textarea class="form-control form-control-sm" name="ccdConfig" rows="6"
510+
placeholder="ifconfig-push 10.8.0.111 255.255.255.0"></textarea>
511+
</div>
512+
</div>
506513
<div class="row">
507514
<label class="col-sm-3 col-form-label">自定义配置:</label>
508515
<div class="col-sm-9">
@@ -570,7 +577,7 @@
570577
<div class="modal-content">
571578
<form>
572579
<div class="modal-header">
573-
<h5 class="modal-title">更新证书</h5>
580+
<h5 class="modal-title">提示</h5>
574581
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
575582
</div>
576583
<div class="modal-body" style="text-align: center">
@@ -1184,9 +1191,10 @@
11841191
$('#addClientModal input[name="serverAddr"]').val() ||
11851192
location.hostname;
11861193
const config = $('#addClientModal textarea[name="config"]').val();
1194+
const ccdConfig = $('#addClientModal textarea[name="ccdConfig"]').val();
11871195

11881196
request
1189-
.post("/ovpn/client", { name, serverAddr, config })
1197+
.post("/ovpn/client", { name, serverAddr, config, ccdConfig })
11901198
.then((data) => {
11911199
ctable.ajax.reload(null, false);
11921200
$("#addClientModal form").trigger("reset");

0 commit comments

Comments
 (0)