Skip to content

Commit

Permalink
chore: refactor mirror manage
Browse files Browse the repository at this point in the history
  • Loading branch information
soulteary committed Nov 17, 2022
1 parent 9f19805 commit 82a5954
Show file tree
Hide file tree
Showing 7 changed files with 85 additions and 77 deletions.
17 changes: 17 additions & 0 deletions internal/mirrors/centos.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package mirrors

var BUILDIN_CUSTOM_CENTOS_MIRRORS = []buildin_custom_mirror{
{url: "http://mirrors.aliyun.com/centos/", alias: "cn:aliyun"},
{url: "https://mirrors.bfsu.edu.cn/centos/", alias: "cn:bfsu"},
{url: "https://mirrors.cqu.edu.cn/CentOS/", alias: "cn:cqu"},
{url: "http://mirrors.neusoft.edu.cn/centos/", alias: "cn:neusoft"},
{url: "https://mirror.nju.edu.cn/centos/", alias: "cn:nju"},
{url: "https://mirrors.huaweicloud.com/centos/", alias: "cn:huaweicloud"},
{url: "http://mirror.lzu.edu.cn/centos/", alias: "cn:lzu"},
{url: "https://mirrors.njupt.edu.cn/centos/", alias: "cn:njupt"},
{url: "http://mirrors.163.com/centos/", alias: "cn:163"},
{url: "https://mirrors.bupt.edu.cn/centos/", alias: "cn:bupt"},
{url: "https://ftp.sjtu.edu.cn/centos/", alias: "cn:sjtu"},
{url: "https://mirrors.tuna.tsinghua.edu.cn/centos/", alias: "cn:tsinghua"},
{url: "https://mirrors.ustc.edu.cn/centos/", alias: "cn:ustc"},
}
14 changes: 7 additions & 7 deletions state/custom_test.go → internal/mirrors/custom_test.go
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
package state
package mirrors

import "testing"

func TestGetUbuntuMirrorByAliases(t *testing.T) {
alias := getUbuntuMirrorByAliases("cn:tsinghua")
alias := GetUbuntuMirrorByAliases("cn:tsinghua")
if alias != BUILDIN_CUSTOM_UBUNTU_MIRRORS[0].url {
t.Fatal("Test Get Mirror By Custom Name Failed")
}

alias = getUbuntuMirrorByAliases("cn:not-found")
alias = GetUbuntuMirrorByAliases("cn:not-found")
if alias != "" {
t.Fatal("Test Get Mirror By Custom Name Failed")
}
}

func TestGetDebianMirrorByAliases(t *testing.T) {
alias := getDebianMirrorByAliases("cn:tsinghua")
alias := GetDebianMirrorByAliases("cn:tsinghua")
if alias != BUILDIN_CUSTOM_DEBIAN_MIRRORS[0].url {
t.Fatal("Test Get Mirror By Custom Name Failed")
}

alias = getDebianMirrorByAliases("cn:not-found")
alias = GetDebianMirrorByAliases("cn:not-found")
if alias != "" {
t.Fatal("Test Get Mirror By Custom Name Failed")
}
}

func TestGetCentOSMirrorByAliases(t *testing.T) {
alias := getDebianMirrorByAliases("cn:tsinghua")
alias := GetDebianMirrorByAliases("cn:tsinghua")
if alias != BUILDIN_CUSTOM_DEBIAN_MIRRORS[0].url {
t.Fatal("Test Get Mirror By Custom Name Failed")
}

alias = getDebianMirrorByAliases("cn:not-found")
alias = GetDebianMirrorByAliases("cn:not-found")
if alias != "" {
t.Fatal("Test Get Mirror By Custom Name Failed")
}
Expand Down
10 changes: 10 additions & 0 deletions internal/mirrors/debian.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package mirrors

var BUILDIN_CUSTOM_DEBIAN_MIRRORS = []buildin_custom_mirror{
{url: "https://mirrors.tuna.tsinghua.edu.cn/debian/", alias: "cn:tsinghua"},
{url: "http://mirrors.ustc.edu.cn/debian/", alias: "cn:ustc"},
{url: "https://mirrors.163.com/debian/", alias: "cn:163"},
{url: "https://mirrors.aliyun.com/debian/", alias: "cn:aliyun"},
{url: "https://repo.huaweicloud.com/debian/", alias: "cn:huawei"},
{url: "https://mirrors.cloud.tencent.com/debian/", alias: "cn:tencent"},
}
36 changes: 36 additions & 0 deletions internal/mirrors/mirrors.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package mirrors

type buildin_custom_mirror struct {
url string
alias string
}

// TODO: combine
func GetUbuntuMirrorByAliases(alias string) string {
for _, mirror := range BUILDIN_CUSTOM_UBUNTU_MIRRORS {
if mirror.alias == alias {
return mirror.url
}
}
return ""
}

// TODO: combine
func GetDebianMirrorByAliases(alias string) string {
for _, mirror := range BUILDIN_CUSTOM_DEBIAN_MIRRORS {
if mirror.alias == alias {
return mirror.url
}
}
return ""
}

// TODO: combine
func GetCentOSMirrorByAliases(alias string) string {
for _, mirror := range BUILDIN_CUSTOM_CENTOS_MIRRORS {
if mirror.alias == alias {
return mirror.url
}
}
return ""
}
10 changes: 10 additions & 0 deletions internal/mirrors/ubuntu.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package mirrors

var BUILDIN_CUSTOM_UBUNTU_MIRRORS = []buildin_custom_mirror{
{url: "https://mirrors.tuna.tsinghua.edu.cn/ubuntu/", alias: "cn:tsinghua"},
{url: "http://mirrors.ustc.edu.cn/ubuntu/", alias: "cn:ustc"},
{url: "https://mirrors.163.com/ubuntu/", alias: "cn:163"},
{url: "https://mirrors.aliyun.com/ubuntu/", alias: "cn:aliyun"},
{url: "https://repo.huaweicloud.com/ubuntu/", alias: "cn:huawei"},
{url: "https://mirrors.cloud.tencent.com/ubuntu/", alias: "cn:tencent"},
}
67 changes: 0 additions & 67 deletions state/custom.go

This file was deleted.

8 changes: 5 additions & 3 deletions state/state.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package state

import (
"net/url"

"github.com/soulteary/apt-proxy/internal/mirrors"
)

var UBUNTU_MIRROR *url.URL
Expand All @@ -24,7 +26,7 @@ func SetUbuntuMirror(input string) {
}

mirror := input
alias := getUbuntuMirrorByAliases(input)
alias := mirrors.GetUbuntuMirrorByAliases(input)
if alias != "" {
mirror = alias
}
Expand Down Expand Up @@ -52,7 +54,7 @@ func SetDebianMirror(input string) {
}

mirror := input
alias := getDebianMirrorByAliases(input)
alias := mirrors.GetDebianMirrorByAliases(input)
if alias != "" {
mirror = alias
}
Expand Down Expand Up @@ -80,7 +82,7 @@ func SetCentOSMirror(input string) {
}

mirror := input
alias := getCentOSMirrorByAliases(input)
alias := mirrors.GetCentOSMirrorByAliases(input)
if alias != "" {
mirror = alias
}
Expand Down

0 comments on commit 82a5954

Please sign in to comment.