mirror of
https://github.com/amnezia-vpn/amneziawg-windows-client.git
synced 2026-06-01 22:18:53 +02:00
feat: upgrade to awg2 deps, remove obsolete params (#77)
* upgrade to awg2 deps, remove obsolete params (cherry picked from commit 4258ea0fd72f71dcded8155833e437b36afbdedc) * remove H checks * remove S checks
This commit is contained in:
@@ -19,7 +19,7 @@ if exist .deps\prepared goto :render
|
|||||||
call :download imagemagick.zip https://download.wireguard.com/windows-toolchain/distfiles/ImageMagick-7.0.8-42-portable-Q16-x64.zip 584e069f56456ce7dde40220948ff9568ac810688c892c5dfb7f6db902aa05aa "convert.exe colors.xml delegates.xml" || goto :error
|
call :download imagemagick.zip https://download.wireguard.com/windows-toolchain/distfiles/ImageMagick-7.0.8-42-portable-Q16-x64.zip 584e069f56456ce7dde40220948ff9568ac810688c892c5dfb7f6db902aa05aa "convert.exe colors.xml delegates.xml" || goto :error
|
||||||
rem Mirror of https://sourceforge.net/projects/ezwinports/files/make-4.2.1-without-guile-w32-bin.zip
|
rem Mirror of https://sourceforge.net/projects/ezwinports/files/make-4.2.1-without-guile-w32-bin.zip
|
||||||
call :download make.zip https://download.wireguard.com/windows-toolchain/distfiles/make-4.2.1-without-guile-w32-bin.zip 30641be9602712be76212b99df7209f4f8f518ba764cf564262bc9d6e4047cc7 "--strip-components 1 bin" || goto :error
|
call :download make.zip https://download.wireguard.com/windows-toolchain/distfiles/make-4.2.1-without-guile-w32-bin.zip 30641be9602712be76212b99df7209f4f8f518ba764cf564262bc9d6e4047cc7 "--strip-components 1 bin" || goto :error
|
||||||
call :download amneziawg-tools.zip https://github.com/amnezia-vpn/amneziawg-tools/archive/v1.0.20250706.zip d71528867f884722be380583992bca52b76df9fbc7594636cb4de62ad02e8cb5 "--exclude wg-quick --strip-components 1" || goto :error
|
call :download amneziawg-tools.zip https://github.com/amnezia-vpn/amneziawg-tools/archive/v1.0.20250903.zip 086e0597906fd720ed83991716e77a8794ab750b9ccff8f153c7c05073d0b40c "--exclude wg-quick --strip-components 1" || goto :error
|
||||||
call :download wintun.zip https://www.wintun.net/builds/wintun-0.14.1.zip 07c256185d6ee3652e09fa55c0b673e2624b565e02c4b9091c79ca7d2f24ef51 || goto :error
|
call :download wintun.zip https://www.wintun.net/builds/wintun-0.14.1.zip 07c256185d6ee3652e09fa55c0b673e2624b565e02c4b9091c79ca7d2f24ef51 || goto :error
|
||||||
copy /y NUL prepared > NUL || goto :error
|
copy /y NUL prepared > NUL || goto :error
|
||||||
cd .. || goto :error
|
cd .. || goto :error
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ module github.com/amnezia-vpn/amneziawg-windows-client
|
|||||||
go 1.24.4
|
go 1.24.4
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/amnezia-vpn/amneziawg-go v0.2.13
|
github.com/amnezia-vpn/amneziawg-go v0.2.16
|
||||||
github.com/amnezia-vpn/amneziawg-windows v0.1.5
|
github.com/amnezia-vpn/amneziawg-windows v0.1.8
|
||||||
github.com/lxn/walk v0.0.0-20210112085537-c389da54e794
|
github.com/lxn/walk v0.0.0-20210112085537-c389da54e794
|
||||||
github.com/lxn/win v0.0.0-20210218163916-a377121e959e
|
github.com/lxn/win v0.0.0-20210218163916-a377121e959e
|
||||||
golang.org/x/crypto v0.39.0
|
golang.org/x/crypto v0.39.0
|
||||||
@@ -14,8 +14,6 @@ require (
|
|||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/tevino/abool v1.2.0 // indirect
|
|
||||||
go.uber.org/atomic v1.11.0 // indirect
|
|
||||||
golang.org/x/mod v0.25.0 // indirect
|
golang.org/x/mod v0.25.0 // indirect
|
||||||
golang.org/x/net v0.41.0 // indirect
|
golang.org/x/net v0.41.0 // indirect
|
||||||
golang.org/x/sync v0.15.0 // indirect
|
golang.org/x/sync v0.15.0 // indirect
|
||||||
|
|||||||
@@ -1,19 +1,11 @@
|
|||||||
github.com/amnezia-vpn/amneziawg-go v0.2.13 h1:xFxCumnmtYTOMeg14MPG53p9RpmvSnjrDEB1bFma79A=
|
github.com/amnezia-vpn/amneziawg-go v0.2.16 h1:XY6HOq/xtqH8ZXMncRWkjFs85EKdN10NLNnw23kTpE0=
|
||||||
github.com/amnezia-vpn/amneziawg-go v0.2.13/go.mod h1:TB75yoG4yP6nVcJY3CPWstDcgOtlouC4xWyE7U9XqzU=
|
github.com/amnezia-vpn/amneziawg-go v0.2.16/go.mod h1:nRkPpIzjCxMW8pZKXTRkpqAQVlmFJdVOGkeQSC7wbms=
|
||||||
github.com/amnezia-vpn/amneziawg-windows v0.1.5 h1:CahchP5FjYxoTjqdHEiEvpPUgJMKWzzF8/P7t+H06qU=
|
github.com/amnezia-vpn/amneziawg-windows v0.1.8 h1:6WX4cL6H3gAdR9v9WEpsK3GKObXWLTiM3vUKZg1+K50=
|
||||||
github.com/amnezia-vpn/amneziawg-windows v0.1.5/go.mod h1:ectYxkXIMLMzOjTF4pUTvUO9cvpYQDehB050G191R00=
|
github.com/amnezia-vpn/amneziawg-windows v0.1.8/go.mod h1:SVT5UeQz5bQLYqCfggffKZRoMCo0o1kQtoquzZLauJ8=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
|
github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
|
||||||
github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
|
github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
|
||||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
|
||||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
|
||||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
|
||||||
github.com/tevino/abool v1.2.0 h1:heAkClL8H6w+mK5md9dzsuohKeXHUpY7Vw0ZCKW+huA=
|
|
||||||
github.com/tevino/abool v1.2.0/go.mod h1:qc66Pna1RiIsPa7O4Egxxs9OqkuxDX55zznh9K07Tzg=
|
|
||||||
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
|
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
|
||||||
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
|
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
|
||||||
golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
|
golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
|
||||||
@@ -39,7 +31,5 @@ golang.zx2c4.com/wireguard/windows v0.0.0-20210121140954-e7fc19d483bd h1:kAUzMAI
|
|||||||
golang.zx2c4.com/wireguard/windows v0.0.0-20210121140954-e7fc19d483bd/go.mod h1:Y+FYqVFaQO6a+1uigm0N0GiuaZrLEaBxEiJ8tfH9sMQ=
|
golang.zx2c4.com/wireguard/windows v0.0.0-20210121140954-e7fc19d483bd/go.mod h1:Y+FYqVFaQO6a+1uigm0N0GiuaZrLEaBxEiJ8tfH9sMQ=
|
||||||
golang.zx2c4.com/wireguard/windows v0.0.0-20210224134948-620c54ef6199 h1:ogXKLng/Myrt2odYTkleySGzQj/GWg9GV1AQ8P9NnU4=
|
golang.zx2c4.com/wireguard/windows v0.0.0-20210224134948-620c54ef6199 h1:ogXKLng/Myrt2odYTkleySGzQj/GWg9GV1AQ8P9NnU4=
|
||||||
golang.zx2c4.com/wireguard/windows v0.0.0-20210224134948-620c54ef6199/go.mod h1:KxxjdtRkfNoYDCUP5ryK7XJJNTnpC8atvtmTheChOtk=
|
golang.zx2c4.com/wireguard/windows v0.0.0-20210224134948-620c54ef6199/go.mod h1:KxxjdtRkfNoYDCUP5ryK7XJJNTnpC8atvtmTheChOtk=
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
|
||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
|
||||||
gvisor.dev/gvisor v0.0.0-20231202080848-1f7806d17489 h1:ze1vwAdliUAr68RQ5NtufWaXaOg8WUO2OACzEV+TNdE=
|
gvisor.dev/gvisor v0.0.0-20231202080848-1f7806d17489 h1:ze1vwAdliUAr68RQ5NtufWaXaOg8WUO2OACzEV+TNdE=
|
||||||
gvisor.dev/gvisor v0.0.0-20231202080848-1f7806d17489/go.mod h1:10sU+Uh5KKNv1+2x2A0Gvzt8FjD3ASIhorV3YsauXhk=
|
gvisor.dev/gvisor v0.0.0-20231202080848-1f7806d17489/go.mod h1:10sU+Uh5KKNv1+2x2A0Gvzt8FjD3ASIhorV3YsauXhk=
|
||||||
|
|||||||
+17
-101
@@ -49,10 +49,6 @@ const (
|
|||||||
highlightI3
|
highlightI3
|
||||||
highlightI4
|
highlightI4
|
||||||
highlightI5
|
highlightI5
|
||||||
highlightJ1
|
|
||||||
highlightJ2
|
|
||||||
highlightJ3
|
|
||||||
highlightItime
|
|
||||||
highlightWarning
|
highlightWarning
|
||||||
highlightError
|
highlightError
|
||||||
)
|
)
|
||||||
@@ -382,11 +378,21 @@ func (s stringSpan) isValidNetwork() bool {
|
|||||||
return s.isValidIPv4() || s.isValidIPv6()
|
return s.isValidIPv4() || s.isValidIPv6()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s stringSpan) isValidIField() bool {
|
func (s stringSpan) isValidHField() bool {
|
||||||
return s.len != 0
|
for i := 0; i < s.len; i++ {
|
||||||
|
if *s.at(i) == '-' {
|
||||||
|
first := stringSpan{s.s, i}
|
||||||
|
second := stringSpan{s.at(i + 1), s.len - i - 1}
|
||||||
|
if first.isValidUint(false, 0, 2_147_483_647) && second.isValidUint(false, 0, 2_147_483_647) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return s.isValidUint(false, 0, 2_147_483_647)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s stringSpan) isValidJField() bool {
|
func (s stringSpan) isValidIField() bool {
|
||||||
return s.len != 0
|
return s.len != 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -420,10 +426,6 @@ const (
|
|||||||
fieldI3
|
fieldI3
|
||||||
fieldI4
|
fieldI4
|
||||||
fieldI5
|
fieldI5
|
||||||
fieldJ1
|
|
||||||
fieldJ2
|
|
||||||
fieldJ3
|
|
||||||
fieldItime
|
|
||||||
fieldPeerSection
|
fieldPeerSection
|
||||||
fieldPublicKey
|
fieldPublicKey
|
||||||
fieldPresharedKey
|
fieldPresharedKey
|
||||||
@@ -507,14 +509,6 @@ func (s stringSpan) field() field {
|
|||||||
return fieldI4
|
return fieldI4
|
||||||
case s.isCaselessSame("I5"):
|
case s.isCaselessSame("I5"):
|
||||||
return fieldI5
|
return fieldI5
|
||||||
case s.isCaselessSame("J1"):
|
|
||||||
return fieldJ1
|
|
||||||
case s.isCaselessSame("J2"):
|
|
||||||
return fieldJ2
|
|
||||||
case s.isCaselessSame("J3"):
|
|
||||||
return fieldJ3
|
|
||||||
case s.isCaselessSame("Itime"):
|
|
||||||
return fieldItime
|
|
||||||
}
|
}
|
||||||
return fieldInvalid
|
return fieldInvalid
|
||||||
}
|
}
|
||||||
@@ -650,13 +644,13 @@ func (hsa *highlightSpanArray) highlightValue(parent, s stringSpan, section fiel
|
|||||||
case fieldS4:
|
case fieldS4:
|
||||||
hsa.append(parent.s, s, validateHighlight(s.isValidUint(false, 0, 65_535), highlightS4))
|
hsa.append(parent.s, s, validateHighlight(s.isValidUint(false, 0, 65_535), highlightS4))
|
||||||
case fieldH1:
|
case fieldH1:
|
||||||
hsa.append(parent.s, s, validateHighlight(s.isValidUint(false, 0, 2_147_483_647), highlightH1))
|
hsa.append(parent.s, s, validateHighlight(s.isValidHField(), highlightH1))
|
||||||
case fieldH2:
|
case fieldH2:
|
||||||
hsa.append(parent.s, s, validateHighlight(s.isValidUint(false, 0, 2_147_483_647), highlightH2))
|
hsa.append(parent.s, s, validateHighlight(s.isValidHField(), highlightH2))
|
||||||
case fieldH3:
|
case fieldH3:
|
||||||
hsa.append(parent.s, s, validateHighlight(s.isValidUint(false, 0, 2_147_483_647), highlightH3))
|
hsa.append(parent.s, s, validateHighlight(s.isValidHField(), highlightH3))
|
||||||
case fieldH4:
|
case fieldH4:
|
||||||
hsa.append(parent.s, s, validateHighlight(s.isValidUint(false, 0, 2_147_483_647), highlightH4))
|
hsa.append(parent.s, s, validateHighlight(s.isValidHField(), highlightH4))
|
||||||
case fieldI1:
|
case fieldI1:
|
||||||
hsa.append(parent.s, s, validateHighlight(s.isValidIField(), highlightI1))
|
hsa.append(parent.s, s, validateHighlight(s.isValidIField(), highlightI1))
|
||||||
case fieldI2:
|
case fieldI2:
|
||||||
@@ -667,14 +661,6 @@ func (hsa *highlightSpanArray) highlightValue(parent, s stringSpan, section fiel
|
|||||||
hsa.append(parent.s, s, validateHighlight(s.isValidIField(), highlightI4))
|
hsa.append(parent.s, s, validateHighlight(s.isValidIField(), highlightI4))
|
||||||
case fieldI5:
|
case fieldI5:
|
||||||
hsa.append(parent.s, s, validateHighlight(s.isValidIField(), highlightI5))
|
hsa.append(parent.s, s, validateHighlight(s.isValidIField(), highlightI5))
|
||||||
case fieldJ1:
|
|
||||||
hsa.append(parent.s, s, validateHighlight(s.isValidJField(), highlightJ1))
|
|
||||||
case fieldJ2:
|
|
||||||
hsa.append(parent.s, s, validateHighlight(s.isValidJField(), highlightJ2))
|
|
||||||
case fieldJ3:
|
|
||||||
hsa.append(parent.s, s, validateHighlight(s.isValidJField(), highlightJ3))
|
|
||||||
case fieldItime:
|
|
||||||
hsa.append(parent.s, s, validateHighlight(s.isValidUint(false, 0, 2_147_483_647), highlightItime))
|
|
||||||
default:
|
default:
|
||||||
hsa.append(parent.s, s, highlightError)
|
hsa.append(parent.s, s, highlightError)
|
||||||
}
|
}
|
||||||
@@ -775,12 +761,6 @@ func highlightASecConfig(cfg string, spans []highlightSpan) {
|
|||||||
jc = 0
|
jc = 0
|
||||||
jmin = 0
|
jmin = 0
|
||||||
jmax = 0
|
jmax = 0
|
||||||
s1 = 0
|
|
||||||
s2 = 0
|
|
||||||
h1 = 0
|
|
||||||
h2 = 0
|
|
||||||
h3 = 0
|
|
||||||
h4 = 0
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
@@ -806,48 +786,12 @@ func highlightASecConfig(cfg string, spans []highlightSpan) {
|
|||||||
if jmax, err = strconv.Atoi(cfg[span.s : span.s+span.len]); err != nil {
|
if jmax, err = strconv.Atoi(cfg[span.s : span.s+span.len]); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
case highlightS1:
|
|
||||||
if s1, err = strconv.Atoi(cfg[span.s : span.s+span.len]); err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
case highlightS2:
|
|
||||||
if s2, err = strconv.Atoi(cfg[span.s : span.s+span.len]); err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
case highlightH1:
|
|
||||||
if h1, err = strconv.Atoi(cfg[span.s : span.s+span.len]); err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
case highlightH2:
|
|
||||||
if h2, err = strconv.Atoi(cfg[span.s : span.s+span.len]); err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
case highlightH3:
|
|
||||||
if h3, err = strconv.Atoi(cfg[span.s : span.s+span.len]); err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
case highlightH4:
|
|
||||||
if h4, err = strconv.Atoi(cfg[span.s : span.s+span.len]); err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if mtu == 0 {
|
if mtu == 0 {
|
||||||
mtu = device.DefaultMTU
|
mtu = device.DefaultMTU
|
||||||
}
|
}
|
||||||
if h1 <= 4 {
|
|
||||||
h1 = 1
|
|
||||||
}
|
|
||||||
if h2 <= 4 {
|
|
||||||
h2 = 2
|
|
||||||
}
|
|
||||||
if h3 <= 4 {
|
|
||||||
h3 = 3
|
|
||||||
}
|
|
||||||
if h4 <= 4 {
|
|
||||||
h4 = 4
|
|
||||||
}
|
|
||||||
|
|
||||||
for i := range spans {
|
for i := range spans {
|
||||||
span := &spans[i]
|
span := &spans[i]
|
||||||
@@ -864,34 +808,6 @@ func highlightASecConfig(cfg string, spans []highlightSpan) {
|
|||||||
if (jc != 0 || jmin != 0 || jmax != 0) && (jmax <= jmin || jmax > mtu+diffMTU || jmax > maxMTU) {
|
if (jc != 0 || jmin != 0 || jmax != 0) && (jmax <= jmin || jmax > mtu+diffMTU || jmax > maxMTU) {
|
||||||
span.t = highlightWarning
|
span.t = highlightWarning
|
||||||
}
|
}
|
||||||
case highlightS1:
|
|
||||||
if s1+device.MessageInitiationSize == s2+device.MessageResponseSize {
|
|
||||||
span.t = highlightError
|
|
||||||
} else if s1 > mtu-device.MessageInitiationSize+diffMTU || s1 > maxMTU-device.MessageInitiationSize {
|
|
||||||
span.t = highlightWarning
|
|
||||||
}
|
|
||||||
case highlightS2:
|
|
||||||
if s1+device.MessageInitiationSize == s2+device.MessageResponseSize {
|
|
||||||
span.t = highlightError
|
|
||||||
} else if s2 > mtu-device.MessageResponseSize+diffMTU || s2 > maxMTU-device.MessageResponseSize {
|
|
||||||
span.t = highlightWarning
|
|
||||||
}
|
|
||||||
case highlightH1:
|
|
||||||
if h1 > 4 && (h1 == h2 || h1 == h3 || h1 == h4) {
|
|
||||||
span.t = highlightError
|
|
||||||
}
|
|
||||||
case highlightH2:
|
|
||||||
if h2 > 4 && (h2 == h1 || h2 == h3 || h2 == h4) {
|
|
||||||
span.t = highlightError
|
|
||||||
}
|
|
||||||
case highlightH3:
|
|
||||||
if h3 > 4 && (h3 == h1 || h3 == h2 || h3 == h4) {
|
|
||||||
span.t = highlightError
|
|
||||||
}
|
|
||||||
case highlightH4:
|
|
||||||
if h4 > 4 && (h4 == h1 || h4 == h2 || h4 == h3) {
|
|
||||||
span.t = highlightError
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -126,10 +126,6 @@ var stylemap = map[highlight]spanStyle{
|
|||||||
highlightI3: {color: win.RGB(0x64, 0x38, 0x20)},
|
highlightI3: {color: win.RGB(0x64, 0x38, 0x20)},
|
||||||
highlightI4: {color: win.RGB(0x64, 0x38, 0x20)},
|
highlightI4: {color: win.RGB(0x64, 0x38, 0x20)},
|
||||||
highlightI5: {color: win.RGB(0x64, 0x38, 0x20)},
|
highlightI5: {color: win.RGB(0x64, 0x38, 0x20)},
|
||||||
highlightJ1: {color: win.RGB(0x64, 0x38, 0x20)},
|
|
||||||
highlightJ2: {color: win.RGB(0x64, 0x38, 0x20)},
|
|
||||||
highlightJ3: {color: win.RGB(0x64, 0x38, 0x20)},
|
|
||||||
highlightItime: {color: win.RGB(0x64, 0x38, 0x20)},
|
|
||||||
highlightWarning: {color: win.RGB(0xC4, 0x1A, 0x16), effects: win.CFE_UNDERLINE},
|
highlightWarning: {color: win.RGB(0xC4, 0x1A, 0x16), effects: win.CFE_UNDERLINE},
|
||||||
highlightError: {color: win.RGB(0xC4, 0x1A, 0x16), effects: win.CFE_UNDERLINE},
|
highlightError: {color: win.RGB(0xC4, 0x1A, 0x16), effects: win.CFE_UNDERLINE},
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user