mirror of https://github.com/dnomd343/XProxy.git
Dnomd343
1 year ago
2 changed files with 46 additions and 5 deletions
@ -1,13 +1,49 @@ |
|||||
package assets |
package assets |
||||
|
|
||||
import "XProxy/next/logger" |
import ( |
||||
|
"XProxy/next/logger" |
||||
|
"os" |
||||
|
) |
||||
|
|
||||
|
func updateRemoteAsset(file string, url string, proxy string) error { |
||||
|
logger.Debugf("Start downloading remote asset `%s` to `%s`", url, file) |
||||
|
asset, date, err := download(url, proxy) |
||||
|
if err != nil { |
||||
|
logger.Errorf("Failed to download remote asset `%s`", url) |
||||
|
return err |
||||
|
} |
||||
|
asset, err = tryExtract(asset) |
||||
|
|
||||
|
fp, err := os.OpenFile(file, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644) |
||||
|
if err != nil { |
||||
|
logger.Errorf("Failed to open file `%s` -> %v", file, err) |
||||
|
return err |
||||
|
} |
||||
|
defer fp.Close() |
||||
|
_, err = fp.Write(asset) |
||||
|
if err != nil { |
||||
|
logger.Errorf("Failed to save file `%s` -> %v", file, err) |
||||
|
return err |
||||
|
} |
||||
|
|
||||
|
if err := os.Chtimes(file, *date, *date); err != nil { |
||||
|
logger.Warnf("Failed to change asset modification time") |
||||
|
} else { |
||||
|
logger.Debugf("Change `%s` modification time to `%v`", file, date) |
||||
|
} |
||||
|
logger.Infof("Successfully obtained remote asset `%s`", file) |
||||
|
return nil |
||||
|
} |
||||
|
|
||||
func Demo() { |
func Demo() { |
||||
//raw, t, _ := download("https://github.com/Loyalsoldier/v2ray-rules-dat/releases/download/202309082208/geosite.dat", "")
|
//raw, t, _ := download("https://github.com/Loyalsoldier/v2ray-rules-dat/releases/download/202309082208/geosite.dat", "")
|
||||
//raw, t, _ := download("https://cdn.dnomd343.top/v2ray-rules-dat/geosite.dat", "")
|
//raw, t, _ := download("https://cdn.dnomd343.top/v2ray-rules-dat/geosite.dat", "")
|
||||
//raw, t, _ := download("https://cdn.dnomd343.top/v2ray-rules-dat/geosite.dat", "socks5://192.168.2.2:1084")
|
//raw, t, _ := download("https://cdn.dnomd343.top/v2ray-rules-dat/geosite.dat", "socks5://192.168.2.2:1084")
|
||||
raw, t, _ := download("https://cdn.dnomd343.top/v2ray-rules-dat/geosite.dat.xz", "") |
//raw, t, _ := download("https://cdn.dnomd343.top/v2ray-rules-dat/geosite.dat.xz", "")
|
||||
logger.Infof("%v", t) |
//logger.Infof("%v", t)
|
||||
ret, _ := tryExtract(raw) |
//ret, _ := tryExtract(raw)
|
||||
logger.Debugf("content size -> %d", len(ret)) |
//logger.Debugf("content size -> %d", len(ret))
|
||||
|
|
||||
|
updateRemoteAsset("geosite.dat", "http://cdn.dnomd343.top/v2ray-rules-dat/geosite.dat.xz", "") |
||||
|
|
||||
} |
} |
||||
|
Loading…
Reference in new issue