Skip to content

Commit a84e6b9

Browse files
committed
2021-11-11
1 parent 280ddc1 commit a84e6b9

File tree

1 file changed

+29
-18
lines changed

1 file changed

+29
-18
lines changed

main.go

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,20 @@ import (
1414
)
1515

1616
var (
17-
trackerUrl = "https://cdn.jsdelivr.net/gh/ngosang/trackerslist/trackers_best_ip.txt"
17+
tracker_url string
18+
default_tracker_url = "https://cdn.jsdelivr.net/gh/ngosang/trackerslist/trackers_best_ip.txt"
19+
conf_path string
1820
//trackerUrl = "https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt" //need http proxy
1921
)
2022

23+
func init() {
24+
flag.StringVar(&tracker_url, "tracker-url", default_tracker_url, "tracker url")
25+
flag.StringVar(&conf_path, "conf-path", "", "aria2 conf path")
26+
}
27+
2128
func getTrackers() ([]string, error) {
2229
client := &http.Client{}
23-
request, err := http.NewRequest("GET", trackerUrl, nil)
30+
request, err := http.NewRequest("GET", tracker_url, nil)
2431
if err != nil {
2532
return nil, err
2633
}
@@ -46,18 +53,18 @@ func getTrackers() ([]string, error) {
4653
return trackers, nil
4754
}
4855

49-
func getConfFilePath() (string, error) {
56+
func getDefaultConfPath() (string, error) {
5057
var (
51-
home string
52-
confPath string
53-
err error
58+
home string
59+
path string
60+
err error
5461
)
5562
home, err = os.UserHomeDir()
5663
if err != nil {
5764
return "", err
5865
}
59-
confPath = filepath.Join(home, "aria2", "aria2.conf")
60-
return confPath, nil
66+
path = filepath.Join(home, ".aria2c", "aria2.conf")
67+
return path, nil
6168
}
6269

6370
func readConfLines(confPath string) ([]string, error) {
@@ -117,8 +124,14 @@ func updateConfFile(confPath string, lines []string, trackers []string) error {
117124
bufw.WriteString(line)
118125
if "windows" == runtime.GOOS {
119126
bufw.WriteString("\r\n")
127+
if !strings.HasPrefix(line, "#") {
128+
bufw.WriteString("\r\n")
129+
}
120130
} else {
121131
bufw.WriteString("\n")
132+
if !strings.HasPrefix(line, "#") {
133+
bufw.WriteString("\n")
134+
}
122135
}
123136
}
124137
_, err = file.WriteString(bufw.String())
@@ -131,28 +144,26 @@ func updateConfFile(confPath string, lines []string, trackers []string) error {
131144

132145
func main() {
133146
flag.Parse()
134-
if len(flag.Arg(0)) > 0 {
135-
trackerUrl = flag.Arg(0)
136-
}
137147
var (
138148
trackers []string
139149
confLines []string
140150
err error
141-
confPath string
142151
)
143-
trackers, err = getTrackers()
144-
if err != nil {
145-
panic(err.Error())
152+
if len(conf_path) == 0 {
153+
conf_path, err = getDefaultConfPath()
154+
if err != nil {
155+
panic(err.Error())
156+
}
146157
}
147-
confPath, err = getConfFilePath()
158+
trackers, err = getTrackers()
148159
if err != nil {
149160
panic(err.Error())
150161
}
151-
confLines, err = readConfLines(confPath)
162+
confLines, err = readConfLines(conf_path)
152163
if err != nil {
153164
panic(err.Error())
154165
}
155-
err = updateConfFile(confPath, confLines, trackers)
166+
err = updateConfFile(conf_path, confLines, trackers)
156167
if err != nil {
157168
panic(err.Error())
158169
}

0 commit comments

Comments
 (0)