Skyxim
|
b0fd50453a
|
fix: DoT-ALPN error
|
2022-07-21 13:57:06 +08:00 |
|
Skyxim
|
6e7002dbd3
|
chore: clean code
|
2022-07-20 17:15:19 +08:00 |
|
Skyxim
|
6b636c051a
|
chore: Adjust the falling logic
|
2022-07-16 19:52:51 +08:00 |
|
Skyxim
|
10f8f5dd7b
|
chore: Increase idle timeout and add keep alive period
|
2022-07-15 21:57:50 +08:00 |
|
Skyxim
|
4e272ff066
|
fix: DoH retry HTTP/3
|
2022-07-15 21:54:57 +08:00 |
|
Skyxim
|
a73e690172
|
fix: DoQ closes udp immediately.
|
2022-07-15 21:54:02 +08:00 |
|
Skyxim
|
a8ce283727
|
feat: add fingerprint param
|
2022-07-11 13:42:28 +08:00 |
|
Skyxim
|
ab8e9e7d7a
|
fix: skip-cert-verify not work
|
2022-07-11 12:37:27 +08:00 |
|
Skyxim
|
fef9f95e65
|
feat: add fingerprint for tls verify
|
2022-07-10 20:44:24 +08:00 |
|
Skyxim
|
60e1947ed2
|
chore: upgrade dependencies for hysteria
|
2022-07-07 12:49:52 +08:00 |
|
Skyxim
|
0a76876764
|
fix: h3 of doh fall back logic
|
2022-07-06 21:25:25 +08:00 |
|
Skyxim
|
0c91a4e0f3
|
refactor: h3 for doh
|
2022-07-06 20:53:34 +08:00 |
|
Skyxim
|
baee951657
|
fix: close idle connections
|
2022-07-04 20:38:07 +08:00 |
|
Skyxim
|
503b1efd8a
|
fix: close transport with doh of h3
|
2022-07-03 23:01:49 +08:00 |
|
Skyxim
|
59ab2083aa
|
feat: try h3 connect DOH, failed will fall back h2; turn on with dns.prefer-h3: true
|
2022-07-03 21:59:47 +08:00 |
|
Skyxim
|
0d55b28805
|
chore: dns interface name
|
2022-06-25 09:16:51 +08:00 |
|
Skyxim
|
9c70e649ca
|
fix: disable doq skip verify cert
|
2022-06-25 09:16:49 +08:00 |
|
Skyxim
|
f7481ecadf
|
chore: delete DOQ meaningless ALPN
|
2022-06-12 23:17:26 +08:00 |
|
Skyxim
|
85c37b473a
|
fix: DOQ blocked dns return result because DOQ goroutine leak
|
2022-06-12 21:41:01 +08:00 |
|
Skyxim
|
23bc231df3
|
chore: doq default port change to 853, ALPN use doq
|
2022-06-12 17:53:11 +08:00 |
|
Skyxim
|
63fdb348db
|
fix: leak dns when domain in hosts list
|
2022-06-10 14:29:19 +08:00 |
|
Skyxim
|
8343c3597e
|
fix: doq maybe crash when use adapter
|
2022-06-06 21:45:08 +08:00 |
|
MetaCubeX
|
ade424cbb4
|
chore: 调整dns interface与adapter部分
|
2022-06-05 13:37:00 +08:00 |
|
MetaCubeX
|
43d3a0c8ea
|
chore: mix the proxy adapter and interface to dns client
|
2022-06-04 21:18:49 +08:00 |
|
Skyxim
|
ed9b9ce3c5
|
refactor: 添加no_gvisor 编译tag, 剔除gvisor stack支持, 方便在arm设备上debug
|
2022-06-03 20:07:30 +08:00 |
|
Skyxim
|
1298d2f8b6
|
chore: 添加tag no_doq 编译不含doq版本, 仅减少1.5MB(macOS-arm64)
|
2022-06-03 18:12:06 +08:00 |
|
Hongqi Yu
|
c1285adbf8
|
Feature: can set custom interface for dns nameserver (#2126)
|
2022-06-01 10:50:54 +08:00 |
|
Skyxim
|
d0268bb9a2
|
chore: 降低并发查询时IPv6等待
|
2022-05-28 09:58:45 +08:00 |
|
Skyxim
|
948700eed6
|
fix: 并发dns查询,由于ipv6阻塞导致某些情况下的网络不通
|
2022-05-21 00:34:15 +08:00 |
|
Skyxim
|
16b27b3a1f
|
fix: doq过代理错误
|
2022-05-17 21:30:54 +08:00 |
|
adlyq
|
f4d9384603
|
chore: debug log print dns result
|
2022-05-17 18:21:18 +08:00 |
|
adlyq
|
efc7c82cac
|
feat: "!"(not) support for geosite
eg. GEOSITE,!CN,Proxy & dns.fallback-filter.geosite: ['!CN']
|
2022-05-15 13:16:45 +08:00 |
|
Skyxim
|
b2605a9012
|
fix: tun dns
|
2022-05-02 14:21:37 +08:00 |
|
MetaCubeX
|
8681728b8d
|
chore: doq parameters
|
2022-05-02 05:01:07 +08:00 |
|
Skyxim
|
9d8cd036ff
|
refactor: remove dns and tun relationship, the enabled of dns module should be decided by user
|
2022-05-01 09:41:27 +08:00 |
|
adlyq
|
2d99f86780
|
fix: dhcp ifacename type
|
2022-04-28 23:44:37 +08:00 |
|
Skyxim
|
bbbe371ea9
|
fix: dns specified interface does not change
|
2022-04-28 22:40:06 +08:00 |
|
Skyxim
|
4f634edaa9
|
refactor: doq dialer
|
2022-04-28 22:21:48 +08:00 |
|
yaling888
|
4fd7d0f707
|
Chore: use generics as possible
|
2022-04-25 13:18:30 +08:00 |
|
Skyxim
|
81b5543b0d
|
feat: support tcp concurrent, Separate dialing and dns resolver ipv6
tcp-concurrent:true
|
2022-04-23 00:27:22 +08:00 |
|
yaling888
|
7ca1a03d73
|
Refactor: metadata use netip.Addr
|
2022-04-20 22:52:05 +08:00 |
|
yaling888
|
6c4791480e
|
Chore: IpToAddr
|
2022-04-20 22:09:16 +08:00 |
|
yaling888
|
0ca10798ea
|
Chore: fix typo
|
2022-04-19 22:38:20 +08:00 |
|
yaling888
|
3ea3653d7a
|
Chore: persistence fakeip pool state
|
2022-04-19 22:37:47 +08:00 |
|
Meta Gowork
|
c981ef0f28
|
chore: update dependencies
|
2022-04-13 02:32:55 +08:00 |
|
yaling888
|
75ce6b59bf
|
Refactor: fakeip pool use netip.Prefix, supports ipv6 range
|
2022-04-12 20:32:08 +08:00 |
|
yaling888
|
173e10abe6
|
Chore: fix typos
|
2022-04-12 19:08:13 +08:00 |
|
yaling888
|
a6eb11ce18
|
Refactor: DomainTrie use generics
|
2022-04-12 18:45:47 +08:00 |
|
yaling888
|
673541e2a8
|
Refactor: lrucache use generics
|
2022-04-12 18:44:07 +08:00 |
|
Meta Gowork
|
6548dc90fa
|
Merge remote-tracking branch 'Plus/with-tun' into Alpha
|
2022-04-02 20:48:11 +08:00 |
|
fishg
|
c495d314d4
|
feat: 添加tls sni 嗅探
# Conflicts:
# tunnel/statistic/tracker.go
# tunnel/tunnel.go
|
2022-03-31 21:27:25 +08:00 |
|
yaling888
|
e877b68179
|
Chore: revert "Feature: add tls SNI sniffing (#68)"
This reverts commit 24ce6622a2 .
|
2022-03-31 21:20:46 +08:00 |
|
fishg
|
24ce6622a2
|
Feature: add tls SNI sniffing (#68)
|
2022-03-31 19:34:40 +08:00 |
|
MetaCubeX
|
81c5a65f23
|
Merge remote-tracking branch 'Pro-Plus/with-tun' into Alpha
# Conflicts:
# README.md
# adapter/outbound/trojan.go
# adapter/outbound/vless.go
# transport/trojan/trojan.go
|
2022-03-30 13:15:45 +08:00 |
|
yaling888
|
4502776513
|
Refactor: MainResolver
|
2022-03-28 00:44:13 +08:00 |
|
MetaCubeX
|
7a54d616c4
|
[SKIP CI]
Merge remote-tracking branch 'Pro-Plus/with-tun' into Alpha
# Conflicts:
# README.md
# hub/route/server.go
|
2022-03-23 13:23:34 +08:00 |
|
yaling888
|
ef915c94dc
|
Feature: flush fakeip pool
|
2022-03-23 01:05:43 +08:00 |
|
MetaCubeX
|
30f1b29257
|
Merge remote-tracking branch 'yaling888/with-tun' into Alpha
# Conflicts:
# .github/workflows/codeql-analysis.yml
# .github/workflows/linter.yml
# .github/workflows/release.yml
# Makefile
# README.md
# adapter/outbound/vless.go
# component/geodata/memconservative/cache.go
# component/geodata/router/condition.go
# component/geodata/router/condition_geoip.go
# component/geodata/standard/standard.go
# component/geodata/utils.go
# config/config.go
# config/initial.go
# constant/metadata.go
# constant/path.go
# constant/rule.go
# constant/rule_extra.go
# dns/client.go
# dns/filters.go
# dns/resolver.go
# go.mod
# go.sum
# hub/executor/executor.go
# hub/route/configs.go
# listener/listener.go
# listener/tproxy/tproxy_linux_iptables.go
# listener/tun/dev/dev.go
# listener/tun/dev/dev_darwin.go
# listener/tun/dev/dev_linux.go
# listener/tun/dev/dev_windows.go
# listener/tun/dev/wintun/config.go
# listener/tun/dev/wintun/dll_windows.go
# listener/tun/dev/wintun/session_windows.go
# listener/tun/dev/wintun/wintun_windows.go
# listener/tun/ipstack/commons/dns.go
# listener/tun/ipstack/gvisor/tun.go
# listener/tun/ipstack/gvisor/tundns.go
# listener/tun/ipstack/gvisor/utils.go
# listener/tun/ipstack/stack_adapter.go
# listener/tun/ipstack/system/dns.go
# listener/tun/ipstack/system/tcp.go
# listener/tun/ipstack/system/tun.go
# listener/tun/tun_adapter.go
# main.go
# rule/common/base.go
# rule/common/domain.go
# rule/common/domain_keyword.go
# rule/common/domain_suffix.go
# rule/common/final.go
# rule/common/geoip.go
# rule/common/geosite.go
# rule/common/ipcidr.go
# rule/common/port.go
# rule/parser.go
# rule/process.go
# test/go.mod
# test/go.sum
# transport/vless/xtls.go
# tunnel/tunnel.go
|
2022-03-17 17:41:02 +08:00 |
|
MetaCubeX
|
609d69191a
|
Merge remote-tracking branch 'clash/dev' into Alpha
# Conflicts:
# .github/workflows/docker.yml
# adapter/outboundgroup/fallback.go
# adapter/outboundgroup/loadbalance.go
# adapter/outboundgroup/relay.go
# adapter/outboundgroup/selector.go
# adapter/outboundgroup/urltest.go
# config/config.go
# go.mod
# go.sum
# main.go
# test/go.mod
# test/go.sum
|
2022-03-17 01:41:51 +08:00 |
|
yaling888
|
346d817dba
|
Chore: Merge branch 'ogn-dev' into with-tun
|
2022-03-16 20:16:30 +08:00 |
|
MetaCubeX
|
c3df768f79
|
[build test]
|
2022-03-16 17:33:08 +08:00 |
|
Dreamacro
|
6a661bff0c
|
Migration: go 1.18
|
2022-03-16 12:10:13 +08:00 |
|
MetaCubeX
|
1034780e8e
|
[build test]
|
2022-03-16 00:43:08 +08:00 |
|
yaling888
|
20b66d9550
|
Style: code style
|
2022-03-15 02:55:06 +08:00 |
|
yaling888
|
5abd03e241
|
Fix: exclude the broadcast address to fake ip pool
|
2022-03-15 02:43:40 +08:00 |
|
yaling888
|
46b9a1092d
|
Chore: embed the RuleExtra into Base
|
2022-03-13 01:22:05 +08:00 |
|
yaling888
|
d876d6e74c
|
Feature: resolve ip with a proxy adapter
|
2022-02-23 02:38:50 +08:00 |
|
yaling888
|
b192238699
|
Merge from remote branch
|
2022-02-23 01:00:27 +08:00 |
|
Clash-Mini
|
c28f42d823
|
[FEAT] Add geodata loader mode switch
|
2022-02-05 00:51:06 +08:00 |
|
Clash-Mini
|
be0fadc09e
|
[Feat]
1.Add DNS over QUIC support
2.Replace Country.mmdb with GeoIP.dat
3.build with Alpha tag
|
2022-01-27 12:25:53 +08:00 |
|
Clash-Mini
|
9e4e1482d9
|
[chore] Replace Country.mmdb with GeoIP.dat
|
2022-01-26 12:01:14 +08:00 |
|
Clash-Mini
|
a5ce62db33
|
Merge branch 'clash-dev' into Dev
|
2022-01-25 15:05:24 +08:00 |
|
Dreamacro
|
d237b041b3
|
Fix: ignore empty dns server error
|
2022-01-05 11:41:31 +08:00 |
|
Maze.tsz
|
14917c8af1
|
merge clash 1.9.0
|
2022-01-04 17:58:50 +08:00 |
|
Maze.tsz
|
3bb32d12e0
|
Merge remote-tracking branch 'clash/dev' into Meta
# Conflicts:
# .github/workflows/docker.yml
# dns/server.go
# go.mod
# go.sum
# hub/executor/executor.go
# test/go.mod
# test/go.sum
|
2022-01-04 17:31:07 +08:00 |
|
Kr328
|
7267c58913
|
Chore: ReCreate* do side effect job (#1849)
|
2021-12-26 22:08:53 +08:00 |
|
Mazeorz
|
900e852525
|
[test]
|
2021-11-17 16:03:47 +08:00 |
|
yaling888
|
2680e8ffa3
|
Merge from remote branch
|
2021-10-28 11:36:11 +08:00 |
|
yaling888
|
2953772a0e
|
Style: format code
|
2021-10-28 00:06:55 +08:00 |
|
Dreamacro
|
81d5da51a3
|
Fix: unexpected proxy dial behavior on mapping mode
|
2021-10-18 21:08:27 +08:00 |
|
Dreamacro
|
13bd601cac
|
Fix: #1660 panic
|
2021-10-11 21:05:38 +08:00 |
|
Dreamacro
|
3d5681cffd
|
Feature: persistence fakeip (#1662)
|
2021-10-11 20:48:58 +08:00 |
|
Dreamacro
|
f1cf7e9269
|
Style: use gofumpt for fmt
|
2021-10-10 23:44:09 +08:00 |
|
Dreamacro
|
4ce35870fe
|
Chore: remove deprecated ioutil
|
2021-10-09 20:35:06 +08:00 |
|
beyondkmp
|
1996bef9e6
|
Chore: doh request should with id 0 (#1660)
|
2021-10-07 22:57:55 +08:00 |
|
Dreamacro
|
b9d470cf79
|
Fix: dhcp client should request special interface
|
2021-10-05 13:31:19 +08:00 |
|
yaling888
|
fbda82218e
|
Merge from remote branch
|
2021-09-17 15:07:27 +08:00 |
|
Dreamacro
|
55600c49c9
|
Fix: potential pitfalls
|
2021-09-13 23:58:48 +08:00 |
|
yaling888
|
6ddd9e6fb8
|
Merge from remote branch
|
2021-09-08 04:42:56 +08:00 |
|
Kr328
|
a5b950a779
|
Feature: add dhcp type dns client (#1509)
|
2021-09-06 23:07:34 +08:00 |
|
yaling888
|
b904ca0bcc
|
Feature: add source ipcidr condition to rule final
|
2021-09-01 18:29:48 +08:00 |
|
yaling888
|
48aef1829f
|
Merge from remote branch
|
2021-09-01 00:38:43 +08:00 |
|
Loyalsoldier
|
a20b9a3960
|
Chore: make geoip match case-insensitive (#1574)
|
2021-08-29 22:19:22 +08:00 |
|
Dreamacro
|
e0d3f926b7
|
Feature: add geoip-code option
|
2021-08-25 15:15:13 +08:00 |
|
Dreamacro
|
571d2a0075
|
Migration: go 1.17
|
2021-08-18 13:26:23 +08:00 |
|
yaling888
|
56dff65149
|
Feature: support multiport condition for rule SRC-PORT and DST-PORT
|
2021-07-06 15:07:05 +08:00 |
|
yaling888
|
3afe3810bf
|
Merge from remote branch
|
2021-07-03 22:31:12 +08:00 |
|
Dreamacro
|
995aa7a8fc
|
Fix: remove ClientSessionCache and add NextProtos for vmess to fix #1468
|
2021-07-03 20:34:44 +08:00 |
|
yaling888
|
d7732f6ebc
|
Code: refresh code
|
2021-07-01 22:49:29 +08:00 |
|
Indust
|
3ca5d17c40
|
Fix: enable DNS server message compression (#1451)
|
2021-06-24 13:38:44 +08:00 |
|
Rusty Pen
|
0778591524
|
Feature: dns resolve domain through nameserver-policy (#1406)
|
2021-05-19 11:17:35 +08:00 |
|
Dreamacro
|
d0c829c578
|
Fix: domain dns should follow hosts config, close #1318
|
2021-04-01 21:20:44 +08:00 |
|
Dreamacro
|
4ad9761b32
|
Fix: don't resolve AAAA record when ipv6 is false and use go dns resolver
|
2021-04-01 18:03:30 +08:00 |
|
Dreamacro
|
f4de055aa1
|
Refactor: make inbound request contextual
|
2021-01-23 14:58:09 +08:00 |
|
Dreamacro
|
6fedd7ec84
|
Fix: dns client should not bind local address
|
2021-01-04 00:51:53 +08:00 |
|
Dreamacro
|
d3bb4c65a8
|
Fix: missing fake-ip record should return error
|
2020-10-17 12:52:43 +08:00 |
|
Dreamacro
|
bc52f8e4fd
|
Chore: return empty record in SVCB/HTTPSSVC on fake-ip mode
|
2020-10-13 00:15:49 +08:00 |
|
Dreamacro
|
d3b14c325f
|
Fix: the priority of fake-ip-filter
|
2020-10-09 00:04:24 +08:00 |
|
Melvin
|
a6444bb449
|
Feature: support domain in fallback filter (#964)
|
2020-09-28 22:17:10 +08:00 |
|
Kr328
|
558ac6b965
|
Chore: split enhanced mode instance (#936)
Co-authored-by: Dreamacro <305009791@qq.com>
|
2020-09-17 10:48:42 +08:00 |
|
Dreamacro
|
a32ee13fc9
|
Feature: reuse dns resolver cache when hot reload
|
2020-08-31 00:32:18 +08:00 |
|
Dreamacro
|
5805334ccd
|
Chore: pass staticcheck
|
2020-08-25 22:19:59 +08:00 |
|
Kr328
|
89cf06036d
|
Feature: dns server could lookup hosts (#872)
|
2020-08-11 10:28:17 +08:00 |
|
Kr328
|
20eff200b1
|
Fix: dns should put msg to cache while exchangeWithoutCache (#820)
|
2020-07-20 21:16:36 +08:00 |
|
John Smith
|
02c7fd8d70
|
Fix: write msg cache multiple times (#812)
Co-authored-by: john.xu <john.xu@bytedance.com>
|
2020-07-17 17:34:40 +08:00 |
|
Dreamacro
|
60bad66bc3
|
Change: ipv6 logic
|
2020-06-18 18:11:02 +08:00 |
|
limgmk
|
99b34e8d8b
|
Fix: cannot listen socks5 port on wsl (#748)
|
2020-06-15 10:34:15 +08:00 |
|
Kr328
|
9f1d85ab6e
|
Fix: fake-ip-filter on fakeip mode should lookup ip-host mapping (#743)
|
2020-06-14 00:41:53 +08:00 |
|
Dreamacro
|
59bda1d547
|
Change: local resolve DNS in UDP request due to TURN failed
|
2020-06-12 23:39:03 +08:00 |
|
Dreamacro
|
fb0289bb4c
|
Chore: open ForceAttemptHTTP2 on DoH
|
2020-06-01 13:43:26 +08:00 |
|
Comzyh
|
b979ff0bc2
|
Feature: implemented a strategy similar to optimistic DNS (#647)
|
2020-05-07 15:10:14 +08:00 |
|
Kr328
|
7d51ab5846
|
Fix: dns return empty success for AAAA & recursion in fake ip mode (#663)
|
2020-04-29 11:21:37 +08:00 |
|
Dreamacro
|
8eddcd77bf
|
Chore: dialer hook should return a error
|
2020-04-24 23:48:55 +08:00 |
|
Texot
|
b1cf2ec837
|
Fix: dns tcp-tls X509.HostnameError (#638)
|
2020-04-17 11:29:59 +08:00 |
|
Dreamacro
|
5c03613858
|
Chore: picker support get first error
|
2020-04-16 18:31:40 +08:00 |
|
duama
|
2750c7ead0
|
Fix: set SO_REUSEADDR for UDP listeners on linux (#630)
|
2020-04-11 21:45:56 +08:00 |
|
Dreamacro
|
518354e7eb
|
Fix: dns request panic and close #527
|
2020-03-24 10:13:53 +08:00 |
|
Kaming Chan
|
082847b403
|
Chore: support MarshalYAML to some config filed (#581)
|
2020-03-15 19:40:39 +08:00 |
|
Dreamacro
|
9471d80785
|
Fix: dns fallback logic
|
2020-03-13 00:11:54 +08:00 |
|
Dreamacro
|
c733f80793
|
Fix: #563 and fallback error return
|
2020-03-08 13:00:42 +08:00 |
|
Dreamacro
|
c4994d6429
|
Fix: dns not cache RcodeServerFailure
|
2020-02-25 21:53:28 +08:00 |
|
Dreamacro
|
f3f8e7e52f
|
Chore: remove println
|
2020-02-18 14:26:42 +08:00 |
|
Dreamacro
|
46edae9896
|
Fix: domain dns crash
|
2020-02-17 22:13:15 +08:00 |
|
Dreamacro
|
df0ab6aa8e
|
Fix: ipv6 dns crash
|
2020-02-17 20:11:46 +08:00 |
|
Dreamacro
|
d75cb069d9
|
Feature: add default-nameserver and outbound interface
|
2020-02-15 21:42:46 +08:00 |
|
Dreamacro
|
8b5e511426
|
Fix: use the fastest whether the result is successful
|
2020-02-14 16:36:20 +08:00 |
|
Dreamacro
|
afc9f3f59a
|
Chore: use custom dialer
|
2020-02-09 17:02:48 +08:00 |
|
Kr328
|
9071351022
|
Chore: aggregate mmdb (#474)
|
2020-01-11 21:07:01 +08:00 |
|
Comzyh
|
e68c0d088b
|
Fix: upstream dns ExchangeContext workaround (#468)
|
2020-01-10 14:13:44 +08:00 |
|
Soff
|
86d3d77a7f
|
Chore: increase DNS timeout (#464)
|
2020-01-01 19:23:34 +08:00 |
|
Comzyh
|
93ea037230
|
Improve: UDP relay refactor (#441)
Co-authored-by: Dreamacro <Dreamacro@vip.qq.com>
|
2019-12-28 18:44:01 +08:00 |
|
Dreamacro
|
96f490f84a
|
Feature: add fake-ip-filter
|
2019-12-28 00:10:06 +08:00 |
|
Siji
|
ecb9e4f57d
|
Chore: distinguish udp request in log (#449)
|
2019-12-27 20:11:51 +08:00 |
|
Dreamacro
|
eae06a4a7d
|
Fix: valid proxy group and remove unused code
|
2019-12-14 18:13:33 +08:00 |
|
Kirill Motkov
|
f4326daaa4
|
Chore: code style improvements (#361)
|
2019-10-14 17:13:23 +08:00 |
|
comwrg
|
0cdc40beb3
|
Fix: urltest get fastest node ehavior (#326)
|
2019-10-12 23:29:00 +08:00 |
|
Dreamacro
|
c38469330d
|
Fix: ip version check
|
2019-09-27 15:26:07 +08:00 |
|
Comzyh
|
045c3a3ad4
|
Fix: clearer error and ipv6 string parse (#325)
|
2019-09-27 10:33:37 +08:00 |
|
Dreamacro
|
8f60d61ff9
|
Fix(fake-ip): return failed when type is AAAA
|
2019-09-21 10:30:43 +08:00 |
|
宋辰文
|
b76737bdbb
|
Feature: add fallback filters (#105)
|
2019-09-15 13:36:45 +08:00 |
|