Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
538c436eeb | ||
|
|
99c51cb21e | ||
|
|
c0ed45e455 | ||
|
|
1c31f48ee0 | ||
|
|
1a9992f557 | ||
|
|
042195476d | ||
|
|
a11ec7cd04 | ||
|
|
e6513aa4d6 | ||
|
|
a3ec131d43 | ||
|
|
b20b935db2 | ||
|
|
c9727af2b6 | ||
|
|
e8030150ed | ||
|
|
77e00911d9 | ||
|
|
8536e23378 | ||
|
|
e8a4491a5b | ||
|
|
633e75ca8a | ||
|
|
dd21da32a8 | ||
|
|
35af140ed5 | ||
|
|
1d402d0ccc | ||
|
|
482893bcd8 | ||
|
|
33bb259574 | ||
|
|
7ec04d0ca7 | ||
|
|
a335d9cf68 | ||
|
|
350721365e | ||
|
|
a4a41c4255 | ||
|
|
3b1e4b4bbc | ||
|
|
db8ba1b4bc | ||
|
|
1cefd8f2f5 | ||
|
|
ad889edc6e | ||
|
|
79a1cdc547 | ||
|
|
0a6a28bd58 | ||
|
|
f7147d3ad6 | ||
|
|
d4cc6a2505 | ||
|
|
aa32c54989 | ||
|
|
e731b7f58d | ||
|
|
1318800c68 | ||
|
|
f252e9fc8a | ||
|
|
a694a2101f | ||
|
|
e8d66c9ca3 | ||
|
|
145f8ab72e | ||
|
|
893b99a5c0 | ||
|
|
66f7bbea5e | ||
|
|
52211ffda6 | ||
|
|
0e499b0954 | ||
|
|
85149595b1 | ||
|
|
090fa500a3 | ||
|
|
0b5bd95ee6 | ||
|
|
455d97e0b3 | ||
|
|
bdfa941ac7 | ||
|
|
7543e76a3b | ||
|
|
fcfdf3bf1e | ||
|
|
c2dd2cd49d | ||
|
|
889c741079 | ||
|
|
f35139d504 | ||
|
|
8bfa1e08ee | ||
|
|
4c82aaaccc | ||
|
|
1ba4232ef5 | ||
|
|
0b8af49e55 | ||
|
|
d112f45714 | ||
|
|
215cb2cf06 | ||
|
|
8e7c8e4926 | ||
|
|
2e935fb409 | ||
|
|
3722e909ca | ||
|
|
e9e45f4418 | ||
|
|
854239b03e | ||
|
|
cab737ee6c | ||
|
|
6cfd8a5632 | ||
|
|
876cf208aa | ||
|
|
4755106db4 | ||
|
|
61e8565b53 | ||
|
|
a957353c96 | ||
|
|
79ab36f98d | ||
|
|
0de5895d83 | ||
|
|
80431c5488 | ||
|
|
6ad1181721 | ||
|
|
4c7facff7a | ||
|
|
ee2a86aead | ||
|
|
42f0e61f01 | ||
|
|
96ec63b2f0 | ||
|
|
15369df33f | ||
|
|
2daccefdea | ||
|
|
e9b540e66f | ||
|
|
681c442b65 | ||
|
|
d308daed43 | ||
|
|
7c131fc627 | ||
|
|
3c44ab2198 | ||
|
|
50fbeeea69 | ||
|
|
a438a84d1d | ||
|
|
5d6684bf93 | ||
|
|
07f967e934 | ||
|
|
6e058371a6 | ||
|
|
ec30e6301f | ||
|
|
f26a131626 | ||
|
|
cf5c228bad | ||
|
|
1efc1d393e | ||
|
|
c138c0b0a0 | ||
|
|
04ebcae264 | ||
|
|
6ffc904f20 | ||
|
|
e2b2006cc5 | ||
|
|
c463ca4815 | ||
|
|
198c65f8db | ||
|
|
7ae806241f | ||
|
|
05537f369e | ||
|
|
4b97967eb2 | ||
|
|
dc4e94482d | ||
|
|
a242716c63 | ||
|
|
c7d4b3a35b | ||
|
|
26d2512115 | ||
|
|
3b9f847ae8 | ||
|
|
6b24b9b688 | ||
|
|
f41b0e95d3 | ||
|
|
b261ed04b2 | ||
|
|
80ecc713ca | ||
|
|
cdba263b10 | ||
|
|
7aa9a5ae9f | ||
|
|
29a0f2355d | ||
|
|
2955ca392a | ||
|
|
8cb2f8309f | ||
|
|
c8a50072c4 | ||
|
|
0d1eff6e07 | ||
|
|
5c3fd240b8 | ||
|
|
3dad686352 | ||
|
|
1c6f5512e2 | ||
|
|
b33787d022 | ||
|
|
ac26edb53b | ||
|
|
fe42288fb5 | ||
|
|
3e03ada226 | ||
|
|
67248d4642 | ||
|
|
41230c6f19 | ||
|
|
2820031946 | ||
|
|
c29125dc53 | ||
|
|
4641007783 | ||
|
|
6e56a69235 | ||
|
|
cffed7c35e | ||
|
|
e5f9689e2a | ||
|
|
02d0247ca2 | ||
|
|
54998c3d54 | ||
|
|
6e03c2ebf8 | ||
|
|
16da82f768 | ||
|
|
769fb73a57 | ||
|
|
ae08056e72 | ||
|
|
654c26238f | ||
|
|
795b106f5f | ||
|
|
bd3a57020c | ||
|
|
80fa52399e | ||
|
|
60083603b6 | ||
|
|
591fee7e8d | ||
|
|
d9ee5dd4e7 | ||
|
|
1f37f7c3c8 | ||
|
|
d5902ddb91 | ||
|
|
0ffad30f5a | ||
|
|
09cc4ed596 | ||
|
|
59bcac18bf | ||
|
|
1e599c2715 | ||
|
|
6df3ee4f1e | ||
|
|
9c058cbd52 | ||
|
|
36ac9adcdc | ||
|
|
b1085f1659 | ||
|
|
e1a1d06bcb | ||
|
|
4bb5c2a6a0 | ||
|
|
3ade9febb2 | ||
|
|
a1324ee527 | ||
|
|
970dbd1841 | ||
|
|
19024887f2 | ||
|
|
9f2ae198be | ||
|
|
e49f6a556d | ||
|
|
d7bcef3f63 | ||
|
|
18b2d3a91e | ||
|
|
8b3f34b309 | ||
|
|
807e7e7408 | ||
|
|
3401ea63b1 | ||
|
|
dcad34b2dc | ||
|
|
1315a78322 | ||
|
|
d33f091635 | ||
|
|
388a225d9b | ||
|
|
5b6758ee0f | ||
|
|
f23d4464b0 | ||
|
|
1be481e2cd | ||
|
|
cef0298381 | ||
|
|
c35d864355 | ||
|
|
8f771634de | ||
|
|
fb11bc21c5 | ||
|
|
540ccbce1b | ||
|
|
671adbbfde | ||
|
|
a6b1c3efca | ||
|
|
ec02e8ec6f | ||
|
|
46b6e86767 | ||
|
|
dfd4861438 | ||
|
|
0aacb450f1 | ||
|
|
2004c222bc | ||
|
|
299c2ccee1 | ||
|
|
7e2b71ee89 | ||
|
|
d2fe271d2e | ||
|
|
796f54c922 | ||
|
|
745954f6ca | ||
|
|
ea0aeadaa3 | ||
|
|
e64404ffd1 | ||
|
|
0e67d413d9 | ||
|
|
5a54586f03 | ||
|
|
55c75c6c88 | ||
|
|
cbbfb76a60 | ||
|
|
200f83c5fb | ||
|
|
d976d459e5 | ||
|
|
8907f14ee5 | ||
|
|
421bdb8489 | ||
|
|
1585fe616d | ||
|
|
65ad574955 | ||
|
|
396b9804cb | ||
|
|
421e4b32be | ||
|
|
cfd846e600 | ||
|
|
5e8161d969 | ||
|
|
a3b707bb7d | ||
|
|
d38d84362f | ||
|
|
1bb1506709 | ||
|
|
fdf379e881 | ||
|
|
ce604e45ef | ||
|
|
75d63e00c8 | ||
|
|
b7d1759263 | ||
|
|
b17cc13e81 | ||
|
|
90916f2a11 | ||
|
|
1008006f65 | ||
|
|
a85945c536 | ||
|
|
c50ed52ae2 | ||
|
|
ecc5825716 | ||
|
|
06f4479261 | ||
|
|
2e9894aeda | ||
|
|
dfddbd1543 | ||
|
|
8be27ce15d | ||
|
|
0244a70d91 | ||
|
|
5990b33506 | ||
|
|
59c3e0e57e | ||
|
|
1fa930c756 | ||
|
|
92fa17e0ac | ||
|
|
49124b1ad5 | ||
|
|
596db0a78d | ||
|
|
304489f401 | ||
|
|
508c7fa847 | ||
|
|
7b25073db0 | ||
|
|
ab3454f670 | ||
|
|
4f35ca0eba | ||
|
|
a1686f5016 | ||
|
|
d7fad87ca4 | ||
|
|
f4238198bb | ||
|
|
e417ad3010 | ||
|
|
e2a6bac81a | ||
|
|
17e3ee22e5 | ||
|
|
f918d7943f | ||
|
|
6f58534119 | ||
|
|
7e01cde661 | ||
|
|
a36578c831 | ||
|
|
df4c3209f1 | ||
|
|
0211e576bd | ||
|
|
65ab9ca1b5 | ||
|
|
32dfc36617 | ||
|
|
0984934bea | ||
|
|
2a5bfbcc17 | ||
|
|
e01e78b96e | ||
|
|
a737baed86 | ||
|
|
1d67288ac6 | ||
|
|
680d6dfcef | ||
|
|
8e10b4757c | ||
|
|
1511265fc1 | ||
|
|
0837a1819d | ||
|
|
e29fc3cb53 | ||
|
|
00ef2907e9 | ||
|
|
61b579a635 | ||
|
|
eba453a607 | ||
|
|
02236311b7 | ||
|
|
c1b3440719 | ||
|
|
580138f9a7 | ||
|
|
f6235c2297 | ||
|
|
9641e5b40b | ||
|
|
d6fa5dfa51 | ||
|
|
c8fabfa2eb | ||
|
|
04856afa61 | ||
|
|
21d9d67e1d | ||
|
|
c557897201 | ||
|
|
e5d8f70cf2 | ||
|
|
178f6a9627 | ||
|
|
85102950d4 | ||
|
|
518fd54bb1 | ||
|
|
c570a5d19e | ||
|
|
eba0a965ab | ||
|
|
3b8a89efd7 | ||
|
|
f1b5577850 | ||
|
|
512339d506 | ||
|
|
e24062aee7 | ||
|
|
ff2fd4a108 | ||
|
|
dffc8ef80c | ||
|
|
ba77d256c7 | ||
|
|
c0e2eed688 | ||
|
|
39cf1ea7e8 | ||
|
|
17f365a8e6 | ||
|
|
9126c99a7d | ||
|
|
815ea1cd3a | ||
|
|
a4fc4ba19d | ||
|
|
58f49f6aea | ||
|
|
7449bf3c49 | ||
|
|
c6737eb903 | ||
|
|
d6e2d984b3 | ||
|
|
b0b438e3d7 | ||
|
|
437cfe223d | ||
|
|
641f892e7d | ||
|
|
1a1b8b7733 | ||
|
|
8e67e1256d | ||
|
|
4d87ec5801 | ||
|
|
19488d2810 | ||
|
|
6cc1523a12 | ||
|
|
473799a589 | ||
|
|
af2f47ebd7 | ||
|
|
9317fcb8db | ||
|
|
55ec05a005 | ||
|
|
007db489c7 | ||
|
|
141908ff38 | ||
|
|
1c7c4776a0 | ||
|
|
bf26c51b9e | ||
|
|
36898e2dcd | ||
|
|
a0921d6e52 | ||
|
|
217b0fb1fc | ||
|
|
bf846f2eba | ||
|
|
109d35cd6b | ||
|
|
a5b8205dad | ||
|
|
e4994aba15 | ||
|
|
a80222d270 | ||
|
|
72af699c43 | ||
|
|
394801d1f6 | ||
|
|
ee8c7ee867 | ||
|
|
8dfc7ffdbf | ||
|
|
f46f6c2777 | ||
|
|
d765698218 | ||
|
|
5efe0723ea | ||
|
|
cbe4b40793 | ||
|
|
863d659c7c | ||
|
|
50c7bf0c38 | ||
|
|
bdae73d13b | ||
|
|
6968ee9a8c | ||
|
|
fefb41cc52 | ||
|
|
6c5087886b | ||
|
|
d68e903bf8 | ||
|
|
f9a45f2f80 | ||
|
|
5040e70c6c | ||
|
|
058d27ea95 | ||
|
|
0fbd444fbb | ||
|
|
8036437108 | ||
|
|
ee9e581bdb | ||
|
|
81c3d3a20e | ||
|
|
4179098c74 | ||
|
|
b261fae444 | ||
|
|
f286f2ebed | ||
|
|
68eb38780e | ||
|
|
9c9d15f001 | ||
|
|
7cb9f88116 | ||
|
|
c8d998f777 | ||
|
|
54fc441de9 | ||
|
|
187182435a | ||
|
|
f076962407 | ||
|
|
dbb9ebf97e | ||
|
|
46ecb46a59 | ||
|
|
d155f68383 | ||
|
|
817edd860a | ||
|
|
b80d135cb4 | ||
|
|
1014414230 | ||
|
|
d3c6a966cf | ||
|
|
cc2435cf9c | ||
|
|
818bdaf906 | ||
|
|
15bfd00c6c | ||
|
|
8daf832c35 | ||
|
|
d0a7bb6053 | ||
|
|
5846fc116e | ||
|
|
e6ab769bb1 | ||
|
|
7b3c11886a | ||
|
|
691d6d6c1d | ||
|
|
28c9bd7553 | ||
|
|
dbaa17fa44 | ||
|
|
9c0599c55f | ||
|
|
b99ee978df | ||
|
|
ff7cedffe8 | ||
|
|
7eb4d0018e | ||
|
|
468a47846e | ||
|
|
26bfebebfd | ||
|
|
d22ed31961 | ||
|
|
9b0faeb05f | ||
|
|
9bd5465709 | ||
|
|
d6cbbb6e93 | ||
|
|
943c9da21f | ||
|
|
5e3534f4b4 | ||
|
|
c3b8fb1546 | ||
|
|
6b7bbaece7 | ||
|
|
e9e5358ac8 | ||
|
|
f0e3d578b0 | ||
|
|
31a6aaa60e | ||
|
|
906ede9cb4 | ||
|
|
cb80773f7b | ||
|
|
0ceb116513 | ||
|
|
2fb973cd79 | ||
|
|
f3319cc8ba | ||
|
|
c5a26ffd28 | ||
|
|
a8b9751b8d | ||
|
|
6e10e6cf20 | ||
|
|
674eb30c48 | ||
|
|
17689777af | ||
|
|
79f08abceb | ||
|
|
d8034e0b9b | ||
|
|
316a1188a2 | ||
|
|
c9e0c244f6 | ||
|
|
da5db4e5bd | ||
|
|
401864db0c | ||
|
|
d2a8eb1414 | ||
|
|
912bfc372e | ||
|
|
07d92cc7ea | ||
|
|
bf7a7f9a8b | ||
|
|
bd92fc05f9 | ||
|
|
256003543b | ||
|
|
33b399df98 | ||
|
|
ba52674c35 | ||
|
|
a397c784c0 | ||
|
|
6fc5ac6ce9 | ||
|
|
d20a104999 | ||
|
|
f229a226e6 | ||
|
|
84f877d197 | ||
|
|
8b8d9f0b39 | ||
|
|
7b4e58e0d7 | ||
|
|
a63f048e72 | ||
|
|
ff210fdb61 | ||
|
|
32d41f14b8 | ||
|
|
747e8f68ff | ||
|
|
6d9fcf1c4e | ||
|
|
bd98f05fa4 | ||
|
|
1f2bdb19c1 | ||
|
|
7148a409b0 | ||
|
|
95681bbad3 | ||
|
|
0bf1623812 | ||
|
|
177b34a3bb | ||
|
|
8c4dad833e | ||
|
|
a76b88c804 | ||
|
|
c11d218d04 | ||
|
|
49c4b3ab7d | ||
|
|
9f9e382c88 | ||
|
|
9705cf9af7 | ||
|
|
658360f76b | ||
|
|
bd288cce19 | ||
|
|
9e5f284696 | ||
|
|
a1a5660e71 | ||
|
|
1ae5b99fc6 | ||
|
|
d9b5fa3650 | ||
|
|
f435125f88 | ||
|
|
84c92ce05d | ||
|
|
0ff0aafe64 | ||
|
|
3deed6a8c1 | ||
|
|
8d33f41059 | ||
|
|
4de5812c40 | ||
|
|
2cbf39a6b8 | ||
|
|
1917a630e2 | ||
|
|
3801577fd5 | ||
|
|
87744b05ac | ||
|
|
1337848cf8 | ||
|
|
cddfcae1b7 | ||
|
|
bef347da98 | ||
|
|
839d4a3617 | ||
|
|
5fed68f555 | ||
|
|
d240db0abf | ||
|
|
fe7ba9e12e | ||
|
|
e732d6dd36 | ||
|
|
245e4b0b21 | ||
|
|
5e9b573431 | ||
|
|
ab2a931bbd | ||
|
|
d1b83ef5b1 | ||
|
|
14e832a20c | ||
|
|
aa6a783ddb | ||
|
|
387d25afc1 | ||
|
|
563d818ccc | ||
|
|
6ad670af12 | ||
|
|
978a4f83f2 | ||
|
|
91dd618421 | ||
|
|
0a6ad85e6e | ||
|
|
ca97b8552d | ||
|
|
28a82ee618 | ||
|
|
069e4eb3f9 | ||
|
|
bd68adae7b | ||
|
|
d56281673e | ||
|
|
77a6befc32 | ||
|
|
b983bae35d | ||
|
|
1ce56aa90c | ||
|
|
06e7685d13 | ||
|
|
5eb93a09b0 | ||
|
|
ac08df3981 | ||
|
|
003566b08d | ||
|
|
8150ac2e2e | ||
|
|
66c6cb9e78 | ||
|
|
eeb3ed50f4 | ||
|
|
f6c5b58219 | ||
|
|
6462b04976 | ||
|
|
0e071df6db | ||
|
|
94ab1473d8 | ||
|
|
8c1cbc3891 | ||
|
|
bf15d9a357 | ||
|
|
6b01512a0b | ||
|
|
f6fd5b8066 | ||
|
|
695043aece | ||
|
|
a49c4a4983 | ||
|
|
4e296336b2 | ||
|
|
7dd74553cc | ||
|
|
7f7fe86d38 | ||
|
|
676a12e5bf | ||
|
|
732fbff125 | ||
|
|
68dfb6e756 | ||
|
|
8a599a8ffa | ||
|
|
29abe09766 | ||
|
|
925eee5279 | ||
|
|
978e8aa3ce | ||
|
|
e4c7e257d2 | ||
|
|
ed9c51176b | ||
|
|
9dc08aa8fb | ||
|
|
e770d814c1 | ||
|
|
4e1b7b2462 | ||
|
|
4f63010efa | ||
|
|
1d1a02a5ca | ||
|
|
6877385b2a | ||
|
|
da267317ce | ||
|
|
877a4a28ae | ||
|
|
0fe3eb3e45 | ||
|
|
ec08874c0a | ||
|
|
c1a1686e2d | ||
|
|
e99e775567 | ||
|
|
b2ae0d3bfc | ||
|
|
c78b039248 | ||
|
|
0d912cc45d | ||
|
|
ff61e9e7a3 | ||
|
|
73e95b9fed | ||
|
|
bbb81492c5 | ||
|
|
e04409e110 | ||
|
|
2e89bb706b | ||
|
|
ea32b323b0 | ||
|
|
3bf81f93d6 | ||
|
|
9f127fb180 | ||
|
|
6e0e38f286 | ||
|
|
8eaf6ec800 | ||
|
|
66fd40b412 | ||
|
|
5e053ec8ac | ||
|
|
a74409d0be | ||
|
|
603080acd0 | ||
|
|
3fee4b3dcd | ||
|
|
b26b3467d4 | ||
|
|
fcbd8a3395 | ||
|
|
a101f581d1 | ||
|
|
34a6b1e809 | ||
|
|
bd6d3fd4d1 | ||
|
|
1922477149 | ||
|
|
42ed962593 | ||
|
|
f9ba25aaa4 | ||
|
|
c843bf17b3 | ||
|
|
19cccfcce3 | ||
|
|
dfec331081 | ||
|
|
64e850c0ef | ||
|
|
dadf67e429 | ||
|
|
dc312305c1 | ||
|
|
0e3ec5e596 | ||
|
|
16cfed0264 | ||
|
|
b244d3c9e5 | ||
|
|
5e880ba417 | ||
|
|
8ef0ffc24e | ||
|
|
50ca2cca7f | ||
|
|
f75c954f2f | ||
|
|
24ec6c216e | ||
|
|
3fb81856d9 | ||
|
|
f4f0dc61da | ||
|
|
4e0dc02c69 | ||
|
|
9a854de2d7 | ||
|
|
e4135e0ed3 | ||
|
|
469f5a791d | ||
|
|
7b0b898210 | ||
|
|
3a551f88f5 | ||
|
|
4d8887c7f0 | ||
|
|
a6a1bc433b | ||
|
|
aa901e1d1c | ||
|
|
27a5d971ef | ||
|
|
426079a8d8 | ||
|
|
d1ffaa0a0e | ||
|
|
d9dd978972 | ||
|
|
ff3e1e2f7e | ||
|
|
29ac73e057 | ||
|
|
1545c94c36 | ||
|
|
6a410a32c0 | ||
|
|
1e800d36b7 | ||
|
|
e2b3f32dab | ||
|
|
ea03da6da6 | ||
|
|
ca806b5370 | ||
|
|
f0a76ead8f | ||
|
|
e513f682b9 | ||
|
|
a17250e06d | ||
|
|
a582a7973b | ||
|
|
85580fec07 | ||
|
|
779345dc73 | ||
|
|
1c072367da | ||
|
|
60533782cc | ||
|
|
45be5f1a66 | ||
|
|
5cd38ec0ec | ||
|
|
9723831af5 | ||
|
|
b96b870afa | ||
|
|
0c5e198bd2 | ||
|
|
7dfc87f0cc | ||
|
|
a3aa8fd2c2 | ||
|
|
c18594b2b9 | ||
|
|
ff1094a121 | ||
|
|
691f49cf57 | ||
|
|
9d42d141f7 | ||
|
|
8dc83462fd | ||
|
|
2be53a5f01 | ||
|
|
2b4621ba42 | ||
|
|
fd01c2929d | ||
|
|
d02ae81b4c | ||
|
|
2ac858d014 | ||
|
|
1731bf13d5 | ||
|
|
ada05d683c | ||
|
|
e293d3c8b5 | ||
|
|
14f44b7c6d | ||
|
|
1b8535c671 | ||
|
|
f1d36d18c1 | ||
|
|
bcfbd17632 | ||
|
|
27d3444707 | ||
|
|
b4c242d1ae | ||
|
|
22fe3668b5 | ||
|
|
ff28a82c87 | ||
|
|
7004974e5a | ||
|
|
b13ce0a114 | ||
|
|
7ef839fb0a | ||
|
|
5c7e6edb5b | ||
|
|
bf4cde29f5 | ||
|
|
39012cbd39 | ||
|
|
713ea8fc0f | ||
|
|
004a057383 | ||
|
|
e6351083ae | ||
|
|
112aedac05 | ||
|
|
48457bc917 | ||
|
|
d2764accb2 | ||
|
|
f72a0380d2 | ||
|
|
c04f0e98da | ||
|
|
106e4c6f08 | ||
|
|
3b02df351b | ||
|
|
66d66dafd2 | ||
|
|
08acb6205c | ||
|
|
20fd6d672f | ||
|
|
6b76e777f0 | ||
|
|
8fa58e0f82 | ||
|
|
4fbdda6cfe | ||
|
|
18372649b4 | ||
|
|
e768114bc8 | ||
|
|
ecee35f312 | ||
|
|
89001402ee | ||
|
|
ca6fcf8822 | ||
|
|
9e6d058817 | ||
|
|
50bed31b59 | ||
|
|
0f9c644f72 | ||
|
|
384c7ce148 | ||
|
|
7bbb202f4d | ||
|
|
46552e28ce | ||
|
|
a599204a27 | ||
|
|
bf800ce3d8 | ||
|
|
adfc8730e6 | ||
|
|
1b91aa80ba | ||
|
|
66c3a9d778 | ||
|
|
e11f01841c | ||
|
|
43bc4764a8 | ||
|
|
d9e9088586 | ||
|
|
212538ffc4 | ||
|
|
f673a716f6 | ||
|
|
c51fb46b62 | ||
|
|
faef9d3ab1 | ||
|
|
629f121994 | ||
|
|
d84eafd943 | ||
|
|
5874fa73e2 | ||
|
|
b6e361d7d9 | ||
|
|
0b097a8cf5 | ||
|
|
b4ab890789 | ||
|
|
b7038228a0 | ||
|
|
48a0b11965 | ||
|
|
05bf5cd3da | ||
|
|
17034517d4 | ||
|
|
bacf316db6 | ||
|
|
e40ddcdaa3 | ||
|
|
fb84b3d6bd | ||
|
|
e21c469bdb | ||
|
|
0fba1b45a8 | ||
|
|
d1ee35bd81 | ||
|
|
6cd69b840e | ||
|
|
ec036bf86d | ||
|
|
1267c413c8 | ||
|
|
5b6253c99e | ||
|
|
b87d01fc48 | ||
|
|
afebf9f98e | ||
|
|
30657763df | ||
|
|
38f8418e77 | ||
|
|
0c843820c4 | ||
|
|
e587270f83 | ||
|
|
e5085b2655 | ||
|
|
93c137f501 | ||
|
|
f762ecac56 | ||
|
|
95d2171955 | ||
|
|
5883654fe1 | ||
|
|
fffcb63822 | ||
|
|
81652b7f5d | ||
|
|
01b008aaed | ||
|
|
2ff70fadbd | ||
|
|
8dd765b755 | ||
|
|
deb763b197 | ||
|
|
063dbb1daa | ||
|
|
41c4f0af83 | ||
|
|
e6ddc08cbc | ||
|
|
51a148a690 | ||
|
|
988630ed5d | ||
|
|
4088bd84ef | ||
|
|
e9ddd8ef8a | ||
|
|
64575451ff | ||
|
|
3c024c2d0b | ||
|
|
38ebcb36ee | ||
|
|
36ff64ae1c | ||
|
|
aa20251ee8 | ||
|
|
58931b5f55 | ||
|
|
348ab2d419 | ||
|
|
44ce03e5ef | ||
|
|
97e83d07e8 | ||
|
|
df1b8b135b | ||
|
|
14ced6a9ff | ||
|
|
db3335c257 | ||
|
|
68446788c0 | ||
|
|
9246bddd8b | ||
|
|
3844c53ebb | ||
|
|
9c8aab197a | ||
|
|
6ce3a1a4ab | ||
|
|
9321c9c8f2 | ||
|
|
1a24d7a980 | ||
|
|
25e472ab9d | ||
|
|
9939ea6702 | ||
|
|
1f1c8150ce | ||
|
|
d5937ce6d6 | ||
|
|
8119849bc8 | ||
|
|
00bc3208d4 | ||
|
|
bab2e944e5 | ||
|
|
3871a4c633 | ||
|
|
a33e726029 | ||
|
|
e21cad4eb0 | ||
|
|
65427ff207 | ||
|
|
467a735a01 | ||
|
|
28178c2f49 | ||
|
|
c56ee4e007 | ||
|
|
1c94b9d49c | ||
|
|
e5fe6a9591 | ||
|
|
cfcd2a9d28 | ||
|
|
dbb0a41ef7 | ||
|
|
a0e0080231 | ||
|
|
43ecf3f618 | ||
|
|
355076992c | ||
|
|
084ccf8871 | ||
|
|
1a1c01693b | ||
|
|
b4f81b2fcf | ||
|
|
a3f2cc7ae2 | ||
|
|
0b303d2459 | ||
|
|
e7f910e7af | ||
|
|
cadc5b2d98 | ||
|
|
47a92f4aaf | ||
|
|
dd64990d04 | ||
|
|
5ad314c572 | ||
|
|
3f7ee532f9 | ||
|
|
628b443461 | ||
|
|
fa91ebe1da | ||
|
|
75a2f89b54 | ||
|
|
e5a8930c0f | ||
|
|
78c73bb17d | ||
|
|
bbbb4fdf33 | ||
|
|
12d9dfb213 | ||
|
|
85574c2e03 | ||
|
|
8a948386fd | ||
|
|
7bcb591a9b | ||
|
|
816ce9935f | ||
|
|
51e1e9ffd5 | ||
|
|
bee230686d | ||
|
|
6333ba0bf7 | ||
|
|
dbec1eea7f | ||
|
|
e940afd715 | ||
|
|
82a3a0df40 | ||
|
|
ef492acea3 | ||
|
|
08a19ff552 | ||
|
|
c8f38abc03 | ||
|
|
45dfb98189 | ||
|
|
20931b1340 | ||
|
|
6c835fb2bc | ||
|
|
16ca7e8c68 | ||
|
|
93e6e8b4d9 | ||
|
|
2bef992756 | ||
|
|
523fb9b97f | ||
|
|
b1efb725cc | ||
|
|
d6dd32f846 | ||
|
|
6f69ed1a56 | ||
|
|
fa3eeb014b | ||
|
|
e2d6d2db5b | ||
|
|
c45c2be9f4 | ||
|
|
ec236d8804 | ||
|
|
163ab689c2 | ||
|
|
df2209fea0 | ||
|
|
8c0ebcb654 | ||
|
|
8ecf47a67e | ||
|
|
587e79ad8b | ||
|
|
770b4d2c18 | ||
|
|
7434d8a6e7 | ||
|
|
3af120f439 | ||
|
|
c25987874f | ||
|
|
79fcb4e3d8 | ||
|
|
710db417ae | ||
|
|
7a33835f29 | ||
|
|
b6724ca767 | ||
|
|
7832ae39f7 | ||
|
|
2fba5eef11 | ||
|
|
06faa75886 | ||
|
|
9076f92c11 | ||
|
|
6d39550268 | ||
|
|
a0ea4180b4 | ||
|
|
851b94bd8e | ||
|
|
4adb93173e | ||
|
|
0177e39b82 | ||
|
|
2c93d7d209 | ||
|
|
b6ec1b3d52 | ||
|
|
c01f38734d | ||
|
|
ceeae3e709 | ||
|
|
436383b7b0 | ||
|
|
e32e510161 | ||
|
|
a0ed6a9c85 | ||
|
|
aff410e9f6 | ||
|
|
124f676cc6 | ||
|
|
9e58937000 | ||
|
|
47f7f80e65 | ||
|
|
1bed472791 | ||
|
|
a9091e201b | ||
|
|
a6dc35e848 | ||
|
|
5a41eeeb9c | ||
|
|
ead8451b86 | ||
|
|
41fde1606a | ||
|
|
d0164d48b3 | ||
|
|
5b107b3578 | ||
|
|
d6f85d8a19 | ||
|
|
db05966e2f | ||
|
|
a6b45aa756 | ||
|
|
c2069c84f8 | ||
|
|
1cbaf97d2d | ||
|
|
d360c3c366 | ||
|
|
c1b521059f | ||
|
|
23c6f908f2 | ||
|
|
4ecf707955 | ||
|
|
22d25542f0 | ||
|
|
106db51de0 | ||
|
|
8e2829c5f3 | ||
|
|
de22ca1120 | ||
|
|
48a2b3a8a9 | ||
|
|
73be3b7bbe | ||
|
|
9e34a7f819 | ||
|
|
8f9a9a9568 | ||
|
|
bfc2bb16f1 | ||
|
|
0b8ee08f58 | ||
|
|
e5209350d6 | ||
|
|
40b39057ee | ||
|
|
09c28e7386 | ||
|
|
210bf5866e | ||
|
|
ed0705f2c1 | ||
|
|
14929ffe16 | ||
|
|
d180ec9b47 | ||
|
|
c12f797fd5 | ||
|
|
b6c87083cb | ||
|
|
cbbf2185b6 | ||
|
|
2e4b3d95bf | ||
|
|
4e83bb6fb2 | ||
|
|
8f73c0bdbf | ||
|
|
4bcd59782d | ||
|
|
b2b4c0a459 | ||
|
|
d192738670 | ||
|
|
c0fe32ee81 | ||
|
|
0dc29e7c24 | ||
|
|
8c10d34cac | ||
|
|
a5c218471d | ||
|
|
6a4d9f8f6e | ||
|
|
de7959c56f | ||
|
|
d8fb1b48c5 | ||
|
|
20cc152ddc | ||
|
|
e2a2856e59 | ||
|
|
e2afec1c35 | ||
|
|
0399ff9558 | ||
|
|
4de913d83b | ||
|
|
513d668733 | ||
|
|
298834a9c2 | ||
|
|
107cdd563a | ||
|
|
81376ff421 | ||
|
|
116fcd689d | ||
|
|
97dadf55db | ||
|
|
d3e9f7c502 | ||
|
|
b79fa9d052 | ||
|
|
e69460d0f0 | ||
|
|
d76b81e9ac | ||
|
|
91c232dad2 | ||
|
|
2788f60383 | ||
|
|
3e903bb925 | ||
|
|
798294a9fe | ||
|
|
787e6014b0 | ||
|
|
023e899131 | ||
|
|
c859f91994 | ||
|
|
41b1ffda79 | ||
|
|
5aeab2eb36 | ||
|
|
5f680eba07 | ||
|
|
5d35a09fee | ||
|
|
7a40858807 | ||
|
|
a33e744438 | ||
|
|
9ea13a15f1 | ||
|
|
860692711b | ||
|
|
87b5fd4ccf | ||
|
|
6e68f712a9 | ||
|
|
0d53b7c68f | ||
|
|
1761c92f23 | ||
|
|
3de19f569b | ||
|
|
f589a15e09 | ||
|
|
1aa35fe2ed | ||
|
|
03d323d67a | ||
|
|
ef760d454c | ||
|
|
1c3c7da87d | ||
|
|
fe02304b09 | ||
|
|
47adf36e5d | ||
|
|
73d5ca5b48 | ||
|
|
1871d36da7 | ||
|
|
f28f2129d9 | ||
|
|
4d88bb147d | ||
|
|
6afd0bdd52 | ||
|
|
d087413d1b | ||
|
|
76f659dfb4 | ||
|
|
7804790de6 | ||
|
|
81f6ff06c2 | ||
|
|
7f3839bef2 | ||
|
|
5807bc1428 | ||
|
|
22295f60dd | ||
|
|
c8e521f606 | ||
|
|
06538d9b04 | ||
|
|
e5e8d4f240 | ||
|
|
b6040ad4bd | ||
|
|
06c902e3e0 | ||
|
|
752e4be8c6 | ||
|
|
f82c694aed | ||
|
|
09013441ff | ||
|
|
56ed1a7e88 | ||
|
|
1d4ba1f3a8 | ||
|
|
90ac3921b4 | ||
|
|
23bfb5cf3d | ||
|
|
ea227d5838 | ||
|
|
be14aaf3b7 | ||
|
|
65052f5b63 | ||
|
|
dad476699f | ||
|
|
e20107329f | ||
|
|
7a89c4929a | ||
|
|
43261b72c4 | ||
|
|
972fd6aa2d | ||
|
|
788b4555a9 | ||
|
|
8d66296ee5 | ||
|
|
f2183c7d35 | ||
|
|
fb4f308cf5 | ||
|
|
3ecbc2fea4 | ||
|
|
27c73c3159 | ||
|
|
40edcbea71 | ||
|
|
1a52946940 | ||
|
|
b40c40fad4 | ||
|
|
f69e26ac08 | ||
|
|
276fdf0434 | ||
|
|
59ee99081c | ||
|
|
c5b57cfed5 | ||
|
|
d043029f36 | ||
|
|
0f02dbb124 | ||
|
|
e1eb52d0d1 | ||
|
|
b86d1fa385 | ||
|
|
38406b3cec | ||
|
|
64cf7adbd1 | ||
|
|
8d8c27d0cd | ||
|
|
82a80721ae | ||
|
|
2ea4c7ee2f | ||
|
|
a366a8c1ad | ||
|
|
ba817f04ae | ||
|
|
078127867b | ||
|
|
38daf708b1 | ||
|
|
0c4a856929 | ||
|
|
7569438b29 | ||
|
|
a7e76bf512 | ||
|
|
eb960dcc1e | ||
|
|
5430bf4c9f | ||
|
|
bd9de887cd | ||
|
|
d43493ec9c | ||
|
|
7f46329ec4 | ||
|
|
47ca79c45b | ||
|
|
bfd1fa5c72 | ||
|
|
36f13c7df1 | ||
|
|
adae188732 | ||
|
|
ba95a31196 | ||
|
|
031953258d | ||
|
|
9fa8ad197b | ||
|
|
10a431f954 | ||
|
|
81d33a2bd4 | ||
|
|
fce9681682 | ||
|
|
f7f1b62e5e | ||
|
|
bca213029a | ||
|
|
f311aad43d | ||
|
|
64efde4872 | ||
|
|
117e81b590 | ||
|
|
24d83513b7 | ||
|
|
f56a85cd55 | ||
|
|
bc4fb2f7f2 | ||
|
|
ba877d99eb | ||
|
|
b5dfc3d345 | ||
|
|
4036812a22 | ||
|
|
6386ca0ab1 | ||
|
|
c05577df9d | ||
|
|
5b9124b516 | ||
|
|
5462e8ea71 | ||
|
|
d91b465136 | ||
|
|
9f6e7d2376 | ||
|
|
9f6f9cc4a8 | ||
|
|
3a108c2333 | ||
|
|
6b5ab78524 | ||
|
|
09f138945e | ||
|
|
8666989f6c | ||
|
|
4228cc97dd | ||
|
|
d16030ab9f | ||
|
|
f4b1f00571 | ||
|
|
64c2ac3947 | ||
|
|
8457aed4bc | ||
|
|
9015bdd75e | ||
|
|
fa0bdbae86 | ||
|
|
fadc85347f | ||
|
|
ce2684fbbb | ||
|
|
45b0df3998 | ||
|
|
ce413645d3 | ||
|
|
4153a53a84 | ||
|
|
f63c516245 | ||
|
|
5f52351ff5 | ||
|
|
1242d994b5 | ||
|
|
686684a00c | ||
|
|
deb70d377e | ||
|
|
8c62d8c1ae | ||
|
|
1b81959663 | ||
|
|
03bfc6ec2a | ||
|
|
ed9611a241 | ||
|
|
fff00bbeae | ||
|
|
a842b70d66 | ||
|
|
a0f630a03e | ||
|
|
d3067e86e7 | ||
|
|
ef67836d79 | ||
|
|
c8079245f4 | ||
|
|
8cc6ff7021 | ||
|
|
665082d6d3 | ||
|
|
a28b527648 | ||
|
|
d5431a8130 | ||
|
|
46f605001c | ||
|
|
081e59c620 | ||
|
|
0d0354f160 | ||
|
|
9558a84c1c | ||
|
|
c9d7a56ef7 | ||
|
|
28408306a1 | ||
|
|
301faaeeaa | ||
|
|
05370e2eb9 | ||
|
|
1241398718 | ||
|
|
921b4ab596 | ||
|
|
b8ff8ad3bb | ||
|
|
a67851f9cc | ||
|
|
299e40cb7a | ||
|
|
9f75f58cc5 | ||
|
|
c298151a12 | ||
|
|
b53560bc77 | ||
|
|
cf3a5608ce | ||
|
|
f92d1dd8ca | ||
|
|
bea13f8f9d | ||
|
|
0611e157ab | ||
|
|
44910ea1be | ||
|
|
d0934bfdc9 | ||
|
|
0a13537faf | ||
|
|
25a0e8aa41 | ||
|
|
a55b59cca1 | ||
|
|
9aed330183 | ||
|
|
1f9b192312 | ||
|
|
1321575b7b | ||
|
|
4fcaf20ff9 | ||
|
|
43d2e49a47 | ||
|
|
4d9adba2c8 | ||
|
|
dee84344a7 | ||
|
|
d7deff5b42 | ||
|
|
1262cc559b | ||
|
|
25de58f01a | ||
|
|
553cd15511 | ||
|
|
5469fa7057 | ||
|
|
d4adb035cd | ||
|
|
bb93d063ae | ||
|
|
a784a2a900 | ||
|
|
e46bcd1262 | ||
|
|
7dfb98138b | ||
|
|
2ea188857f | ||
|
|
a8aa1dddea | ||
|
|
989e7ddc3a | ||
|
|
c75fd968ac | ||
|
|
7a08c41d09 | ||
|
|
d349ea3c24 | ||
|
|
ed175deb3f | ||
|
|
68dd00d34a | ||
|
|
b73cd29746 | ||
|
|
efe624088d | ||
|
|
689f66b6b0 | ||
|
|
bf022b11da | ||
|
|
f837211891 | ||
|
|
4823e177f3 | ||
|
|
fc09d0e284 | ||
|
|
0b6414cbd8 | ||
|
|
a6289b84c0 | ||
|
|
0783531bf4 | ||
|
|
69ac99154b | ||
|
|
eeb8c2cb0c | ||
|
|
7c39101227 | ||
|
|
5616544a77 | ||
|
|
6f7db96c36 | ||
|
|
f6584daa60 | ||
|
|
10412f08fc | ||
|
|
720fddf9c7 | ||
|
|
78984e993f | ||
|
|
784d99ab64 | ||
|
|
30cd391448 | ||
|
|
4ff2b951aa | ||
|
|
35dfb6bfda | ||
|
|
cbaf039718 | ||
|
|
7c40b0258f | ||
|
|
0168de736b | ||
|
|
7ad7854ac7 | ||
|
|
4c094d63ca | ||
|
|
9463d38977 | ||
|
|
e81ff4f2d8 | ||
|
|
0b5a4c3a80 | ||
|
|
ddc63362d0 | ||
|
|
7bf54d4682 | ||
|
|
60b29b2200 | ||
|
|
8369035b03 | ||
|
|
9bc2ec519f | ||
|
|
6881c4bf55 | ||
|
|
e774f2f815 | ||
|
|
571b93efe0 | ||
|
|
10ae8c5a42 | ||
|
|
005f89bd72 | ||
|
|
3a60139b98 | ||
|
|
af61bd4134 | ||
|
|
c8748d2896 | ||
|
|
a34c50db47 | ||
|
|
84af266969 | ||
|
|
9c0f0d957d | ||
|
|
f4a4d36aae | ||
|
|
9d472472a1 | ||
|
|
e55120a4a3 | ||
|
|
c4e4376886 | ||
|
|
29d37dbf9d | ||
|
|
d378094817 | ||
|
|
0c239f9470 | ||
|
|
dbda875725 | ||
|
|
a568b46baf | ||
|
|
d1bb7deaa2 | ||
|
|
aaaa195cd9 | ||
|
|
a9d217e7a1 | ||
|
|
009c8af3f9 | ||
|
|
fd3177a9bb | ||
|
|
4c87e70e17 | ||
|
|
f5677b81a5 | ||
|
|
a14d230f33 | ||
|
|
c00ead72c3 | ||
|
|
9980a3aa22 | ||
|
|
5874237d8c | ||
|
|
989da95be5 | ||
|
|
d06cee95d6 | ||
|
|
f9890ca143 | ||
|
|
1e1205242b | ||
|
|
688e2c6245 | ||
|
|
84e704aa4c | ||
|
|
2f8ec93ae1 | ||
|
|
923dbbbb63 | ||
|
|
ad24d1a784 | ||
|
|
c165d61b7d | ||
|
|
9c1ac5d262 | ||
|
|
c7489ead82 | ||
|
|
7c6c032b7d | ||
|
|
fa06500710 | ||
|
|
1eb5fa33fa | ||
|
|
ed7362ae8f | ||
|
|
7fd7123224 | ||
|
|
fdce1768dd | ||
|
|
3c649c9530 | ||
|
|
ba117768d7 | ||
|
|
52ada2c376 | ||
|
|
8cfe6fa9c7 | ||
|
|
06624b2903 | ||
|
|
1954e20af1 | ||
|
|
7c61753ada | ||
|
|
41fa7d3ab7 | ||
|
|
013e103d29 | ||
|
|
1bd8c4624d | ||
|
|
ed9b0b3054 | ||
|
|
59f8bd1417 | ||
|
|
500c202a2a | ||
|
|
120e3747db | ||
|
|
b6307b52b1 | ||
|
|
a9494c199b | ||
|
|
e0ab9dd2e7 | ||
|
|
a6873d6d0a | ||
|
|
bdd7990ddb | ||
|
|
6f8561bc80 | ||
|
|
d32142a911 | ||
|
|
36e04040e5 | ||
|
|
be6cdd9e76 | ||
|
|
b6aa175e41 | ||
|
|
0064cd50f7 | ||
|
|
31faa94df7 | ||
|
|
22cfddcd71 | ||
|
|
87734378e9 | ||
|
|
ebc68a83fd | ||
|
|
6889a1e143 | ||
|
|
bea98fb11b | ||
|
|
e2f42b7d5f | ||
|
|
1ec10befe7 | ||
|
|
1a3deafa5a | ||
|
|
76fc7f6a00 | ||
|
|
a26138c2df | ||
|
|
530011d521 | ||
|
|
7e53bb97c3 | ||
|
|
6340dd3874 | ||
|
|
52a49d7db6 | ||
|
|
fd53ba825e | ||
|
|
1b28591006 | ||
|
|
e7b41ad90a | ||
|
|
86daf1baa6 | ||
|
|
a51759e0df | ||
|
|
91d1980e3d | ||
|
|
4c9f22d727 | ||
|
|
cffac4994f | ||
|
|
46c38aeea5 | ||
|
|
8269d0014e | ||
|
|
22eff2eb1e | ||
|
|
9d44c12e5c | ||
|
|
189d604132 | ||
|
|
3ad18e450b | ||
|
|
8be600d0a2 | ||
|
|
e1feaab906 | ||
|
|
bacbefb119 | ||
|
|
f2cbaeb52f | ||
|
|
338f3ecf43 | ||
|
|
17247f2c74 | ||
|
|
1aa25f4258 | ||
|
|
3b8e2f0b72 | ||
|
|
d02b2f9afb | ||
|
|
cf25a05e3d | ||
|
|
3cf63b23bb | ||
|
|
785bcbe79f | ||
|
|
7df434a150 | ||
|
|
dfca54d61a | ||
|
|
a09aebd946 | ||
|
|
410d9aee5f | ||
|
|
cfcbd7ba53 | ||
|
|
c934e7d0f5 | ||
|
|
00db0834ac | ||
|
|
5ef2119aae | ||
|
|
e8e9cb3218 | ||
|
|
bd297a199e | ||
|
|
0263aadac4 | ||
|
|
6dcbd2c959 | ||
|
|
be020f699d | ||
|
|
05e85a7ae5 | ||
|
|
22aa79a347 | ||
|
|
c00a7ef398 | ||
|
|
f2089154ce | ||
|
|
6ed1e57a7a | ||
|
|
f57ced4cfd | ||
|
|
90c732188e | ||
|
|
baa2b935b3 | ||
|
|
52ab70c670 | ||
|
|
3d2fe06f1c | ||
|
|
da9e0b973b | ||
|
|
c42552d700 | ||
|
|
6ea7072394 | ||
|
|
fddcf5e813 | ||
|
|
43ee7425d3 | ||
|
|
3a5423486c | ||
|
|
01cfd38002 | ||
|
|
e5279e976d | ||
|
|
9a2a481a6a | ||
|
|
5c158c806a | ||
|
|
536ade0213 | ||
|
|
3461c81945 | ||
|
|
b9a80a4d11 | ||
|
|
73377139c7 | ||
|
|
a4944930f7 | ||
|
|
be5affd364 | ||
|
|
1f05a075c7 | ||
|
|
d178b10bfd | ||
|
|
992049afc0 | ||
|
|
3ecabfd51a | ||
|
|
008272f675 | ||
|
|
4b44285ce2 | ||
|
|
29c5b61abf | ||
|
|
9c3b1f564b | ||
|
|
eb935a7c74 | ||
|
|
704304df32 | ||
|
|
9eddab60ea | ||
|
|
711a325827 | ||
|
|
7caee8928e | ||
|
|
f38838b3eb | ||
|
|
0339306375 | ||
|
|
aaf27f006c | ||
|
|
59a8a7e909 | ||
|
|
dc4495d4b5 | ||
|
|
f8dfff1061 | ||
|
|
a43041c20d | ||
|
|
756368c8fc | ||
|
|
86833fc438 | ||
|
|
483bdbf4ac | ||
|
|
c0691506f7 | ||
|
|
58d0bd7df8 | ||
|
|
22dbdca578 | ||
|
|
0eec6fc998 | ||
|
|
dcfd65ea1b | ||
|
|
a07cc68283 | ||
|
|
56f63e33ed | ||
|
|
20ff92b693 | ||
|
|
0fbb4ca176 | ||
|
|
062099f034 | ||
|
|
6722ec99b6 | ||
|
|
ee9ebe8a27 | ||
|
|
cbf926e8e5 | ||
|
|
2c2b73e474 | ||
|
|
dd99232313 | ||
|
|
7b7f108297 | ||
|
|
4f20fedfee | ||
|
|
f9fbcfd258 | ||
|
|
1ed18d5aa6 | ||
|
|
9a3d9ef2fa | ||
|
|
96c1fbb99e | ||
|
|
8326c6d9a7 | ||
|
|
2a786f9024 | ||
|
|
8c8a416f17 | ||
|
|
d12469705f | ||
|
|
90e02044ae | ||
|
|
434eb43ecb | ||
|
|
0c0da35e81 | ||
|
|
e836c497cc | ||
|
|
9269d84be0 | ||
|
|
a42c06cd37 | ||
|
|
8aefb7ec48 | ||
|
|
f47650ab61 | ||
|
|
cb7e038937 | ||
|
|
65230021c4 | ||
|
|
60b0b99301 | ||
|
|
315d42b141 | ||
|
|
e98c03ff0a | ||
|
|
3604ad35e5 | ||
|
|
b512b651ce | ||
|
|
077bba6a4c | ||
|
|
0d447569d6 | ||
|
|
6201acb779 | ||
|
|
1e9914edd7 | ||
|
|
b4f7a27fe7 | ||
|
|
2532bec9b5 | ||
|
|
c2fb2d134a | ||
|
|
c4bb858556 | ||
|
|
8599fcae89 | ||
|
|
16d7bc5faf | ||
|
|
2bd2f32a06 | ||
|
|
f0d5d4006d | ||
|
|
d19d26495a | ||
|
|
4c0d2f7269 | ||
|
|
26eda587de | ||
|
|
08fc245eb7 | ||
|
|
eb485c7415 | ||
|
|
b0355851e2 | ||
|
|
630b4f7fb0 | ||
|
|
b0cf092291 | ||
|
|
595055dca9 | ||
|
|
7d9d7d5cdd | ||
|
|
f2eefbcb1b | ||
|
|
84636258fb | ||
|
|
1577694212 | ||
|
|
b997e4d522 | ||
|
|
551f884667 | ||
|
|
0da7cd16cb | ||
|
|
c17232fa3f | ||
|
|
c1d0aff3a4 | ||
|
|
ec7f513a35 | ||
|
|
c9af943cec | ||
|
|
6f98f0ec29 | ||
|
|
9c5e4b3dff | ||
|
|
224a5de650 | ||
|
|
3a6b66f7ce | ||
|
|
51f9b8d5fb | ||
|
|
7bc93a8e8e | ||
|
|
3a6546c509 | ||
|
|
b9022195e5 | ||
|
|
61731c3c5e | ||
|
|
076872eb05 | ||
|
|
d342c85b96 | ||
|
|
f0bf1f3bdc | ||
|
|
5de584fafa | ||
|
|
4f905506f6 | ||
|
|
9680bc9727 | ||
|
|
3fdbbcb565 | ||
|
|
57bd882f8f | ||
|
|
c4f73eae83 | ||
|
|
575bde1938 | ||
|
|
38beed5494 | ||
|
|
4f7aeef591 | ||
|
|
edf607fdca | ||
|
|
c76da4beb2 | ||
|
|
b54cef21b4 | ||
|
|
17bd678209 | ||
|
|
f97ebe8067 | ||
|
|
ddd871c6c2 | ||
|
|
f0b817a456 | ||
|
|
ebac9d6ddc | ||
|
|
b8544bd36d | ||
|
|
d666d4ff59 | ||
|
|
5285567f41 | ||
|
|
818a048c2e | ||
|
|
254f084a72 | ||
|
|
42f4ed2fbe | ||
|
|
cf6167cafb | ||
|
|
7828fe8cb6 | ||
|
|
98ee7aab0a | ||
|
|
60f851943c | ||
|
|
2c92b16a89 | ||
|
|
d3c9695d00 | ||
|
|
0981cc4fda | ||
|
|
fceb0d6825 | ||
|
|
cffd32e12e | ||
|
|
03891b358b | ||
|
|
4c71012709 | ||
|
|
6764353d08 | ||
|
|
64312f6cef | ||
|
|
efaaf481c9 | ||
|
|
cb5b5084df | ||
|
|
17b57e9e89 | ||
|
|
eb232e71ad | ||
|
|
4b91cbce8e | ||
|
|
aa67bf267b | ||
|
|
b80a1a73c7 | ||
|
|
6e50dd1ba6 | ||
|
|
f94676d9e4 | ||
|
|
3783d469e8 | ||
|
|
c02cd3517b | ||
|
|
a771748b36 | ||
|
|
9bf25ecb7f | ||
|
|
15ad548fa3 | ||
|
|
b7dfe3c2ca | ||
|
|
11e7616e55 | ||
|
|
3e5aca8090 | ||
|
|
586e4c78f2 | ||
|
|
fd0d5c3316 | ||
|
|
7997452329 | ||
|
|
55c67de952 | ||
|
|
aaa8fe9120 | ||
|
|
48285d010a | ||
|
|
f141c8e14d | ||
|
|
288e5afa3a | ||
|
|
213ab55865 | ||
|
|
1660875bbb | ||
|
|
8cc57d0352 | ||
|
|
13ad5abaff | ||
|
|
deba6883a9 | ||
|
|
6a4b4bf78d | ||
|
|
2c818fbfa4 | ||
|
|
87a83c43b2 | ||
|
|
0d0944d588 | ||
|
|
c1f2bd5f0c | ||
|
|
0078622c36 | ||
|
|
1caa36ca9e | ||
|
|
6e734f0a03 | ||
|
|
27582497ed | ||
|
|
cdfd274b15 | ||
|
|
9bc474999c | ||
|
|
1aabd5c043 | ||
|
|
a52104cfe1 | ||
|
|
3e96bbef48 | ||
|
|
20446f0a05 | ||
|
|
02b8ed86d8 | ||
|
|
daa53feb1b | ||
|
|
4bcf456101 | ||
|
|
2cdcae4666 | ||
|
|
f32308a0da | ||
|
|
7b4abfedd7 | ||
|
|
e1949b77a3 | ||
|
|
aaa06f5262 | ||
|
|
ac6d246c8f | ||
|
|
fc24fe673d | ||
|
|
a68b796aed | ||
|
|
f0130acaf4 | ||
|
|
ff96c20017 | ||
|
|
20647fc2f8 | ||
|
|
2d9b4a0c86 | ||
|
|
00b7a4c47c | ||
|
|
3702064a42 | ||
|
|
a2cb24d093 | ||
|
|
059a106044 | ||
|
|
cd1e7f60ba | ||
|
|
9a93855897 | ||
|
|
b2e84c20b7 | ||
|
|
60bbee0ed1 | ||
|
|
6e33b7ebbb | ||
|
|
adc16c2070 | ||
|
|
56107cc288 | ||
|
|
9cd47aff9a | ||
|
|
5eef0e7709 | ||
|
|
aa6912863a | ||
|
|
ded94bec01 | ||
|
|
276e81a088 | ||
|
|
efa6ffac14 | ||
|
|
772ff928e1 | ||
|
|
96302edb5c | ||
|
|
70d8f064d2 | ||
|
|
30506b981d | ||
|
|
4acabbdfc7 | ||
|
|
c1be8a97b1 | ||
|
|
c4f3e79f5d | ||
|
|
feb410a6d9 | ||
|
|
7c1fe4c1ca | ||
|
|
4549aa4284 | ||
|
|
19c7af32fa | ||
|
|
206c1e92b4 | ||
|
|
874f99191d | ||
|
|
94ff6acd2c | ||
|
|
c7521f36a5 | ||
|
|
c26112bb9b | ||
|
|
33e3d578fc | ||
|
|
f415fae79b | ||
|
|
f5a3ef177a | ||
|
|
ddad8c87cb | ||
|
|
03a271fc6c | ||
|
|
d5baf20725 | ||
|
|
62935f376d | ||
|
|
93947dacc0 | ||
|
|
16fa0e7dd8 | ||
|
|
6cf9085061 | ||
|
|
e4a0f4d358 | ||
|
|
17957195e1 | ||
|
|
ce092dbafb | ||
|
|
f91a31d326 | ||
|
|
b6e29b5c0f | ||
|
|
99cdf91215 | ||
|
|
ba1c43bfa7 | ||
|
|
5bbab281de | ||
|
|
2a68165640 | ||
|
|
64e37df1b5 | ||
|
|
a0438805fc | ||
|
|
c915b8bccf | ||
|
|
da6ac789d2 | ||
|
|
da28a692f8 | ||
|
|
09a9ec7043 | ||
|
|
cfa891509f | ||
|
|
250412e1bc | ||
|
|
3b4f87e7e4 | ||
|
|
78f3b5efa4 | ||
|
|
ba9023c646 | ||
|
|
7f5a3c70ea | ||
|
|
27276234d6 | ||
|
|
1f0ca7992c | ||
|
|
f879f94722 | ||
|
|
293ea8c502 | ||
|
|
40dd93ddcb | ||
|
|
d2633ebe74 | ||
|
|
5fab781b93 | ||
|
|
c35b2011db | ||
|
|
530e2a9403 | ||
|
|
3414ab087b | ||
|
|
e1c2ac791f | ||
|
|
268f62a573 | ||
|
|
22e279ec10 | ||
|
|
18ffcd51d0 | ||
|
|
d1dc485e60 | ||
|
|
316851c94e | ||
|
|
9bb2f09921 | ||
|
|
f01e16e5c7 | ||
|
|
adf3283797 | ||
|
|
cea41c44f9 | ||
|
|
5950b65028 | ||
|
|
8ebd70e4f6 | ||
|
|
ebe6425b87 | ||
|
|
9ee4922bc9 | ||
|
|
23657db543 | ||
|
|
6f87e261ce | ||
|
|
0c191873e1 | ||
|
|
e222c170c1 | ||
|
|
c1e5c549e1 | ||
|
|
d95b8799ad | ||
|
|
001e9e376b | ||
|
|
11b22dcbc4 | ||
|
|
7aa28be06e | ||
|
|
e12086ef8d | ||
|
|
d43465184d | ||
|
|
9c4ce9f85c | ||
|
|
fc616a5850 | ||
|
|
4d730ea3ee | ||
|
|
19e5aeb772 | ||
|
|
554ac1827e | ||
|
|
d1fa167c68 | ||
|
|
2526f93567 | ||
|
|
a282dc22d9 | ||
|
|
92ba3ecc6e | ||
|
|
8f4e387e5e | ||
|
|
d89500a4d7 | ||
|
|
cc61b81f45 | ||
|
|
76560656a1 | ||
|
|
a9fc330d1a | ||
|
|
345861ee35 | ||
|
|
a6a0269f8d | ||
|
|
bedf0a828d | ||
|
|
ba3fd6d9a2 | ||
|
|
43ebb72a6e | ||
|
|
cce6de929f | ||
|
|
263f338a51 | ||
|
|
eaf2755a4d | ||
|
|
0afa8a6a18 |
No files matched your search
@@ -1,7 +0,0 @@
|
||||
root=true
|
||||
|
||||
[*]
|
||||
indent_style=tab
|
||||
end_of_line=crlf
|
||||
trim_trailing_whitespace=true
|
||||
insert_final_newline=true
|
||||
@@ -1 +1 @@
|
||||
custom: ["https://yoomoney.ru/to/4100115776040583", "https://www.paypal.me/henrypp", "https://www.blockchain.com/btc/address/1LrRTXPsvHcQWCNZotA9RcwjsGcRghG96c", "https://www.blockchain.com/eth/address/0xe2C84A62eb2a4EF154b19bec0c1c106734B95960"]
|
||||
custom: ["https://www.paypal.me/henrypp", "https://yoomoney.ru/to/4100115776040583", "https://www.blockchain.com/btc/address/1LrRTXPsvHcQWCNZotA9RcwjsGcRghG96c", "https://www.blockchain.com/eth/address/0xe2C84A62eb2a4EF154b19bec0c1c106734B95960"]
|
||||
@@ -0,0 +1,66 @@
|
||||
name: Bug report
|
||||
title: "[Bug]"
|
||||
description: Let me know about crash or existing functionality not working like it should.
|
||||
labels: [ "bug" ]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: Thanks for taking the time to fill out this bug report!
|
||||
- type: checkboxes
|
||||
id: checklist
|
||||
attributes:
|
||||
label: Checklist
|
||||
options:
|
||||
- label: I have used the search function to see if someone else has already submitted the same bug report.
|
||||
required: true
|
||||
- label: I will describe the problem with as much detail as possible.
|
||||
required: true
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: App version
|
||||
description: What the application version do you use.
|
||||
placeholder: x.y.z
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: windows_version
|
||||
attributes:
|
||||
label: Windows version
|
||||
description: What Windows version do you use.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: steps
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
placeholder: |
|
||||
1. Go to '…'
|
||||
2. Click on '…'
|
||||
3. Scroll down to '…'
|
||||
4. etc.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: Expected behavior
|
||||
description: After following the steps, what did you think application would do?
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: actual
|
||||
attributes:
|
||||
label: Actual behavior
|
||||
description: What did application do instead? Screenshots might help.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Logs
|
||||
description: |
|
||||
- If application have debug log insert it here.
|
||||
- If application have crash dump please attach it here.
|
||||
|
||||
Tip: You can attach images, log files or crash dumps by clicking this area to highlight it and then dragging files in.
|
||||
@@ -0,0 +1 @@
|
||||
blank_issues_enabled: false
|
||||
@@ -0,0 +1,46 @@
|
||||
name: Feature request
|
||||
title: "[Feature]"
|
||||
description: Suggest an idea for this project.
|
||||
labels: [ "feature" ]
|
||||
body:
|
||||
- type: checkboxes
|
||||
id: checklist
|
||||
attributes:
|
||||
label: Checklist
|
||||
options:
|
||||
- label: I have used the search function to see if someone else has already submitted the same feature request.
|
||||
required: true
|
||||
- label: I will describe the problem with as much detail as possible.
|
||||
required: true
|
||||
- label: This issue only contains a request for one single feature, **not** multiple (related) features.
|
||||
required: true
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: App version
|
||||
description: What the application version do you use.
|
||||
placeholder: x.y.z
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: problem
|
||||
attributes:
|
||||
label: Problem you are trying to solve
|
||||
description: Give a brief explanation of the problem you are trying to solve.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: solution
|
||||
attributes:
|
||||
label: Suggested solution
|
||||
description: Describe how you would like the app to help you solve that problem. Try to be as specific as possible.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: screenshots
|
||||
attributes:
|
||||
label: Screenshots / Drawings / Technical details
|
||||
description: |
|
||||
If your request is about (or includes) changing or extending the user interface (UI), describe what the UI would look like and how the user would interact with it.
|
||||
|
||||
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
name: Question
|
||||
about: Ask a question about application.
|
||||
title: '[Question]'
|
||||
labels: [ "question" ]
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Describe the question with as much detail as possible.
|
||||
|
||||
---
|
||||
|
||||
App version: <enter app version here>
|
||||
Windows version: <enter windows version here>
|
||||
@@ -0,0 +1,78 @@
|
||||
# This workflow uses actions that are not certified by GitHub. They are provided
|
||||
# by a third-party and are governed by separate terms of service, privacy
|
||||
# policy, and support documentation.
|
||||
|
||||
name: Scorecard supply-chain security
|
||||
on:
|
||||
# For Branch-Protection check. Only the default branch is supported. See
|
||||
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
|
||||
branch_protection_rule:
|
||||
# To guarantee Maintained check is occasionally updated. See
|
||||
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
|
||||
schedule:
|
||||
- cron: '32 18 * * 3'
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
|
||||
# Declare default permissions as read only.
|
||||
permissions: read-all
|
||||
|
||||
jobs:
|
||||
analysis:
|
||||
name: Scorecard analysis
|
||||
runs-on: ubuntu-latest
|
||||
# `publish_results: true` only works when run from the default branch. conditional can be removed if disabled.
|
||||
if: github.event.repository.default_branch == github.ref_name || github.event_name == 'pull_request'
|
||||
permissions:
|
||||
# Needed to upload the results to code-scanning dashboard.
|
||||
security-events: write
|
||||
# Needed to publish results and get a badge (see publish_results below).
|
||||
id-token: write
|
||||
# Uncomment the permissions below if installing in a private repository.
|
||||
# contents: read
|
||||
# actions: read
|
||||
|
||||
steps:
|
||||
- name: "Checkout code"
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: "Run analysis"
|
||||
uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186 # v2.4.1
|
||||
with:
|
||||
results_file: results.sarif
|
||||
results_format: sarif
|
||||
# (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
|
||||
# - you want to enable the Branch-Protection check on a *public* repository, or
|
||||
# - you are installing Scorecard on a *private* repository
|
||||
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentication-with-fine-grained-pat-optional.
|
||||
# repo_token: ${{ secrets.SCORECARD_TOKEN }}
|
||||
|
||||
# Public repositories:
|
||||
# - Publish results to OpenSSF REST API for easy access by consumers
|
||||
# - Allows the repository to include the Scorecard badge.
|
||||
# - See https://github.com/ossf/scorecard-action#publishing-results.
|
||||
# For private repositories:
|
||||
# - `publish_results` will always be set to `false`, regardless
|
||||
# of the value entered here.
|
||||
publish_results: true
|
||||
|
||||
# (Optional) Uncomment file_mode if you have a .gitattributes with files marked export-ignore
|
||||
file_mode: git
|
||||
|
||||
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
||||
# format to the repository Actions tab.
|
||||
- name: "Upload artifact"
|
||||
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
|
||||
with:
|
||||
name: SARIF file
|
||||
path: results.sarif
|
||||
retention-days: 5
|
||||
|
||||
# Upload the results to GitHub's code scanning dashboard (optional).
|
||||
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
|
||||
- name: "Upload to code-scanning"
|
||||
uses: github/codeql-action/upload-sarif@v3
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
@@ -1,6 +1,7 @@
|
||||
.vs/
|
||||
.vscode/
|
||||
temp/
|
||||
packages/
|
||||
bin/32/
|
||||
bin/64/
|
||||
bin/arm64/
|
||||
@@ -29,7 +30,6 @@ desktop.ini
|
||||
*.opendb
|
||||
*.suo
|
||||
*.exp
|
||||
*.user
|
||||
*.iobj
|
||||
*.ipch
|
||||
*.ipdb
|
||||
@@ -37,3 +37,5 @@ desktop.ini
|
||||
*.obj
|
||||
*.res
|
||||
*.tlog
|
||||
|
||||
*PVS-Studio*
|
||||
@@ -1,4 +1,264 @@
|
||||
v3.5.2 (18 October 2021)
|
||||
v3.9.1 Beta (22 July 2026)
|
||||
- added network statistics to watch info about speed (issue #2100) [thx @Tarkiin]
|
||||
- added option to exclude inbound blocked packets (#2111)
|
||||
- fixed repeatedly notifications (issue #2107)
|
||||
- updated igmp rule (issue #2111)
|
||||
|
||||
v3.9 Beta (21 July 2026)
|
||||
- changed messages with displays unused apps and timers (it displays full paths)
|
||||
- now creating rules from network/log listviews do not use local IP addressess
|
||||
- mark toolbar log icons as disabled when log subsription failed
|
||||
- changed option resolve network address to enabled by default
|
||||
- now profile saved paths with environment variables
|
||||
- increased rules limit to 1024 symbols (issue #809)
|
||||
- improved loopback filters
|
||||
- improved memory usage
|
||||
- improved dark theme
|
||||
- improved security
|
||||
- fixed saving profile when it have read-only attribute (issue #2048) [thx @jekesx]
|
||||
- fixed log subscription sometimes returns access denied (issue #1710)
|
||||
- fixed crash when loading notification dialog (issue #2070)
|
||||
- fixed searchbox dissapear (issue #1790)
|
||||
- fixed possible memory leaks
|
||||
- updated port services lists
|
||||
|
||||
v3.8.7 (8 August 2025)
|
||||
- fixed not logical crash (issue #2012)
|
||||
- fixed context menu performance
|
||||
- updated locale (issue #1984)
|
||||
- updated project sdk
|
||||
- cosmetic fixes
|
||||
|
||||
v3.8.6.1 (21 May 2025)
|
||||
- fixed "open containing folder" error (issue #1977)
|
||||
- fixed crash at startup (issue #1979)
|
||||
- fixed crash dump (issue #1958)
|
||||
|
||||
v3.8.6 (1 April 2025)
|
||||
- fixed check for update, does not bring up popup (issue #1923)
|
||||
- fixed memory heap error (issue #1945)
|
||||
- fixed possible crash
|
||||
- improved dark theme support
|
||||
|
||||
v3.8.5 (27 November 2024)
|
||||
- fixed adding apps with drive letters instead of specific apps (issue #1887)
|
||||
- fixed creating rules for inaccessible paths (issue #1891)
|
||||
- fixed opening log with spaces path (issue #1912)
|
||||
- fixed windows 7 loopback rules
|
||||
- cosmetic fixes
|
||||
|
||||
v3.8.4 (11 September 2024)
|
||||
- added listview empty markup
|
||||
- fixed tray icon middle click not worked when log ui is disabled
|
||||
- fixed notification displays invalid signature (issue #1871)
|
||||
- fixed does not show up tray icon (issue #1844)
|
||||
- fixed crash when cleanup timers (issue #1860)
|
||||
- fixed possible memory leak
|
||||
- updated project sdk
|
||||
- updated rule hint
|
||||
- cosmetic fixes
|
||||
|
||||
v3.8.3 (8 August 2024)
|
||||
- added remember last position of notification window (issue #1659)
|
||||
- added watch services & uwp apps for install/uninstall
|
||||
- added displays long time for apps
|
||||
- improved windows 7 compatibility
|
||||
- improved arm64 compatibility
|
||||
- improved dark theme support
|
||||
- fixed show log button does not work as expected (issue #1757, again!)
|
||||
- fixed apps sometimes delete themselves (issue #1794, not fixed)
|
||||
- fixed duplicate process at startup (issue #1769)
|
||||
- fixed do not save hash when it is not enabled
|
||||
- fixed row colors for dark mode (issue #1767)
|
||||
- fixed log listview sorting by date
|
||||
- fixed displaying timer tooltip
|
||||
- updated project sdk
|
||||
|
||||
v3.8.2 (9 May 2024)
|
||||
- revert back windows 7 & windows 8 support
|
||||
- improved dark theme support
|
||||
- improved log subscription
|
||||
- fixed show log button does not work as expected (issue #1757)
|
||||
- fixed search visibility
|
||||
|
||||
v3.8.1 (27 April 2024)
|
||||
- fixed lacks search context (issue #1760)
|
||||
- fixed incorrect log ui listview item counting
|
||||
- updated confirm message for timers cleanup
|
||||
- updated confirm message for unused cleanup
|
||||
- updated cppwinrt package
|
||||
- updated project sdk
|
||||
|
||||
v3.8 (1 April 2024)
|
||||
- added mitigations (win10+) (issue #611)
|
||||
- added dark theme support (issue #248)
|
||||
- fixed displaying same context menu on apps and packets log
|
||||
- updated search engine
|
||||
- updated project sdk
|
||||
|
||||
v3.7.8 (28 January 2024)
|
||||
- added saving flag state for install/uninstall filters
|
||||
- fixed crash on tooltip (issue #1686)
|
||||
- fixed apps disabled removal menu
|
||||
- updated dropped packets (ui) listview context menu
|
||||
- updated project sdk
|
||||
|
||||
v3.7.7 (3 January 2024)
|
||||
- added error message when loading library on subscribe
|
||||
- added comment item for apps/rules (issue #1664)
|
||||
- added recheck app hash in properies dialog
|
||||
- added highlighting of undelatable apps
|
||||
- fixed displaying incorrect error messages
|
||||
- fixed high disk usage (issue #1665)
|
||||
- updated ports list
|
||||
|
||||
v3.7.6 (30 November 2023)
|
||||
- fixed configuration of windows update (issue #1648)
|
||||
- fixed auto update fails to install (issue #1565)
|
||||
- updated project sdk
|
||||
|
||||
v3.7.5 (1 November 2023)
|
||||
- fixed saving services and uwp apps (issue #1616)
|
||||
- fixed file locked by simplewall (issue #1621)
|
||||
- fixed removing unused apps
|
||||
- fixed process creation
|
||||
- updated project sdk
|
||||
|
||||
v3.7.4 (27 October 2023)
|
||||
- added set option to disable apps removal from profile (issue #1155)
|
||||
- fixed cannot save itself as unchecked (issue #1609)
|
||||
- fixed could not save profile (issue #1594)
|
||||
- fixed crash (issue #1582)
|
||||
- updated project sdk
|
||||
|
||||
v3.7.3 (11 October 2023)
|
||||
- added error message for saving profile
|
||||
- removed redistributable package requirement (issue #1587)
|
||||
- fixed profile was not found message (issue #1557)
|
||||
- fixed crash on reading version information
|
||||
- revert back certificates checking option
|
||||
- updated project sdk
|
||||
|
||||
v3.7.2 (21 September 2023)
|
||||
- dropped windows 7 and windows 8 support
|
||||
- fixed launch of several copies of the application (issue #1547)
|
||||
- fixed create filters for inaccessible apps (issue #1528)
|
||||
- fixed displaying update dialog at startup (issue #1511)
|
||||
- fixed retrieving version information for some files
|
||||
- fixed slow apps search (issue #1477)
|
||||
- fixed periodicaly crashing (issue #1486)
|
||||
- fixed retrieving some apps icons
|
||||
- fixed saving input on settings
|
||||
- fixed saving unused apps
|
||||
- fixed process creation
|
||||
- improved signature checking
|
||||
- updated project sdk
|
||||
|
||||
v3.7.1 (31 July 2023)
|
||||
- fixed import not correcly worked (issue #1466)
|
||||
- fixed crash when checking files (issue #1455)
|
||||
- updated project sdk
|
||||
|
||||
v3.7 (27 July 2023)
|
||||
- added profile encryption [oldest versions cannot open new profile] (issue #599)
|
||||
- added terminate process into notification window (issue #1398)
|
||||
- added checksum calculation for the apps (issue #394)
|
||||
- added error message for log subscription
|
||||
- improved search performance (issue #1383)
|
||||
- fixed timer and apps timestamp displays incorrect information (32-bit only)
|
||||
- fixed sometimes application displays incrorrect icons
|
||||
- fixed possible crash when clearing log
|
||||
- fixed silent uninstaller do not worked
|
||||
- fixed arm64 build crash (issue #1228)
|
||||
- fixed internal bugs
|
||||
- fixed memory leaks
|
||||
- updated nuget package
|
||||
- updated project sdk
|
||||
- updated locale
|
||||
|
||||
v3.6.7 (21 September 2022)
|
||||
- added windows update service solution (issue #677, thx @taviso) [win10+]
|
||||
- added feature to allow only the requested ip in notification (issue #1265)
|
||||
- added 12 and 24 hour timer values (issue #1298)
|
||||
- fixed opening editor are overlapped by notification window
|
||||
- fixed uwp apps are reset after installing updates (issue #1294)
|
||||
- fixed select all with search filter selects everything (issue #1264)
|
||||
- fixed loading default icons for services and uwp apps
|
||||
- fixed check update option in main menu (issue #1309)
|
||||
- fixed port numbers are now verified (issue #1240)
|
||||
|
||||
v3.6.6 (12 August 2022)
|
||||
- fixed editor does not disable save button when rule name is empty
|
||||
- fixed network monitor duplicate calls
|
||||
- fixed application crash (issue #1272)
|
||||
|
||||
v3.6.5 (11 August 2022)
|
||||
- added group for apps with timers
|
||||
- display long time in packets log date column
|
||||
- fixed uwp packages display name parsing
|
||||
- fixed blank notifications (again!) (issue #1009)
|
||||
|
||||
v3.6.4 (19 Juny 2022)
|
||||
- added focus assistant support (win10rs3+)
|
||||
- fixed notification sometimes can lose focus of fullscreen app
|
||||
- fixed internal profile loading crash (issue #1228)
|
||||
|
||||
v3.6.3 (10 May 2022)
|
||||
- fixed installer launches simplewall without asking user (issue #1119)
|
||||
- fixed saving unused apps in profile (issue #1216)
|
||||
- fixed app crash on create process (issue ##1224)
|
||||
- fixed uninstaller delete not all files
|
||||
- improved workqueue environment
|
||||
- improved threading model
|
||||
- fixed internal bugs
|
||||
|
||||
v3.6.2 (26 April 2022)
|
||||
- added autoinstall non-executable updates feature (issue #1122)
|
||||
- added clear search with escape button for editor
|
||||
- added fallback for font loading when it does not exists
|
||||
- improved uwp packages information loading
|
||||
- fixed restore properties window position
|
||||
- fixed rule tooltip whitespace
|
||||
- fixed internal bugs
|
||||
- updated network monitor
|
||||
- updated locales
|
||||
- cosmetic fixes
|
||||
|
||||
v3.6.1 (11 November 2021)
|
||||
- added clear search with escape button
|
||||
- fixed crash on delete filters (issue #1084)
|
||||
- fixed import profile warning (issue #1086)
|
||||
- fixed crash dumps processing
|
||||
- updated locales
|
||||
- cosmetic fixes
|
||||
|
||||
v3.6 (9 November 2021)
|
||||
- improved multi-threading safety
|
||||
- improved startup time
|
||||
- improved dpi support
|
||||
- added option to confirm allowing applications (issue #1070)
|
||||
- added filtering for the application list (issue #663)
|
||||
- added editor list items count mark for tab title
|
||||
- added wfp initialization failure workaround
|
||||
- added filtering for editor apps and rules
|
||||
- added layer name into log
|
||||
- moved log exclude configuration into another settings page (issue #1064)
|
||||
- revert notification x button (issue #973)
|
||||
- changed create rule toolbar icon (#723)
|
||||
- fixed filters with hard permit can access internet (issue #689)
|
||||
- fixed issue with hotkeys for switch tabs (issue #723)
|
||||
- fixed rebar incrorrect resizing when dpi was changed
|
||||
- fixed update installation issue (issue #1061)
|
||||
- fixed notification multi-monitor support
|
||||
- fixed service missing path (issue #1036)
|
||||
- fixed editor can cause crash (#1071)
|
||||
- fixed big memory leak (issue #1066)
|
||||
- fixed net events unsubscription
|
||||
- optimized listview sorting
|
||||
- fixed internal bugs
|
||||
- cosmetic fixes
|
||||
|
||||
v3.5.3 (18 October 2021)
|
||||
- fixed using uninitialzed port variable in ip ranges [regression] (issue #1055)
|
||||
|
||||
v3.5.2 (17 October 2021)
|
||||
@@ -25,7 +285,6 @@ v3.5 (4 October 2021)
|
||||
- fixed resolve network addresses can cause crash (issue #1015)
|
||||
- fixed notification color issues (issue #1007)
|
||||
- fixed update installation (issue #1016)
|
||||
- fixed blank notification (issue #1009)
|
||||
- fixed version information retrieval
|
||||
- fixed workqueue environment
|
||||
- fixed internal bugs
|
||||
@@ -53,7 +312,7 @@ v3.4.1 (15 August 2021)
|
||||
|
||||
v3.4 (11 August 2021)
|
||||
- added arm64 binaries (portable only)
|
||||
- added protocol and host name information into network alert window (issue #843)
|
||||
- added protocol and host name information into network alert window (issue #843)
|
||||
- added limit number of packets log entries (issue #941)
|
||||
- added host resolving for packet logger listview
|
||||
- added listview group for forever blocked apps
|
||||
|
||||
@@ -1,135 +1,331 @@
|
||||
<h1 align="center">simplewall</h1>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/henrypp/simplewall/releases"><img src="https://img.shields.io/github/v/release/henrypp/simplewall?style=flat-square&include_prereleases&label=version" /></a>
|
||||
<a href="https://github.com/henrypp/simplewall/releases"><img src="https://img.shields.io/github/downloads/henrypp/simplewall/total.svg?style=flat-square" /></a>
|
||||
<a href="https://github.com/henrypp/simplewall/issues"><img src="https://img.shields.io/github/issues-raw/henrypp/simplewall.svg?style=flat-square&label=issues" /></a>
|
||||
<a href="https://github.com/henrypp/simplewall/graphs/contributors"><img src="https://img.shields.io/github/contributors/henrypp/simplewall?style=flat-square" /></a>
|
||||
<a href="https://github.com/henrypp/simplewall/blob/master/LICENSE"><img src="https://img.shields.io/github/license/henrypp/simplewall?style=flat-square" /></a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<i>Definitely for advanced users.</i>
|
||||
</p>
|
||||
|
||||
-------
|
||||
|
||||
<p align="center">
|
||||
<img src="https://www.henrypp.org/images/simplewall.png" />
|
||||
</p>
|
||||
|
||||
### Description:
|
||||
Simple tool to configure [Windows Filtering Platform (WFP)](https://docs.microsoft.com/en-us/windows/win32/fwp/windows-filtering-platform-start-page) which can configure network activity on your computer.
|
||||
|
||||
The lightweight application is less than a megabyte, and it is compatible with Windows 7 SP1 and higher operating systems.
|
||||
You can download either the installer or portable version. For correct working you are require administrator rights.
|
||||
|
||||
### Nota bene:
|
||||
Keep in mind, simplewall is not a control UI over Windows Firewall, and does not interact in any level with Windows Firewall. It works over Windows Filtering Platform (WFP) which is a set of API and system services that provide a platform for creating network filtering applications. Windows Filtering Platform is a development technology and not a firewall itself, but simplewall is the tool that uses this technology.
|
||||
|
||||
### Features:
|
||||
- Simple interface without annoying pop ups
|
||||
- [Rules editor](https://github.com/henrypp/simplewall/wiki/Rules-editor) (create your own rules)
|
||||
- [Internal blocklist](https://github.com/crazy-max/WindowsSpyBlocker/wiki/dataSimplewall) (block Windows spy / telemetry)
|
||||
- Dropped packets information with notification and logging to a file feature (win7+)
|
||||
- Allowed packets information with logging to a file feature (win8+)
|
||||
- Windows Subsystem for Linux (WSL) support
|
||||
- Windows Store support
|
||||
- Windows services support
|
||||
- Free and open source
|
||||
- Localization support
|
||||
- IPv6 support
|
||||
|
||||
```
|
||||
To activate portable mode, create "simplewall.ini" in application folder, or move it from "%APPDATA%\Henry++\simplewall".
|
||||
```
|
||||
|
||||
### Installation:
|
||||
When install rules, you can choose two modes:
|
||||
- Permanent rules. Rules are working until you <a href="#uninstall">disable it manually</a>.
|
||||
- Temporary rules. Rules are reset after the next reboot.
|
||||
|
||||
### Uninstall:
|
||||
When you uninstall simplewall, all previously configured filters stay alive in system.
|
||||
To remove all filters created by simplewall, start simplewall and press "Disable filters" button.
|
||||
|
||||
### Command line:
|
||||
List of arguments for `simplewall.exe`:
|
||||
|
||||
~~~
|
||||
-install - enable filtering.
|
||||
-install -temp - enable filtering until reboot.
|
||||
-install -silent - enable filtering without prompt.
|
||||
-uninstall - remove all installed filters.
|
||||
~~~
|
||||
|
||||
### FAQ:
|
||||
#### Q: Are internet connections blocked when simplewall is not running?
|
||||
A: Yes. Installed filters are working even if simplewall is terminated.
|
||||
|
||||
#### Q: What apps are blocked in default configuration?
|
||||
A: By default, simplewall blocks **all** applications, you do not need to create custom rules to block specific application.
|
||||
|
||||
#### Q: Is it safe to use simplewall with Windows Firewall?
|
||||
A: Yes. You do not need to disable Windows Firewall. This two firewall works independently.
|
||||
|
||||
#### Q: How can i disable blocklist entirely?
|
||||
A: Open `Settings` -> `Blocklist` and then click radio buttons labeled `Disable`.
|
||||
|
||||
#### Q: Where is blacklist mode?
|
||||
A: Blacklist was removed many days ago for uselessness. But if you need it, you can still configure it.
|
||||
|
||||
<details>
|
||||
<summary>Solution: Configure blacklist mode in simplewall:</summary>
|
||||
|
||||
---
|
||||
1) Open `Settings` -> `Rules`
|
||||
2) Uncheck `Block outbound for all` and `Block inbound for all` options.
|
||||
3) Create user rule (green cross on toolbar) with block action, any direction, `Block connection` name and empty remote and local rule.
|
||||
4) You can assign this rule for apps whatever you want to block network access.
|
||||
</details>
|
||||
|
||||
#### Q: Why does my network icon have an exclamation mark?
|
||||
A: When you are connected to a network, Windows checks for internet connectivity using Active Probing. This feature is named as NCSI (Network Connectivity Status Indicator). You can resolve this by one of this ways:
|
||||
|
||||
<details>
|
||||
<summary>Solution 1: Enable NCSI through internal system rule:</summary>
|
||||
|
||||
---
|
||||
1) Open `System rules` tab.
|
||||
2) Allow `NCSI` rule (enabled by default).
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Solution 2: Disable NCSI through system registry:</summary>
|
||||
|
||||
---
|
||||
Create `Disable NCSI.reg` and import it into registry.
|
||||
|
||||
```reg
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator]
|
||||
"NoActiveProbe"=dword:00000001
|
||||
"DisablePassivePolling"=dword:00000001
|
||||
```
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Solution 3: Disable NCSI through group policy:</summary>
|
||||
|
||||
---
|
||||
1) Launch the group policy editor (`gpedit.msc` ).
|
||||
2) Go to `Computer Configuration -> Administrative Templates -> System -> Internet Communication Management -> Internet Communication Settings`.
|
||||
3) Double-click `Turn off Windows Network Connectivity Status Indicator active tests` and then select Enabled. Click Ok.
|
||||
4) Open the Command Prompt (Admin) and enter `gpupdate /force` to enforce the changes made to the Group Policies.
|
||||
</details>
|
||||
|
||||
#### Q: Other questions:
|
||||
- [How to fix Windows Update and Windows Store internet access (temporary solution)](https://github.com/henrypp/simplewall/issues/206#issuecomment-439830634)
|
||||
- [Windows Security center integration (impossible)](https://stackoverflow.com/questions/3698285/how-can-i-tell-the-windows-security-center-that-im-an-antivirus/3698375#3698375)
|
||||
|
||||
Website: [www.henrypp.org](https://www.henrypp.org)<br />
|
||||
Support: support@henrypp.org<br />
|
||||
<br />
|
||||
(c) 2016-2021 Henry++
|
||||
<h1 align="center">simplewall</h1>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/henrypp/simplewall/releases"><img src="https://img.shields.io/github/v/release/henrypp/simplewall?style=flat-square&include_prereleases&label=version" /></a>
|
||||
<a href="https://github.com/henrypp/simplewall/releases"><img src="https://img.shields.io/github/downloads/henrypp/simplewall/total.svg?style=flat-square" /></a>
|
||||
<a href="https://github.com/henrypp/simplewall/issues"><img src="https://img.shields.io/github/issues-raw/henrypp/simplewall.svg?style=flat-square&label=issues" /></a>
|
||||
<a href="https://github.com/henrypp/simplewall/graphs/contributors"><img src="https://img.shields.io/github/contributors/henrypp/simplewall?style=flat-square" /></a>
|
||||
<a href="https://github.com/henrypp/simplewall/blob/master/LICENSE"><img src="https://img.shields.io/github/license/henrypp/simplewall?style=flat-square" /></a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<i>Definitely for advanced users.</i>
|
||||
</p>
|
||||
|
||||
-------
|
||||
|
||||
<p align="center">
|
||||
<img src="/images/simplewall.png?cache" />
|
||||
</p>
|
||||
|
||||
### Description:
|
||||
Simple tool to configure [Windows Filtering Platform (WFP)](https://docs.microsoft.com/en-us/windows/win32/fwp/windows-filtering-platform-start-page) which can configure network activity on your computer.
|
||||
|
||||
The lightweight application is less than a megabyte, and it is compatible with Windows 7 SP1 and higher operating systems.
|
||||
You can download either the installer or portable version. For correct working you are require administrator rights.
|
||||
|
||||
### Nota bene:
|
||||
Keep in mind, simplewall is not a control UI over Windows Firewall, and does not interact in any level with Windows Firewall. It works
|
||||
over Windows Filtering Platform (WFP) which is a set of internal API and system services that provide a platform for creating network filtering
|
||||
applications. Windows Filtering Platform is a development technology and not a firewall itself, but simplewall is the tool that uses this technology.
|
||||
|
||||
### Features:
|
||||
- Simple interface without annoying pop ups
|
||||
- [Rules editor](https://github.com/henrypp/simplewall#rules-editor) (create your own rules)
|
||||
- [Internal blocklist](https://crazymax.dev/WindowsSpyBlocker/blocking-rules/simplewall/) (block Windows spy / telemetry)
|
||||
- Dropped packets information with notification and logging to a file feature (win7+)
|
||||
- Allowed packets information with logging to a file feature (win8+)
|
||||
- Windows Subsystem for Linux (WSL) support
|
||||
- Windows Store support (win8+)
|
||||
- Windows services support
|
||||
- Free and open source
|
||||
- Localization support
|
||||
- IPv6 support
|
||||
|
||||
```
|
||||
To activate portable mode, create "simplewall.ini" in application folder, or move it from "%APPDATA%\Henry++\simplewall".
|
||||
```
|
||||
|
||||
### System requirements:
|
||||
- Windows 7, 8, 8.1, 10, 11 64-bit/ARM64
|
||||
- An SSE2-capable CPU
|
||||
- <s>KB2533623</s> [KB3063858](https://www.microsoft.com/en-us/download/details.aspx?id=47442) update for Windows 7 was required
|
||||
|
||||
### Donate:
|
||||
- [Bitcoin](https://www.blockchain.com/btc/address/1LrRTXPsvHcQWCNZotA9RcwjsGcRghG96c) (BTC)
|
||||
- [Ethereum](https://www.blockchain.com/explorer/addresses/eth/0xe2C84A62eb2a4EF154b19bec0c1c106734B95960) (ETH)
|
||||
- [Yandex Money](https://yoomoney.ru/to/4100115776040583) (RUB)
|
||||
- [Paypal](https://paypal.me/henrypp) (USD)
|
||||
|
||||
### GPG Signature:
|
||||
Binaries have GPG signature `simplewall.exe.sig` in application folder.
|
||||
|
||||
- Public key: [pubkey.asc](https://raw.githubusercontent.com/henrypp/builder/master/pubkey.asc) ([pgpkeys.eu](https://pgpkeys.eu/pks/lookup?op=index&fingerprint=on&search=0x5635B5FD))
|
||||
- Key ID: 0x5635B5FD
|
||||
- Fingerprint: D985 2361 1524 AB29 BE73 30AC 2881 20A7 5635 B5FD
|
||||
|
||||
### Reviews of idiots:
|
||||
[<img src="/images/idiot_n1.png" />](https://alternativeto.net/software/simplewall-firewall/about/)
|
||||
|
||||
Look at them, he does not know about [.gitmodules](https://github.com/henrypp/simplewall/blob/master/.gitmodules) and how to use, lol.
|
||||
|
||||
PS: Without idiots we are not to be fun, yeah!
|
||||
|
||||
### Installation:
|
||||
When install rules, you can choose two modes:
|
||||
- Permanent rules - rules are working until you <a href="#uninstall">disable it manually</a>.
|
||||
- Temporary rules - rules are reset after the next reboot.
|
||||
|
||||
### Uninstall:
|
||||
When you uninstall simplewall, all previously configured filters stay alive in system.
|
||||
To remove all filters created by simplewall, start simplewall and press "Disable filters" button.
|
||||
|
||||
### Command line:
|
||||
|
||||
~~~
|
||||
-install - enable filtering.
|
||||
-install -temp - enable filtering until next reboot.
|
||||
-install -silent - enable filtering without prompt.
|
||||
-uninstall - remove all installed filters.
|
||||
~~~
|
||||
|
||||
### Rules editor:
|
||||
simplewall have two types of custom user rules rules:
|
||||
- **Global rules:** rule applied for all applications.
|
||||
- **Special rules:** rule applied only for specified applications.
|
||||
|
||||
<img src="/images/simplewall_rules.png?cache2" />
|
||||
|
||||
### Rule syntax format:
|
||||
|
||||
To set rule applications, open rule and then navigate to "Apps" tab.
|
||||
|
||||
<details>
|
||||
<summary>Rule syntax format:</summary>
|
||||
|
||||
---
|
||||
- IP addresses `192.168.0.1; 192.168.0.1; [fc00::]`
|
||||
- IP addresses with port `192.168.0.1:80; 192.168.0.1:443; [fc00::]:443;`
|
||||
- IP ranges `192.168.0.1-192.168.0.255; 192.168.0.1-192.168.0.255;`
|
||||
- IP ranges (with port) `192.168.0.1-192.168.0.255:80; 192.168.0.1-192.168.0.255:443;` (v2.0.20+)
|
||||
- IP with prefix lengths (CIDR) `192.168.0.0/16; 192.168.0.0/24; fe80::/10`
|
||||
- Ports `21; 80; 443;`
|
||||
- Ports ranges `20-21; 49152-65534;`
|
||||
|
||||
_To specify more than one ip, port and/or host, use semicolon._
|
||||
---
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>IPv4 CIDR blocks:</summary>
|
||||
|
||||
---
|
||||
| Address format | Mask |
|
||||
| -------- | ------- |
|
||||
| a.b.c.d/32 | 255.255.255.255 |
|
||||
| a.b.c.d/31 | 255.255.255.254 |
|
||||
| a.b.c.d/30 | 255.255.255.252 |
|
||||
| a.b.c.d/29 | 255.255.255.248 |
|
||||
| a.b.c.d/28 | 255.255.255.240 |
|
||||
| a.b.c.d/27 | 255.255.255.224 |
|
||||
| a.b.c.d/26 | 255.255.255.192 |
|
||||
| a.b.c.d/25 | 255.255.255.128 |
|
||||
| a.b.c.0/24 | 255.255.255.0|
|
||||
| a.b.c.0/23 | 255.255.254.0|
|
||||
| a.b.c.0/22 | 255.255.252.0|
|
||||
| a.b.c.0/21 | 255.255.248.0|
|
||||
| a.b.c.0/20 | 255.255.240.0|
|
||||
| a.b.c.0/19 | 255.255.224.0|
|
||||
| a.b.c.0/18 | 255.255.192.0|
|
||||
| a.b.c.0/17 | 255.255.128.0|
|
||||
| a.b.0.0/16 | 255.255.0.0|
|
||||
| a.b.0.0/15 | 255.254.0.0|
|
||||
| a.b.0.0/14 | 255.252.0.0|
|
||||
| a.b.0.0/13 | 255.248.0.0|
|
||||
| a.b.0.0/12 | 255.240.0.0|
|
||||
| a.b.0.0/11 | 255.224.0.0|
|
||||
| a.b.0.0/10 | 255.192.0.0|
|
||||
| a.b.0.0/9 | 255.128.0.0|
|
||||
| a.0.0.0/8 | 255.0.0.0|
|
||||
| a.0.0.0/7 | 254.0.0.0|
|
||||
| a.0.0.0/6 | 252.0.0.0|
|
||||
| a.0.0.0/5 | 248.0.0.0|
|
||||
| a.0.0.0/4 | 240.0.0.0|
|
||||
| a.0.0.0/3 | 224.0.0.0|
|
||||
| a.0.0.0/2 | 192.0.0.0|
|
||||
| a.0.0.0/1 | 128.0.0.0|
|
||||
| 0.0.0.0/0 | 0.0.0.0|
|
||||
---
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>IPv6 CIDR blocks:</summary>
|
||||
|
||||
---
|
||||
[IPv6 CIDR blocks](https://www.mediawiki.org/wiki/Help:Range_blocks/IPv6)
|
||||
---
|
||||
</details>
|
||||
|
||||
### FAQ:
|
||||
#### Q: Are internet connections blocked when simplewall is not running?
|
||||
A: Yes. Installed filters are working even if simplewall is terminated.
|
||||
|
||||
#### Q: What apps are blocked in default configuration?
|
||||
A: By default, simplewall blocks **all** applications. You do not need to create custom rules to block specific applications.
|
||||
|
||||
#### Q: Is it safe to use simplewall with Windows Firewall?
|
||||
A: Yes. You do not need to disable Windows Firewall. These two firewalls work independently.
|
||||
|
||||
#### Q: How can i disable blocklist entirely?
|
||||
A: Open `Settings` -> `Blocklist` and then click the radio buttons labeled `Disable`.
|
||||
|
||||
#### Q: Where is blacklist mode?
|
||||
A: Blacklist was removed many days ago for uselessness. But if you need it, you can still configure it.
|
||||
|
||||
<details>
|
||||
<summary>Solution: Configure blacklist mode in simplewall:</summary>
|
||||
|
||||
---
|
||||
1) Open `Settings` -> `Rules`
|
||||
2) Uncheck `Block outbound for all` and `Block inbound for all` options.
|
||||
3) Create user rule (green cross on toolbar) with block action, any direction, `Block connection` name and empty remote and local rule.
|
||||
4) You can assign this rule for apps whatever you want to block network access.
|
||||
---
|
||||
</details>
|
||||
|
||||
#### Q: Why does my network icon have an exclamation mark?
|
||||
A: When you are connected to a network, Windows checks for internet connectivity using Active Probing. This feature is named as NCSI (Network Connectivity Status Indicator). You can resolve this problem in one of the following ways:
|
||||
|
||||
<details>
|
||||
<summary>Solution 1: Enable NCSI through internal system rule:</summary>
|
||||
|
||||
---
|
||||
1) Open `System rules` tab.
|
||||
2) Allow `NCSI` rule (enabled by default).
|
||||
---
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Solution 2: Disable NCSI through system registry:</summary>
|
||||
|
||||
---
|
||||
Create `Disable NCSI.reg` and import it into registry.
|
||||
|
||||
```reg
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator]
|
||||
"NoActiveProbe"=dword:00000001
|
||||
"DisablePassivePolling"=dword:00000001
|
||||
```
|
||||
---
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Solution 3: Disable NCSI through group policy:</summary>
|
||||
|
||||
---
|
||||
1) Launch the group policy editor (`gpedit.msc` ).
|
||||
2) Go to `Computer Configuration -> Administrative Templates -> System -> Internet Communication Management -> Internet Communication Settings`.
|
||||
3) Double-click `Turn off Windows Network Connectivity Status Indicator active tests` and then select Enabled. Click Ok.
|
||||
4) Open the Command Prompt (Admin) and enter `gpupdate /force` to enforce the changes made to the Group Policies.
|
||||
---
|
||||
</details>
|
||||
|
||||
#### Q: How can I disable Windows Firewall?
|
||||
Start the command line _as an administrator_, and enter the commands below.
|
||||
|
||||
<details>
|
||||
<summary>Disable Windows Firewall profiles:</summary>
|
||||
|
||||
---
|
||||
~~~bat
|
||||
netsh advfirewall set allprofiles state off
|
||||
~~~
|
||||
---
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Enable Windows Firewall profiles:</summary>
|
||||
|
||||
---
|
||||
~~~bat
|
||||
netsh advfirewall set allprofiles state on
|
||||
~~~
|
||||
---
|
||||
</details>
|
||||
|
||||
#### Q: How can I view all filters information?
|
||||
Start the command line _as an administrator_, and enter the commands below.
|
||||
|
||||
<details>
|
||||
<summary>Dump filters information saved into a `filters.xml` file:</summary>
|
||||
|
||||
---
|
||||
~~~bat
|
||||
cd /d %USERPROFILE%\Desktop
|
||||
|
||||
netsh wfp show filters
|
||||
~~~
|
||||
---
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Dump providers, callouts and layers information into a `wfpstate.xml` file:</summary>
|
||||
|
||||
---
|
||||
~~~bat
|
||||
cd /d %USERPROFILE%\Desktop
|
||||
|
||||
netsh wfp show state
|
||||
~~~
|
||||
---
|
||||
</details>
|
||||
|
||||
Open it in any text editor and study.
|
||||
|
||||
#### Q: How to fix Windows Update internet access?
|
||||
<details>
|
||||
<summary>Windows 10 and above:</summary>
|
||||
|
||||
---
|
||||
Open main window menu `Settings` -> `Rules` -> `Allow Windows Update`.
|
||||
<br />
|
||||
This is working by method described [here](https://github.com/henrypp/simplewall/issues/677).
|
||||
|
||||
---
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Windows 8.1:</summary>
|
||||
|
||||
---
|
||||
Open main window, Navigate into `System rules` tab and then enable `Windows Update service` rule.
|
||||
|
||||
---
|
||||
</details>
|
||||
|
||||
#### Q: Other questions:
|
||||
- [Windows Security center integration (impossible)](https://stackoverflow.com/questions/3698285/how-can-i-tell-the-windows-security-center-that-im-an-antivirus/3698375#3698375)
|
||||
|
||||
<details>
|
||||
<summary>Undocumented options:</summary>
|
||||
|
||||
---
|
||||
~~~ini
|
||||
IsSaveAppsWithEnvironment=TRUE # 4.0+
|
||||
IsNetworkMonitorEnabled=TRUE
|
||||
IsInternalRulesDisabled=FALSE
|
||||
IsBackupProfile=TRUE
|
||||
BackupPeriod=BACKUP_HOURS_PERIOD
|
||||
BackupTimestamp=0
|
||||
IsOCSPEnabled=FALSE
|
||||
UseStealthMode=TRUE
|
||||
~~~
|
||||
</details>
|
||||
|
||||
---
|
||||
- Website: [github.com/henrypp](https://github.com/henrypp)
|
||||
- Support: sforce5@mail.ru
|
||||
---
|
||||
(c) 2016-2026 Henry++
|
||||
@@ -0,0 +1,3 @@
|
||||
simplewall=3.9.1|https://github.com/henrypp/simplewall/releases/download/v.3.9.1/simplewall-3.9.1-setup.exe;
|
||||
language=1792312253|https://raw.githubusercontent.com/henrypp/simplewall/master/bin/simplewall.lng;
|
||||
rules_internal=1784741706|https://raw.githubusercontent.com/henrypp/simplewall/master/bin/profile_internal.sp;
|
||||
@@ -1,4 +1,264 @@
|
||||
v3.5.2 (18 October 2021)
|
||||
v3.9.1 Beta (22 July 2026)
|
||||
- added network statistics to watch info about speed (issue #2100) [thx @Tarkiin]
|
||||
- added option to exclude inbound blocked packets (#2111)
|
||||
- fixed repeatedly notifications (issue #2107)
|
||||
- updated igmp rule (issue #2111)
|
||||
|
||||
v3.9 Beta (21 July 2026)
|
||||
- changed messages with displays unused apps and timers (it displays full paths)
|
||||
- now creating rules from network/log listviews do not use local IP addressess
|
||||
- mark toolbar log icons as disabled when log subsription failed
|
||||
- changed option resolve network address to enabled by default
|
||||
- now profile saved paths with environment variables
|
||||
- increased rules limit to 1024 symbols (issue #809)
|
||||
- improved loopback filters
|
||||
- improved memory usage
|
||||
- improved dark theme
|
||||
- improved security
|
||||
- fixed saving profile when it have read-only attribute (issue #2048) [thx @jekesx]
|
||||
- fixed log subscription sometimes returns access denied (issue #1710)
|
||||
- fixed crash when loading notification dialog (issue #2070)
|
||||
- fixed searchbox dissapear (issue #1790)
|
||||
- fixed possible memory leaks
|
||||
- updated port services lists
|
||||
|
||||
v3.8.7 (8 August 2025)
|
||||
- fixed not logical crash (issue #2012)
|
||||
- fixed context menu performance
|
||||
- updated locale (issue #1984)
|
||||
- updated project sdk
|
||||
- cosmetic fixes
|
||||
|
||||
v3.8.6.1 (21 May 2025)
|
||||
- fixed "open containing folder" error (issue #1977)
|
||||
- fixed crash at startup (issue #1979)
|
||||
- fixed crash dump (issue #1958)
|
||||
|
||||
v3.8.6 (1 April 2025)
|
||||
- fixed check for update, does not bring up popup (issue #1923)
|
||||
- fixed memory heap error (issue #1945)
|
||||
- fixed possible crash
|
||||
- improved dark theme support
|
||||
|
||||
v3.8.5 (27 November 2024)
|
||||
- fixed adding apps with drive letters instead of specific apps (issue #1887)
|
||||
- fixed creating rules for inaccessible paths (issue #1891)
|
||||
- fixed opening log with spaces path (issue #1912)
|
||||
- fixed windows 7 loopback rules
|
||||
- cosmetic fixes
|
||||
|
||||
v3.8.4 (11 September 2024)
|
||||
- added listview empty markup
|
||||
- fixed tray icon middle click not worked when log ui is disabled
|
||||
- fixed notification displays invalid signature (issue #1871)
|
||||
- fixed does not show up tray icon (issue #1844)
|
||||
- fixed crash when cleanup timers (issue #1860)
|
||||
- fixed possible memory leak
|
||||
- updated project sdk
|
||||
- updated rule hint
|
||||
- cosmetic fixes
|
||||
|
||||
v3.8.3 (8 August 2024)
|
||||
- added remember last position of notification window (issue #1659)
|
||||
- added watch services & uwp apps for install/uninstall
|
||||
- added displays long time for apps
|
||||
- improved windows 7 compatibility
|
||||
- improved arm64 compatibility
|
||||
- improved dark theme support
|
||||
- fixed show log button does not work as expected (issue #1757, again!)
|
||||
- fixed apps sometimes delete themselves (issue #1794, not fixed)
|
||||
- fixed duplicate process at startup (issue #1769)
|
||||
- fixed do not save hash when it is not enabled
|
||||
- fixed row colors for dark mode (issue #1767)
|
||||
- fixed log listview sorting by date
|
||||
- fixed displaying timer tooltip
|
||||
- updated project sdk
|
||||
|
||||
v3.8.2 (9 May 2024)
|
||||
- revert back windows 7 & windows 8 support
|
||||
- improved dark theme support
|
||||
- improved log subscription
|
||||
- fixed show log button does not work as expected (issue #1757)
|
||||
- fixed search visibility
|
||||
|
||||
v3.8.1 (27 April 2024)
|
||||
- fixed lacks search context (issue #1760)
|
||||
- fixed incorrect log ui listview item counting
|
||||
- updated confirm message for timers cleanup
|
||||
- updated confirm message for unused cleanup
|
||||
- updated cppwinrt package
|
||||
- updated project sdk
|
||||
|
||||
v3.8 (1 April 2024)
|
||||
- added mitigations (win10+) (issue #611)
|
||||
- added dark theme support (issue #248)
|
||||
- fixed displaying same context menu on apps and packets log
|
||||
- updated search engine
|
||||
- updated project sdk
|
||||
|
||||
v3.7.8 (28 January 2024)
|
||||
- added saving flag state for install/uninstall filters
|
||||
- fixed crash on tooltip (issue #1686)
|
||||
- fixed apps disabled removal menu
|
||||
- updated dropped packets (ui) listview context menu
|
||||
- updated project sdk
|
||||
|
||||
v3.7.7 (3 January 2024)
|
||||
- added error message when loading library on subscribe
|
||||
- added comment item for apps/rules (issue #1664)
|
||||
- added recheck app hash in properies dialog
|
||||
- added highlighting of undelatable apps
|
||||
- fixed displaying incorrect error messages
|
||||
- fixed high disk usage (issue #1665)
|
||||
- updated ports list
|
||||
|
||||
v3.7.6 (30 November 2023)
|
||||
- fixed configuration of windows update (issue #1648)
|
||||
- fixed auto update fails to install (issue #1565)
|
||||
- updated project sdk
|
||||
|
||||
v3.7.5 (1 November 2023)
|
||||
- fixed saving services and uwp apps (issue #1616)
|
||||
- fixed file locked by simplewall (issue #1621)
|
||||
- fixed removing unused apps
|
||||
- fixed process creation
|
||||
- updated project sdk
|
||||
|
||||
v3.7.4 (27 October 2023)
|
||||
- added set option to disable apps removal from profile (issue #1155)
|
||||
- fixed cannot save itself as unchecked (issue #1609)
|
||||
- fixed could not save profile (issue #1594)
|
||||
- fixed crash (issue #1582)
|
||||
- updated project sdk
|
||||
|
||||
v3.7.3 (11 October 2023)
|
||||
- added error message for saving profile
|
||||
- removed redistributable package requirement (issue #1587)
|
||||
- fixed profile was not found message (issue #1557)
|
||||
- fixed crash on reading version information
|
||||
- revert back certificates checking option
|
||||
- updated project sdk
|
||||
|
||||
v3.7.2 (21 September 2023)
|
||||
- dropped windows 7 and windows 8 support
|
||||
- fixed launch of several copies of the application (issue #1547)
|
||||
- fixed create filters for inaccessible apps (issue #1528)
|
||||
- fixed displaying update dialog at startup (issue #1511)
|
||||
- fixed retrieving version information for some files
|
||||
- fixed slow apps search (issue #1477)
|
||||
- fixed periodicaly crashing (issue #1486)
|
||||
- fixed retrieving some apps icons
|
||||
- fixed saving input on settings
|
||||
- fixed saving unused apps
|
||||
- fixed process creation
|
||||
- improved signature checking
|
||||
- updated project sdk
|
||||
|
||||
v3.7.1 (31 July 2023)
|
||||
- fixed import not correcly worked (issue #1466)
|
||||
- fixed crash when checking files (issue #1455)
|
||||
- updated project sdk
|
||||
|
||||
v3.7 (27 July 2023)
|
||||
- added profile encryption [oldest versions cannot open new profile] (issue #599)
|
||||
- added terminate process into notification window (issue #1398)
|
||||
- added checksum calculation for the apps (issue #394)
|
||||
- added error message for log subscription
|
||||
- improved search performance (issue #1383)
|
||||
- fixed timer and apps timestamp displays incorrect information (32-bit only)
|
||||
- fixed sometimes application displays incrorrect icons
|
||||
- fixed possible crash when clearing log
|
||||
- fixed silent uninstaller do not worked
|
||||
- fixed arm64 build crash (issue #1228)
|
||||
- fixed internal bugs
|
||||
- fixed memory leaks
|
||||
- updated nuget package
|
||||
- updated project sdk
|
||||
- updated locale
|
||||
|
||||
v3.6.7 (21 September 2022)
|
||||
- added windows update service solution (issue #677, thx @taviso) [win10+]
|
||||
- added feature to allow only the requested ip in notification (issue #1265)
|
||||
- added 12 and 24 hour timer values (issue #1298)
|
||||
- fixed opening editor are overlapped by notification window
|
||||
- fixed uwp apps are reset after installing updates (issue #1294)
|
||||
- fixed select all with search filter selects everything (issue #1264)
|
||||
- fixed loading default icons for services and uwp apps
|
||||
- fixed check update option in main menu (issue #1309)
|
||||
- fixed port numbers are now verified (issue #1240)
|
||||
|
||||
v3.6.6 (12 August 2022)
|
||||
- fixed editor does not disable save button when rule name is empty
|
||||
- fixed network monitor duplicate calls
|
||||
- fixed application crash (issue #1272)
|
||||
|
||||
v3.6.5 (11 August 2022)
|
||||
- added group for apps with timers
|
||||
- display long time in packets log date column
|
||||
- fixed uwp packages display name parsing
|
||||
- fixed blank notifications (again!) (issue #1009)
|
||||
|
||||
v3.6.4 (19 Juny 2022)
|
||||
- added focus assistant support (win10rs3+)
|
||||
- fixed notification sometimes can lose focus of fullscreen app
|
||||
- fixed internal profile loading crash (issue #1228)
|
||||
|
||||
v3.6.3 (10 May 2022)
|
||||
- fixed installer launches simplewall without asking user (issue #1119)
|
||||
- fixed saving unused apps in profile (issue #1216)
|
||||
- fixed app crash on create process (issue ##1224)
|
||||
- fixed uninstaller delete not all files
|
||||
- improved workqueue environment
|
||||
- improved threading model
|
||||
- fixed internal bugs
|
||||
|
||||
v3.6.2 (26 April 2022)
|
||||
- added autoinstall non-executable updates feature (issue #1122)
|
||||
- added clear search with escape button for editor
|
||||
- added fallback for font loading when it does not exists
|
||||
- improved uwp packages information loading
|
||||
- fixed restore properties window position
|
||||
- fixed rule tooltip whitespace
|
||||
- fixed internal bugs
|
||||
- updated network monitor
|
||||
- updated locales
|
||||
- cosmetic fixes
|
||||
|
||||
v3.6.1 (11 November 2021)
|
||||
- added clear search with escape button
|
||||
- fixed crash on delete filters (issue #1084)
|
||||
- fixed import profile warning (issue #1086)
|
||||
- fixed crash dumps processing
|
||||
- updated locales
|
||||
- cosmetic fixes
|
||||
|
||||
v3.6 (9 November 2021)
|
||||
- improved multi-threading safety
|
||||
- improved startup time
|
||||
- improved dpi support
|
||||
- added option to confirm allowing applications (issue #1070)
|
||||
- added filtering for the application list (issue #663)
|
||||
- added editor list items count mark for tab title
|
||||
- added wfp initialization failure workaround
|
||||
- added filtering for editor apps and rules
|
||||
- added layer name into log
|
||||
- moved log exclude configuration into another settings page (issue #1064)
|
||||
- revert notification x button (issue #973)
|
||||
- changed create rule toolbar icon (#723)
|
||||
- fixed filters with hard permit can access internet (issue #689)
|
||||
- fixed issue with hotkeys for switch tabs (issue #723)
|
||||
- fixed rebar incrorrect resizing when dpi was changed
|
||||
- fixed update installation issue (issue #1061)
|
||||
- fixed notification multi-monitor support
|
||||
- fixed service missing path (issue #1036)
|
||||
- fixed editor can cause crash (#1071)
|
||||
- fixed big memory leak (issue #1066)
|
||||
- fixed net events unsubscription
|
||||
- optimized listview sorting
|
||||
- fixed internal bugs
|
||||
- cosmetic fixes
|
||||
|
||||
v3.5.3 (18 October 2021)
|
||||
- fixed using uninitialzed port variable in ip ranges [regression] (issue #1055)
|
||||
|
||||
v3.5.2 (17 October 2021)
|
||||
@@ -25,7 +285,6 @@ v3.5 (4 October 2021)
|
||||
- fixed resolve network addresses can cause crash (issue #1015)
|
||||
- fixed notification color issues (issue #1007)
|
||||
- fixed update installation (issue #1016)
|
||||
- fixed blank notification (issue #1009)
|
||||
- fixed version information retrieval
|
||||
- fixed workqueue environment
|
||||
- fixed internal bugs
|
||||
@@ -53,7 +312,7 @@ v3.4.1 (15 August 2021)
|
||||
|
||||
v3.4 (11 August 2021)
|
||||
- added arm64 binaries (portable only)
|
||||
- added protocol and host name information into network alert window (issue #843)
|
||||
- added protocol and host name information into network alert window (issue #843)
|
||||
- added limit number of packets log entries (issue #941)
|
||||
- added host resolving for packet logger listview
|
||||
- added listview group for forever blocked apps
|
||||
|
||||
@@ -6,13 +6,17 @@ Simple tool to configure Windows Filtering Platform (WFP) which can configure ne
|
||||
The lightweight application is less than a megabyte, and it is compatible with Windows 7 SP1 and higher operating systems.
|
||||
You can download either the installer or portable version. For correct working you are require administrator rights.
|
||||
|
||||
System requirements:
|
||||
- Windows 7, 8, 8.1, 10, 11 64-bit/ARM64
|
||||
- An SSE2-capable CPU
|
||||
|
||||
Nota bene:
|
||||
Keep in mind, simplewall is not a control UI over Windows Firewall, and does not interact in any level with Windows Firewall. It works
|
||||
over Windows Filtering Platform (WFP) which is a set of API and system services that provide a platform for creating network filtering
|
||||
over Windows Filtering Platform (WFP) which is a set of internal API and system services that provide a platform for creating network filtering
|
||||
applications. Windows Filtering Platform is a development technology and not a firewall itself, but simplewall is the tool that uses this technology.
|
||||
|
||||
Command line:
|
||||
List of arguments for simplewall.exe:
|
||||
List of arguments for simplewall.
|
||||
-install - enable filtering (you can set "-silent" argument to skip prompt)
|
||||
-uninstall - remove all installed filters
|
||||
|
||||
@@ -27,7 +31,7 @@ Features:
|
||||
- Dropped packets information with notification and logging to a file feature (win7+)
|
||||
- Allowed packets information with logging to a file feature (win8+)
|
||||
- Windows Subsystem for Linux (WSL) support
|
||||
- Windows Store support
|
||||
- Windows Store support (win8+)
|
||||
- Windows services support
|
||||
- Free and open source
|
||||
- Localization support
|
||||
@@ -37,22 +41,20 @@ To activate portable mode, create "simplewall.ini" in application folder, or mov
|
||||
|
||||
Installation:
|
||||
When install rules, you can choose two modes:
|
||||
- Permanent rules. Rules are working until you disable it manually.
|
||||
- Temporary rules. Rules are reset after the next reboot.
|
||||
- Permanent rules - rules are working until you disable it manually.
|
||||
- Temporary rules - rules are reset after the next reboot.
|
||||
|
||||
Uninstall:
|
||||
When you uninstall simplewall, all previously configured filters stay alive in system.
|
||||
To remove all filters created by simplewall, start simplewall and press "Disable filters" button.
|
||||
|
||||
Command line:
|
||||
List of arguments for simplewall.exe:
|
||||
|
||||
-install - enable filtering.
|
||||
-install -temp - enable filtering until reboot.
|
||||
-install -temp - enable filtering until next reboot.
|
||||
-install -silent - enable filtering without prompt.
|
||||
-uninstall - remove all installed filters.
|
||||
|
||||
Website: www.henrypp.org
|
||||
Support: support@henrypp.org
|
||||
Website: https://github.com/henrypp
|
||||
Support: sforce5@mail.ru
|
||||
|
||||
(c) 2016-2021 Henry++
|
||||
(c) 2016-2026 Henry++
|
||||
@@ -0,0 +1,241 @@
|
||||
; Arabic
|
||||
; Bob (Oman)
|
||||
; Discord: 111a1
|
||||
|
||||
[Arabic]
|
||||
IDS_TITLE_EXCLUDE=استبعاد
|
||||
IDS_FILE=ملف
|
||||
IDS_SETTINGS=الإعدادات
|
||||
IDS_EXIT=خروج
|
||||
IDS_EDIT=تحرير
|
||||
IDS_PURGE_UNUSED=تنظيف التطبيقات غير المستخدمة
|
||||
IDS_PURGE_TIMERS=تنظيف المؤقتات
|
||||
IDS_FIND=بحث
|
||||
IDS_REFRESH=تحديث
|
||||
IDS_VIEW=عرض
|
||||
IDS_ICONS=الرموز
|
||||
IDS_ICONSSMALL=صغيرة
|
||||
IDS_ICONSLARGE=كبيرة
|
||||
IDS_ICONSISHIDDEN=عدم عرض الرموز
|
||||
IDS_LANGUAGE=اللغة
|
||||
IDS_FONT=الخط
|
||||
IDS_HELP=مساعدة
|
||||
IDS_WEBSITE=الموقع الإلكتروني
|
||||
IDS_CHECKUPDATES=التحقق من التحديثات
|
||||
IDS_DONATE=قل شكراً!
|
||||
IDS_ABOUT=حول
|
||||
IDS_TRAY_SHOW=إظهار/إخفاء
|
||||
IDS_TRAY_START=تفعيل الفلاتر
|
||||
IDS_TRAY_STOP=إلغاء تفعيل الفلاتر
|
||||
IDS_TRAY_RULES=القواعد
|
||||
IDS_TRAY_BLOCKLIST_RULES=قائمة الحظر
|
||||
IDS_TRAY_SYSTEM_RULES=قواعد نظام التشغيل
|
||||
IDS_TRAY_USER_RULES=قواعد المستخدم
|
||||
IDS_TRAY_LOGERR=سجل الأخطاء
|
||||
IDS_ADD_FILE=إضافة تطبيق
|
||||
IDS_ANY=أي
|
||||
IDS_DISABLENOTIFICATIONS=إلغاء تنشيط الإشعارات
|
||||
IDS_OPENRULESEDITOR=إنشاء قاعدة
|
||||
IDS_TIMER=مؤقت
|
||||
IDS_DISABLETIMER=إلغاء تنشيط المؤقت
|
||||
IDS_EXPLORE=فتح موقع الملف
|
||||
IDS_COPY=نسخ
|
||||
IDS_SELECT_ALL=تحديد الكل
|
||||
IDS_CHECK=السماح بالتحديد
|
||||
IDS_UNCHECK=حظر التحديد
|
||||
IDS_ADD=إضافة
|
||||
IDS_EDIT2=تعديل
|
||||
IDS_DELETE=حذف
|
||||
IDS_EXPORT=تصدير
|
||||
IDS_IMPORT=استيراد
|
||||
IDS_RULE_ALLOWLOOPBACK=السماح بكل حركة المرور الخاصة بالتكرار (loopback)
|
||||
IDS_HIGHLIGHT_INVALID=غير صالح (الملف مفقود أو مشكلة في الفلتر)
|
||||
IDS_HIGHLIGHT_NETWORK=تطبيق الشبكة المشتركة
|
||||
IDS_HIGHLIGHT_PICO=تطبيق بيكو
|
||||
IDS_HIGHLIGHT_SIGNED=تطبيق موقّع
|
||||
IDS_HIGHLIGHT_SILENT=الإشعارات معطلة
|
||||
IDS_HIGHLIGHT_SPECIAL=قواعد المستخدم
|
||||
IDS_HIGHLIGHT_SYSTEM=تطبيق نظام التشغيل
|
||||
IDS_GROUP_TIMER=تطبيقات تحتوي على مؤقت
|
||||
IDS_EDITOR=محرر القواعد
|
||||
IDS_NAME=الاسم
|
||||
IDS_RULE=القاعدة
|
||||
IDS_PORTVERSION=العائلة (المنافذ فقط)
|
||||
IDS_PROTOCOL=البروتوكول
|
||||
IDS_DIRECTION=Direction
|
||||
IDS_ACTION=Action
|
||||
IDS_DATE=Date
|
||||
IDS_FILEPATH=المسار
|
||||
IDS_SIGNATURE=Signature
|
||||
IDS_ADDRESS=العنوان
|
||||
IDS_FILTER=الفلتر
|
||||
IDS_NOTES=Notes
|
||||
IDS_ADDED=تمت الإضافة
|
||||
IDS_TIMELEFT=الوقت المتبقي
|
||||
IDS_SIGN_SIGNED=موقع
|
||||
IDS_SIGN_UNSIGNED=غير موقّع
|
||||
IDS_GROUP_ALLOWED=تطبيقات ذات وصول إلى الشبكة
|
||||
IDS_GROUP_BLOCKED=تطبيقات بدون وصول إلى الشبكة
|
||||
IDS_GROUP_ENABLED=القواعد مفعلة
|
||||
IDS_GROUP_DISABLED=القواعد غير مفعلة
|
||||
IDS_DIRECTION_1=صادر
|
||||
IDS_DIRECTION_2=وارد
|
||||
IDS_DIRECTION_3=كلاهما
|
||||
IDS_ACTION_ALLOW=السماح
|
||||
IDS_ACTION_BLOCK=حظر
|
||||
IDS_ENABLE_CHK=تفعيل القاعدة
|
||||
IDS_WIKI=مساعدة
|
||||
IDS_SAVE=حفظ
|
||||
IDS_CLOSE=إغلاق
|
||||
IDS_SETTINGS_GENERAL=عام
|
||||
IDS_TITLE_GENERAL=الإعدادات العامة
|
||||
IDS_TITLE_LANGUAGE=اللغة
|
||||
IDS_TITLE_CONFIRMATIONS=Confirmations
|
||||
IDS_TITLE_INTERFACE=Interface
|
||||
IDS_TITLE_HIGHLIGHTING=التظليل
|
||||
IDS_TITLE_LOGGING=سجل الحزم
|
||||
IDS_TITLE_NOTIFICATIONS=Notifications
|
||||
IDS_TITLE_ADVANCED=متقدم
|
||||
IDS_ALWAYSONTOP_CHK=دائمًا مرئي
|
||||
IDS_LOADONSTARTUP_CHK=التحميل عند بدء تشغيل النظام
|
||||
IDS_STARTMINIMIZED_CHK=تشغيل في الوضع المصغر
|
||||
IDS_SHOWFILENAMESONLY_CHK=عرض أسماء الملفات فقط
|
||||
IDS_AUTOSIZECOLUMNS_CHK=الحجم التلقائي للأعمدة
|
||||
IDS_SKIPUACWARNING_CHK=تجاهل تحذير "التحقق من حساب المستخدم"
|
||||
IDS_CHECKUPDATES_CHK=التحقق التلقائي من التحديثات (موصى به)
|
||||
IDS_LANGUAGE_HINT=اختيار اللغة:
|
||||
IDS_USESTEALTHMODE_CHK=منع فحص المنافذ
|
||||
IDS_USESTEALTHMODE_HINT=منع فحص المنافذ TCP عن طريق إسقاط فحص المنافذ TCP و RST و UDP الواردة، والرد على ICMP الصادرة مع "الوجهة غير قابلة للوصول".
|
||||
IDS_INSTALLBOOTTIMEFILTERS_CHK=تفعيل الفلاتر عند بدء التشغيل
|
||||
IDS_INSTALLBOOTTIMEFILTERS_HINT=منع تسرب البيانات عند بدء تشغيل النظام، حتى قبل بدء خدمة "محرك الفلترة الأساسي" (BFE).
|
||||
IDS_USECERTIFICATES_CHK=التحقق من التوقيعات الرقمية للتطبيقات
|
||||
IDS_USENETWORKRESOLUTION_CHK=حل العناوين الشبكية
|
||||
IDS_DISABLEWINDOWSFIREWALL_CHK=إلغاء تفعيل جدار الحماية لويندوز
|
||||
IDS_ENABLEWINDOWSFIREWALL_CHK=تفعيل جدار الحماية لويندوز
|
||||
IDS_CONFIRMEXIT_CHK=التأكيد عند الإغلاق
|
||||
IDS_CONFIRMEXITTIMER_CHK=التأكيد عند الإغلاق إذا كانت المؤقتات نشطة
|
||||
IDS_CONFIRMLOGCLEAR_CHK=التأكيد عند مسح سجل الملفات
|
||||
IDS_COLORS_HINT=انقر مرتين على عنصر لتعديله.
|
||||
IDS_ENABLELOG_CHK=تفعيل تسجيل الحزم في ملف
|
||||
IDS_LOGSHOW=عرض السجل
|
||||
IDS_LOGCLEAR=مسح السجل
|
||||
IDS_LOGSIZELIMIT_HINT=الحجم الأقصى للسجل: (ك.ب)
|
||||
IDS_ENABLENOTIFICATIONS_CHK=تفعيل إشعارات الحزم
|
||||
IDS_NOTIFICATIONSOUND_CHK=تفعيل الإشعارات الصوتية
|
||||
IDS_NOTIFICATIONTIMEOUT_HINT=مدة العرض بين الإشعارات المتشابهة (ثواني):
|
||||
IDS_NOTIFY_TOOLTIP=تحديد قاعدة للمستخدم للسماح لتطبيق بالوصول إلى عنوان أو منفذ
|
||||
IDS_QUESTION=هل أنت متأكد؟
|
||||
IDS_QUESTION_DELETE=حذف العنصر/العناصر المحددة؟
|
||||
IDS_QUESTION_START=حظر الوصول إلى الشبكة للتطبيقات بناءً على الإعدادات الحالية. الاستمرار؟
|
||||
IDS_QUESTION_STOP=استعادة الوصول إلى الشبكة لجميع التطبيقات المحجوبة حاليًا. الاستمرار؟
|
||||
IDS_QUESTION_EXIT=الفلاتر المثبتة ستظل مفعلة حتى إذا غادرت. الاستمرار؟
|
||||
IDS_QUESTION_TIMER=المؤقت/المؤقتات نشطة. المؤقتات تكون نشطة فقط عندما يتم تشغيل التطبيق. هل تريد الخروج؟
|
||||
IDS_QUESTION_TIMERS=حذف جميع المؤقتات؟
|
||||
IDS_QUESTION_FLAG_CHK=عدم السؤال مرة أخرى
|
||||
IDS_STATUS_EMPTY=فارغ.
|
||||
IDS_STATUS_SYNTAX_ERROR=خطأ في الصيغة في القاعدة!
|
||||
IDS_ADDRESS_LOCAL=Source
|
||||
IDS_ADDRESS_REMOTE=Destination
|
||||
IDS_UPDATE_ERROR=خطأ في الاتصال بخادم التحديثات.
|
||||
IDS_UPDATE_DOWNLOAD=تحميل التحديث...
|
||||
IDS_UPDATE_DONE=تم تحميل التحديث.
|
||||
IDS_GROUP_SPECIAL_APPS=تطبيقات تحتوي على قواعد المستخدم
|
||||
IDS_RULE_ALLOWLOOPBACK_HINT=السماح بكل حركة المرور الخاصة بالتكرار (loopback).
|
||||
IDS_RESET=إعادة تعيين
|
||||
IDS_EXCLUDESTEALTH_CHK=فحص المنافذ
|
||||
IDS_EXCLUDEBLOCKLIST_CHK=قائمة الحظر
|
||||
IDS_UPDATE_INIT=التحقق من وجود نسخة جديدة...
|
||||
IDS_UPDATE_INSTALL=تحديث متاح. هل ترغب في تثبيته الآن؟
|
||||
IDS_EXCLUDECUSTOM_CHK=قواعد المستخدم
|
||||
IDS_EXCLUDECLASSIFYALLOW_CHK=الاتصالات المسموح بها
|
||||
IDS_STATUS_TIMER_DONE=انتهت مدة المؤقت لهذا التطبيق
|
||||
IDS_ICONSEXTRALARGE=كبير جدًا
|
||||
IDS_STATUS_UNUSED_APPS=تطبيقات غير مستخدمة
|
||||
IDS_STATUS_TIMER_APPS=تطبيقات تحتوي على مؤقت
|
||||
IDS_SECUREFILTERS_CHK=تفعيل حماية الفلاتر المثبتة
|
||||
IDS_SECUREFILTERS_HINT=منع التطبيقات غير المصرح لها من الوصول إلى الفلاتر المثبتة.
|
||||
IDS_USEREFRESHDEVICES_CHK=تحديث الفلاتر عند توصيل الأجهزة (التخزين)
|
||||
IDS_RULE_ALLOW6TO4=السماح بكل إعادة توجيه IPv6 (6to4)
|
||||
IDS_RECOMMENDED=موصى به
|
||||
IDS_ICONSISTABLEVIEW=عرض كجدول
|
||||
IDS_ACTION_ALLOW_HINT=السماح بالوصول إلى الشبكة إلى الأبد
|
||||
IDS_ACTION_BLOCK_HINT=حظر الوصول إلى الشبكة إلى الأبد (إلى الأبد)
|
||||
IDS_ACTION_LATER_HINT=تجاهل واطلب مني لاحقًا
|
||||
IDS_RULE_APPLY_2=تطبيق القاعدة "%s" على هذا التطبيق
|
||||
IDS_EDITRULES=تعديل القواعد
|
||||
IDS_TAB_APPS=تطبيقات
|
||||
IDS_TAB_SERVICES=Services
|
||||
IDS_TAB_PACKAGES=تطبيقات UWP
|
||||
IDS_TAB_NETWORK=الاتصالات
|
||||
IDS_STATE=الحالة
|
||||
IDS_STATUS_FILTERS_ACTIVE=الفلاتر مفعلة.
|
||||
IDS_STATUS_FILTERS_INACTIVE=الفلاتر معطلة!
|
||||
IDS_STATUS_FILTERS_PROCESSING=تطبيق الفلاتر
|
||||
IDS_HIGHLIGHT_CONNECTION=متصل بالشبكة
|
||||
IDS_SHOWINLIST=عرض في القائمة
|
||||
IDS_BLOCKLIST_SPY=التجسس والقياسات من مايكروسوفت
|
||||
IDS_BLOCKLIST_UPDATE=تحديثات مايكروسوفت
|
||||
IDS_BLOCKLIST_EXTRA=تطبيقات مايكروسوفت
|
||||
IDS_PORT=Port
|
||||
IDS_NOTIFY_TITLE=تنبيه الشبكة
|
||||
IDS_NOTIFY_HEADER=تم حظر الاتصال بالشبكة
|
||||
IDS_DISABLE=إلغاء التفعيل
|
||||
IDS_TITLE_SECURITY=الأمان
|
||||
IDS_LOGVIEWER_HINT=تطبيق مشاهدة السجلات
|
||||
IDS_NOTIFICATIONONTRAY_CHK=عرض الإشعارات في أسفل يمين الشاشة
|
||||
IDS_NETWORK_CLOSE=إنهاء الاتصال
|
||||
IDS_RULE_BLOCKOUTBOUND=حظر كل الحركة الصادرة
|
||||
IDS_RULE_BLOCKINBOUND=حظر كل الحركة الواردة
|
||||
IDS_VIEW_ICON=الرموز
|
||||
IDS_VIEW_DETAILS=التفاصيل
|
||||
IDS_VIEW_TILE=البلاطات
|
||||
IDS_RULE_HINT=إذا تركت الحقول فارغة، فسيتم تطبيق القاعدة على جميع العناوين والمنافذ.
|
||||
IDS_RULE_APPS_HINT=إذا لم يتم تحديد أي تطبيق، فسيتم تطبيق القاعدة على جميع التطبيقات.
|
||||
IDS_STATUS_FILTERS_ACTIVE_TEMP=الفلاتر مفعلة حتى إعادة التشغيل التالي.
|
||||
IDS_INSTALL_PERMANENT=القواعد الدائمة. هذه القواعد مفعلة حتى يتم تعطيلها يدويًا.
|
||||
IDS_INSTALL_TEMPORARY=القواعد المؤقتة. سيتم تعطيل هذه القواعد بعد إعادة التشغيل التالي.
|
||||
IDS_ENABLEUILOG_CHK=تفعيل واجهة تسجيل الحزم
|
||||
IDS_NOTIFICATIONFULLSCREENSILENTMODE_CHK=تفعيل الوضع الصامت عندما يكون التطبيق في وضع ملء الشاشة
|
||||
IDS_TITLE_TRAY=رمز في منطقة الإشعارات
|
||||
IDS_TRAYICONSINGLECLICK_CHK=فتح بنقرة واحدة على الرمز في منطقة الإشعارات
|
||||
IDS_ENABLE_APP_CHK=السماح بالوصول إلى الشبكة
|
||||
IDS_APP_HINT=لا يوجد سبب لتحديد قاعدة تيسيرية لتطبيق لديه وصول كامل إلى الشبكة بالفعل.
|
||||
IDS_HOST=المضيف
|
||||
IDS_CONFIRMALLOW_CHK=التأكيد عند السماح لتطبيق
|
||||
IDS_QUESTION_ALLOW=هل أنت متأكد أنك تريد منح هذا التطبيق وصولاً كاملاً إلى الشبكة؟
|
||||
IDS_SHOWSEARCHBAR_CHK=عرض شريط البحث
|
||||
IDS_LAYER=الطبقة
|
||||
IDS_RULE_ALLOWWINDOWSUPDATE=السماح بتحديثات ويندوز
|
||||
IDS_ACTION_TERMINATE_HINT=إيقاف العملية
|
||||
IDS_PROFILE_TYPE=نوع الملف
|
||||
IDS_USEAPPMONITOR_CHK=مراقبة تغييرات التطبيقات
|
||||
IDS_DISABLEREMOVAL=منع الحذف
|
||||
IDS_USEHASHES_CHK=التحقق من قيم التحقق من التطبيقات SHA-256
|
||||
IDS_COMMENT=التعليقات
|
||||
IDS_USEDARKTHEME=تفعيل الوضع الداكن
|
||||
IDS_KEEPUNUSED_CHK=احتفظ بالتطبيقات غير المستخدمة
|
||||
IDS_UPDATE_NO=لا يوجد تحديث متاح.
|
||||
IDS_UPDATE_YES=تحديث متاح. هل ترغب في تنزيله وتثبيته الآن؟
|
||||
IDS_UPDATE_SPEED=Speed
|
||||
IDS_RULE_FOR_ALL=for all
|
||||
IDS_RULE_FOR_APPS=for apps
|
||||
IDS_PROFILE_TYPE_PLAIN=Plain
|
||||
IDS_PROFILE_TYPE_COMPRESSED=Compressed
|
||||
IDS_PROFILE_TYPE_ENCRYPTED=Encrypted
|
||||
IDS_SESSION_ONLY=session only
|
||||
IDS_LIMIT_REACHED=Limit reached.
|
||||
IDS_INTERNAL_RULE=Internal rule
|
||||
IDS_LOADING=Loading...
|
||||
IDS_DIRECTION_REMOTE=Remote
|
||||
IDS_DIRECTION_LOCAL=Local
|
||||
IDS_WARNING_UNEXPECTED=Be careful, through service/driver host (svchost.exe/System) internet traffic can let out through unexpected ways. Continue?
|
||||
IDS_WARNING_ME=If you disallow main process, you cannot use resolve network addresses option. Continue?
|
||||
IDS_TOTAL=Total
|
||||
IDS_ALLOWIPFORWARDING_CHK=Allow IP forwarding
|
||||
IDS_EXCLUDEINBOUND_CHK=inbound multicast/broadcast
|
||||
IDS_CONNECTIONS_ENABLE=Enable connections monitoring
|
||||
IDS_CONNECTIONS_SHOWAITCONNECTIONS=Show waiting connections
|
||||
IDS_CONNECTIONS_MEASUREUDPTRAFFIC=Measure UDP/QUIC traffic (experimental, restart required)
|
||||
IDS_UDP_ACCOUNTING=UDP (including QUIC): ETW bytes since this socket was first monitored.
|
||||
IDS_UDP_UNAVAILABLE=UDP measurement unavailable or incomplete. Restart simplewall to retry. Error
|
||||
IDS_UDP_PENDING=UDP: no verified measurement yet. Sockets opened before monitoring must be reopened.
|
||||
@@ -0,0 +1,240 @@
|
||||
; Armenian
|
||||
; Armenian localization from hrach mk
|
||||
|
||||
[Armenian]
|
||||
IDS_TITLE_EXCLUDE=Բացառել
|
||||
IDS_FILE=Թարմացումներ չկան:
|
||||
IDS_SETTINGS=Թարմացումը հասանելի է, ներբեռնե՞լ և տեղադրել:
|
||||
IDS_EXIT=Ֆայլ
|
||||
IDS_EDIT=Դրույթներ
|
||||
IDS_PURGE_UNUSED=Խմբագրել
|
||||
IDS_PURGE_TIMERS=Purge timers
|
||||
IDS_FIND=Ջնջել չօգտագործված հավելվածները
|
||||
IDS_REFRESH=Որոնել
|
||||
IDS_VIEW=Որոնել․․․
|
||||
IDS_ICONS=Թարմացնել
|
||||
IDS_ICONSSMALL=Տեսք
|
||||
IDS_ICONSLARGE=Պատկերակներ
|
||||
IDS_ICONSISHIDDEN=Փոքր
|
||||
IDS_LANGUAGE=Միջին
|
||||
IDS_FONT=Չբեռնել պատկերակները
|
||||
IDS_HELP=Լեզու
|
||||
IDS_WEBSITE=Տառասեսակ
|
||||
IDS_CHECKUPDATES=Օգնություն
|
||||
IDS_DONATE=Ծրագրի կայք
|
||||
IDS_ABOUT=Ստուգել թարմացումները
|
||||
IDS_TRAY_SHOW=Շնորհակալություն հայտնել!
|
||||
IDS_TRAY_START=Ծրագրի մասին
|
||||
IDS_TRAY_STOP=Ցույց տալ/թաքցնել
|
||||
IDS_TRAY_RULES=Անջատել զտումը
|
||||
IDS_TRAY_BLOCKLIST_RULES=Blocklist
|
||||
IDS_TRAY_SYSTEM_RULES=Կանոններ
|
||||
IDS_TRAY_USER_RULES=Սև ցուցակ
|
||||
IDS_TRAY_LOGERR=Իմ կանոններ
|
||||
IDS_ADD_FILE=Add app
|
||||
IDS_ANY=Any
|
||||
IDS_DISABLENOTIFICATIONS=Disable notifications
|
||||
IDS_OPENRULESEDITOR=Ցանկացած
|
||||
IDS_TIMER=Անջատել ծանուցումները
|
||||
IDS_DISABLETIMER=Ժամաչափ
|
||||
IDS_EXPLORE=Open containing folder
|
||||
IDS_COPY=Անջատել ժամանակաչափը
|
||||
IDS_SELECT_ALL=Բացել թղթապանակը
|
||||
IDS_CHECK=Պատճենել
|
||||
IDS_UNCHECK=Ընտրել բոլորը
|
||||
IDS_ADD=Միացնել ընտրվածը
|
||||
IDS_EDIT2=Անջատել ընտրվածը
|
||||
IDS_DELETE=Ավելացնել
|
||||
IDS_EXPORT=Փոփոխել
|
||||
IDS_IMPORT=Ջնջնել
|
||||
IDS_RULE_ALLOWLOOPBACK=Allow loopback connections for all
|
||||
IDS_HIGHLIGHT_INVALID=Invalid (file not found or filter problem)
|
||||
IDS_HIGHLIGHT_NETWORK=Թույլատրել շրջադարձ կապերը բոլորի համար
|
||||
IDS_HIGHLIGHT_PICO=Ֆայլ համօգտագործումից
|
||||
IDS_HIGHLIGHT_SIGNED=Pico հավելված
|
||||
IDS_HIGHLIGHT_SILENT=Disabled notifications
|
||||
IDS_HIGHLIGHT_SPECIAL=Ստորագրված հավելված
|
||||
IDS_HIGHLIGHT_SYSTEM=Ծանուցումներն անջատված են
|
||||
IDS_GROUP_TIMER=Օգտագործողի կանոններ
|
||||
IDS_EDITOR=Համակարգային հավելված
|
||||
IDS_NAME=ժամաչափով հավելված
|
||||
IDS_RULE=Կանոնների խմբագիր
|
||||
IDS_PORTVERSION=Անվանումը
|
||||
IDS_PROTOCOL=Կանոնը
|
||||
IDS_DIRECTION=Family (միայն պորտերի համար)
|
||||
IDS_ACTION=հաղորդակարգը
|
||||
IDS_DATE=Ուղղությունը
|
||||
IDS_FILEPATH=Գործողությունը
|
||||
IDS_SIGNATURE=Ամսաթիվը
|
||||
IDS_ADDRESS=Ուղին
|
||||
IDS_FILTER=Ստորագրությունը
|
||||
IDS_NOTES=Հասցեն
|
||||
IDS_ADDED=Զտիչ
|
||||
IDS_TIMELEFT=Ավելացված է
|
||||
IDS_SIGN_SIGNED=Signed
|
||||
IDS_SIGN_UNSIGNED=Մնացած ժամանակ
|
||||
IDS_GROUP_ALLOWED=Ստորագրվել է
|
||||
IDS_GROUP_BLOCKED=Ստորագրված չէ
|
||||
IDS_GROUP_ENABLED=Հավելվածներ ցանցի մուտքով
|
||||
IDS_GROUP_DISABLED=Ներառված կանոններ
|
||||
IDS_DIRECTION_1=Outbound
|
||||
IDS_DIRECTION_2=Անջատված կանոններ
|
||||
IDS_DIRECTION_3=Ելքային
|
||||
IDS_ACTION_ALLOW=Մուտքային
|
||||
IDS_ACTION_BLOCK=Եկուսն էլ
|
||||
IDS_ENABLE_CHK=Enable rule
|
||||
IDS_WIKI=Միացնել կանոնը
|
||||
IDS_SAVE=Save
|
||||
IDS_CLOSE=Հղում
|
||||
IDS_SETTINGS_GENERAL=Պահել
|
||||
IDS_TITLE_GENERAL=Փակել
|
||||
IDS_TITLE_LANGUAGE=Հիմնական
|
||||
IDS_TITLE_CONFIRMATIONS=Հիմնական պարամետրեր
|
||||
IDS_TITLE_INTERFACE=Միջերեսի լեզուն
|
||||
IDS_TITLE_HIGHLIGHTING=Հաստատումներ
|
||||
IDS_TITLE_LOGGING=Հետին լույս
|
||||
IDS_TITLE_NOTIFICATIONS=Notifications
|
||||
IDS_TITLE_ADVANCED=Փաթեթների մատյան
|
||||
IDS_ALWAYSONTOP_CHK=Ծանուցումներ
|
||||
IDS_LOADONSTARTUP_CHK=Լրացուցիչ
|
||||
IDS_STARTMINIMIZED_CHK=Մյուս պատուհաններից առաջ
|
||||
IDS_SHOWFILENAMESONLY_CHK=Գործարկել համակարգի բեռնման ժամանակ
|
||||
IDS_AUTOSIZECOLUMNS_CHK=Մեկնարկել թաքցված
|
||||
IDS_SKIPUACWARNING_CHK=Ցույց տալ միայն ֆայլերի անունները
|
||||
IDS_CHECKUPDATES_CHK=Տեղավորել սյունակները
|
||||
IDS_LANGUAGE_HINT=Անտեսեք «Օգտագործողի հաշվի վերահսկում» նախազգուշացումը
|
||||
IDS_USESTEALTHMODE_CHK=Prevent port scanning
|
||||
IDS_USESTEALTHMODE_HINT=Prevent TCP port scanning by silently dropping inbound TCP RST and UDP port scanning by responding to outbound ICMP with "Destination Unreachable".
|
||||
IDS_INSTALLBOOTTIMEFILTERS_CHK=Կանխել նավահանգիստների ստուգումը
|
||||
IDS_INSTALLBOOTTIMEFILTERS_HINT=Կանխեք պորտերի ստուգումը՝ թույլ չտալով մուտքային TCP RST և ելքային ICMP «Անհասանելի նպատակակետ» հարցումները:
|
||||
IDS_USECERTIFICATES_CHK=Check apps for digital signatures
|
||||
IDS_USENETWORKRESOLUTION_CHK=Resolve network addresses
|
||||
IDS_DISABLEWINDOWSFIREWALL_CHK=Ստուգել հավելվածի թվային ստորագրությունները
|
||||
IDS_ENABLEWINDOWSFIREWALL_CHK=Թույլատրել ցանցային հասցեները
|
||||
IDS_CONFIRMEXIT_CHK=Անջատել Windows firewall-ը
|
||||
IDS_CONFIRMEXITTIMER_CHK=Միացնել Windows firewall-ը
|
||||
IDS_CONFIRMLOGCLEAR_CHK=Դուրս գալու հաստատում սահմանված ժամաչափով
|
||||
IDS_COLORS_HINT=Հաստատեք հավելվածների հեռացումը ցուցակից
|
||||
IDS_ENABLELOG_CHK=Մատյանի մաքրման հաստատում
|
||||
IDS_LOGSHOW=Կրկնակի սեղմեք տարրի վրա՝ խմբագրելու համար:
|
||||
IDS_LOGCLEAR=Միացնել գրելու փաթեթները ֆայլի համար
|
||||
IDS_LOGSIZELIMIT_HINT=Ցույց տալ գրանցամատյանը
|
||||
IDS_ENABLENOTIFICATIONS_CHK=Մաքրել գրանցամատյանը
|
||||
IDS_NOTIFICATIONSOUND_CHK=Մատյանների առավելագույն չափը. (ԿԲ)
|
||||
IDS_NOTIFICATIONTIMEOUT_HINT=Timeout between similar notifications (sec.):
|
||||
IDS_NOTIFY_TOOLTIP=Set user rule to allow access to an address and/or port for this application.
|
||||
IDS_QUESTION=Are you sure?
|
||||
IDS_QUESTION_DELETE=Կիրառեք հատուկ կանոն՝ այս հավելվածի համար հասցե կամ նավահանգիստ մուտք գործելու համար:
|
||||
IDS_QUESTION_START=Վստա՞հ եք
|
||||
IDS_QUESTION_STOP=Ջնջել %d տարր(եր)ը
|
||||
IDS_QUESTION_EXIT=Սա կվերականգնի ցանցի հասանելիությունը բոլոր հավելվածներին, շարունակե՞լ:
|
||||
IDS_QUESTION_TIMER=Timer(s) activated. Timers will only work when the application is running. Exit?
|
||||
IDS_QUESTION_TIMERS=Delete all timers?
|
||||
IDS_QUESTION_FLAG_CHK=Ժամաչափը միացված է: Ժամաչափն աշխատում է միայն այն ժամանակ, երբ հավելվածն աշխատում է, դուրս գա՞լ:
|
||||
IDS_STATUS_EMPTY=Բոլոր հավելվածները. %d
|
||||
IDS_STATUS_SYNTAX_ERROR=<դատարկ>
|
||||
IDS_ADDRESS_LOCAL=Source
|
||||
IDS_ADDRESS_REMOTE=Կանոնը պարունակում է շարահյուսական սխալ:
|
||||
IDS_UPDATE_ERROR=Աղբյուրը
|
||||
IDS_UPDATE_DOWNLOAD=Downloading update...
|
||||
IDS_UPDATE_DONE=Downloading update finished.
|
||||
IDS_GROUP_SPECIAL_APPS=Թարմացումը ներբեռնվում է...
|
||||
IDS_RULE_ALLOWLOOPBACK_HINT=This allows all loopback traffic.
|
||||
IDS_RESET=Թույլ է տալիս ամբողջ շրջադարձային տրաֆիկը:
|
||||
IDS_EXCLUDESTEALTH_CHK=Վստա՞հ եք, որ ցանկանում եք վերակայել ծրագրի բոլոր կարգավորումները:
|
||||
IDS_EXCLUDEBLOCKLIST_CHK=blocklist
|
||||
IDS_UPDATE_INIT=պորտերի ստուգիչի միացումները
|
||||
IDS_UPDATE_INSTALL=սև ցուցակի միացումներ
|
||||
IDS_EXCLUDECUSTOM_CHK=Ստուգել թարմացումները...
|
||||
IDS_EXCLUDECLASSIFYALLOW_CHK=օգտագործողի կանոնները
|
||||
IDS_STATUS_TIMER_DONE=Timer for application has been expired
|
||||
IDS_ICONSEXTRALARGE=թույլատրված կապեր
|
||||
IDS_STATUS_UNUSED_APPS=«%s»-ի ժամաչափն ավարտվել է:
|
||||
IDS_STATUS_TIMER_APPS=Չօգտագործվածները
|
||||
IDS_SECUREFILTERS_CHK=Enable protection of installed filters
|
||||
IDS_SECUREFILTERS_HINT=Ժամաչափեր
|
||||
IDS_USEREFRESHDEVICES_CHK=Միացնել տեղադրված զտիչների պաշտպանությունը
|
||||
IDS_RULE_ALLOW6TO4=Կանխել երրորդ կողմի հավելվածների մուտքը տեղադրված զտիչներ:
|
||||
IDS_RECOMMENDED=Թարմացրեք կանոնները, երբ սարքերը միացված են
|
||||
IDS_ICONSISTABLEVIEW=Թույլատրել IPv6 (6to4) վերահասցեավորումը բոլորի համար
|
||||
IDS_ACTION_ALLOW_HINT=Ցույց տալ որպես աղյուսակ
|
||||
IDS_ACTION_BLOCK_HINT=Block network access forever ('til kingdom come)
|
||||
IDS_ACTION_LATER_HINT=Թույլ տվեք ընդմիշտ
|
||||
IDS_RULE_APPLY_2=Ընդմիշտ արգելել
|
||||
IDS_EDITRULES=Edit rules
|
||||
IDS_TAB_APPS=Կիրառեք «%s»-ը հավելվածին
|
||||
IDS_TAB_SERVICES=Խմբագրել կանոնները
|
||||
IDS_TAB_PACKAGES=Հավելվածներ
|
||||
IDS_TAB_NETWORK=Ծառայություններ
|
||||
IDS_STATE=UWP հավելվածներ
|
||||
IDS_STATUS_FILTERS_ACTIVE=Միացումներ
|
||||
IDS_STATUS_FILTERS_INACTIVE=Իրավիճակ
|
||||
IDS_STATUS_FILTERS_PROCESSING=Զտումն ակտիվ է:
|
||||
IDS_HIGHLIGHT_CONNECTION=Զտումն ակտիվ չէ:
|
||||
IDS_SHOWINLIST=Զտիչների կիրառում
|
||||
IDS_BLOCKLIST_SPY=Ունի ցանցային կապեր
|
||||
IDS_BLOCKLIST_UPDATE=Ցույց տալ ցանկում
|
||||
IDS_BLOCKLIST_EXTRA=Microsoft-ի հետևումների սերվերները
|
||||
IDS_PORT=Microsoft-ի թարմացումների սերվերները
|
||||
IDS_NOTIFY_TITLE=Microsoft-ի հավելվածների սերվերները
|
||||
IDS_NOTIFY_HEADER=Պորտ
|
||||
IDS_DISABLE=Ցանցի ծանուցումները
|
||||
IDS_TITLE_SECURITY=%s-ն արգելափակել է հավելվածի կապը
|
||||
IDS_LOGVIEWER_HINT=Անջատել
|
||||
IDS_NOTIFICATIONONTRAY_CHK=Անվտանգություն
|
||||
IDS_NETWORK_CLOSE=Մատյանի դիտման հավելված
|
||||
IDS_RULE_BLOCKOUTBOUND=Ցույց տալ ծանուցման պատուհանը համակարգային խնդրագոտում
|
||||
IDS_RULE_BLOCKINBOUND=Փակել կապակցումը
|
||||
IDS_VIEW_ICON=Արգելափակել ելքային կապերը բոլորի համար
|
||||
IDS_VIEW_DETAILS=Արգելափակել մուտքային կապերը բոլորի համար
|
||||
IDS_VIEW_TILE=Պատկերակներ
|
||||
IDS_RULE_HINT=Մանրամասներ
|
||||
IDS_RULE_APPS_HINT=Սալիկներ
|
||||
IDS_STATUS_FILTERS_ACTIVE_TEMP=Եթե դաշտերը դատարկ եք թողնում, ապա կանոնը վերաբերում է բոլոր հասցեներին և պորտերին:
|
||||
IDS_INSTALL_PERMANENT=Եթե ոչ մի ծրագիր ընտրված չէ, ապա կանոնը վերաբերում է բոլոր հավելվածներին:
|
||||
IDS_INSTALL_TEMPORARY=Զտումն ակտիվացված է մինչև վերաբեռնումը:
|
||||
IDS_ENABLEUILOG_CHK=Մշտական կանոններ. Կանոնները կգործեն այնքան ժամանակ, քանի դեռ դրանք ձեռքով չանջատեք:
|
||||
IDS_NOTIFICATIONFULLSCREENSILENTMODE_CHK=Ժամանակավոր կանոններ. Կանոնները կգործեն մինչև համակարգը վերագործարկվի:
|
||||
IDS_TITLE_TRAY=Միացնել մատյանի վարումը միջերեսում
|
||||
IDS_TRAYICONSINGLECLICK_CHK=Միացնել հանգիստ ռեժիմը, երբ ամբողջ էկրանով հավելվածն ակտիվ է
|
||||
IDS_ENABLE_APP_CHK=Խնդրագոտի
|
||||
IDS_APP_HINT=Մեկ սեղմում պատկերակը բացելու համար
|
||||
IDS_HOST=Միացնել ցանցի մուտքը
|
||||
IDS_CONFIRMALLOW_CHK=Կարիք չկա սահմանել թույլատրելի կանոններից որևէ մեկը այն հավելվածի համար, որն արդեն թույլատրված է մուտք գործել ցանց:
|
||||
IDS_QUESTION_ALLOW=Հոսթը
|
||||
IDS_SHOWSEARCHBAR_CHK=Հաստատեք հավելվածի թույլտվությունը
|
||||
IDS_LAYER=Իսկապե՞ս ուզում եք միացնել այս հավելվածի ամբողջական ինտերնետ հասանելիությունը:
|
||||
IDS_RULE_ALLOWWINDOWSUPDATE=Ցույց տալ որոնման տողը
|
||||
IDS_ACTION_TERMINATE_HINT=Terminate process
|
||||
IDS_PROFILE_TYPE=Թույլատրել Windows Update-ը
|
||||
IDS_USEAPPMONITOR_CHK=Monitor apps changing
|
||||
IDS_DISABLEREMOVAL=Disable removal
|
||||
IDS_USEHASHES_CHK=Check apps for sha-256 hash
|
||||
IDS_COMMENT=Comments
|
||||
IDS_USEDARKTHEME=Use dark theme
|
||||
IDS_KEEPUNUSED_CHK=Keep unused apps
|
||||
IDS_UPDATE_NO=No updates available.
|
||||
IDS_UPDATE_YES=Update available. Download and install now?
|
||||
IDS_UPDATE_SPEED=Speed
|
||||
IDS_RULE_FOR_ALL=for all
|
||||
IDS_RULE_FOR_APPS=for apps
|
||||
IDS_PROFILE_TYPE_PLAIN=Plain
|
||||
IDS_PROFILE_TYPE_COMPRESSED=Compressed
|
||||
IDS_PROFILE_TYPE_ENCRYPTED=Encrypted
|
||||
IDS_SESSION_ONLY=session only
|
||||
IDS_LIMIT_REACHED=Limit reached.
|
||||
IDS_INTERNAL_RULE=Internal rule
|
||||
IDS_LOADING=Loading...
|
||||
IDS_DIRECTION_REMOTE=Remote
|
||||
IDS_DIRECTION_LOCAL=Local
|
||||
IDS_WARNING_UNEXPECTED=Be careful, through service/driver host (svchost.exe/System) internet traffic can let out through unexpected ways. Continue?
|
||||
IDS_WARNING_ME=If you disallow main process, you cannot use resolve network addresses option. Continue?
|
||||
IDS_TOTAL=Total
|
||||
IDS_ALLOWIPFORWARDING_CHK=Allow IP forwarding
|
||||
IDS_EXCLUDEINBOUND_CHK=inbound multicast/broadcast
|
||||
IDS_CONNECTIONS_ENABLE=Enable connections monitoring
|
||||
IDS_CONNECTIONS_SHOWAITCONNECTIONS=Show waiting connections
|
||||
IDS_CONNECTIONS_MEASUREUDPTRAFFIC=Measure UDP/QUIC traffic (experimental, restart required)
|
||||
IDS_UDP_ACCOUNTING=UDP (including QUIC): ETW bytes since this socket was first monitored.
|
||||
IDS_UDP_UNAVAILABLE=UDP measurement unavailable or incomplete. Restart simplewall to retry. Error
|
||||
IDS_UDP_PENDING=UDP: no verified measurement yet. Sockets opened before monitoring must be reopened.
|
||||
@@ -0,0 +1,240 @@
|
||||
; Catalan
|
||||
; github.com/eric-l10n - 08.11.2021
|
||||
|
||||
[Catalan]
|
||||
IDS_TITLE_EXCLUDE=Exclou
|
||||
IDS_FILE=Fitxer
|
||||
IDS_SETTINGS=Configuració
|
||||
IDS_EXIT=Surt
|
||||
IDS_EDIT=Edita
|
||||
IDS_PURGE_UNUSED=Suprimeix les aplicacions no utilitzades
|
||||
IDS_PURGE_TIMERS=Suprimeix els temporitzadors
|
||||
IDS_FIND=Cerca
|
||||
IDS_REFRESH=Actualitza
|
||||
IDS_VIEW=Visualització
|
||||
IDS_ICONS=Icones
|
||||
IDS_ICONSSMALL=Petites
|
||||
IDS_ICONSLARGE=Grans
|
||||
IDS_ICONSISHIDDEN=Oculta les icones
|
||||
IDS_LANGUAGE=Idioma
|
||||
IDS_FONT=Tipus de lletra
|
||||
IDS_HELP=Ajuda
|
||||
IDS_WEBSITE=Lloc web
|
||||
IDS_CHECKUPDATES=Comprova si hi ha actualitzacions
|
||||
IDS_DONATE=Dona'ns suport!
|
||||
IDS_ABOUT=Sobre
|
||||
IDS_TRAY_SHOW=Mostra/Amaga
|
||||
IDS_TRAY_START=Activa els filtres
|
||||
IDS_TRAY_STOP=Desactiva els filtres
|
||||
IDS_TRAY_RULES=Regles
|
||||
IDS_TRAY_BLOCKLIST_RULES=Llista de bloquejats
|
||||
IDS_TRAY_SYSTEM_RULES=Regles del sistema
|
||||
IDS_TRAY_USER_RULES=Regles d'usuari
|
||||
IDS_TRAY_LOGERR=Registre d'errors
|
||||
IDS_ADD_FILE=Afegeix una aplicació
|
||||
IDS_ANY=Qualsevol
|
||||
IDS_DISABLENOTIFICATIONS=Desactiva les notificacions
|
||||
IDS_OPENRULESEDITOR=Crea una regla
|
||||
IDS_TIMER=Temporitzador
|
||||
IDS_DISABLETIMER=Desactiva el temporitzador
|
||||
IDS_EXPLORE=Obre la carpeta contenidora
|
||||
IDS_COPY=Copia
|
||||
IDS_SELECT_ALL=Selecciona-ho tot
|
||||
IDS_CHECK=Activa la selecció
|
||||
IDS_UNCHECK=Desactiva la selecció
|
||||
IDS_ADD=Afegeix
|
||||
IDS_EDIT2=Edita
|
||||
IDS_DELETE=Elimina
|
||||
IDS_EXPORT=Exporta
|
||||
IDS_IMPORT=Importa
|
||||
IDS_RULE_ALLOWLOOPBACK=Permet connexions de loopback per a tot
|
||||
IDS_HIGHLIGHT_INVALID=No vàlid (no s’ha trobat el fitxer o hi ha un problema de filtres)
|
||||
IDS_HIGHLIGHT_NETWORK=App de xarxa compartida
|
||||
IDS_HIGHLIGHT_PICO=App pico
|
||||
IDS_HIGHLIGHT_SIGNED=App signada
|
||||
IDS_HIGHLIGHT_SILENT=Notificacions desactivades
|
||||
IDS_HIGHLIGHT_SPECIAL=Regles d'usuari
|
||||
IDS_HIGHLIGHT_SYSTEM=App del sistema
|
||||
IDS_GROUP_TIMER=App del temporitzador
|
||||
IDS_EDITOR=Editor de regles
|
||||
IDS_NAME=Nom
|
||||
IDS_RULE=Regla
|
||||
IDS_PORTVERSION=Família (només ports)
|
||||
IDS_PROTOCOL=Protocol
|
||||
IDS_DIRECTION=Direcció
|
||||
IDS_ACTION=Acció
|
||||
IDS_DATE=Data
|
||||
IDS_FILEPATH=Camí
|
||||
IDS_SIGNATURE=Signatura
|
||||
IDS_ADDRESS=Adreça
|
||||
IDS_FILTER=Filtre
|
||||
IDS_NOTES=Notes
|
||||
IDS_ADDED=Data d’addició
|
||||
IDS_TIMELEFT=Temps restant
|
||||
IDS_SIGN_SIGNED=Signada
|
||||
IDS_SIGN_UNSIGNED=Sense signar
|
||||
IDS_GROUP_ALLOWED=Apps amb accés a Internet
|
||||
IDS_GROUP_BLOCKED=Apps sense accés a Internet
|
||||
IDS_GROUP_ENABLED=Regles activades
|
||||
IDS_GROUP_DISABLED=Regles activades
|
||||
IDS_DIRECTION_1=Sortints
|
||||
IDS_DIRECTION_2=Entrants
|
||||
IDS_DIRECTION_3=Ambdós
|
||||
IDS_ACTION_ALLOW=Permet
|
||||
IDS_ACTION_BLOCK=Bloqueja
|
||||
IDS_ENABLE_CHK=Activa la regla
|
||||
IDS_WIKI=Ajuda
|
||||
IDS_SAVE=Desa
|
||||
IDS_CLOSE=Tanca
|
||||
IDS_SETTINGS_GENERAL=General
|
||||
IDS_TITLE_GENERAL=Configuració general
|
||||
IDS_TITLE_LANGUAGE=Idioma
|
||||
IDS_TITLE_CONFIRMATIONS=Confirmacions
|
||||
IDS_TITLE_INTERFACE=Interfície
|
||||
IDS_TITLE_HIGHLIGHTING=Realçament
|
||||
IDS_TITLE_LOGGING=Registre de paquets
|
||||
IDS_TITLE_NOTIFICATIONS=Notificacions
|
||||
IDS_TITLE_ADVANCED=Avançat
|
||||
IDS_ALWAYSONTOP_CHK=Sempre visible
|
||||
IDS_LOADONSTARTUP_CHK=Inicia en arrencar el sistema
|
||||
IDS_STARTMINIMIZED_CHK=Inicia minimitzat
|
||||
IDS_SHOWFILENAMESONLY_CHK=Mostra només els noms dels fitxers
|
||||
IDS_AUTOSIZECOLUMNS_CHK=Columnes de mida automàtica
|
||||
IDS_SKIPUACWARNING_CHK=Omet l'advertència del control de comptes d'usuari (UAC)
|
||||
IDS_CHECKUPDATES_CHK=Comprova si hi ha actualitzacions periòdicament (recomanat)
|
||||
IDS_LANGUAGE_HINT=Seleccioneu l’idioma:
|
||||
IDS_USESTEALTHMODE_CHK=Impedeix l'escaneig de ports
|
||||
IDS_USESTEALTHMODE_HINT=Impedeix l'escaneig de ports TPC tot descartant silenciosament l'escaneig de ports TCP, RST i UDP entrants i responent a l'ICMP sortint amb "destinació il·localitzable".
|
||||
IDS_INSTALLBOOTTIMEFILTERS_CHK=Activa els filtres en iniciar el sistema
|
||||
IDS_INSTALLBOOTTIMEFILTERS_HINT=Impedeix la fuita de dades durant l'inici del sistema, fins i tot abans que s'executi el servei "Base Filtering Engine" (BFE).
|
||||
IDS_USECERTIFICATES_CHK=Comprova les signatures digitals de les aplicacions
|
||||
IDS_USENETWORKRESOLUTION_CHK=Resol les adreces de xarxa
|
||||
IDS_DISABLEWINDOWSFIREWALL_CHK=Desactiva el Tallafoc del Windows
|
||||
IDS_ENABLEWINDOWSFIREWALL_CHK=Activa el Firewall del Windows
|
||||
IDS_CONFIRMEXIT_CHK=Mostra un diàleg de confirmació per a sortir
|
||||
IDS_CONFIRMEXITTIMER_CHK=Mostra un diàleg de confirmació per a sortir amb temporitzadors actius
|
||||
IDS_CONFIRMLOGCLEAR_CHK=Confirma abans d’esborrar el registre
|
||||
IDS_COLORS_HINT=Feu doble clic sobre un element per editar-lo.
|
||||
IDS_ENABLELOG_CHK=Enregistra paquets en un fitxer
|
||||
IDS_LOGSHOW=Mostra el registre
|
||||
IDS_LOGCLEAR=Neteja el registre
|
||||
IDS_LOGSIZELIMIT_HINT=Mida màxima del registre: (kB)
|
||||
IDS_ENABLENOTIFICATIONS_CHK=Activa les notificacions de paquets
|
||||
IDS_NOTIFICATIONSOUND_CHK=Activa el so de les notificacions
|
||||
IDS_NOTIFICATIONTIMEOUT_HINT=Temps d'espera entre notificacions semblants (s):
|
||||
IDS_NOTIFY_TOOLTIP=Crea una regla d'usuari per permetre l'accés d'aquesta aplicació a una adreça o un port.
|
||||
IDS_QUESTION=Esteu segur/a?
|
||||
IDS_QUESTION_DELETE=Voleu esborrar els elements seleccionats?
|
||||
IDS_QUESTION_START=Es denegarà l'accés a la xarxa a les aplicacions definides per la configuració actual. Voleu continuar?
|
||||
IDS_QUESTION_STOP=Es restaurarà l'accés a la xarxa a totes les aplicacions bloquejades. Voleu continuar?
|
||||
IDS_QUESTION_EXIT=Els filtres instal·lats seguiran funcionant encara que sortiu. Voleu continuar?
|
||||
IDS_QUESTION_TIMER=Temporitzador(s) activat(s). Només funcionen mentre l'aplicació s'està executant. Voleu sortir?
|
||||
IDS_QUESTION_TIMERS=Voleu esborrar tots els temporitzadors?
|
||||
IDS_QUESTION_FLAG_CHK=No m'ho tornis a preguntar
|
||||
IDS_STATUS_EMPTY=Empty.
|
||||
IDS_STATUS_SYNTAX_ERROR=Hi ha un error de sintaxi a la regla.
|
||||
IDS_ADDRESS_LOCAL=Origen
|
||||
IDS_ADDRESS_REMOTE=Destinació
|
||||
IDS_UPDATE_ERROR=S'ha produït un error de connexió amb el servidor d'actualitzacions.
|
||||
IDS_UPDATE_DOWNLOAD=S'està baixant l’actualització...
|
||||
IDS_UPDATE_DONE=S'ha acabat de baixar l’actualització.
|
||||
IDS_GROUP_SPECIAL_APPS=Apps amb regles d'usuari
|
||||
IDS_RULE_ALLOWLOOPBACK_HINT=Es permetrà tot el trànsit de loopback.
|
||||
IDS_RESET=Restableix
|
||||
IDS_EXCLUDESTEALTH_CHK=escàner de ports
|
||||
IDS_EXCLUDEBLOCKLIST_CHK=llista de bloquejats
|
||||
IDS_UPDATE_INIT=S'està comprovant si hi ha noves versions...
|
||||
IDS_UPDATE_INSTALL=Hi ha una actualització disponible. Voleu instal·lar-la ara?
|
||||
IDS_EXCLUDECUSTOM_CHK=regles d'usuari
|
||||
IDS_EXCLUDECLASSIFYALLOW_CHK=connexions permeses
|
||||
IDS_STATUS_TIMER_DONE=Ha vençut el temporitzador de l'aplicació
|
||||
IDS_ICONSEXTRALARGE=Molt grans
|
||||
IDS_STATUS_UNUSED_APPS=Apps no utilitzades
|
||||
IDS_STATUS_TIMER_APPS=Apps amb temporitzador
|
||||
IDS_SECUREFILTERS_CHK=Enable protection of installed filters
|
||||
IDS_SECUREFILTERS_HINT=Prevent unauthorized applications from accessing the installed filters.
|
||||
IDS_USEREFRESHDEVICES_CHK=Actualitza els filtres en connectar dispositius (d'emmagatzematge)
|
||||
IDS_RULE_ALLOW6TO4=Permet redireccions IPv6 (6to4) per a tot
|
||||
IDS_RECOMMENDED=recomanat
|
||||
IDS_ICONSISTABLEVIEW=Mostra com a taula
|
||||
IDS_ACTION_ALLOW_HINT=Permet sempre l'accés a la xarxa
|
||||
IDS_ACTION_BLOCK_HINT=Bloqueja sempre l'accés a la xarxa
|
||||
IDS_ACTION_LATER_HINT=Ignora i demana-m'ho més tard
|
||||
IDS_RULE_APPLY_2=Aplica "%s" a aquesta app
|
||||
IDS_EDITRULES=Edita regles
|
||||
IDS_TAB_APPS=Aplicacions
|
||||
IDS_TAB_SERVICES=Serveis
|
||||
IDS_TAB_PACKAGES=Apps UWP
|
||||
IDS_TAB_NETWORK=Connexions
|
||||
IDS_STATE=Estat
|
||||
IDS_STATUS_FILTERS_ACTIVE=Els filtres estan activats.
|
||||
IDS_STATUS_FILTERS_INACTIVE=Els filtres estan desactivats.
|
||||
IDS_STATUS_FILTERS_PROCESSING=S'estan aplicant els filtres
|
||||
IDS_HIGHLIGHT_CONNECTION=Tenen connexions de xarxa
|
||||
IDS_SHOWINLIST=Mostra a la llista
|
||||
IDS_BLOCKLIST_SPY=Espionatge i telemetria de Microsoft
|
||||
IDS_BLOCKLIST_UPDATE=Actualitzacions de Microsoft
|
||||
IDS_BLOCKLIST_EXTRA=Aplicacions de Microsoft
|
||||
IDS_PORT=Port
|
||||
IDS_NOTIFY_TITLE=Alerta de xarxa
|
||||
IDS_NOTIFY_HEADER=S'ha bloquejat la connexió a la xarxa
|
||||
IDS_DISABLE=Desactiva
|
||||
IDS_TITLE_SECURITY=Seguretat
|
||||
IDS_LOGVIEWER_HINT=App del visualitzador de registres
|
||||
IDS_NOTIFICATIONONTRAY_CHK=Mostra les notificacions a l'àrea de notificacions
|
||||
IDS_NETWORK_CLOSE=Tanca la connexió
|
||||
IDS_RULE_BLOCKOUTBOUND=Bloqueja totes les connexions sortints
|
||||
IDS_RULE_BLOCKINBOUND=Bloqueja totes les connexions entrants
|
||||
IDS_VIEW_ICON=Icones
|
||||
IDS_VIEW_DETAILS=Detalls
|
||||
IDS_VIEW_TILE=En mosaic
|
||||
IDS_RULE_HINT=Si deixa els camps buits, la regla s'aplicarà a qualsevol adreça o port.
|
||||
IDS_RULE_APPS_HINT=Si no selecciona cap aplicació, la regla s'aplicarà a totes les aplicacions.
|
||||
IDS_STATUS_FILTERS_ACTIVE_TEMP=Els filtres estaran activats fins a reiniciar.
|
||||
IDS_INSTALL_PERMANENT=Regles permanents: funcionen fins que les desactives manualment.
|
||||
IDS_INSTALL_TEMPORARY=Regles temporals: es desactiven en reiniciar.
|
||||
IDS_ENABLEUILOG_CHK=Activa la interfície de registre de paquets
|
||||
IDS_NOTIFICATIONFULLSCREENSILENTMODE_CHK=Activa el mode No molestar quan l'aplicació s'executi en primer pla en pantalla completa
|
||||
IDS_TITLE_TRAY=Icona de l'àrea de notificacions
|
||||
IDS_TRAYICONSINGLECLICK_CHK=Feu clic a la icona de l'àrea de notificacions per obrir
|
||||
IDS_ENABLE_APP_CHK=Activa l'accés a la xarxa
|
||||
IDS_APP_HINT=No fa falta crear una regla permissiva per a una aplicació que ja té l'accés a la xarxa activat.
|
||||
IDS_HOST=Amfitrió
|
||||
IDS_CONFIRMALLOW_CHK=Confirma abans de permetre una aplicació
|
||||
IDS_QUESTION_ALLOW=Esteu segur/a que voleu permetre l'accés d'aquesta aplicació a la xarxa?
|
||||
IDS_SHOWSEARCHBAR_CHK=Mostra la barra de cerca
|
||||
IDS_LAYER=Layer
|
||||
IDS_RULE_ALLOWWINDOWSUPDATE=Allow Windows Update
|
||||
IDS_ACTION_TERMINATE_HINT=Terminate process
|
||||
IDS_PROFILE_TYPE=Profile type
|
||||
IDS_USEAPPMONITOR_CHK=Monitor apps changing
|
||||
IDS_DISABLEREMOVAL=Disable removal
|
||||
IDS_USEHASHES_CHK=Check apps for sha-256 hash
|
||||
IDS_COMMENT=Comments
|
||||
IDS_USEDARKTHEME=Use dark theme
|
||||
IDS_KEEPUNUSED_CHK=Keep unused apps
|
||||
IDS_UPDATE_NO=No hi ha actualitzacions disponibles.
|
||||
IDS_UPDATE_YES=Hi ha una actualització disponible. Voleu baixar-la i instal·lar-la?
|
||||
IDS_UPDATE_SPEED=Speed
|
||||
IDS_RULE_FOR_ALL=for all
|
||||
IDS_RULE_FOR_APPS=for apps
|
||||
IDS_PROFILE_TYPE_PLAIN=Plain
|
||||
IDS_PROFILE_TYPE_COMPRESSED=Compressed
|
||||
IDS_PROFILE_TYPE_ENCRYPTED=Encrypted
|
||||
IDS_SESSION_ONLY=session only
|
||||
IDS_LIMIT_REACHED=Limit reached.
|
||||
IDS_INTERNAL_RULE=Internal rule
|
||||
IDS_LOADING=Loading...
|
||||
IDS_DIRECTION_REMOTE=Remote
|
||||
IDS_DIRECTION_LOCAL=Local
|
||||
IDS_WARNING_UNEXPECTED=Be careful, through service/driver host (svchost.exe/System) internet traffic can let out through unexpected ways. Continue?
|
||||
IDS_WARNING_ME=If you disallow main process, you cannot use resolve network addresses option. Continue?
|
||||
IDS_TOTAL=Total
|
||||
IDS_ALLOWIPFORWARDING_CHK=Allow IP forwarding
|
||||
IDS_EXCLUDEINBOUND_CHK=inbound multicast/broadcast
|
||||
IDS_CONNECTIONS_ENABLE=Enable connections monitoring
|
||||
IDS_CONNECTIONS_SHOWAITCONNECTIONS=Show waiting connections
|
||||
IDS_CONNECTIONS_MEASUREUDPTRAFFIC=Measure UDP/QUIC traffic (experimental, restart required)
|
||||
IDS_UDP_ACCOUNTING=UDP (including QUIC): ETW bytes since this socket was first monitored.
|
||||
IDS_UDP_UNAVAILABLE=UDP measurement unavailable or incomplete. Restart simplewall to retry. Error
|
||||
IDS_UDP_PENDING=UDP: no verified measurement yet. Sockets opened before monitoring must be reopened.
|
||||
@@ -0,0 +1,240 @@
|
||||
; <Czech>
|
||||
; <Daniel Gregor (e-mail: daniel.gregor@post.cz>
|
||||
|
||||
[Czech]
|
||||
IDS_TITLE_EXCLUDE=Vyloučit
|
||||
IDS_FILE=Soubor
|
||||
IDS_SETTINGS=Nastavení
|
||||
IDS_EXIT=Ukončit
|
||||
IDS_EDIT=Upravit
|
||||
IDS_PURGE_UNUSED=Vymazat nepoužívané aplikace
|
||||
IDS_PURGE_TIMERS=Vymazat časovače
|
||||
IDS_FIND=Hledat
|
||||
IDS_REFRESH=Obnovit
|
||||
IDS_VIEW=Pohled
|
||||
IDS_ICONS=Ikony
|
||||
IDS_ICONSSMALL=Malý
|
||||
IDS_ICONSLARGE=Velký
|
||||
IDS_ICONSISHIDDEN=Nenačítat ikony
|
||||
IDS_LANGUAGE=Jazyk
|
||||
IDS_FONT=Písmo
|
||||
IDS_HELP=Pomoc
|
||||
IDS_WEBSITE=Domácí URL stránka
|
||||
IDS_CHECKUPDATES=Kontrola aktualizací
|
||||
IDS_DONATE=Poděkovat!
|
||||
IDS_ABOUT=O programu
|
||||
IDS_TRAY_SHOW=Zobrazit/Skrýt
|
||||
IDS_TRAY_START=Povolit filtry
|
||||
IDS_TRAY_STOP=Zakázat filtry
|
||||
IDS_TRAY_RULES=Pravidla
|
||||
IDS_TRAY_BLOCKLIST_RULES=Seznam blokovaných
|
||||
IDS_TRAY_SYSTEM_RULES=Systémová pravidla
|
||||
IDS_TRAY_USER_RULES=Uživatelská pravidla
|
||||
IDS_TRAY_LOGERR=Protokol chyb
|
||||
IDS_ADD_FILE=Přidat aplikaci
|
||||
IDS_ANY=Jakýkoli
|
||||
IDS_DISABLENOTIFICATIONS=Zakázat oznámení
|
||||
IDS_OPENRULESEDITOR=Vytvořit pravidlo
|
||||
IDS_TIMER=Časovač
|
||||
IDS_DISABLETIMER=Zakázat časovač
|
||||
IDS_EXPLORE=Otevřít složku obsahu
|
||||
IDS_COPY=Kopírovat
|
||||
IDS_SELECT_ALL=Vybrat vše
|
||||
IDS_CHECK=Povolit vybrané
|
||||
IDS_UNCHECK=Zakázat vybrané
|
||||
IDS_ADD=Přidat
|
||||
IDS_EDIT2=Upravit
|
||||
IDS_DELETE=Vymazat
|
||||
IDS_EXPORT=Exportovat
|
||||
IDS_IMPORT=Importovat
|
||||
IDS_RULE_ALLOWLOOPBACK=Povolit loopback připojení pro vše
|
||||
IDS_HIGHLIGHT_INVALID=Neplatné (soubor nenalezen nebo problém s filtrem)
|
||||
IDS_HIGHLIGHT_NETWORK=Sdílená síťová aplikace
|
||||
IDS_HIGHLIGHT_PICO=Aplikace Pico
|
||||
IDS_HIGHLIGHT_SIGNED=Podepsané aplikace
|
||||
IDS_HIGHLIGHT_SILENT=Vypnutá upozornění
|
||||
IDS_HIGHLIGHT_SPECIAL=Uživatelská pravidla
|
||||
IDS_HIGHLIGHT_SYSTEM=Systémové aplikace
|
||||
IDS_GROUP_TIMER=Aplikace s časovačem
|
||||
IDS_EDITOR=Editor pravidel
|
||||
IDS_NAME=Název
|
||||
IDS_RULE=Pravidlo
|
||||
IDS_PORTVERSION=Family (pouze porty)
|
||||
IDS_PROTOCOL=Protokol
|
||||
IDS_DIRECTION=Směr
|
||||
IDS_ACTION=Akce
|
||||
IDS_DATE=Datum
|
||||
IDS_FILEPATH=Cesta
|
||||
IDS_SIGNATURE=Podpis
|
||||
IDS_ADDRESS=Adresa
|
||||
IDS_FILTER=Filtr
|
||||
IDS_NOTES=Poznámky
|
||||
IDS_ADDED=Přídáno
|
||||
IDS_TIMELEFT=Zbývající čas
|
||||
IDS_SIGN_SIGNED=Podepsaný
|
||||
IDS_SIGN_UNSIGNED=Nepodepsaný
|
||||
IDS_GROUP_ALLOWED=Aplikace s přístupem k internetu
|
||||
IDS_GROUP_BLOCKED=Aplikace bez přístupu k internetu
|
||||
IDS_GROUP_ENABLED=Povolená pravidla
|
||||
IDS_GROUP_DISABLED=Zakázaná pravidla
|
||||
IDS_DIRECTION_1=Odchozí
|
||||
IDS_DIRECTION_2=Příchozí
|
||||
IDS_DIRECTION_3=Obě
|
||||
IDS_ACTION_ALLOW=Povolit
|
||||
IDS_ACTION_BLOCK=Blokovat
|
||||
IDS_ENABLE_CHK=Povolit pravidlo
|
||||
IDS_WIKI=Pomoc
|
||||
IDS_SAVE=Uložit
|
||||
IDS_CLOSE=Zavřít
|
||||
IDS_SETTINGS_GENERAL=Všeobecné
|
||||
IDS_TITLE_GENERAL=Obecná konfigurace
|
||||
IDS_TITLE_LANGUAGE=Jazyk
|
||||
IDS_TITLE_CONFIRMATIONS=Potvrzení
|
||||
IDS_TITLE_INTERFACE=Rozhraní
|
||||
IDS_TITLE_HIGHLIGHTING=Zvýraznění
|
||||
IDS_TITLE_LOGGING=Protokol paketů
|
||||
IDS_TITLE_NOTIFICATIONS=Oznámení
|
||||
IDS_TITLE_ADVANCED=Pokročilý
|
||||
IDS_ALWAYSONTOP_CHK=Program Simplewall vždy na vrchu
|
||||
IDS_LOADONSTARTUP_CHK=Spustit Simplewall při startu systému
|
||||
IDS_STARTMINIMIZED_CHK=Startovat minimalizovaně
|
||||
IDS_SHOWFILENAMESONLY_CHK=Zobrazit pouze názvy souborů
|
||||
IDS_AUTOSIZECOLUMNS_CHK=Automatická velikost sloupců
|
||||
IDS_SKIPUACWARNING_CHK=Přeskočit upozornění „Řízení uživatelských účtů“.
|
||||
IDS_CHECKUPDATES_CHK=Pravidelně kontrolovat aktualizace (doporučeno)
|
||||
IDS_LANGUAGE_HINT=Vyber jazyk:
|
||||
IDS_USESTEALTHMODE_CHK=Zabránit skenování portů
|
||||
IDS_USESTEALTHMODE_HINT=Zabránit skenování portů TCP tichým zrušením skenování portů TCP RST a UDP tím, že na odchozí ICMP odpovíte „Cíl nedosažitelný“.
|
||||
IDS_INSTALLBOOTTIMEFILTERS_CHK=Povolit filtry při spuštění
|
||||
IDS_INSTALLBOOTTIMEFILTERS_HINT=Zabraňte úniku dat během spouštění systému, ještě před spuštěním služby „Služba BFE (Base Filtering Engine)“ (BFE).
|
||||
IDS_USECERTIFICATES_CHK=Zkontroluje aplikace pro digitální podpisy
|
||||
IDS_USENETWORKRESOLUTION_CHK=Překládat IP adresy na DNS jména
|
||||
IDS_DISABLEWINDOWSFIREWALL_CHK=Zakázat bránu Windows Firewall
|
||||
IDS_ENABLEWINDOWSFIREWALL_CHK=Povolit bránu Windows Firewall
|
||||
IDS_CONFIRMEXIT_CHK=Při ukončení Simplewall zobrazit dialog pro potvrzení
|
||||
IDS_CONFIRMEXITTIMER_CHK=Zobrazit potvrzení při ukončení Simplewall, když jsou časovače aktivní
|
||||
IDS_CONFIRMLOGCLEAR_CHK=Potvrzení při mazání souboru protokolu
|
||||
IDS_COLORS_HINT=Poklepáním na položku ji změníte.
|
||||
IDS_ENABLELOG_CHK=Povolit protokolování paketů do souboru
|
||||
IDS_LOGSHOW=Ukázat log soubor
|
||||
IDS_LOGCLEAR=Vyčistit log soubor
|
||||
IDS_LOGSIZELIMIT_HINT=Maximální velikost log souboru: (kB)
|
||||
IDS_ENABLENOTIFICATIONS_CHK=Povolit notifikace paketů
|
||||
IDS_NOTIFICATIONSOUND_CHK=Povolit zvuk upozornění
|
||||
IDS_NOTIFICATIONTIMEOUT_HINT=Časový limit mezi podobnými oznámeními (s):
|
||||
IDS_NOTIFY_TOOLTIP=Nastavit uživatelské pravidlo pro povolení přístupu k adrese nebo portu pro tuto aplikaci.
|
||||
IDS_QUESTION=Jste si jistý?
|
||||
IDS_QUESTION_DELETE=Smazat vybrané položky?
|
||||
IDS_QUESTION_START=To odepře přístup k síti aplikacím definovaným aktuální konfigurací. Pokračovat?
|
||||
IDS_QUESTION_STOP=Tím obnovíte přístup k síti pro všechny aplikace, které jsou aktuálně blokovány. Pokračovat?
|
||||
IDS_QUESTION_EXIT=Nainstalované filtry budou fungovat i po ukončení. Pokračovat?
|
||||
IDS_QUESTION_TIMER=Časovače aktivovány. Časovače budou fungovat pouze při spuštěné aplikaci. Ukončit?
|
||||
IDS_QUESTION_TIMERS=Smazat všechny časovače?
|
||||
IDS_QUESTION_FLAG_CHK=Neptej se znovu
|
||||
IDS_STATUS_EMPTY=Prázdný.
|
||||
IDS_STATUS_SYNTAX_ERROR=Chyba syntaxe v pravidle!
|
||||
IDS_ADDRESS_LOCAL=Zdroj
|
||||
IDS_ADDRESS_REMOTE=Cíl
|
||||
IDS_UPDATE_ERROR=Chyba připojení k Update serveru.
|
||||
IDS_UPDATE_DOWNLOAD=Stahuji aktualizaci...
|
||||
IDS_UPDATE_DONE=Stahování aktualizace dokončena.
|
||||
IDS_GROUP_SPECIAL_APPS=Aplikace s uživatelskými pravidly
|
||||
IDS_RULE_ALLOWLOOPBACK_HINT=Toto umožňí veškerý provoz na loopback.
|
||||
IDS_RESET=Resetovat
|
||||
IDS_EXCLUDESTEALTH_CHK=připojení skeneru portů
|
||||
IDS_EXCLUDEBLOCKLIST_CHK=seznam blokovaných
|
||||
IDS_UPDATE_INIT=Kontroluji dostupnost nové verze...
|
||||
IDS_UPDATE_INSTALL=Je k dispozici aktualizace. Chcete ji nyní nainstalovat?
|
||||
IDS_EXCLUDECUSTOM_CHK=uživatelská pravidla
|
||||
IDS_EXCLUDECLASSIFYALLOW_CHK=povolená spojení
|
||||
IDS_STATUS_TIMER_DONE=Časovač pro aplikaci vypršel
|
||||
IDS_ICONSEXTRALARGE=Extra velké
|
||||
IDS_STATUS_UNUSED_APPS=Nepoužité aplikace
|
||||
IDS_STATUS_TIMER_APPS=Aplikace s časovačem
|
||||
IDS_SECUREFILTERS_CHK=Povolit ochranu nainstalovaných filtrů
|
||||
IDS_SECUREFILTERS_HINT=Zabraňte neoprávněným aplikacím v přístupu k nainstalovaným filtrům.
|
||||
IDS_USEREFRESHDEVICES_CHK=Obnovte filtry, když jsou připojena (úložná) zařízení
|
||||
IDS_RULE_ALLOW6TO4=Povolit přesměrování IPv6 (6to4) pro vše
|
||||
IDS_RECOMMENDED=doporučeno
|
||||
IDS_ICONSISTABLEVIEW=Zobrazit jako tabulku
|
||||
IDS_ACTION_ALLOW_HINT=Povolit přístup k síti navždy
|
||||
IDS_ACTION_BLOCK_HINT=Zakázat přístup k síti navždy
|
||||
IDS_ACTION_LATER_HINT=Ignorovat a zeptat se mě příště
|
||||
IDS_RULE_APPLY_2=Použijte "%s" pro tuto aplikaci
|
||||
IDS_EDITRULES=Upravit pravidla
|
||||
IDS_TAB_APPS=Aplikace
|
||||
IDS_TAB_SERVICES=Služby
|
||||
IDS_TAB_PACKAGES=Nativní Windows aplikace
|
||||
IDS_TAB_NETWORK=Aktuální síťová připojení
|
||||
IDS_STATE=Stav
|
||||
IDS_STATUS_FILTERS_ACTIVE=Filtry jsou povoleny.
|
||||
IDS_STATUS_FILTERS_INACTIVE=Filtry jsou zakázány!
|
||||
IDS_STATUS_FILTERS_PROCESSING=Aplikuji filtry
|
||||
IDS_HIGHLIGHT_CONNECTION=Má připojení k síti
|
||||
IDS_SHOWINLIST=Zobrazit v seznamu
|
||||
IDS_BLOCKLIST_SPY=Microsoft špionáž a telemetrie
|
||||
IDS_BLOCKLIST_UPDATE=Microsoft aktualizace
|
||||
IDS_BLOCKLIST_EXTRA=Microsoft aplikace
|
||||
IDS_PORT=Port
|
||||
IDS_NOTIFY_TITLE=Upozornění sítě
|
||||
IDS_NOTIFY_HEADER=Síťové připojení bylo zablokováno
|
||||
IDS_DISABLE=Zakázat
|
||||
IDS_TITLE_SECURITY=Bezpečnost
|
||||
IDS_LOGVIEWER_HINT=Aplikace pro prohlížení protokolů
|
||||
IDS_NOTIFICATIONONTRAY_CHK=Zobrazit oznamovací okno na liště
|
||||
IDS_NETWORK_CLOSE=Uzavřít spojení
|
||||
IDS_RULE_BLOCKOUTBOUND=Blokovat odchozí připojení pro vše
|
||||
IDS_RULE_BLOCKINBOUND=Blokovat příchozí připojení pro vše
|
||||
IDS_VIEW_ICON=Ikony
|
||||
IDS_VIEW_DETAILS=Detaily
|
||||
IDS_VIEW_TILE=Dlaždice
|
||||
IDS_RULE_HINT=Pokud necháte pole prázdná, pravidlo bude použito pro jakoukoli adresu a port.
|
||||
IDS_RULE_APPS_HINT=Pokud nejsou vybrány žádné aplikace, pravidlo se použije pro všechny aplikace.
|
||||
IDS_STATUS_FILTERS_ACTIVE_TEMP=Filtry jsou povoleny až do restartu.
|
||||
IDS_INSTALL_PERMANENT=Stálá pravidla. Pravidla fungují, dokud je ručně nezakážete.
|
||||
IDS_INSTALL_TEMPORARY=Dočasná pravidla. Pravidla se resetují po příštím restartu.
|
||||
IDS_ENABLEUILOG_CHK=Povolit rozhraní protokolování paketů
|
||||
IDS_NOTIFICATIONFULLSCREENSILENTMODE_CHK=Povolit tichý režim
|
||||
IDS_TITLE_TRAY=Ikona v liště
|
||||
IDS_TRAYICONSINGLECLICK_CHK=Jeden klik pro otevření ikony na hlavním panelu
|
||||
IDS_ENABLE_APP_CHK=Povolit přístup k síti
|
||||
IDS_APP_HINT=Není důvod nastavovat nějaké povolující pravidlo pro aplikaci s již povoleným přístupem k internetu.
|
||||
IDS_HOST=Host
|
||||
IDS_CONFIRMALLOW_CHK=Potvzení při povolení aplikace
|
||||
IDS_QUESTION_ALLOW=Opravdu chcete této aplikaci povolit úplný přístup k internetu?
|
||||
IDS_SHOWSEARCHBAR_CHK=Zobrazit vyhledávací lištu
|
||||
IDS_LAYER=Vrstva
|
||||
IDS_RULE_ALLOWWINDOWSUPDATE=Povolit Windows aktualizace
|
||||
IDS_ACTION_TERMINATE_HINT=Ukončit proces
|
||||
IDS_PROFILE_TYPE=Typ profilu
|
||||
IDS_USEAPPMONITOR_CHK=Sledovat změny aplikací
|
||||
IDS_DISABLEREMOVAL=Vypnout odebrání
|
||||
IDS_USEHASHES_CHK=Kontroluj aplikace na sha-256 hash
|
||||
IDS_COMMENT=Komentáře
|
||||
IDS_USEDARKTHEME=Použij tmavý vzhled
|
||||
IDS_KEEPUNUSED_CHK=Pamatuj si nepoužívané aplikace
|
||||
IDS_UPDATE_NO=Není k dispozici žádná aktualizace.
|
||||
IDS_UPDATE_YES=AKtualizace je k dispozici. Stáhnout a instalovat nyní?
|
||||
IDS_UPDATE_SPEED=Rychlost
|
||||
IDS_RULE_FOR_ALL=Pro všechny
|
||||
IDS_RULE_FOR_APPS=Pro aplikace
|
||||
IDS_PROFILE_TYPE_PLAIN=Prostý
|
||||
IDS_PROFILE_TYPE_COMPRESSED=Komprimovaný
|
||||
IDS_PROFILE_TYPE_ENCRYPTED=Šifrovaný
|
||||
IDS_SESSION_ONLY=Pouze na toto sezení
|
||||
IDS_LIMIT_REACHED=Limit dosažen.
|
||||
IDS_INTERNAL_RULE=Interní pravidlo
|
||||
IDS_LOADING=Nahrávám...
|
||||
IDS_DIRECTION_REMOTE=Vzdálený
|
||||
IDS_DIRECTION_LOCAL=Lokální
|
||||
IDS_WARNING_UNEXPECTED=Be careful, through service/driver host (svchost.exe/System) internet traffic can let out through unexpected ways. Continue?
|
||||
IDS_WARNING_ME=If you disallow main process, you cannot use resolve network addresses option. Continue?
|
||||
IDS_TOTAL=Total
|
||||
IDS_ALLOWIPFORWARDING_CHK=Allow IP forwarding
|
||||
IDS_EXCLUDEINBOUND_CHK=inbound multicast/broadcast
|
||||
IDS_CONNECTIONS_ENABLE=Enable connections monitoring
|
||||
IDS_CONNECTIONS_SHOWAITCONNECTIONS=Show waiting connections
|
||||
IDS_CONNECTIONS_MEASUREUDPTRAFFIC=Measure UDP/QUIC traffic (experimental, restart required)
|
||||
IDS_UDP_ACCOUNTING=UDP (including QUIC): ETW bytes since this socket was first monitored.
|
||||
IDS_UDP_UNAVAILABLE=UDP measurement unavailable or incomplete. Restart simplewall to retry. Error
|
||||
IDS_UDP_PENDING=UDP: no verified measurement yet. Sockets opened before monitoring must be reopened.
|
||||
@@ -0,0 +1,240 @@
|
||||
; Serbian Cyrillic
|
||||
; Prevod: Adeii Schkartowsky (https://github.com/adeii), Radoš Milićev (https://github.com/rammba)
|
||||
|
||||
[Serbian (Cyrillic)]
|
||||
IDS_TITLE_EXCLUDE=Искључи
|
||||
IDS_FILE=Фајл
|
||||
IDS_SETTINGS=Подешавања
|
||||
IDS_EXIT=Излаз
|
||||
IDS_EDIT=Уреди
|
||||
IDS_PURGE_UNUSED=Уклони неупотребљене апликације
|
||||
IDS_PURGE_TIMERS=Уклони све тајмере
|
||||
IDS_FIND=Претражи
|
||||
IDS_REFRESH=Освежи
|
||||
IDS_VIEW=Приказ
|
||||
IDS_ICONS=Иконице
|
||||
IDS_ICONSSMALL=Мало
|
||||
IDS_ICONSLARGE=Велико
|
||||
IDS_ICONSISHIDDEN=Не приказуј иконице
|
||||
IDS_LANGUAGE=Језик
|
||||
IDS_FONT=Фонт
|
||||
IDS_HELP=Помоћ
|
||||
IDS_WEBSITE=Веб-сајт
|
||||
IDS_CHECKUPDATES=Провери ажурирања
|
||||
IDS_DONATE=Захвали се!
|
||||
IDS_ABOUT=О ...
|
||||
IDS_TRAY_SHOW=Прикажи / Сакриј
|
||||
IDS_TRAY_START=Омогући филтере
|
||||
IDS_TRAY_STOP=Онемогући филтере
|
||||
IDS_TRAY_RULES=Правила
|
||||
IDS_TRAY_BLOCKLIST_RULES=Блок листа
|
||||
IDS_TRAY_SYSTEM_RULES=Системска правила
|
||||
IDS_TRAY_USER_RULES=Корисничка правила
|
||||
IDS_TRAY_LOGERR=Логови грешака
|
||||
IDS_ADD_FILE=Додај фајл
|
||||
IDS_ANY=Било шта
|
||||
IDS_DISABLENOTIFICATIONS=Онемогући нотификације
|
||||
IDS_OPENRULESEDITOR=Креирај правило
|
||||
IDS_TIMER=Тајмер
|
||||
IDS_DISABLETIMER=Онемогући тајмер
|
||||
IDS_EXPLORE=Отвори фолдер
|
||||
IDS_COPY=Копирај
|
||||
IDS_SELECT_ALL=Изабери све
|
||||
IDS_CHECK=Омогући изабрано
|
||||
IDS_UNCHECK=Онемогући изабрано
|
||||
IDS_ADD=Додај
|
||||
IDS_EDIT2=Уреди
|
||||
IDS_DELETE=Обриши
|
||||
IDS_EXPORT=Извези
|
||||
IDS_IMPORT=Увези
|
||||
IDS_RULE_ALLOWLOOPBACK=Дозволи повратне конекције за све
|
||||
IDS_HIGHLIGHT_INVALID=Невалидно (фајл не постоји / проблем са филтером)
|
||||
IDS_HIGHLIGHT_NETWORK=Апликација из дељене мреже
|
||||
IDS_HIGHLIGHT_PICO=Pico апликација
|
||||
IDS_HIGHLIGHT_SIGNED=Потписана апликација
|
||||
IDS_HIGHLIGHT_SILENT=Нотификације су онемогућене
|
||||
IDS_HIGHLIGHT_SPECIAL=Корисничка правила
|
||||
IDS_HIGHLIGHT_SYSTEM=Системска апликација
|
||||
IDS_GROUP_TIMER=Апликације за тајмер
|
||||
IDS_EDITOR=Уредник правила
|
||||
IDS_NAME=Назив
|
||||
IDS_RULE=Правило
|
||||
IDS_PORTVERSION=Породица (само за портове)
|
||||
IDS_PROTOCOL=Протокол
|
||||
IDS_DIRECTION=Смер
|
||||
IDS_ACTION=Акција
|
||||
IDS_DATE=Датум
|
||||
IDS_FILEPATH=Путања
|
||||
IDS_SIGNATURE=Потпис
|
||||
IDS_ADDRESS=Адреса
|
||||
IDS_FILTER=Филтер
|
||||
IDS_NOTES=Напомене
|
||||
IDS_ADDED=Додато
|
||||
IDS_TIMELEFT=Преостало време
|
||||
IDS_SIGN_SIGNED=Потписано
|
||||
IDS_SIGN_UNSIGNED=Није потписано
|
||||
IDS_GROUP_ALLOWED=Апликације са приступом интернету
|
||||
IDS_GROUP_BLOCKED=Апликације без приступа интернету
|
||||
IDS_GROUP_ENABLED=Омогућена правила
|
||||
IDS_GROUP_DISABLED=Онемогућена правила
|
||||
IDS_DIRECTION_1=Одлазно
|
||||
IDS_DIRECTION_2=Долазно
|
||||
IDS_DIRECTION_3=Оба
|
||||
IDS_ACTION_ALLOW=Дозволи
|
||||
IDS_ACTION_BLOCK=Блокирај
|
||||
IDS_ENABLE_CHK=Омогући правило
|
||||
IDS_WIKI=Помоћ
|
||||
IDS_SAVE=Сачувај
|
||||
IDS_CLOSE=Затвори
|
||||
IDS_SETTINGS_GENERAL=Опште
|
||||
IDS_TITLE_GENERAL=Општа конфигурација
|
||||
IDS_TITLE_LANGUAGE=Језик
|
||||
IDS_TITLE_CONFIRMATIONS=Потврде
|
||||
IDS_TITLE_INTERFACE=Интерфејс
|
||||
IDS_TITLE_HIGHLIGHTING=Истицање
|
||||
IDS_TITLE_LOGGING=Логови пакета
|
||||
IDS_TITLE_NOTIFICATIONS=Нотификације
|
||||
IDS_TITLE_ADVANCED=Напредно
|
||||
IDS_ALWAYSONTOP_CHK=Увек на врху
|
||||
IDS_LOADONSTARTUP_CHK=Учитавање приликом покретања система
|
||||
IDS_STARTMINIMIZED_CHK=Покрени смањено
|
||||
IDS_SHOWFILENAMESONLY_CHK=Прикажи само имена фајлова
|
||||
IDS_AUTOSIZECOLUMNS_CHK=Прилагоди величину колона
|
||||
IDS_SKIPUACWARNING_CHK=Прескочи "Контролу корисничког налога"
|
||||
IDS_CHECKUPDATES_CHK=Повремено проверавајте ажурирања (препорука)
|
||||
IDS_LANGUAGE_HINT=Изаберите језик:
|
||||
IDS_USESTEALTHMODE_CHK=Спречи скенирање портова
|
||||
IDS_USESTEALTHMODE_HINT=Спречавање скенирања TCP порта тихим пуштањем долазног TCP RST-а и UDP скенирања одговором на одлазни ICMP са "Destination Unreachable".
|
||||
IDS_INSTALLBOOTTIMEFILTERS_CHK=Омогући филтере за покретање система
|
||||
IDS_INSTALLBOOTTIMEFILTERS_HINT=Спречавање цурења података пре покретања система, чак и пре покретања "Base Filtering Engine" (BFE).
|
||||
IDS_USECERTIFICATES_CHK=Провера дигиталних потписа апликације
|
||||
IDS_USENETWORKRESOLUTION_CHK=Реши мрежне адресе
|
||||
IDS_DISABLEWINDOWSFIREWALL_CHK=Онемогући Windows Firewall
|
||||
IDS_ENABLEWINDOWSFIREWALL_CHK=Омогући Windows Firewall
|
||||
IDS_CONFIRMEXIT_CHK=Потврда затварања апликације
|
||||
IDS_CONFIRMEXITTIMER_CHK=Потврда затварања апликације док су тајмери активни
|
||||
IDS_CONFIRMLOGCLEAR_CHK=Потврда брисања фајла са логовима
|
||||
IDS_COLORS_HINT=Кликните двапут да бисте уредили.
|
||||
IDS_ENABLELOG_CHK=Омогући логовање пакета у фајл
|
||||
IDS_LOGSHOW=Прикажи логове
|
||||
IDS_LOGCLEAR=Обриши логове
|
||||
IDS_LOGSIZELIMIT_HINT=Максимална величина: (kB)
|
||||
IDS_ENABLENOTIFICATIONS_CHK=Омогући информације о пакетима
|
||||
IDS_NOTIFICATIONSOUND_CHK=Омогући звук нотификација
|
||||
IDS_NOTIFICATIONTIMEOUT_HINT=Временски размак између сличних нотификација (сек.):
|
||||
IDS_NOTIFY_TOOLTIP=Поставите корисничко правило за дозволу приступа адреси и/или порту за ову апликацију.
|
||||
IDS_QUESTION=Да ли сте сигурни?
|
||||
IDS_QUESTION_DELETE=Уклони елемемент(е)?
|
||||
IDS_QUESTION_START=Ово ће апликацијама забранити приступ мрежи у складу са тренутном конфигурацијом. Настави?
|
||||
IDS_QUESTION_STOP=Ово ће свим блокираним апликацијама вратити приступ мрежи. Настави?
|
||||
IDS_QUESTION_EXIT=Инсталирани филтери ће наставити са радом и кад затворите програм. Настави?
|
||||
IDS_QUESTION_TIMER=Активирани тајмер(и). Тајмери раде само док ради апликација. Изађи?
|
||||
IDS_QUESTION_TIMERS=Обриши све тајмере?
|
||||
IDS_QUESTION_FLAG_CHK=Не питај поново
|
||||
IDS_STATUS_EMPTY=Празно.
|
||||
IDS_STATUS_SYNTAX_ERROR=Правило садржи синтаксну грешку!
|
||||
IDS_ADDRESS_LOCAL=Извор
|
||||
IDS_ADDRESS_REMOTE=Дестинација
|
||||
IDS_UPDATE_ERROR=Грешка при повезивању сервера за ажурирање.
|
||||
IDS_UPDATE_DOWNLOAD=Преузимање ажурирања...
|
||||
IDS_UPDATE_DONE=Преузимање ажурирања је завршено.
|
||||
IDS_GROUP_SPECIAL_APPS=Апликације са корисничким правилима
|
||||
IDS_RULE_ALLOWLOOPBACK_HINT=Дозвољава сав повратни саобраћај.
|
||||
IDS_RESET=Ресетуј
|
||||
IDS_EXCLUDESTEALTH_CHK=конекције скенера портова
|
||||
IDS_EXCLUDEBLOCKLIST_CHK=блок листа
|
||||
IDS_UPDATE_INIT=Провера нових издања...
|
||||
IDS_UPDATE_INSTALL=Доступно ажурирање, желите ли да га инсталирате?
|
||||
IDS_EXCLUDECUSTOM_CHK=корисничка правила
|
||||
IDS_EXCLUDECLASSIFYALLOW_CHK=дозвољене конекције
|
||||
IDS_STATUS_TIMER_DONE=Тајмер за апликацију је истекао
|
||||
IDS_ICONSEXTRALARGE=Огромно
|
||||
IDS_STATUS_UNUSED_APPS=Неупотребљене апликације
|
||||
IDS_STATUS_TIMER_APPS=Апликације са тајмером
|
||||
IDS_SECUREFILTERS_CHK=Омогући заштиту инсталираних филтера
|
||||
IDS_SECUREFILTERS_HINT=Спречи приступ инсталираним филтерима за неауторизоване апликације
|
||||
IDS_USEREFRESHDEVICES_CHK=Ажурирај филтере када су уређаји за чување повезани
|
||||
IDS_RULE_ALLOW6TO4=Дозволи IPv6 преусмеравање (6to4) за све
|
||||
IDS_RECOMMENDED=препоручено
|
||||
IDS_ICONSISTABLEVIEW=Прикажи као табелу
|
||||
IDS_ACTION_ALLOW_HINT=Заувек дозволи приступ мрежи
|
||||
IDS_ACTION_BLOCK_HINT=Заувек забрани приступ мрежи (док је Сунца)
|
||||
IDS_ACTION_LATER_HINT=Игнориши и питај ме поново
|
||||
IDS_RULE_APPLY_2=Примени "%s" за ову апликацију
|
||||
IDS_EDITRULES=Уреди правила
|
||||
IDS_TAB_APPS=Апликације
|
||||
IDS_TAB_SERVICES=Услуге
|
||||
IDS_TAB_PACKAGES=UWP апликације
|
||||
IDS_TAB_NETWORK=Конекције
|
||||
IDS_STATE=Статус
|
||||
IDS_STATUS_FILTERS_ACTIVE=Филтери су омогућени.
|
||||
IDS_STATUS_FILTERS_INACTIVE=Филтери су онемогућени!
|
||||
IDS_STATUS_FILTERS_PROCESSING=Примењивање филтера
|
||||
IDS_HIGHLIGHT_CONNECTION=Поседује мрежне конекције
|
||||
IDS_SHOWINLIST=Прикажи у листи
|
||||
IDS_BLOCKLIST_SPY=Microsoft шпијунирање и телеметрија
|
||||
IDS_BLOCKLIST_UPDATE=Microsoft ажурирање
|
||||
IDS_BLOCKLIST_EXTRA=Microsoft апликације
|
||||
IDS_PORT=Порт
|
||||
IDS_NOTIFY_TITLE=Хитно обавештење о мрежи
|
||||
IDS_NOTIFY_HEADER=Мрежна конекција је била блокирана
|
||||
IDS_DISABLE=Онемогући
|
||||
IDS_TITLE_SECURITY=Безбедност
|
||||
IDS_LOGVIEWER_HINT=Апликација за преглед логова
|
||||
IDS_NOTIFICATIONONTRAY_CHK=Прикажи прозор са нотификацијама на траци
|
||||
IDS_NETWORK_CLOSE=Затвори конекцију
|
||||
IDS_RULE_BLOCKOUTBOUND=Блокирај одлазне конекције за све
|
||||
IDS_RULE_BLOCKINBOUND=Блокирај долазне конекције за све
|
||||
IDS_VIEW_ICON=Иконице
|
||||
IDS_VIEW_DETAILS=Детаљи
|
||||
IDS_VIEW_TILE=Поља
|
||||
IDS_RULE_HINT=Ако оставите празна поља, правило ће бити примењено на све адресе и портове.
|
||||
IDS_RULE_APPS_HINT=Ако нема одабраних апликација, правило ће бити примењено на све апликације.
|
||||
IDS_STATUS_FILTERS_ACTIVE_TEMP=Филтери су омогућени до поновног покретања.
|
||||
IDS_INSTALL_PERMANENT=Стална правила. Правила функционишу док их не искључите.
|
||||
IDS_INSTALL_TEMPORARY=Привремена правила. Правила су ресетована након поновног покретања.
|
||||
IDS_ENABLEUILOG_CHK=Омогући интерфејс за логовање пакета
|
||||
IDS_NOTIFICATIONFULLSCREENSILENTMODE_CHK=Омогући тихи мод док је апликација отворена на целом екрану
|
||||
IDS_TITLE_TRAY=Иконица обавештења
|
||||
IDS_TRAYICONSINGLECLICK_CHK=Један клик на иконицу обавештења за отварање
|
||||
IDS_ENABLE_APP_CHK=Омогући приступ мрежи
|
||||
IDS_APP_HINT=Нема разлога за постављање правила за апликацију са већ дозвољеним приступом интернету.
|
||||
IDS_HOST=Хост
|
||||
IDS_CONFIRMALLOW_CHK=Потврди кад дозвољаваш апликацију
|
||||
IDS_QUESTION_ALLOW=Да ли сте сигурни да желите дозволити потпуни приступ интернету за ову апликацију?
|
||||
IDS_SHOWSEARCHBAR_CHK=Прикажи траку за претрагу
|
||||
IDS_LAYER=Слој
|
||||
IDS_RULE_ALLOWWINDOWSUPDATE=Дозволи ажурирање Windows-а
|
||||
IDS_ACTION_TERMINATE_HINT=Прекини процес
|
||||
IDS_PROFILE_TYPE=Тип профила
|
||||
IDS_USEAPPMONITOR_CHK=Прати промене апликација
|
||||
IDS_DISABLEREMOVAL=Онемогући уклањање
|
||||
IDS_USEHASHES_CHK=Провери апликације за sha-256 хеш
|
||||
IDS_COMMENT=Коментари
|
||||
IDS_USEDARKTHEME=Користи тамну тему
|
||||
IDS_KEEPUNUSED_CHK=Задржи неупотребљене апликације
|
||||
IDS_UPDATE_NO=Нема доступних ажурирања.
|
||||
IDS_UPDATE_YES=Ажурирање је доступно, преузмите и инсталирајте?
|
||||
IDS_UPDATE_SPEED=Брзина
|
||||
IDS_RULE_FOR_ALL=за све
|
||||
IDS_RULE_FOR_APPS=за апликације
|
||||
IDS_PROFILE_TYPE_PLAIN=Обично
|
||||
IDS_PROFILE_TYPE_COMPRESSED=Компресовано
|
||||
IDS_PROFILE_TYPE_ENCRYPTED=Енкриптовано
|
||||
IDS_SESSION_ONLY=само сесија
|
||||
IDS_LIMIT_REACHED=Достигнут је лимит.
|
||||
IDS_INTERNAL_RULE=Интерно правило
|
||||
IDS_LOADING=Учитавање...
|
||||
IDS_DIRECTION_REMOTE=Удаљено
|
||||
IDS_DIRECTION_LOCAL=Локално
|
||||
IDS_WARNING_UNEXPECTED=Буди опрезан, интернет саобраћај се може неочекивано одвијати путем хоста за услуге/драјвере (svchost.exe/System). Настави?
|
||||
IDS_WARNING_ME=Ако онемогућиш главни процес, нећеш моћи да користиш опцију за разрешавање мрежних адреса. Настави?
|
||||
IDS_TOTAL=Укупно
|
||||
IDS_ALLOWIPFORWARDING_CHK=Allow IP forwarding
|
||||
IDS_EXCLUDEINBOUND_CHK=долазни multicast/broadcast
|
||||
IDS_CONNECTIONS_ENABLE=Enable connections monitoring
|
||||
IDS_CONNECTIONS_SHOWAITCONNECTIONS=Show waiting connections
|
||||
IDS_CONNECTIONS_MEASUREUDPTRAFFIC=Measure UDP/QUIC traffic (experimental, restart required)
|
||||
IDS_UDP_ACCOUNTING=UDP (including QUIC): ETW bytes since this socket was first monitored.
|
||||
IDS_UDP_UNAVAILABLE=UDP measurement unavailable or incomplete. Restart simplewall to retry. Error
|
||||
IDS_UDP_PENDING=UDP: no verified measurement yet. Sockets opened before monitoring must be reopened.
|
||||
@@ -0,0 +1,240 @@
|
||||
; Serbian Latin
|
||||
; Prevod: Adeii Schkartowsky (https://github.com/adeii), Radoš Milićev (https://github.com/rammba)
|
||||
|
||||
[Serbian (Latin)]
|
||||
IDS_TITLE_EXCLUDE=Isključi
|
||||
IDS_FILE=Fajl
|
||||
IDS_SETTINGS=Podešavanja
|
||||
IDS_EXIT=Izlaz
|
||||
IDS_EDIT=Uredi
|
||||
IDS_PURGE_UNUSED=Ukloni neupotrebljene aplikacije
|
||||
IDS_PURGE_TIMERS=Ukloni sve tajmere
|
||||
IDS_FIND=Pretraži
|
||||
IDS_REFRESH=Osveži
|
||||
IDS_VIEW=Prikaz
|
||||
IDS_ICONS=Ikonice
|
||||
IDS_ICONSSMALL=Malo
|
||||
IDS_ICONSLARGE=Veliko
|
||||
IDS_ICONSISHIDDEN=Ne prikazuj ikonice
|
||||
IDS_LANGUAGE=Jezik
|
||||
IDS_FONT=Font
|
||||
IDS_HELP=Pomoć
|
||||
IDS_WEBSITE=Veb-sajt
|
||||
IDS_CHECKUPDATES=Proveri ažuriranja
|
||||
IDS_DONATE=Zahvali se!
|
||||
IDS_ABOUT=O ...
|
||||
IDS_TRAY_SHOW=Prikaži / Sakrij
|
||||
IDS_TRAY_START=Omogući filtere
|
||||
IDS_TRAY_STOP=Onemogući filtere
|
||||
IDS_TRAY_RULES=Pravila
|
||||
IDS_TRAY_BLOCKLIST_RULES=Blok lista
|
||||
IDS_TRAY_SYSTEM_RULES=Sistemska pravila
|
||||
IDS_TRAY_USER_RULES=Korisnička pravila
|
||||
IDS_TRAY_LOGERR=Logovi grešaka
|
||||
IDS_ADD_FILE=Dodaj fajl
|
||||
IDS_ANY=Bilo šta
|
||||
IDS_DISABLENOTIFICATIONS=Onemogući notifikacije
|
||||
IDS_OPENRULESEDITOR=Kreiraj pravilo
|
||||
IDS_TIMER=Tajmer
|
||||
IDS_DISABLETIMER=Onemogući tajmer
|
||||
IDS_EXPLORE=Otvori folder
|
||||
IDS_COPY=Kopiraj
|
||||
IDS_SELECT_ALL=Izaberi sve
|
||||
IDS_CHECK=Omogući izabrano
|
||||
IDS_UNCHECK=Onemogući izabrano
|
||||
IDS_ADD=Dodaj
|
||||
IDS_EDIT2=Uredi
|
||||
IDS_DELETE=Obriši
|
||||
IDS_EXPORT=Izvezi
|
||||
IDS_IMPORT=Uvezi
|
||||
IDS_RULE_ALLOWLOOPBACK=Dozvoli povratne konekcije za sve
|
||||
IDS_HIGHLIGHT_INVALID=Nevalidno (fajl ne postoji / problem sa filterom)
|
||||
IDS_HIGHLIGHT_NETWORK=Aplikacija iz deljene mreže
|
||||
IDS_HIGHLIGHT_PICO=Pico aplikacija
|
||||
IDS_HIGHLIGHT_SIGNED=Potpisana aplikacija
|
||||
IDS_HIGHLIGHT_SILENT=Notifikacije su onemogućene
|
||||
IDS_HIGHLIGHT_SPECIAL=Korisnička pravila
|
||||
IDS_HIGHLIGHT_SYSTEM=Sistemska aplikacija
|
||||
IDS_GROUP_TIMER=Aplikacije za tajmer
|
||||
IDS_EDITOR=Urednik pravila
|
||||
IDS_NAME=Naziv
|
||||
IDS_RULE=Pravilo
|
||||
IDS_PORTVERSION=Porodica (samo za portove)
|
||||
IDS_PROTOCOL=Protokol
|
||||
IDS_DIRECTION=Smer
|
||||
IDS_ACTION=Akcija
|
||||
IDS_DATE=Datum
|
||||
IDS_FILEPATH=Putanja
|
||||
IDS_SIGNATURE=Potpis
|
||||
IDS_ADDRESS=Adresa
|
||||
IDS_FILTER=Filter
|
||||
IDS_NOTES=Napomene
|
||||
IDS_ADDED=Dodato
|
||||
IDS_TIMELEFT=Preostalo vreme
|
||||
IDS_SIGN_SIGNED=Potpisano
|
||||
IDS_SIGN_UNSIGNED=Nije potpisano
|
||||
IDS_GROUP_ALLOWED=Aplikacije sa pristupom internetu
|
||||
IDS_GROUP_BLOCKED=Aplikacije bez pristupa internetu
|
||||
IDS_GROUP_ENABLED=Omogućena pravila
|
||||
IDS_GROUP_DISABLED=Onemogućena pravila
|
||||
IDS_DIRECTION_1=Odlazno
|
||||
IDS_DIRECTION_2=Dolazno
|
||||
IDS_DIRECTION_3=Oba
|
||||
IDS_ACTION_ALLOW=Dozvoli
|
||||
IDS_ACTION_BLOCK=Blokiraj
|
||||
IDS_ENABLE_CHK=Omogući pravilo
|
||||
IDS_WIKI=Pomoć
|
||||
IDS_SAVE=Sačuvaj
|
||||
IDS_CLOSE=Zatvori
|
||||
IDS_SETTINGS_GENERAL=Opšte
|
||||
IDS_TITLE_GENERAL=Opšta konfiguracija
|
||||
IDS_TITLE_LANGUAGE=Jezik
|
||||
IDS_TITLE_CONFIRMATIONS=Potvrde
|
||||
IDS_TITLE_INTERFACE=Interfejs
|
||||
IDS_TITLE_HIGHLIGHTING=Isticanje
|
||||
IDS_TITLE_LOGGING=Logovi paketa
|
||||
IDS_TITLE_NOTIFICATIONS=Notifikacije
|
||||
IDS_TITLE_ADVANCED=Napredno
|
||||
IDS_ALWAYSONTOP_CHK=Uvek na vrhu
|
||||
IDS_LOADONSTARTUP_CHK=Učitavanje prilikom pokretanja sistema
|
||||
IDS_STARTMINIMIZED_CHK=Pokreni smanjeno
|
||||
IDS_SHOWFILENAMESONLY_CHK=Prikaži samo imena fajlova
|
||||
IDS_AUTOSIZECOLUMNS_CHK=Prilagodi veličinu kolona
|
||||
IDS_SKIPUACWARNING_CHK=Preskoči "Kontrolu korisničkog naloga"
|
||||
IDS_CHECKUPDATES_CHK=Povremeno proveravajte ažuriranja (preporuka)
|
||||
IDS_LANGUAGE_HINT=Izaberite jezik:
|
||||
IDS_USESTEALTHMODE_CHK=Spreči skeniranje portova
|
||||
IDS_USESTEALTHMODE_HINT=Sprečavanje skeniranja TCP porta tihim puštanjem dolaznog TCP RST-a i UDP skeniranja odgovorom na odlazni ICMP sa "Destination Unreachable".
|
||||
IDS_INSTALLBOOTTIMEFILTERS_CHK=Omogući filtere za pokretanje sistema
|
||||
IDS_INSTALLBOOTTIMEFILTERS_HINT=Sprečavanje curenja podataka pre pokretanja sistema, čak i pre pokretanja "Base Filtering Engine" (BFE).
|
||||
IDS_USECERTIFICATES_CHK=Provera digitalnih potpisa aplikacije
|
||||
IDS_USENETWORKRESOLUTION_CHK=Reši mrežne adrese
|
||||
IDS_DISABLEWINDOWSFIREWALL_CHK=Onemogući Windows Firewall
|
||||
IDS_ENABLEWINDOWSFIREWALL_CHK=Omogući Windows Firewall
|
||||
IDS_CONFIRMEXIT_CHK=Potvrda zatvaranja aplikacije
|
||||
IDS_CONFIRMEXITTIMER_CHK=Potvrda zatvaranja aplikacije dok su tajmeri aktivni
|
||||
IDS_CONFIRMLOGCLEAR_CHK=Potvrda brisanja fajla sa logovima
|
||||
IDS_COLORS_HINT=Kliknite dvaput da biste uredili.
|
||||
IDS_ENABLELOG_CHK=Omogući logovanje paketa u fajl
|
||||
IDS_LOGSHOW=Prikaži logove
|
||||
IDS_LOGCLEAR=Obriši logove
|
||||
IDS_LOGSIZELIMIT_HINT=Maksimalna veličina: (kB)
|
||||
IDS_ENABLENOTIFICATIONS_CHK=Omogući informacije o paketima
|
||||
IDS_NOTIFICATIONSOUND_CHK=Omogući zvuk notifikacija
|
||||
IDS_NOTIFICATIONTIMEOUT_HINT=Vremenski razmak između sličnih notifikacija (sek.):
|
||||
IDS_NOTIFY_TOOLTIP=Postavite korisničko pravilo za dozvolu pristupa adresi i/ili portu za ovu aplikaciju.
|
||||
IDS_QUESTION=Da li ste sigurni?
|
||||
IDS_QUESTION_DELETE=Ukloni elemement(e)?
|
||||
IDS_QUESTION_START=Ovo će aplikacijama zabraniti pristup mreži u skladu sa trenutnom konfiguracijom. Nastavi?
|
||||
IDS_QUESTION_STOP=Ovo će svim blokiranim aplikacijama vratiti pristup mreži. Nastavi?
|
||||
IDS_QUESTION_EXIT=Instalirani filteri će nastaviti sa radom i kad zatvorite program. Nastavi?
|
||||
IDS_QUESTION_TIMER=Aktivirani tajmer(i). Tajmeri rade samo dok radi aplikacija. Izađi?
|
||||
IDS_QUESTION_TIMERS=Obriši sve tajmere?
|
||||
IDS_QUESTION_FLAG_CHK=Ne pitaj ponovo
|
||||
IDS_STATUS_EMPTY=Prazno.
|
||||
IDS_STATUS_SYNTAX_ERROR=Pravilo sadrži sintaksnu grešku!
|
||||
IDS_ADDRESS_LOCAL=Izvor
|
||||
IDS_ADDRESS_REMOTE=Destinacija
|
||||
IDS_UPDATE_ERROR=Greška pri povezivanju servera za ažuriranje.
|
||||
IDS_UPDATE_DOWNLOAD=Preuzimanje ažuriranja...
|
||||
IDS_UPDATE_DONE=Preuzimanje ažuriranja je završeno.
|
||||
IDS_GROUP_SPECIAL_APPS=Aplikacije sa korisničkim pravilima
|
||||
IDS_RULE_ALLOWLOOPBACK_HINT=Dozvoljava sav povratni saobraćaj.
|
||||
IDS_RESET=Resetuj
|
||||
IDS_EXCLUDESTEALTH_CHK=konekcije skenera portova
|
||||
IDS_EXCLUDEBLOCKLIST_CHK=blok lista
|
||||
IDS_UPDATE_INIT=Provera novih izdanja...
|
||||
IDS_UPDATE_INSTALL=Dostupno ažuriranje, želite li da ga instalirate?
|
||||
IDS_EXCLUDECUSTOM_CHK=korisnička pravila
|
||||
IDS_EXCLUDECLASSIFYALLOW_CHK=dozvoljene konekcije
|
||||
IDS_STATUS_TIMER_DONE=Tajmer za aplikaciju je istekao
|
||||
IDS_ICONSEXTRALARGE=Ogromno
|
||||
IDS_STATUS_UNUSED_APPS=Neupotrebljene aplikacije
|
||||
IDS_STATUS_TIMER_APPS=Aplikacije sa tajmerom
|
||||
IDS_SECUREFILTERS_CHK=Omogući zaštitu instaliranih filtera
|
||||
IDS_SECUREFILTERS_HINT=Spreči pristup instaliranim filterima za neautorizovane aplikacije
|
||||
IDS_USEREFRESHDEVICES_CHK=Ažuriraj filtere kada su uređaji za čuvanje povezani
|
||||
IDS_RULE_ALLOW6TO4=Dozvoli IPv6 preusmeravanje (6to4) za sve
|
||||
IDS_RECOMMENDED=preporučeno
|
||||
IDS_ICONSISTABLEVIEW=Prikaži kao tabelu
|
||||
IDS_ACTION_ALLOW_HINT=Zauvek dozvoli pristup mreži
|
||||
IDS_ACTION_BLOCK_HINT=Zauvek zabrani pristup mreži (dok je Sunca)
|
||||
IDS_ACTION_LATER_HINT=Ignoriši i pitaj me ponovo
|
||||
IDS_RULE_APPLY_2=Primeni "%s" za ovu aplikaciju
|
||||
IDS_EDITRULES=Uredi pravila
|
||||
IDS_TAB_APPS=Aplikacije
|
||||
IDS_TAB_SERVICES=Usluge
|
||||
IDS_TAB_PACKAGES=UWP aplikacije
|
||||
IDS_TAB_NETWORK=Konekcije
|
||||
IDS_STATE=Status
|
||||
IDS_STATUS_FILTERS_ACTIVE=Filteri su omogućeni.
|
||||
IDS_STATUS_FILTERS_INACTIVE=Filteri su onemogućeni!
|
||||
IDS_STATUS_FILTERS_PROCESSING=Primenjivanje filtera
|
||||
IDS_HIGHLIGHT_CONNECTION=Poseduje mrežne konekcije
|
||||
IDS_SHOWINLIST=Prikaži u listi
|
||||
IDS_BLOCKLIST_SPY=Microsoft špijuniranje i telemetrija
|
||||
IDS_BLOCKLIST_UPDATE=Microsoft ažuriranje
|
||||
IDS_BLOCKLIST_EXTRA=Microsoft aplikacije
|
||||
IDS_PORT=Port
|
||||
IDS_NOTIFY_TITLE=Hitno obaveštenje o mreži
|
||||
IDS_NOTIFY_HEADER=Mrežna konekcija je bila blokirana
|
||||
IDS_DISABLE=Onemogući
|
||||
IDS_TITLE_SECURITY=Bezbednost
|
||||
IDS_LOGVIEWER_HINT=Aplikacija za pregled logova
|
||||
IDS_NOTIFICATIONONTRAY_CHK=Prikaži prozor sa notifikacijama na traci
|
||||
IDS_NETWORK_CLOSE=Zatvori konekciju
|
||||
IDS_RULE_BLOCKOUTBOUND=Blokiraj odlazne konekcije za sve
|
||||
IDS_RULE_BLOCKINBOUND=Blokiraj dolazne konekcije za sve
|
||||
IDS_VIEW_ICON=Ikonice
|
||||
IDS_VIEW_DETAILS=Detalji
|
||||
IDS_VIEW_TILE=Polja
|
||||
IDS_RULE_HINT=Ako ostavite prazna polja, pravilo će biti primenjeno na sve adrese i portove.
|
||||
IDS_RULE_APPS_HINT=Ako nema odabranih aplikacija, pravilo će biti primenjeno na sve aplikacije.
|
||||
IDS_STATUS_FILTERS_ACTIVE_TEMP=Filteri su omogućeni do ponovnog pokretanja.
|
||||
IDS_INSTALL_PERMANENT=Stalna pravila. Pravila funkcionišu dok ih ne isključite.
|
||||
IDS_INSTALL_TEMPORARY=Privremena pravila. Pravila su resetovana nakon ponovnog pokretanja.
|
||||
IDS_ENABLEUILOG_CHK=Omogući interfejs za logovanje paketa
|
||||
IDS_NOTIFICATIONFULLSCREENSILENTMODE_CHK=Omogući tihi mod dok je aplikacija otvorena na celom ekranu
|
||||
IDS_TITLE_TRAY=Ikonica obaveštenja
|
||||
IDS_TRAYICONSINGLECLICK_CHK=Jedan klik na ikonicu obaveštenja za otvaranje
|
||||
IDS_ENABLE_APP_CHK=Omogući pristup mreži
|
||||
IDS_APP_HINT=Nema razloga za postavljanje pravila za aplikaciju sa već dozvoljenim pristupom internetu.
|
||||
IDS_HOST=Host
|
||||
IDS_CONFIRMALLOW_CHK=Potvrdi kad dozvoljavaš aplikaciju
|
||||
IDS_QUESTION_ALLOW=Da li ste sigurni da želite dozvoliti potpuni pristup internetu za ovu aplikaciju?
|
||||
IDS_SHOWSEARCHBAR_CHK=Prikaži traku za pretragu
|
||||
IDS_LAYER=Sloj
|
||||
IDS_RULE_ALLOWWINDOWSUPDATE=Dozvoli ažuriranje Windows-a
|
||||
IDS_ACTION_TERMINATE_HINT=Prekini proces
|
||||
IDS_PROFILE_TYPE=Tip profila
|
||||
IDS_USEAPPMONITOR_CHK=Prati promene aplikacija
|
||||
IDS_DISABLEREMOVAL=Onemogući uklanjanje
|
||||
IDS_USEHASHES_CHK=Proveri aplikacije za sha-256 heš
|
||||
IDS_COMMENT=Komentari
|
||||
IDS_USEDARKTHEME=Koristi tamnu temu
|
||||
IDS_KEEPUNUSED_CHK=Zadrži neupotrebljene aplikacije
|
||||
IDS_UPDATE_NO=Nema dostupnih ažuriranja.
|
||||
IDS_UPDATE_YES=Ažuriranje je dostupno, preuzmite i instalirajte?
|
||||
IDS_UPDATE_SPEED=Brzina
|
||||
IDS_RULE_FOR_ALL=za sve
|
||||
IDS_RULE_FOR_APPS=za aplikacije
|
||||
IDS_PROFILE_TYPE_PLAIN=Obično
|
||||
IDS_PROFILE_TYPE_COMPRESSED=Kompresovano
|
||||
IDS_PROFILE_TYPE_ENCRYPTED=Enkriptovano
|
||||
IDS_SESSION_ONLY=samo sesija
|
||||
IDS_LIMIT_REACHED=Dostignut je limit.
|
||||
IDS_INTERNAL_RULE=Interno pravilo
|
||||
IDS_LOADING=Učitavanje...
|
||||
IDS_DIRECTION_REMOTE=Udaljeno
|
||||
IDS_DIRECTION_LOCAL=Lokalno
|
||||
IDS_WARNING_UNEXPECTED=Budi oprezan, internet saobraćaj se može neočekivano odvijati putem hosta za usluge/drajvere (svchost.exe/System). Nastavi?
|
||||
IDS_WARNING_ME=Ako onemogućiš glavni proces, nećeš moći da koristiš opciju za razrešavanje mrežnih adresa. Nastavi?
|
||||
IDS_TOTAL=Ukupno
|
||||
IDS_ALLOWIPFORWARDING_CHK=Allow IP forwarding
|
||||
IDS_EXCLUDEINBOUND_CHK=dolazni multicast/broadcast
|
||||
IDS_CONNECTIONS_ENABLE=Enable connections monitoring
|
||||
IDS_CONNECTIONS_SHOWAITCONNECTIONS=Show waiting connections
|
||||
IDS_CONNECTIONS_MEASUREUDPTRAFFIC=Measure UDP/QUIC traffic (experimental, restart required)
|
||||
IDS_UDP_ACCOUNTING=UDP (including QUIC): ETW bytes since this socket was first monitored.
|
||||
IDS_UDP_UNAVAILABLE=UDP measurement unavailable or incomplete. Restart simplewall to retry. Error
|
||||
IDS_UDP_PENDING=UDP: no verified measurement yet. Sockets opened before monitoring must be reopened.
|
||||
@@ -0,0 +1,240 @@
|
||||
; Slovenčina
|
||||
; Slovenská lokalizácia od vaso@watel.sk
|
||||
|
||||
[Slovak]
|
||||
IDS_TITLE_EXCLUDE=Vylúčiť
|
||||
IDS_FILE=Súbor
|
||||
IDS_SETTINGS=Nastavenia
|
||||
IDS_EXIT=Koniec
|
||||
IDS_EDIT=Upraviť
|
||||
IDS_PURGE_UNUSED=Vymazať nepoužívané položky
|
||||
IDS_PURGE_TIMERS=Vymazať časovače
|
||||
IDS_FIND=Hľadať
|
||||
IDS_REFRESH=Obnoviť
|
||||
IDS_VIEW=Zobraziť
|
||||
IDS_ICONS=Ikony
|
||||
IDS_ICONSSMALL=Malý
|
||||
IDS_ICONSLARGE=Veľký
|
||||
IDS_ICONSISHIDDEN=Nenačítava sa
|
||||
IDS_LANGUAGE=Jazyk
|
||||
IDS_FONT=Písmo
|
||||
IDS_HELP=Help
|
||||
IDS_WEBSITE=Website
|
||||
IDS_CHECKUPDATES=Nájsť aktualizácie
|
||||
IDS_DONATE=Darovať
|
||||
IDS_ABOUT=O Aplikácii
|
||||
IDS_TRAY_SHOW=Zobraziť/Skryť
|
||||
IDS_TRAY_START=Povoliť
|
||||
IDS_TRAY_STOP=Zakázať
|
||||
IDS_TRAY_RULES=Pravidlá
|
||||
IDS_TRAY_BLOCKLIST_RULES=Zoznam blokovaných
|
||||
IDS_TRAY_SYSTEM_RULES=Systémové pravidlá
|
||||
IDS_TRAY_USER_RULES=Vlastné pravidlá
|
||||
IDS_TRAY_LOGERR=Záznam chýb
|
||||
IDS_ADD_FILE=Pridať aplikáciu
|
||||
IDS_ANY=Všetky
|
||||
IDS_DISABLENOTIFICATIONS=Zakázať upozornenia
|
||||
IDS_OPENRULESEDITOR=Nový riadok
|
||||
IDS_TIMER=Timer
|
||||
IDS_DISABLETIMER=Zakázať časovač
|
||||
IDS_EXPLORE=Otvoriť umiestnenie súboru
|
||||
IDS_COPY=Kopírovať
|
||||
IDS_SELECT_ALL=Vybrať všetko
|
||||
IDS_CHECK=Povoliť výber
|
||||
IDS_UNCHECK=Zakázať výber
|
||||
IDS_ADD=Pridať
|
||||
IDS_EDIT2=Upraviť
|
||||
IDS_DELETE=Odstrániť
|
||||
IDS_EXPORT=Export
|
||||
IDS_IMPORT=Import
|
||||
IDS_RULE_ALLOWLOOPBACK=Povoliť spätné spojenia pre všetky aplikácie
|
||||
IDS_HIGHLIGHT_INVALID=Súbor sa nenašiel
|
||||
IDS_HIGHLIGHT_NETWORK=Umiestnenie v sieti
|
||||
IDS_HIGHLIGHT_PICO=Aplikácia Pico
|
||||
IDS_HIGHLIGHT_SIGNED=Podpísaná žiadosť
|
||||
IDS_HIGHLIGHT_SILENT=Upozornenia sú vypnuté
|
||||
IDS_HIGHLIGHT_SPECIAL=Špecifické pravidlá
|
||||
IDS_HIGHLIGHT_SYSTEM=Systémový proces
|
||||
IDS_GROUP_TIMER=Aplikácia s časovačom
|
||||
IDS_EDITOR=Upraviť pravidlá
|
||||
IDS_NAME=Názov
|
||||
IDS_RULE=Pravidlo
|
||||
IDS_PORTVERSION=Subnet (iba porty)
|
||||
IDS_PROTOCOL=Protocol
|
||||
IDS_DIRECTION=Smer
|
||||
IDS_ACTION=Akcia
|
||||
IDS_DATE=Dátum
|
||||
IDS_FILEPATH=Cesta
|
||||
IDS_SIGNATURE=Podpis
|
||||
IDS_ADDRESS=Adresa
|
||||
IDS_FILTER=Filter
|
||||
IDS_NOTES=Popis
|
||||
IDS_ADDED=Pridané
|
||||
IDS_TIMELEFT=Čas zostáva
|
||||
IDS_SIGN_SIGNED=Podpísané
|
||||
IDS_SIGN_UNSIGNED=Nepodpísané
|
||||
IDS_GROUP_ALLOWED=Povolené "aplikácie s prístupom na internet"
|
||||
IDS_GROUP_BLOCKED=Blokované "aplikácie bez prístupu na internet"
|
||||
IDS_GROUP_ENABLED=Povolené pravidlá
|
||||
IDS_GROUP_DISABLED=Zakázané pravidlá
|
||||
IDS_DIRECTION_1=Odchádzajúce
|
||||
IDS_DIRECTION_2=Prichádzajúce
|
||||
IDS_DIRECTION_3=Oboje
|
||||
IDS_ACTION_ALLOW=Povoliť
|
||||
IDS_ACTION_BLOCK=Blokovať
|
||||
IDS_ENABLE_CHK=Povolené
|
||||
IDS_WIKI=Help
|
||||
IDS_SAVE=Uložiť
|
||||
IDS_CLOSE=Zavrieť
|
||||
IDS_SETTINGS_GENERAL=Všeobecné
|
||||
IDS_TITLE_GENERAL=Všeobecné
|
||||
IDS_TITLE_LANGUAGE=Jazyk
|
||||
IDS_TITLE_CONFIRMATIONS=Potvrdiť
|
||||
IDS_TITLE_INTERFACE=Interface
|
||||
IDS_TITLE_HIGHLIGHTING=Označenie
|
||||
IDS_TITLE_LOGGING=Denník
|
||||
IDS_TITLE_NOTIFICATIONS=Upozornenia
|
||||
IDS_TITLE_ADVANCED=Pokročilé
|
||||
IDS_ALWAYSONTOP_CHK=Vždy navrchu
|
||||
IDS_LOADONSTARTUP_CHK=Automatické spustenie pri štarte Windows
|
||||
IDS_STARTMINIMIZED_CHK=Spustiť minimalizované
|
||||
IDS_SHOWFILENAMESONLY_CHK=Zobraziť iba názvy súborov
|
||||
IDS_AUTOSIZECOLUMNS_CHK=Automatická šírka stĺpca
|
||||
IDS_SKIPUACWARNING_CHK=Preskočiť upozornenie „Kontrola používateľských účtov“.
|
||||
IDS_CHECKUPDATES_CHK=Pravidelne kontrolovať aktualizácie (odporúča sa)
|
||||
IDS_LANGUAGE_HINT=Vyberte jazyk:
|
||||
IDS_USESTEALTHMODE_CHK=Aktivovať skrytý režim
|
||||
IDS_USESTEALTHMODE_HINT=Zabrániť skenovaniu portov UDP blokovaním prichádzajúceho TCP RST a odpovedaním na odchádzajúce ICMP s "Cieľ nedostupný".
|
||||
IDS_INSTALLBOOTTIMEFILTERS_CHK=Aktivovať filtre pri spustení
|
||||
IDS_INSTALLBOOTTIMEFILTERS_HINT=Zabránenie úniku dát pri spustení ešte pred spustením služby "Base Filtering Engine" (BFE).
|
||||
IDS_USECERTIFICATES_CHK=Check apps for digital signatures
|
||||
IDS_USENETWORKRESOLUTION_CHK=Previesť sieťové adresy na názvy domén
|
||||
IDS_DISABLEWINDOWSFIREWALL_CHK=Zakázať bránu Windows Firewall
|
||||
IDS_ENABLEWINDOWSFIREWALL_CHK=Povoliť bránu Windows Firewall
|
||||
IDS_CONFIRMEXIT_CHK=Požiadať o potvrdenie pri ukončení
|
||||
IDS_CONFIRMEXITTIMER_CHK=Požiadať o potvrdenie pri ukončení, keď sú časovače aktívne
|
||||
IDS_CONFIRMLOGCLEAR_CHK=Požiadať o potvrdenie pri vymazávaní denníka
|
||||
IDS_COLORS_HINT=Dvakrát kliknite na položku, ktorú chcete upraviť.
|
||||
IDS_ENABLELOG_CHK=Uložiť protokol blokovaných pripojení do súboru
|
||||
IDS_LOGSHOW=Otvoriť denník
|
||||
IDS_LOGCLEAR=Vymazať denník
|
||||
IDS_LOGSIZELIMIT_HINT=Maximálna veľkosť denníka (kB):
|
||||
IDS_ENABLENOTIFICATIONS_CHK=Zobraziť upozornenia na blokované pripojenia
|
||||
IDS_NOTIFICATIONSOUND_CHK=Zvuk pri upozorneniach
|
||||
IDS_NOTIFICATIONTIMEOUT_HINT=Časový limit medzi rovnakými upozorneniami (sekundy):
|
||||
IDS_NOTIFY_TOOLTIP=Vytvorte pravidlo pre túto aplikáciu na povolenie/blokovanie prístupu k adrese a/alebo portu.
|
||||
IDS_QUESTION=Ste si istý?
|
||||
IDS_QUESTION_DELETE=Odstrániť položku(y)?
|
||||
IDS_QUESTION_START=Prístup do siete bude zablokovaný podľa zvolených pravidiel! Prajete si pokračovať?
|
||||
IDS_QUESTION_STOP=Prístup k sieti bude obnovený pre všetky predtým zablokované aplikácie. Prajete si pokračovať?
|
||||
IDS_QUESTION_EXIT=Nainštalované filtre zostanú aktívne aj po vypnutí. Prajete si pokračovať?
|
||||
IDS_QUESTION_TIMER=Jeden alebo viac časovačov bolo aktivovaných. Časovače fungujú iba vtedy, keď je aplikácia spustená. Napriek tomu zavrieť?
|
||||
IDS_QUESTION_TIMERS=Vymazať všetky časovače?
|
||||
IDS_QUESTION_FLAG_CHK=Už sa nepýtaj
|
||||
IDS_STATUS_EMPTY=Empty.
|
||||
IDS_STATUS_SYNTAX_ERROR=Syntaktická chyba v riadku!
|
||||
IDS_ADDRESS_LOCAL=Miestne
|
||||
IDS_ADDRESS_REMOTE=Vonkajšie
|
||||
IDS_UPDATE_ERROR=Update server connection error.
|
||||
IDS_UPDATE_DOWNLOAD=Downloading update...
|
||||
IDS_UPDATE_DONE=Downloading update finished.
|
||||
IDS_GROUP_SPECIAL_APPS=So špecifickými pravidlami
|
||||
IDS_RULE_ALLOWLOOPBACK_HINT=Táto vrstva filtra umožňuje povoliť všetku spätnú prevádzku.
|
||||
IDS_RESET=Resetovať
|
||||
IDS_EXCLUDESTEALTH_CHK=pripojenia skenera portov
|
||||
IDS_EXCLUDEBLOCKLIST_CHK=zoznam blokovaných
|
||||
IDS_UPDATE_INIT=Checking for new releases...
|
||||
IDS_UPDATE_INSTALL=Update available. Do you want to install it now?
|
||||
IDS_EXCLUDECUSTOM_CHK=vlastné pravidlá
|
||||
IDS_EXCLUDECLASSIFYALLOW_CHK=povolené pripojenia
|
||||
IDS_STATUS_TIMER_DONE=Časovač vypršal
|
||||
IDS_ICONSEXTRALARGE=Extra veľký
|
||||
IDS_STATUS_UNUSED_APPS=Nepoužité
|
||||
IDS_STATUS_TIMER_APPS=S časovačom
|
||||
IDS_SECUREFILTERS_CHK=Enable protection of installed filters
|
||||
IDS_SECUREFILTERS_HINT=Prevent unauthorized applications from accessing the installed filters.
|
||||
IDS_USEREFRESHDEVICES_CHK=Obnovte filtre po pripojení úložných zariadení (USB)
|
||||
IDS_RULE_ALLOW6TO4=Plne povoliť presmerovania IPv6 (6to4)
|
||||
IDS_RECOMMENDED=odporúčané
|
||||
IDS_ICONSISTABLEVIEW=Zobraziť ako tabuľku
|
||||
IDS_ACTION_ALLOW_HINT=Vždy vždy udeliť prístup
|
||||
IDS_ACTION_BLOCK_HINT=Vždy blokovať prístup
|
||||
IDS_ACTION_LATER_HINT=Nerobte žiadnu akciu a opýtajte sa znova neskôr
|
||||
IDS_RULE_APPLY_2=Vykonať pravidlo "%s" v aplikácii
|
||||
IDS_EDITRULES=Upraviť pravidlá
|
||||
IDS_TAB_APPS=Aplikácie
|
||||
IDS_TAB_SERVICES=Services
|
||||
IDS_TAB_PACKAGES=UWP aplikácie
|
||||
IDS_TAB_NETWORK=Pripojenia
|
||||
IDS_STATE=Stav
|
||||
IDS_STATUS_FILTERS_ACTIVE=Filtre sú aktívne
|
||||
IDS_STATUS_FILTERS_INACTIVE=Filtre nie sú aktívne!
|
||||
IDS_STATUS_FILTERS_PROCESSING=Použiť filtre
|
||||
IDS_HIGHLIGHT_CONNECTION=So sieťovými pripojeniami
|
||||
IDS_SHOWINLIST=Zobraziť v zozname
|
||||
IDS_BLOCKLIST_SPY=Servery Microsoft Telemetry
|
||||
IDS_BLOCKLIST_UPDATE=Servery Microsoft Update Server
|
||||
IDS_BLOCKLIST_EXTRA=Microsoft Online služby
|
||||
IDS_PORT=Port
|
||||
IDS_NOTIFY_TITLE=Upozornenie
|
||||
IDS_NOTIFY_HEADER=Pripojenie je zablokované
|
||||
IDS_DISABLE=Zakázať
|
||||
IDS_TITLE_SECURITY=Bezpečnosť
|
||||
IDS_LOGVIEWER_HINT=Otvoriť prihlásenie
|
||||
IDS_NOTIFICATIONONTRAY_CHK=Zobraziť upozornenia v systémovej lište
|
||||
IDS_NETWORK_CLOSE=Odpojenie
|
||||
IDS_RULE_BLOCKOUTBOUND=Blokovať všetky odchádzajúce spojenia
|
||||
IDS_RULE_BLOCKINBOUND=Blokovať všetky prichádzajúce spojenia
|
||||
IDS_VIEW_ICON=Ikony
|
||||
IDS_VIEW_DETAILS=Details
|
||||
IDS_VIEW_TILE=Dlaždice
|
||||
IDS_RULE_HINT=Ponechajte toto pole prázdne, ak chcete aby sa pravidlo vzťahovalo na všetky adresy a všetky porty.
|
||||
IDS_RULE_APPS_HINT=Nevyberte nič, ak chcete aby bolo pravidlo platné
|
||||
IDS_STATUS_FILTERS_ACTIVE_TEMP=Filtre sú povolené, kým sa nereštartuje Windows.
|
||||
IDS_INSTALL_PERMANENT=Trvalé pravidlá. Tieto pravidlá zostávajú aktívne, kým nie sú deaktivované.
|
||||
IDS_INSTALL_TEMPORARY=Dočasné pravidlá. Tieto pravidlá sú aktívne až do reštartovania systému Windows.
|
||||
IDS_ENABLEUILOG_CHK=Povoliť denník
|
||||
IDS_NOTIFICATIONFULLSCREENSILENTMODE_CHK=Nezobrazovať upozornenia o aplikáciách v režime celej obrazovky
|
||||
IDS_TITLE_TRAY=Ikona na paneli úloh
|
||||
IDS_TRAYICONSINGLECLICK_CHK=Otvorte okno jediným kliknutím
|
||||
IDS_ENABLE_APP_CHK=Povoliť prístup k sieti
|
||||
IDS_APP_HINT=Špecifické pravidlá nie sú potrebné pre aplikáciu, ktorá už má úplný sieťový prístup.
|
||||
IDS_HOST=Host
|
||||
IDS_CONFIRMALLOW_CHK=Požiadať o potvrdenie pri povolení sieťového prístupu pre aplikácie
|
||||
IDS_QUESTION_ALLOW=Dať tejto aplikácii úplný prístup k sieti?
|
||||
IDS_SHOWSEARCHBAR_CHK=Zobraziť panel vyhľadávania
|
||||
IDS_LAYER=Layer
|
||||
IDS_RULE_ALLOWWINDOWSUPDATE=Povoliť službu Windows Update
|
||||
IDS_ACTION_TERMINATE_HINT=Terminate process
|
||||
IDS_PROFILE_TYPE=Profile type
|
||||
IDS_USEAPPMONITOR_CHK=Monitor apps changing
|
||||
IDS_DISABLEREMOVAL=Disable removal
|
||||
IDS_USEHASHES_CHK=Check apps for sha-256 hash
|
||||
IDS_COMMENT=Comments
|
||||
IDS_USEDARKTHEME=Use dark theme
|
||||
IDS_KEEPUNUSED_CHK=Keep unused apps
|
||||
IDS_UPDATE_NO=No updates available.
|
||||
IDS_UPDATE_YES=Update available. Download and install now?
|
||||
IDS_UPDATE_SPEED=Speed
|
||||
IDS_RULE_FOR_ALL=for all
|
||||
IDS_RULE_FOR_APPS=for apps
|
||||
IDS_PROFILE_TYPE_PLAIN=Plain
|
||||
IDS_PROFILE_TYPE_COMPRESSED=Compressed
|
||||
IDS_PROFILE_TYPE_ENCRYPTED=Encrypted
|
||||
IDS_SESSION_ONLY=session only
|
||||
IDS_LIMIT_REACHED=Limit reached.
|
||||
IDS_INTERNAL_RULE=Internal rule
|
||||
IDS_LOADING=Loading...
|
||||
IDS_DIRECTION_REMOTE=Remote
|
||||
IDS_DIRECTION_LOCAL=Local
|
||||
IDS_WARNING_UNEXPECTED=Be careful, through service/driver host (svchost.exe/System) internet traffic can let out through unexpected ways. Continue?
|
||||
IDS_WARNING_ME=If you disallow main process, you cannot use resolve network addresses option. Continue?
|
||||
IDS_TOTAL=Total
|
||||
IDS_ALLOWIPFORWARDING_CHK=Allow IP forwarding
|
||||
IDS_EXCLUDEINBOUND_CHK=inbound multicast/broadcast
|
||||
IDS_CONNECTIONS_ENABLE=Enable connections monitoring
|
||||
IDS_CONNECTIONS_SHOWAITCONNECTIONS=Show waiting connections
|
||||
IDS_CONNECTIONS_MEASUREUDPTRAFFIC=Measure UDP/QUIC traffic (experimental, restart required)
|
||||
IDS_UDP_ACCOUNTING=UDP (including QUIC): ETW bytes since this socket was first monitored.
|
||||
IDS_UDP_UNAVAILABLE=UDP measurement unavailable or incomplete. Restart simplewall to retry. Error
|
||||
IDS_UDP_PENDING=UDP: no verified measurement yet. Sockets opened before monitoring must be reopened.
|
||||
@@ -0,0 +1,240 @@
|
||||
; <Slovenian>
|
||||
; Andrew Poženel (https://github.com/anderlli0053)
|
||||
|
||||
[Slovenian]
|
||||
IDS_TITLE_EXCLUDE=Izpusti
|
||||
IDS_FILE=Datoteka
|
||||
IDS_SETTINGS=Nastavitve
|
||||
IDS_EXIT=Izhod
|
||||
IDS_EDIT=Uredi
|
||||
IDS_PURGE_UNUSED=Počisti neuporabljene aplikacije
|
||||
IDS_PURGE_TIMERS=Počisti časovnike
|
||||
IDS_FIND=Išči
|
||||
IDS_REFRESH=Osveži
|
||||
IDS_VIEW=Pogled
|
||||
IDS_ICONS=Ikone
|
||||
IDS_ICONSSMALL=Majhne
|
||||
IDS_ICONSLARGE=Velike
|
||||
IDS_ICONSISHIDDEN=Ne nalagaj ikon
|
||||
IDS_LANGUAGE=Jezik
|
||||
IDS_FONT=Pisava
|
||||
IDS_HELP=Pomoč
|
||||
IDS_WEBSITE=Spletna stran
|
||||
IDS_CHECKUPDATES=Preglej posodobitve
|
||||
IDS_DONATE=Podpri!
|
||||
IDS_ABOUT=O programu
|
||||
IDS_TRAY_SHOW=Pokaži/Skrij
|
||||
IDS_TRAY_START=Omogoči filtre
|
||||
IDS_TRAY_STOP=Onemogoči filtre
|
||||
IDS_TRAY_RULES=Pravila
|
||||
IDS_TRAY_BLOCKLIST_RULES=Seznam blokiranih
|
||||
IDS_TRAY_SYSTEM_RULES=Sistemska pravila
|
||||
IDS_TRAY_USER_RULES=Uporabniška pravila
|
||||
IDS_TRAY_LOGERR=Dnevnik napak
|
||||
IDS_ADD_FILE=Dodaj aplikacijo
|
||||
IDS_ANY=Katerikoli
|
||||
IDS_DISABLENOTIFICATIONS=Onemogoči obvestila
|
||||
IDS_OPENRULESEDITOR=Ustvari pravilo
|
||||
IDS_TIMER=Časovnik
|
||||
IDS_DISABLETIMER=Onemogoči časovnik
|
||||
IDS_EXPLORE=Odpri mapo
|
||||
IDS_COPY=Kopiraj
|
||||
IDS_SELECT_ALL=Izberi vse
|
||||
IDS_CHECK=Omogoči izbrano
|
||||
IDS_UNCHECK=Onemogoči izbrano
|
||||
IDS_ADD=Dodaj
|
||||
IDS_EDIT2=Uredi
|
||||
IDS_DELETE=Izbriši
|
||||
IDS_EXPORT=Izvoz
|
||||
IDS_IMPORT=Uvoz
|
||||
IDS_RULE_ALLOWLOOPBACK=Dovoli povratne povezave za vse
|
||||
IDS_HIGHLIGHT_INVALID=Neveljavno (datoteka ni najdena ali težava s filtrom)
|
||||
IDS_HIGHLIGHT_NETWORK=Aplikacija v omrežju
|
||||
IDS_HIGHLIGHT_PICO=Pico aplikacija
|
||||
IDS_HIGHLIGHT_SIGNED=Podpisana aplikacija
|
||||
IDS_HIGHLIGHT_SILENT=Onemogočena obvestila
|
||||
IDS_HIGHLIGHT_SPECIAL=Uporabniška pravila
|
||||
IDS_HIGHLIGHT_SYSTEM=Sistemska aplikacija
|
||||
IDS_GROUP_TIMER=Aplikacije s časovnikom
|
||||
IDS_EDITOR=Urejevalnik pravil
|
||||
IDS_NAME=Ime
|
||||
IDS_RULE=Pravilo
|
||||
IDS_PORTVERSION=Družina (samo vrata)
|
||||
IDS_PROTOCOL=Protokol
|
||||
IDS_DIRECTION=Smer
|
||||
IDS_ACTION=Dejanje
|
||||
IDS_DATE=Datum
|
||||
IDS_FILEPATH=Pot
|
||||
IDS_SIGNATURE=Podpis
|
||||
IDS_ADDRESS=Naslov
|
||||
IDS_FILTER=Filter
|
||||
IDS_NOTES=Opombe
|
||||
IDS_ADDED=Dodano
|
||||
IDS_TIMELEFT=Preostali čas
|
||||
IDS_SIGN_SIGNED=Podpisano
|
||||
IDS_SIGN_UNSIGNED=Nepodpisano
|
||||
IDS_GROUP_ALLOWED=Aplikacije z internetnim dostopom
|
||||
IDS_GROUP_BLOCKED=Aplikacije brez internetnega dostopa
|
||||
IDS_GROUP_ENABLED=Omogočena pravila
|
||||
IDS_GROUP_DISABLED=Onemogočena pravila
|
||||
IDS_DIRECTION_1=Odhodno
|
||||
IDS_DIRECTION_2=Vhodno
|
||||
IDS_DIRECTION_3=Obojestransko
|
||||
IDS_ACTION_ALLOW=Dovoli
|
||||
IDS_ACTION_BLOCK=Blokiraj
|
||||
IDS_ENABLE_CHK=Omogoči pravilo
|
||||
IDS_WIKI=Pomoč
|
||||
IDS_SAVE=Shrani
|
||||
IDS_CLOSE=Zapri
|
||||
IDS_SETTINGS_GENERAL=Splošno
|
||||
IDS_TITLE_GENERAL=Splošna konfiguracija
|
||||
IDS_TITLE_LANGUAGE=Jezik
|
||||
IDS_TITLE_CONFIRMATIONS=Potrditve
|
||||
IDS_TITLE_INTERFACE=Vmesnik
|
||||
IDS_TITLE_HIGHLIGHTING=Označevanje
|
||||
IDS_TITLE_LOGGING=Dnevnik paketov
|
||||
IDS_TITLE_NOTIFICATIONS=Obvestila
|
||||
IDS_TITLE_ADVANCED=Napredno
|
||||
IDS_ALWAYSONTOP_CHK=Vedno na vrhu
|
||||
IDS_LOADONSTARTUP_CHK=Naloži ob zagonu sistema
|
||||
IDS_STARTMINIMIZED_CHK=Zaženi pomanjšano
|
||||
IDS_SHOWFILENAMESONLY_CHK=Prikaži samo imena datotek
|
||||
IDS_AUTOSIZECOLUMNS_CHK=Samodejno prilagodi stolpce
|
||||
IDS_SKIPUACWARNING_CHK=Preskoči opozorilo "Nadzor uporabniških računov"
|
||||
IDS_CHECKUPDATES_CHK=Periodično preverjaj posodobitve (priporočeno)
|
||||
IDS_LANGUAGE_HINT=Izberi jezik:
|
||||
IDS_USESTEALTHMODE_CHK=Prepreči skeniranje vrat
|
||||
IDS_USESTEALTHMODE_HINT=Prepreči skeniranje TCP vrat s tihim zavračanjem vhodnih TCP RST paketov in skeniranje UDP vrat z odgovorom "Cilj ni dosegljiv" na odhodne ICMP pakete.
|
||||
IDS_INSTALLBOOTTIMEFILTERS_CHK=Omogoči filtre ob zagonu
|
||||
IDS_INSTALLBOOTTIMEFILTERS_HINT=Prepreči uhajanje podatkov med zagonom sistema, še preden se začne servis "Base Filtering Engine" (BFE).
|
||||
IDS_USECERTIFICATES_CHK=Preveri aplikacije za digitalne podpise
|
||||
IDS_USENETWORKRESOLUTION_CHK=Razreši omrežne naslove
|
||||
IDS_DISABLEWINDOWSFIREWALL_CHK=Onemogoči požarni zid Windows
|
||||
IDS_ENABLEWINDOWSFIREWALL_CHK=Omogoči požarni zid Windows
|
||||
IDS_CONFIRMEXIT_CHK=Prikaži potrditveno okno ob izhodu
|
||||
IDS_CONFIRMEXITTIMER_CHK=Prikaži potrditveno okno ob izhodu, ko so časovniki aktivni
|
||||
IDS_CONFIRMLOGCLEAR_CHK=Potrdi pri brisanju dnevnika
|
||||
IDS_COLORS_HINT=Dvokliknite na element za spremembo.
|
||||
IDS_ENABLELOG_CHK=Omogoči beleženje paketov v datoteko
|
||||
IDS_LOGSHOW=Prikaži dnevnik
|
||||
IDS_LOGCLEAR=Izbriši dnevnik
|
||||
IDS_LOGSIZELIMIT_HINT=Največja velikost dnevnika: (kB)
|
||||
IDS_ENABLENOTIFICATIONS_CHK=Omogoči obvestila o paketih
|
||||
IDS_NOTIFICATIONSOUND_CHK=Omogoči zvok obvestil
|
||||
IDS_NOTIFICATIONTIMEOUT_HINT=Zakasnitev med podobnimi obvestili (sek.):
|
||||
IDS_NOTIFY_TOOLTIP=Nastavi uporabniško pravilo za dovoljenje dostopa do naslova in/ali vrat za to aplikacijo.
|
||||
IDS_QUESTION=Ste prepričani?
|
||||
IDS_QUESTION_DELETE=Izbrišem izbrane elemente?
|
||||
IDS_QUESTION_START=S tem boste onemogočili omrežni dostop aplikacijam glede na trenutno konfiguracijo. Nadaljujem?
|
||||
IDS_QUESTION_STOP=S tem boste povrnili omrežni dostop vsem trenutno blokiranim aplikacijam. Nadaljujem?
|
||||
IDS_QUESTION_EXIT=Nameščeni filtri bodo še naprej delovali tudi po izhodu iz programa. Nadaljujem?
|
||||
IDS_QUESTION_TIMER=Časovnik(i) aktivni. Časovniki bodo delovali le, ko teče aplikacija. Izhod?
|
||||
IDS_QUESTION_TIMERS=Izbrišem vse časovnike?
|
||||
IDS_QUESTION_FLAG_CHK=Ne vprašaj več
|
||||
IDS_STATUS_EMPTY=Prazno.
|
||||
IDS_STATUS_SYNTAX_ERROR=Sintaktična napaka v pravilu!
|
||||
IDS_ADDRESS_LOCAL=Vir
|
||||
IDS_ADDRESS_REMOTE=Cilj
|
||||
IDS_UPDATE_ERROR=Napaka pri povezavi s strežnikom za posodobitve.
|
||||
IDS_UPDATE_DOWNLOAD=Prenašam posodobitev...
|
||||
IDS_UPDATE_DONE=Prenos posodobitve končan.
|
||||
IDS_GROUP_SPECIAL_APPS=Aplikacije z uporabniškimi pravili
|
||||
IDS_RULE_ALLOWLOOPBACK_HINT=To dovoli ves povratni promet.
|
||||
IDS_RESET=Ponastavi
|
||||
IDS_EXCLUDESTEALTH_CHK=povezave s skenirnikom vrat
|
||||
IDS_EXCLUDEBLOCKLIST_CHK=seznam blokiranih
|
||||
IDS_UPDATE_INIT=Preverjam za nove izdaje...
|
||||
IDS_UPDATE_INSTALL=Razpoložljiva posodobitev. Želite jo namestiti zdaj?
|
||||
IDS_EXCLUDECUSTOM_CHK=uporabniška pravila
|
||||
IDS_EXCLUDECLASSIFYALLOW_CHK=dovoljene povezave
|
||||
IDS_STATUS_TIMER_DONE=Časovnik za aplikacijo je potekel
|
||||
IDS_ICONSEXTRALARGE=Zelo velike
|
||||
IDS_STATUS_UNUSED_APPS=Neuporabljene aplikacije
|
||||
IDS_STATUS_TIMER_APPS=Aplikacije s časovnikom
|
||||
IDS_SECUREFILTERS_CHK=Omogoči zaščito nameščenih filtrov
|
||||
IDS_SECUREFILTERS_HINT=Prepreči nepooblaščenim aplikacijam dostop do nameščenih filtrov.
|
||||
IDS_USEREFRESHDEVICES_CHK=Osveži filtre ob priklopu (pomnilniških) naprav
|
||||
IDS_RULE_ALLOW6TO4=Dovoli IPv6 preusmeritve (6to4) za vse
|
||||
IDS_RECOMMENDED=priporočeno
|
||||
IDS_ICONSISTABLEVIEW=Prikaži kot tabelo
|
||||
IDS_ACTION_ALLOW_HINT=Dovoli omrežni dostop za vedno
|
||||
IDS_ACTION_BLOCK_HINT=Blokiraj omrežni dostop za vedno
|
||||
IDS_ACTION_LATER_HINT=Prezri in vprašaj me pozneje
|
||||
IDS_RULE_APPLY_2=Uveljavi "%s" za to aplikacijo
|
||||
IDS_EDITRULES=Uredi pravila
|
||||
IDS_TAB_APPS=Aplikacije
|
||||
IDS_TAB_SERVICES=Storitve
|
||||
IDS_TAB_PACKAGES=UWP aplikacije
|
||||
IDS_TAB_NETWORK=Povezave
|
||||
IDS_STATE=Stanje
|
||||
IDS_STATUS_FILTERS_ACTIVE=Filtri so omogočeni.
|
||||
IDS_STATUS_FILTERS_INACTIVE=Filtri so onemogočeni!
|
||||
IDS_STATUS_FILTERS_PROCESSING=Uveljavljam filtre
|
||||
IDS_HIGHLIGHT_CONNECTION=Imajo omrežne povezave
|
||||
IDS_SHOWINLIST=Prikaži na seznamu
|
||||
IDS_BLOCKLIST_SPY=Microsoftovo vohunjenje in telemetrija
|
||||
IDS_BLOCKLIST_UPDATE=Microsoftove posodobitve
|
||||
IDS_BLOCKLIST_EXTRA=Microsoftove aplikacije
|
||||
IDS_PORT=Vrata
|
||||
IDS_NOTIFY_TITLE=Omrežno opozorilo
|
||||
IDS_NOTIFY_HEADER=Omrežna povezava je bila blokirana
|
||||
IDS_DISABLE=Onemogoči
|
||||
IDS_TITLE_SECURITY=Varnost
|
||||
IDS_LOGVIEWER_HINT=Aplikacija za pregled dnevnika
|
||||
IDS_NOTIFICATIONONTRAY_CHK=Prikaži obvestilno okno v sistemski vrstici
|
||||
IDS_NETWORK_CLOSE=Zapri povezavo
|
||||
IDS_RULE_BLOCKOUTBOUND=Blokiraj odhodne povezave za vse
|
||||
IDS_RULE_BLOCKINBOUND=Blokiraj vhodne povezave za vse
|
||||
IDS_VIEW_ICON=Ikone
|
||||
IDS_VIEW_DETAILS=Podrobnosti
|
||||
IDS_VIEW_TILE=Ploščice
|
||||
IDS_RULE_HINT=Če pustite polja prazna, se bo pravilo uporabilo za katerikoli naslov in vrata.
|
||||
IDS_RULE_APPS_HINT=Če ni izbrane aplikacije, se bo pravilo uporabilo za vse aplikacije.
|
||||
IDS_STATUS_FILTERS_ACTIVE_TEMP=Filtri so omogočeni do ponovnega zagona.
|
||||
IDS_INSTALL_PERMANENT=Trajna pravila. Pravila delujejo, dokler jih ročno ne onemogočite.
|
||||
IDS_INSTALL_TEMPORARY=Začasna pravila. Pravila se ponastavijo po naslednjem ponovnem zagonu.
|
||||
IDS_ENABLEUILOG_CHK=Omogoči vmesnik za beleženje paketov
|
||||
IDS_NOTIFICATIONFULLSCREENSILENTMODE_CHK=Omogoči tihi način, ko je celozaslonska aplikacija v ospredju
|
||||
IDS_TITLE_TRAY=Ikona v sistemski vrstici
|
||||
IDS_TRAYICONSINGLECLICK_CHK=Enojni klik na ikono v sistemski vrstici za odpiranje
|
||||
IDS_ENABLE_APP_CHK=Omogoči omrežni dostop
|
||||
IDS_APP_HINT=Ni razloga za nastavitev dovolilnega pravila za aplikacijo, ki že ima omrežni dostop.
|
||||
IDS_HOST=Gostitelj
|
||||
IDS_CONFIRMALLOW_CHK=Potrdi ob dovoljenju aplikacije
|
||||
IDS_QUESTION_ALLOW=Ste prepričani, da želite omogočiti poln internetni dostop za to aplikacijo?
|
||||
IDS_SHOWSEARCHBAR_CHK=Prikaži iskalno vrstico
|
||||
IDS_LAYER=Plast
|
||||
IDS_RULE_ALLOWWINDOWSUPDATE=Dovoli Windows Update
|
||||
IDS_ACTION_TERMINATE_HINT=Končaj proces
|
||||
IDS_PROFILE_TYPE=Vrsta profila
|
||||
IDS_USEAPPMONITOR_CHK=Spremljaj spremembe aplikacij
|
||||
IDS_DISABLEREMOVAL=Onemogoči odstranjevanje
|
||||
IDS_USEHASHES_CHK=Preveri aplikacije za SHA-256 hash
|
||||
IDS_COMMENT=Komentarji
|
||||
IDS_USEDARKTHEME=Uporabi temno temo
|
||||
IDS_KEEPUNUSED_CHK=Obdrži neuporabljene aplikacije
|
||||
IDS_UPDATE_NO=Ni razpoložljivih posodobitev.
|
||||
IDS_UPDATE_YES=Razpoložljiva posodobitev. Prenesem in namestim zdaj?
|
||||
IDS_UPDATE_SPEED=Hitrost
|
||||
IDS_RULE_FOR_ALL=za vse
|
||||
IDS_RULE_FOR_APPS=za aplikacije
|
||||
IDS_PROFILE_TYPE_PLAIN=Navaden
|
||||
IDS_PROFILE_TYPE_COMPRESSED=Stisnjen
|
||||
IDS_PROFILE_TYPE_ENCRYPTED=Šifriran
|
||||
IDS_SESSION_ONLY=samo za to sejo
|
||||
IDS_LIMIT_REACHED=Meja dosežena.
|
||||
IDS_INTERNAL_RULE=Notranje pravilo
|
||||
IDS_LOADING=Nalaganje...
|
||||
IDS_DIRECTION_REMOTE=Oddaljen
|
||||
IDS_DIRECTION_LOCAL=Lokalen
|
||||
IDS_WARNING_UNEXPECTED=Be careful, through service/driver host (svchost.exe/System) internet traffic can let out through unexpected ways. Continue?
|
||||
IDS_WARNING_ME=If you disallow main process, you cannot use resolve network addresses option. Continue?
|
||||
IDS_TOTAL=Total
|
||||
IDS_ALLOWIPFORWARDING_CHK=Allow IP forwarding
|
||||
IDS_EXCLUDEINBOUND_CHK=inbound multicast/broadcast
|
||||
IDS_CONNECTIONS_ENABLE=Enable connections monitoring
|
||||
IDS_CONNECTIONS_SHOWAITCONNECTIONS=Show waiting connections
|
||||
IDS_CONNECTIONS_MEASUREUDPTRAFFIC=Measure UDP/QUIC traffic (experimental, restart required)
|
||||
IDS_UDP_ACCOUNTING=UDP (including QUIC): ETW bytes since this socket was first monitored.
|
||||
IDS_UDP_UNAVAILABLE=UDP measurement unavailable or incomplete. Restart simplewall to retry. Error
|
||||
IDS_UDP_PENDING=UDP: no verified measurement yet. Sockets opened before monitoring must be reopened.
|
||||
@@ -0,0 +1,240 @@
|
||||
; Swedish
|
||||
; 1FF
|
||||
|
||||
[Swedish]
|
||||
IDS_TITLE_EXCLUDE=Exkludera
|
||||
IDS_FILE=Fil
|
||||
IDS_SETTINGS=Inställningar
|
||||
IDS_EXIT=Avsluta
|
||||
IDS_EDIT=Redigera
|
||||
IDS_PURGE_UNUSED=Rensa oanvända appar
|
||||
IDS_PURGE_TIMERS=Rensa timers
|
||||
IDS_FIND=Sök
|
||||
IDS_REFRESH=Uppdatera
|
||||
IDS_VIEW=Visa
|
||||
IDS_ICONS=Ikoner
|
||||
IDS_ICONSSMALL=Små
|
||||
IDS_ICONSLARGE=Stora
|
||||
IDS_ICONSISHIDDEN=Ladda inte ikoner
|
||||
IDS_LANGUAGE=Språk
|
||||
IDS_FONT=Typsnitt
|
||||
IDS_HELP=Hjälp
|
||||
IDS_WEBSITE=Webbsida
|
||||
IDS_CHECKUPDATES=Sök efter uppdateringar
|
||||
IDS_DONATE=Ge tack!
|
||||
IDS_ABOUT=Om
|
||||
IDS_TRAY_SHOW=Visa/Dölj
|
||||
IDS_TRAY_START=Aktivera filter
|
||||
IDS_TRAY_STOP=Inaktivera filter
|
||||
IDS_TRAY_RULES=Regler
|
||||
IDS_TRAY_BLOCKLIST_RULES=Blocklista
|
||||
IDS_TRAY_SYSTEM_RULES=Systemregler
|
||||
IDS_TRAY_USER_RULES=Användarregler
|
||||
IDS_TRAY_LOGERR=Fellogg
|
||||
IDS_ADD_FILE=Addera app
|
||||
IDS_ANY=Alla
|
||||
IDS_DISABLENOTIFICATIONS=Inaktivera meddelanden
|
||||
IDS_OPENRULESEDITOR=Skapa regel
|
||||
IDS_TIMER=Timer
|
||||
IDS_DISABLETIMER=Inaktivera timern
|
||||
IDS_EXPLORE=Öppna dess mapp
|
||||
IDS_COPY=Kopiera
|
||||
IDS_SELECT_ALL=Välj alla
|
||||
IDS_CHECK=Aktivera vald
|
||||
IDS_UNCHECK=Inaktivera vald
|
||||
IDS_ADD=Addera
|
||||
IDS_EDIT2=Redigera
|
||||
IDS_DELETE=Radera
|
||||
IDS_EXPORT=Exportera
|
||||
IDS_IMPORT=Importera
|
||||
IDS_RULE_ALLOWLOOPBACK=Tillåt loopback-anslutningar för alla
|
||||
IDS_HIGHLIGHT_INVALID=Ogiltig (ej hittad fil eller filterproblem)
|
||||
IDS_HIGHLIGHT_NETWORK=Delad nätverksapp
|
||||
IDS_HIGHLIGHT_PICO=Pico app
|
||||
IDS_HIGHLIGHT_SIGNED=Signerad app
|
||||
IDS_HIGHLIGHT_SILENT=Inaktiverade meddelanden
|
||||
IDS_HIGHLIGHT_SPECIAL=Användarregler
|
||||
IDS_HIGHLIGHT_SYSTEM=Systemapp
|
||||
IDS_GROUP_TIMER=Appar med timer
|
||||
IDS_EDITOR=Regelredigerare
|
||||
IDS_NAME=Namn
|
||||
IDS_RULE=Regel
|
||||
IDS_PORTVERSION=Familj (endast portar)
|
||||
IDS_PROTOCOL=Protokoll
|
||||
IDS_DIRECTION=Riktning
|
||||
IDS_ACTION=Aktion
|
||||
IDS_DATE=Datum
|
||||
IDS_FILEPATH=Sökväg
|
||||
IDS_SIGNATURE=Signatur
|
||||
IDS_ADDRESS=Adress
|
||||
IDS_FILTER=Filter
|
||||
IDS_NOTES=Anteckningar
|
||||
IDS_ADDED=Tillagd
|
||||
IDS_TIMELEFT=Tid kvar
|
||||
IDS_SIGN_SIGNED=Signerad
|
||||
IDS_SIGN_UNSIGNED=Inte signerad
|
||||
IDS_GROUP_ALLOWED=Appar med internettillgång
|
||||
IDS_GROUP_BLOCKED=Appar utan internettillgång
|
||||
IDS_GROUP_ENABLED=Aktiverade regler
|
||||
IDS_GROUP_DISABLED=Inaktiverade regler
|
||||
IDS_DIRECTION_1=Utgående
|
||||
IDS_DIRECTION_2=Ingående
|
||||
IDS_DIRECTION_3=Bägge
|
||||
IDS_ACTION_ALLOW=Tillåt
|
||||
IDS_ACTION_BLOCK=Blockera
|
||||
IDS_ENABLE_CHK=Aktivera regel
|
||||
IDS_WIKI=Hjälp
|
||||
IDS_SAVE=Spara
|
||||
IDS_CLOSE=Stäng
|
||||
IDS_SETTINGS_GENERAL=Allmänt
|
||||
IDS_TITLE_GENERAL=Allmän konfiguration
|
||||
IDS_TITLE_LANGUAGE=Språk
|
||||
IDS_TITLE_CONFIRMATIONS=Bekräftelser
|
||||
IDS_TITLE_INTERFACE=Gränssnitt
|
||||
IDS_TITLE_HIGHLIGHTING=Markeringar
|
||||
IDS_TITLE_LOGGING=Paketloggar
|
||||
IDS_TITLE_NOTIFICATIONS=Meddelanden
|
||||
IDS_TITLE_ADVANCED=Avancerat
|
||||
IDS_ALWAYSONTOP_CHK=Alltid överst
|
||||
IDS_LOADONSTARTUP_CHK=Starta vid systemstart
|
||||
IDS_STARTMINIMIZED_CHK=Starta minimerat
|
||||
IDS_SHOWFILENAMESONLY_CHK=Visa endast filnamn
|
||||
IDS_AUTOSIZECOLUMNS_CHK=Autojustera kolumnstorlek
|
||||
IDS_SKIPUACWARNING_CHK=Utför inte UAC varningsmmeddelanden
|
||||
IDS_CHECKUPDATES_CHK=Sök återkommande efter uppdateringar (rekommenderat)
|
||||
IDS_LANGUAGE_HINT=Välj språk:
|
||||
IDS_USESTEALTHMODE_CHK=Förhindra portskanning
|
||||
IDS_USESTEALTHMODE_HINT=Förhindra TCP-portskanning genom att tyst släppa ingående TCP RST och UDP-portskanning genom att svara på utgående ICMP med - Okontaktbar destination.
|
||||
IDS_INSTALLBOOTTIMEFILTERS_CHK=Aktivera bootningsfilter
|
||||
IDS_INSTALLBOOTTIMEFILTERS_HINT=Förhindra dataläckor under systemstart, även före tjänsten för Base Filtering Engine (BFE) startar.
|
||||
IDS_USECERTIFICATES_CHK=Kontrollera appars digitala signatur
|
||||
IDS_USENETWORKRESOLUTION_CHK=Lös nätverksadresser
|
||||
IDS_DISABLEWINDOWSFIREWALL_CHK=Inaktivera Windows brandvägg
|
||||
IDS_ENABLEWINDOWSFIREWALL_CHK=Aktivera Windows brandvägg
|
||||
IDS_CONFIRMEXIT_CHK=Visa bekräftelsedialog vid avslut
|
||||
IDS_CONFIRMEXITTIMER_CHK=Visa bekräftelsedialog vid avslut när timers är aktiva
|
||||
IDS_CONFIRMLOGCLEAR_CHK=Bekräfta vid rensning av loggfilen
|
||||
IDS_COLORS_HINT=Dubbelklicka en post för att ändra den.
|
||||
IDS_ENABLELOG_CHK=Aktivera paketloggning till en fil
|
||||
IDS_LOGSHOW=Visa logg
|
||||
IDS_LOGCLEAR=Rensa logg
|
||||
IDS_LOGSIZELIMIT_HINT=Maximal loggstorlek: (kB)
|
||||
IDS_ENABLENOTIFICATIONS_CHK=Aktivera paketmeddelanden
|
||||
IDS_NOTIFICATIONSOUND_CHK=Aktivera meddelandeljud
|
||||
IDS_NOTIFICATIONTIMEOUT_HINT=Tidspaus mellan liknande meddelanden (sek.):
|
||||
IDS_NOTIFY_TOOLTIP=Ange användaregel att tillåta tillgång till en adress och/eller port för denna applikation.
|
||||
IDS_QUESTION=Är du säker?
|
||||
IDS_QUESTION_DELETE=Radera vald(a) post(er)?
|
||||
IDS_QUESTION_START=Detta nekar nätverkstillgång för appar enligt nuvarande definierade konfiguration. Fortsätta?
|
||||
IDS_QUESTION_STOP=Detta återställer nätverkstillgång för alla appar som för närvarande är blockerade. Fortsätta?
|
||||
IDS_QUESTION_EXIT=Installerade filter kommer fortsätta fungera även efter avslut. Fortsätta?
|
||||
IDS_QUESTION_TIMER=Timer(s) aktiverad(e). Timers fungerar bara när applikationen körs. Avsluta?
|
||||
IDS_QUESTION_TIMERS=Radera alla timers?
|
||||
IDS_QUESTION_FLAG_CHK=Fråga inte igen
|
||||
IDS_STATUS_EMPTY=Empty.
|
||||
IDS_STATUS_SYNTAX_ERROR=Syntaxfel hos regeln!
|
||||
IDS_ADDRESS_LOCAL=Källa
|
||||
IDS_ADDRESS_REMOTE=Destination
|
||||
IDS_UPDATE_ERROR=Anslutningfel till uppdateringsservern.
|
||||
IDS_UPDATE_DOWNLOAD=Nedladdar uppdatering...
|
||||
IDS_UPDATE_DONE=Nedladdning av uppdatering avklarad
|
||||
IDS_GROUP_SPECIAL_APPS=Appar med användarregler
|
||||
IDS_RULE_ALLOWLOOPBACK_HINT=Detta tillåter all loopback-trafik.
|
||||
IDS_RESET=Återställ
|
||||
IDS_EXCLUDESTEALTH_CHK=- portskanneranslutningar
|
||||
IDS_EXCLUDEBLOCKLIST_CHK=- blocklista
|
||||
IDS_UPDATE_INIT=Söker efter nya utgivningar...
|
||||
IDS_UPDATE_INSTALL=Uppdatering tillgänglig. Vill du installera den nu?
|
||||
IDS_EXCLUDECUSTOM_CHK=- användarregler
|
||||
IDS_EXCLUDECLASSIFYALLOW_CHK=- tillåtna anslutningar
|
||||
IDS_STATUS_TIMER_DONE=Timern för applikationen har utgått
|
||||
IDS_ICONSEXTRALARGE=Extra stor
|
||||
IDS_STATUS_UNUSED_APPS=Oanvända appar
|
||||
IDS_STATUS_TIMER_APPS=Appar med timer
|
||||
IDS_SECUREFILTERS_CHK=Aktivera skydd av installerade filter
|
||||
IDS_SECUREFILTERS_HINT=Hindra oauktoriserade applikationer från att tillgå installerade filter.
|
||||
IDS_USEREFRESHDEVICES_CHK=Uppdatera filtren när (lagrings-) enheter är anslutna
|
||||
IDS_RULE_ALLOW6TO4=Tillåt IPv6 omdirigeringar (6till4) för alla
|
||||
IDS_RECOMMENDED=rekommenderat
|
||||
IDS_ICONSISTABLEVIEW=Visa som tabell
|
||||
IDS_ACTION_ALLOW_HINT=Tillåt nätverkstillgång för alltid
|
||||
IDS_ACTION_BLOCK_HINT=Blockera nätverkstillgång för alltid (tills helvetet fryser till)
|
||||
IDS_ACTION_LATER_HINT=Ignorera och fråga mig senare
|
||||
IDS_RULE_APPLY_2=Tillämpa "%s" för denna app
|
||||
IDS_EDITRULES=Redigera regler
|
||||
IDS_TAB_APPS=Appar
|
||||
IDS_TAB_SERVICES=Tjänster
|
||||
IDS_TAB_PACKAGES=UWP-appar
|
||||
IDS_TAB_NETWORK=Anslutningar
|
||||
IDS_STATE=Skick
|
||||
IDS_STATUS_FILTERS_ACTIVE=Filter är aktiverade.
|
||||
IDS_STATUS_FILTERS_INACTIVE=Filter är inaktiverade!
|
||||
IDS_STATUS_FILTERS_PROCESSING=Tillämpar filtren
|
||||
IDS_HIGHLIGHT_CONNECTION=Har nätverksanslutningar
|
||||
IDS_SHOWINLIST=Visa i lista
|
||||
IDS_BLOCKLIST_SPY=Microsofts spionering och telemetri
|
||||
IDS_BLOCKLIST_UPDATE=Microsofts uppdaterande
|
||||
IDS_BLOCKLIST_EXTRA=Microsofts applikationer
|
||||
IDS_PORT=Port
|
||||
IDS_NOTIFY_TITLE=Nätverksalarm
|
||||
IDS_NOTIFY_HEADER=Nätverksanslutning blockerades
|
||||
IDS_DISABLE=Inaktivera
|
||||
IDS_TITLE_SECURITY=Säkerhet
|
||||
IDS_LOGVIEWER_HINT=Appen för loggvisning
|
||||
IDS_NOTIFICATIONONTRAY_CHK=Visa meddelandefönster i systemfältet
|
||||
IDS_NETWORK_CLOSE=Stäng anslutning
|
||||
IDS_RULE_BLOCKOUTBOUND=Blocka utgående anslutningar för alla
|
||||
IDS_RULE_BLOCKINBOUND=Blocka ingående anslutningar för alla
|
||||
IDS_VIEW_ICON=Ikoner
|
||||
IDS_VIEW_DETAILS=Detaljer
|
||||
IDS_VIEW_TILE=Plattor
|
||||
IDS_RULE_HINT=Om du lämnar fält blanka, då tillämpas regeln för vilken adress och port som helst.
|
||||
IDS_RULE_APPS_HINT=Om inga appar valts, tillämpas regeln för alla appar.
|
||||
IDS_STATUS_FILTERS_ACTIVE_TEMP=Filtren är aktiverade tills en omstart.
|
||||
IDS_INSTALL_PERMANENT=Permanenta regler. Regler fungerar tills du inaktiverar dem manuellt.
|
||||
IDS_INSTALL_TEMPORARY=Tillfälliga regler. Regler återställs efter nästa omstart.
|
||||
IDS_ENABLEUILOG_CHK=Aktivera paketloggningsgränssnitt
|
||||
IDS_NOTIFICATIONFULLSCREENSILENTMODE_CHK=Aktivera tyst läge när en fullskärmsapp är i förgrunden
|
||||
IDS_TITLE_TRAY=Systemfältsikon
|
||||
IDS_TRAYICONSINGLECLICK_CHK=Enkelklicka på systemfältsikonen för öppnande
|
||||
IDS_ENABLE_APP_CHK=Aktivera nätverkstillgång
|
||||
IDS_APP_HINT=Det finns inget skäl att ange någon tillåtande regel för en app med redan aktiverad internettillgång.
|
||||
IDS_HOST=Värd
|
||||
IDS_CONFIRMALLOW_CHK=Bekräfta när en applikation tillåts
|
||||
IDS_QUESTION_ALLOW=Är det säkert att du vill tillåta full internettillgång för denna applikation?
|
||||
IDS_SHOWSEARCHBAR_CHK=Visa sökfält
|
||||
IDS_LAYER=Lager
|
||||
IDS_RULE_ALLOWWINDOWSUPDATE=Tillåt Windows Update
|
||||
IDS_ACTION_TERMINATE_HINT=Avsluta process
|
||||
IDS_PROFILE_TYPE=Profiltyp
|
||||
IDS_USEAPPMONITOR_CHK=Övervaka appars ändringar
|
||||
IDS_DISABLEREMOVAL=Inaktivera borttagande
|
||||
IDS_USEHASHES_CHK=Kontrollera appar gällande sha-256 hash
|
||||
IDS_COMMENT=Kommentarer
|
||||
IDS_USEDARKTHEME=Använd mörkt tema
|
||||
IDS_KEEPUNUSED_CHK=Keep unused apps
|
||||
IDS_UPDATE_NO=Inga uppdateringar tillgängliga.
|
||||
IDS_UPDATE_YES=Uppdatering finns. Nedladda och installera nu?
|
||||
IDS_UPDATE_SPEED=Speed
|
||||
IDS_RULE_FOR_ALL=for all
|
||||
IDS_RULE_FOR_APPS=for apps
|
||||
IDS_PROFILE_TYPE_PLAIN=Plain
|
||||
IDS_PROFILE_TYPE_COMPRESSED=Compressed
|
||||
IDS_PROFILE_TYPE_ENCRYPTED=Encrypted
|
||||
IDS_SESSION_ONLY=session only
|
||||
IDS_LIMIT_REACHED=Limit reached.
|
||||
IDS_INTERNAL_RULE=Internal rule
|
||||
IDS_LOADING=Loading...
|
||||
IDS_DIRECTION_REMOTE=Remote
|
||||
IDS_DIRECTION_LOCAL=Local
|
||||
IDS_WARNING_UNEXPECTED=Be careful, through service/driver host (svchost.exe/System) internet traffic can let out through unexpected ways. Continue?
|
||||
IDS_WARNING_ME=If you disallow main process, you cannot use resolve network addresses option. Continue?
|
||||
IDS_TOTAL=Total
|
||||
IDS_ALLOWIPFORWARDING_CHK=Allow IP forwarding
|
||||
IDS_EXCLUDEINBOUND_CHK=inbound multicast/broadcast
|
||||
IDS_CONNECTIONS_ENABLE=Enable connections monitoring
|
||||
IDS_CONNECTIONS_SHOWAITCONNECTIONS=Show waiting connections
|
||||
IDS_CONNECTIONS_MEASUREUDPTRAFFIC=Medir tráfico UDP/QUIC (experimental, requiere reiniciar)
|
||||
IDS_UDP_ACCOUNTING=UDP (including QUIC): ETW bytes since this socket was first monitored.
|
||||
IDS_UDP_UNAVAILABLE=UDP measurement unavailable or incomplete. Restart simplewall to retry. Error
|
||||
IDS_UDP_PENDING=UDP: no verified measurement yet. Sockets opened before monitoring must be reopened.
|
||||
@@ -0,0 +1,240 @@
|
||||
; Vietnamese
|
||||
; BinhNT, TienNV, KMA
|
||||
|
||||
[Vietnamese]
|
||||
IDS_TITLE_EXCLUDE=Loại bỏ
|
||||
IDS_FILE=Tệp
|
||||
IDS_SETTINGS=Cài đặt
|
||||
IDS_EXIT=Thoát
|
||||
IDS_EDIT=Sửa
|
||||
IDS_PURGE_UNUSED=Xóa các ứng dụng không sử dụng
|
||||
IDS_PURGE_TIMERS=Bộ hẹn giờ
|
||||
IDS_FIND=Tìm kiếm
|
||||
IDS_REFRESH=Làm mới
|
||||
IDS_VIEW=Xem
|
||||
IDS_ICONS=Biểu tượng
|
||||
IDS_ICONSSMALL=Nhỏ
|
||||
IDS_ICONSLARGE=Lớn
|
||||
IDS_ICONSISHIDDEN=Không tải được các biểu tượng
|
||||
IDS_LANGUAGE=Ngôn ngữ
|
||||
IDS_FONT=Phông chữ
|
||||
IDS_HELP=Trợ giúp
|
||||
IDS_WEBSITE=Trang web
|
||||
IDS_CHECKUPDATES=Kiểm tra bản cập nhật
|
||||
IDS_DONATE=Gửi lời cảm ơn!
|
||||
IDS_ABOUT=Giới thiệu
|
||||
IDS_TRAY_SHOW=Hiện/Ẩn
|
||||
IDS_TRAY_START=Bật bộ lọc
|
||||
IDS_TRAY_STOP=Tắt bộ lọc
|
||||
IDS_TRAY_RULES=Quy tắc
|
||||
IDS_TRAY_BLOCKLIST_RULES=Danh sách hạn chế
|
||||
IDS_TRAY_SYSTEM_RULES=Quy tắc hệ thống
|
||||
IDS_TRAY_USER_RULES=Quy tắc người dùng
|
||||
IDS_TRAY_LOGERR=Nhật ký lỗi
|
||||
IDS_ADD_FILE=Thêm ứng dụng
|
||||
IDS_ANY=Bất kì
|
||||
IDS_DISABLENOTIFICATIONS=Tắt thông báo
|
||||
IDS_OPENRULESEDITOR=Tạo quy tắc
|
||||
IDS_TIMER=Hẹn giờ
|
||||
IDS_DISABLETIMER=Tắt hẹn giờ
|
||||
IDS_EXPLORE=Mở thư mục
|
||||
IDS_COPY=Sao chép
|
||||
IDS_SELECT_ALL=Chọn tất cả
|
||||
IDS_CHECK=Bật đã chọn
|
||||
IDS_UNCHECK=Tắt đã chọn
|
||||
IDS_ADD=Thêm
|
||||
IDS_EDIT2=Sửa
|
||||
IDS_DELETE=Xóa
|
||||
IDS_EXPORT=Xuất
|
||||
IDS_IMPORT=Nhập
|
||||
IDS_RULE_ALLOWLOOPBACK=Cho phép lặp lại kết nối
|
||||
IDS_HIGHLIGHT_INVALID=Không hợp lệ (không tìm thấy tệp hoặc có vấn đề về bộ lọc)
|
||||
IDS_HIGHLIGHT_NETWORK=Ứng dụng mạng được chia sẻ
|
||||
IDS_HIGHLIGHT_PICO=Ứng dụng Pico
|
||||
IDS_HIGHLIGHT_SIGNED=Ứng dụng signed
|
||||
IDS_HIGHLIGHT_SILENT=Tắt thông báo
|
||||
IDS_HIGHLIGHT_SPECIAL=Quy tắc người dùng
|
||||
IDS_HIGHLIGHT_SYSTEM=Ứng dụng hệ thống
|
||||
IDS_GROUP_TIMER=Bộ hẹn giờ ứng dụng
|
||||
IDS_EDITOR=Trình chỉnh sửa quy tắc
|
||||
IDS_NAME=Tên
|
||||
IDS_RULE=Quy tắc
|
||||
IDS_PORTVERSION=Family (chỉ cổng)
|
||||
IDS_PROTOCOL=Giao thức
|
||||
IDS_DIRECTION=Hướng
|
||||
IDS_ACTION=Hành động
|
||||
IDS_DATE=Ngày tháng
|
||||
IDS_FILEPATH=Đường dẫn
|
||||
IDS_SIGNATURE=Chữ ký
|
||||
IDS_ADDRESS=Địa chỉ
|
||||
IDS_FILTER=Bộ lọc
|
||||
IDS_NOTES=Ghi chú
|
||||
IDS_ADDED=Đã thêm
|
||||
IDS_TIMELEFT=Thời gian còn lại
|
||||
IDS_SIGN_SIGNED=Đã ký
|
||||
IDS_SIGN_UNSIGNED=Chưa ký
|
||||
IDS_GROUP_ALLOWED=Ứng dụng có quyền truy cập internet
|
||||
IDS_GROUP_BLOCKED=Ứng dụng không có quyền truy cập internet
|
||||
IDS_GROUP_ENABLED=Bật quy tắc
|
||||
IDS_GROUP_DISABLED=Tắt quy tắc
|
||||
IDS_DIRECTION_1=Đi
|
||||
IDS_DIRECTION_2=Đến
|
||||
IDS_DIRECTION_3=Cả hai
|
||||
IDS_ACTION_ALLOW=Cho phép
|
||||
IDS_ACTION_BLOCK=Chặn
|
||||
IDS_ENABLE_CHK=Bật quy tắc
|
||||
IDS_WIKI=Trợ giúp
|
||||
IDS_SAVE=Lưu
|
||||
IDS_CLOSE=Đóng
|
||||
IDS_SETTINGS_GENERAL=Chung
|
||||
IDS_TITLE_GENERAL=Cấu hình chung
|
||||
IDS_TITLE_LANGUAGE=Ngôn ngữ
|
||||
IDS_TITLE_CONFIRMATIONS=Xác nhận
|
||||
IDS_TITLE_INTERFACE=Giao diện
|
||||
IDS_TITLE_HIGHLIGHTING=Làm nổi bật
|
||||
IDS_TITLE_LOGGING=Nhật ký gói tin
|
||||
IDS_TITLE_NOTIFICATIONS=Thông báo
|
||||
IDS_TITLE_ADVANCED=Nâng cao
|
||||
IDS_ALWAYSONTOP_CHK=Luôn luôn trên đầu trang
|
||||
IDS_LOADONSTARTUP_CHK=Khởi động cùng hệ thống
|
||||
IDS_STARTMINIMIZED_CHK=Bắt đầu thu nhỏ
|
||||
IDS_SHOWFILENAMESONLY_CHK=Chỉ hiển thị tên tệp
|
||||
IDS_AUTOSIZECOLUMNS_CHK=Tự động sửa kích thước cột
|
||||
IDS_SKIPUACWARNING_CHK=Bỏ qua cảnh báo "Kiểm soát tài khoản người dùng"
|
||||
IDS_CHECKUPDATES_CHK=Định kỳ kiểm tra các bản cập nhật (khuyến nghị)
|
||||
IDS_LANGUAGE_HINT=Chọn ngôn ngữ:
|
||||
IDS_USESTEALTHMODE_CHK=Ngăn chặn việc dò quét cổng
|
||||
IDS_USESTEALTHMODE_HINT=Ngăn chặn quá trình quét cổng TCP bằng cách bỏ qua việc quét cổng TCP RST và UDP gửi đến bằng cách phản hồi ICMP đi với "Không thể truy cập đích".
|
||||
IDS_INSTALLBOOTTIMEFILTERS_CHK=Bật bộ lọc thời gian khởi động
|
||||
IDS_INSTALLBOOTTIMEFILTERS_HINT=Ngăn chặn rò rỉ dữ liệu trong khi khởi động hệ thống, ngay cả trước khi dịch vụ "Base Filtering Engine" (BFE) khởi động.
|
||||
IDS_USECERTIFICATES_CHK=Kiểm tra các ứng dụng để tìm chữ ký điện tử
|
||||
IDS_USENETWORKRESOLUTION_CHK=Giải quyết các địa chỉ mạng
|
||||
IDS_DISABLEWINDOWSFIREWALL_CHK=Tắt tường lửa của Windows
|
||||
IDS_ENABLEWINDOWSFIREWALL_CHK=Bật tường lửa của Windows
|
||||
IDS_CONFIRMEXIT_CHK=Hiển thị hộp thoại xác nhận khi thoát
|
||||
IDS_CONFIRMEXITTIMER_CHK=Hiển thị hộp thoại xác nhận khi thoát lúc bộ hẹn giờ đang hoạt động
|
||||
IDS_CONFIRMLOGCLEAR_CHK=Xác nhận khi xóa tệp nhật ký
|
||||
IDS_COLORS_HINT=Bấm đúp vào một mục để thay đổi nó.
|
||||
IDS_ENABLELOG_CHK=Cho phép các gói ghi nhật ký vào một tệp
|
||||
IDS_LOGSHOW=Hiện thị nhật ký
|
||||
IDS_LOGCLEAR=Xóa nhật ký
|
||||
IDS_LOGSIZELIMIT_HINT=Kích thước nhật ký tối đa: (kB)
|
||||
IDS_ENABLENOTIFICATIONS_CHK=Bật thông báo gói tin
|
||||
IDS_NOTIFICATIONSOUND_CHK=Bật âm thanh thông báo
|
||||
IDS_NOTIFICATIONTIMEOUT_HINT=Thời gian chờ giữa các thông báo giống nhau (giây):
|
||||
IDS_NOTIFY_TOOLTIP=Đặt quy tắc người dùng để cho phép truy cập vào một địa chỉ và/hoặc cổng cho ứng dụng này.
|
||||
IDS_QUESTION=Bạn có chắc không?
|
||||
IDS_QUESTION_DELETE=Xóa (các) mục đã chọn?
|
||||
IDS_QUESTION_START=Điều này sẽ từ chối quyền truy cập mạng vào các ứng dụng được xác định bởi cấu hình hiện tại. Tiếp tục?
|
||||
IDS_QUESTION_STOP=Thao tác này sẽ khôi phục quyền truy cập mạng cho tất cả các ứng dụng hiện đang bị chặn. Tiếp tục?
|
||||
IDS_QUESTION_EXIT=Các bộ lọc đã cài đặt sẽ tiếp tục hoạt động ngay cả khi bạn thoát. Tiếp tục?
|
||||
IDS_QUESTION_TIMER=Đã kích hoạt (các) bộ hẹn giờ. Bộ hẹn giờ sẽ chỉ hoạt động khi ứng dụng đang chạy. Vẫn thoát?
|
||||
IDS_QUESTION_TIMERS=Xóa tất cả bộ hẹn giờ?
|
||||
IDS_QUESTION_FLAG_CHK=Không hỏi lại
|
||||
IDS_STATUS_EMPTY=Empty.
|
||||
IDS_STATUS_SYNTAX_ERROR=Lỗi cú pháp trong quy tắc!
|
||||
IDS_ADDRESS_LOCAL=Nguồn
|
||||
IDS_ADDRESS_REMOTE=Đích
|
||||
IDS_UPDATE_ERROR=Cập nhật lỗi kết nối máy chủ.
|
||||
IDS_UPDATE_DOWNLOAD=Đang tải bản cập nhật...
|
||||
IDS_UPDATE_DONE=Quá trình tải xuống bản cập nhật đã hoàn tất.
|
||||
IDS_GROUP_SPECIAL_APPS=Ứng dụng hoạt động với quy tắc người dùng
|
||||
IDS_RULE_ALLOWLOOPBACK_HINT=Điều này cho phép tất cả lưu lượng truy cập lặp lại.
|
||||
IDS_RESET=Đặt lại
|
||||
IDS_EXCLUDESTEALTH_CHK=kết nối quét cổng
|
||||
IDS_EXCLUDEBLOCKLIST_CHK=danh sách chặn
|
||||
IDS_UPDATE_INIT=Đang kiểm tra các bản phát hành mới ...
|
||||
IDS_UPDATE_INSTALL=Cập nhật có sẵn. Bạn có muốn cài đặt nó ngay bây giờ?
|
||||
IDS_EXCLUDECUSTOM_CHK=quy tắc người dùng
|
||||
IDS_EXCLUDECLASSIFYALLOW_CHK=cho phép kết nối
|
||||
IDS_STATUS_TIMER_DONE=Hẹn giờ cho ứng dụng đã hết hạn
|
||||
IDS_ICONSEXTRALARGE=Cực lớn
|
||||
IDS_STATUS_UNUSED_APPS=Ứng dụng không sử dụng
|
||||
IDS_STATUS_TIMER_APPS=Ứng dụng có hẹn giờ
|
||||
IDS_SECUREFILTERS_CHK=Enable protection of installed filters
|
||||
IDS_SECUREFILTERS_HINT=Prevent unauthorized applications from accessing the installed filters.
|
||||
IDS_USEREFRESHDEVICES_CHK=Làm mới bộ lọc khi thiết bị (bộ nhớ) được kết nối
|
||||
IDS_RULE_ALLOW6TO4=Cho phép chuyển hướng IPv6 (6to4) cho tất cả
|
||||
IDS_RECOMMENDED=khuyến nghị
|
||||
IDS_ICONSISTABLEVIEW=Hiển thị dưới dạng bảng
|
||||
IDS_ACTION_ALLOW_HINT=Cho phép truy cập mạng vĩnh viễn
|
||||
IDS_ACTION_BLOCK_HINT=Chặn truy cập mạng mãi mãi ('cho đến khi kingdom)
|
||||
IDS_ACTION_LATER_HINT=Bỏ qua và hỏi tôi sau
|
||||
IDS_RULE_APPLY_2=Áp dụng "%s" cho ứng dụng này
|
||||
IDS_EDITRULES=Chỉnh sửa quy tắc
|
||||
IDS_TAB_APPS=Ứng dụng
|
||||
IDS_TAB_SERVICES=Dịch vụ
|
||||
IDS_TAB_PACKAGES=Ứng dụng UWP
|
||||
IDS_TAB_NETWORK=Kết nối
|
||||
IDS_STATE=Trạng thái
|
||||
IDS_STATUS_FILTERS_ACTIVE=Bộ lọc được bật.
|
||||
IDS_STATUS_FILTERS_INACTIVE=Bộ lọc được tắt.
|
||||
IDS_STATUS_FILTERS_PROCESSING=Áp dụng bộ lọc
|
||||
IDS_HIGHLIGHT_CONNECTION=Có kết nối mạng
|
||||
IDS_SHOWINLIST=Hiển thị trong danh sách
|
||||
IDS_BLOCKLIST_SPY=Gián điệp và đo từ xa của Microsoft
|
||||
IDS_BLOCKLIST_UPDATE=Cập nhật của Microsoft
|
||||
IDS_BLOCKLIST_EXTRA=Ứng dụng của Microsoft
|
||||
IDS_PORT=Cổng
|
||||
IDS_NOTIFY_TITLE=Cảnh báo mạng
|
||||
IDS_NOTIFY_HEADER=Kết nối mạng đã bị chặn
|
||||
IDS_DISABLE=Vô hiệu hóa
|
||||
IDS_TITLE_SECURITY=Bảo mật
|
||||
IDS_LOGVIEWER_HINT=Ứng dụng xem nhật ký
|
||||
IDS_NOTIFICATIONONTRAY_CHK=Hiển thị cửa sổ thông báo trên tray
|
||||
IDS_NETWORK_CLOSE=Đóng kết nối
|
||||
IDS_RULE_BLOCKOUTBOUND=Chặn tất cả kết nối đi
|
||||
IDS_RULE_BLOCKINBOUND=Chặn tất cả kết nối đến
|
||||
IDS_VIEW_ICON=Biểu tượng
|
||||
IDS_VIEW_DETAILS=Chi tiết
|
||||
IDS_VIEW_TILE=Tiêu đề
|
||||
IDS_RULE_HINT=Nếu bạn để trống các trường, thì quy tắc sẽ được áp dụng cho bất kỳ địa chỉ và cổng nào.
|
||||
IDS_RULE_APPS_HINT=Nếu không có ứng dụng nào được chọn, thì quy tắc sẽ được áp dụng cho tất cả các ứng dụng.
|
||||
IDS_STATUS_FILTERS_ACTIVE_TEMP=Bộ lọc được bật cho đến khi khởi động lại.
|
||||
IDS_INSTALL_PERMANENT=Quy tắc vĩnh viễn. Các quy tắc đang hoạt động cho đến khi bạn tắt nó theo cách thủ công.
|
||||
IDS_INSTALL_TEMPORARY=Quy tắc tạm thời. Các quy tắc được đặt lại sau lần khởi động lại tiếp theo.
|
||||
IDS_ENABLEUILOG_CHK=Bật giao diện ghi nhật ký gói
|
||||
IDS_NOTIFICATIONFULLSCREENSILENTMODE_CHK=Bật chế độ im lặng khi ứng dụng toàn màn hình ở nền
|
||||
IDS_TITLE_TRAY=Biểu tượng tray
|
||||
IDS_TRAYICONSINGLECLICK_CHK=Nhấp một lần vào biểu tượng tray để mở
|
||||
IDS_ENABLE_APP_CHK=Bật quyền truy cập mạng
|
||||
IDS_APP_HINT=Không có lý do gì để đặt bất kỳ quy tắc dễ dàng nào cho ứng dụng đã bật quyền truy cập internet.
|
||||
IDS_HOST=Host
|
||||
IDS_CONFIRMALLOW_CHK=Xác nhận khi cho phép ứng dụng
|
||||
IDS_QUESTION_ALLOW=Bạn có chắc chắn muốn kích hoạt toàn quyền truy cập internet cho ứng dụng này không?
|
||||
IDS_SHOWSEARCHBAR_CHK=Hiển thị thanh tìm kiếm
|
||||
IDS_LAYER=Lớp
|
||||
IDS_RULE_ALLOWWINDOWSUPDATE=Allow Windows Update
|
||||
IDS_ACTION_TERMINATE_HINT=Terminate process
|
||||
IDS_PROFILE_TYPE=Profile type
|
||||
IDS_USEAPPMONITOR_CHK=Monitor apps changing
|
||||
IDS_DISABLEREMOVAL=Disable removal
|
||||
IDS_USEHASHES_CHK=Check apps for sha-256 hash
|
||||
IDS_COMMENT=Comments
|
||||
IDS_USEDARKTHEME=Use dark theme
|
||||
IDS_KEEPUNUSED_CHK=Keep unused apps
|
||||
IDS_UPDATE_NO=Hiện tại không có bản cập nhật.
|
||||
IDS_UPDATE_YES=Có sẵn bản cập nhật. Cập nhật ngay?
|
||||
IDS_UPDATE_SPEED=Speed
|
||||
IDS_RULE_FOR_ALL=for all
|
||||
IDS_RULE_FOR_APPS=for apps
|
||||
IDS_PROFILE_TYPE_PLAIN=Plain
|
||||
IDS_PROFILE_TYPE_COMPRESSED=Compressed
|
||||
IDS_PROFILE_TYPE_ENCRYPTED=Encrypted
|
||||
IDS_SESSION_ONLY=session only
|
||||
IDS_LIMIT_REACHED=Limit reached.
|
||||
IDS_INTERNAL_RULE=Internal rule
|
||||
IDS_LOADING=Loading...
|
||||
IDS_DIRECTION_REMOTE=Remote
|
||||
IDS_DIRECTION_LOCAL=Local
|
||||
IDS_WARNING_UNEXPECTED=Be careful, through service/driver host (svchost.exe/System) internet traffic can let out through unexpected ways. Continue?
|
||||
IDS_WARNING_ME=If you disallow main process, you cannot use resolve network addresses option. Continue?
|
||||
IDS_TOTAL=Total
|
||||
IDS_ALLOWIPFORWARDING_CHK=Allow IP forwarding
|
||||
IDS_EXCLUDEINBOUND_CHK=inbound multicast/broadcast
|
||||
IDS_CONNECTIONS_ENABLE=Enable connections monitoring
|
||||
IDS_CONNECTIONS_SHOWAITCONNECTIONS=Show waiting connections
|
||||
IDS_CONNECTIONS_MEASUREUDPTRAFFIC=Measure UDP/QUIC traffic (experimental, restart required)
|
||||
IDS_UDP_ACCOUNTING=UDP (including QUIC): ETW bytes since this socket was first monitored.
|
||||
IDS_UDP_UNAVAILABLE=UDP measurement unavailable or incomplete. Restart simplewall to retry. Error
|
||||
IDS_UDP_PENDING=UDP: no verified measurement yet. Sockets opened before monitoring must be reopened.
|
||||
@@ -1,38 +1,39 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!--Internal rules for simplewall-->
|
||||
<!--Minimum required version is 3.4-->
|
||||
<root timestamp="1632821660" type="4" version="4">
|
||||
<!-- Internal rules for simplewall -->
|
||||
<!-- Minimum required version is 4.0 -->
|
||||
<root timestamp="1784741706" type="4" version="6">
|
||||
<rules_system>
|
||||
<item name="DHCP" rule="67-68;546-547" rule_local="67-68;546-547" dir="2" protocol="17" apps="Dhcp" is_enabled="true" />
|
||||
<item name="DNS" rule="53" protocol="17" apps="Dnscache" is_enabled="true" />
|
||||
<item name="IGMP" rule="224.0.0.0/4" protocol="2" is_services="true" is_enabled="true" />
|
||||
<item name="Cryptographic service" apps="CryptSvc" is_enabled="true" />
|
||||
<item name="DHCP" rule="67-68;546-547" rule_local="67-68;546-547" dir="2" protocol="17" is_services="true" is_enabled="true" />
|
||||
<item name="DNS" rule="53" protocol="17" is_services="true" is_enabled="true" />
|
||||
<item name="IGMP" rule="224.0.0.0/4" protocol="2" dir="2" is_kernel="true" is_services="true" is_enabled="true" />
|
||||
<item name="IKEv2/IPSEC/L2TP" rule="500;1701;4500" protocol="17" is_services="true" />
|
||||
<item name="KMS service" rule="1688" protocol="6" apps="%systemroot%\system32\SppExtComObj.exe" os_version="6.2" is_enabled="true" />
|
||||
<item name="LLMNR" rule="224.0.0.252:5355;[ff02::1:3]:5355" protocol="17" is_services="true" is_enabled="true" />
|
||||
<item name="mDNS" rule="224.0.0.251:5353;[ff02::fb]:5353" protocol="17" is_services="true" is_enabled="true" />
|
||||
<item name="Microsoft account" apps="wlidsvc" os_version="6.2" />
|
||||
<item name="NetBIOS [inbound]" rule_local="137-139" dir="1" is_services="true" is_enabled="true" />
|
||||
<item name="NetBIOS [outbound]" rule="137-139" is_services="true" is_enabled="true" />
|
||||
<item name="NCSI" apps="NlaSvc" is_enabled="true" />
|
||||
<item name="NTP" rule="123" protocol="17" is_services="true" />
|
||||
<item name="NTP" rule="123" protocol="17" is_services="true" is_enabled="true" />
|
||||
<item name="Printer Service" rule_remote="515;631" protocol="6" apps="Spooler" />
|
||||
<item name="RDP [inbound]" rule_local="3389" dir="1" is_services="true" />
|
||||
<item name="RDP [outbound]" rule="3389" is_services="true" />
|
||||
<item name="Security policy" apps="%systemroot%\system32\lsass.exe" is_enabled="true" />
|
||||
<item name="SMB [inbound]" rule_local="445" dir="1" protocol="6" is_services="true" />
|
||||
<item name="SMB [outbound]" rule="445" protocol="6" is_services="true" />
|
||||
<item name="SNMP" rule="161-162" dir="2" protocol="17" is_services="true" />
|
||||
<item name="SSDP [inbound]" rule_local="1900" dir="1" protocol="17" is_services="true" is_enabled="true" />
|
||||
<item name="SSDP [outbound]" rule="1900" protocol="17" is_services="true" is_enabled="true" />
|
||||
<item name="UPnP" rule="2869;5000" is_services="true" is_enabled="true" />
|
||||
<item name="WS-Discovery" rule="3702" protocol="17" is_services="true" is_enabled="true" />
|
||||
<item name="WS-Discovery [events]" rule="5357-5358" protocol="6" is_services="true" is_enabled="true" />
|
||||
<item name="Cryptographic service" apps="CryptSvc" is_enabled="true" />
|
||||
<item name="KMS service" rule="1688" protocol="6" apps="%systemroot%\system32\SppExtComObj.exe" os_version="6.2" />
|
||||
<item name="Microsoft account" apps="wlidsvc" os_version="6.2" />
|
||||
<item name="Security policy" apps="%systemroot%\system32\lsass.exe" is_enabled="true" />
|
||||
<item name="Windows Update service" apps="wuauserv" />
|
||||
<item name="Windows Update Delivery service" apps="DoSvc|UsoSvc" os_version="10.0" />
|
||||
<item name="WS-Discovery" rule="3702" protocol="17" is_services="true" is_enabled="true" />
|
||||
<item name="WS-Discovery [events]" rule="5357-5358" protocol="6" is_services="true" is_enabled="true" />
|
||||
</rules_system>
|
||||
<rules_custom>
|
||||
<item name="DNS protocol" rule="53" protocol="17" />
|
||||
<item name="FTP" rule="20-21;49152-65534" protocol="6" />
|
||||
<item name="FTP" rule="20-21" protocol="6" />
|
||||
<item name="HTTP" rule="80;443;8000;8008;8080;8443-8444" protocol="6" />
|
||||
<item name="ICMPv4" dir="2" protocol="1" />
|
||||
<item name="ICMPv6" dir="2" protocol="58" />
|
||||
@@ -43,10 +44,12 @@
|
||||
</rules_custom>
|
||||
<rules_blocklist>
|
||||
<item name="extra_13.64.186.225" rule="13.64.186.225" />
|
||||
<item name="extra_13.69.116.104" rule="13.69.116.104" />
|
||||
<item name="extra_13.69.146.58" rule="13.69.146.58" />
|
||||
<item name="extra_13.69.239.72" rule="13.69.239.72" />
|
||||
<item name="extra_13.69.239.73" rule="13.69.239.73" />
|
||||
<item name="extra_13.69.239.74" rule="13.69.239.74" />
|
||||
<item name="extra_13.69.244.117" rule="13.69.244.117" />
|
||||
<item name="extra_13.70.180.171" rule="13.70.180.171" />
|
||||
<item name="extra_13.76.218.117" rule="13.76.218.117" />
|
||||
<item name="extra_13.76.219.191" rule="13.76.219.191" />
|
||||
@@ -57,6 +60,7 @@
|
||||
<item name="extra_13.78.111.199" rule="13.78.111.199" />
|
||||
<item name="extra_13.78.235.126" rule="13.78.235.126" />
|
||||
<item name="extra_13.78.235.247" rule="13.78.235.247" />
|
||||
<item name="extra_13.79.7.57" rule="13.79.7.57" />
|
||||
<item name="extra_13.79.239.69" rule="13.79.239.69" />
|
||||
<item name="extra_13.79.239.82" rule="13.79.239.82" />
|
||||
<item name="extra_13.80.7.77" rule="13.80.7.77" />
|
||||
@@ -76,6 +80,7 @@
|
||||
<item name="extra_13.89.179.8" rule="13.89.179.8" />
|
||||
<item name="extra_13.89.179.9" rule="13.89.179.9" />
|
||||
<item name="extra_13.89.179.10" rule="13.89.179.10" />
|
||||
<item name="extra_13.89.179.12" rule="13.89.179.12" />
|
||||
<item name="extra_13.89.202.241" rule="13.89.202.241" />
|
||||
<item name="extra_13.95.147.73" rule="13.95.147.73" />
|
||||
<item name="extra_13.104.158.177" rule="13.104.158.177" />
|
||||
@@ -121,6 +126,7 @@
|
||||
<item name="extra_13.107.128.254" rule="13.107.128.254" />
|
||||
<item name="extra_13.107.136.254" rule="13.107.136.254" />
|
||||
<item name="extra_13.107.140.254" rule="13.107.140.254" />
|
||||
<item name="extra_13.107.213.42" rule="13.107.213.42" />
|
||||
<item name="extra_13.107.246.10" rule="13.107.246.10" />
|
||||
<item name="extra_13.107.246.13" rule="13.107.246.13" />
|
||||
<item name="extra_13.107.246.19" rule="13.107.246.19" />
|
||||
@@ -139,6 +145,9 @@
|
||||
<item name="extra_20.38.122.68" rule="20.38.122.68" />
|
||||
<item name="extra_20.38.122.100" rule="20.38.122.100" />
|
||||
<item name="extra_20.38.122.132" rule="20.38.122.132" />
|
||||
<item name="extra_20.38.122.228" rule="20.38.122.228" />
|
||||
<item name="extra_20.40.129.122" rule="20.40.129.122" />
|
||||
<item name="extra_20.40.136.238" rule="20.40.136.238" />
|
||||
<item name="extra_20.42.65.84" rule="20.42.65.84" />
|
||||
<item name="extra_20.42.65.85" rule="20.42.65.85" />
|
||||
<item name="extra_20.42.65.88" rule="20.42.65.88" />
|
||||
@@ -168,17 +177,34 @@
|
||||
<item name="extra_20.50.201.200" rule="20.50.201.200" />
|
||||
<item name="extra_20.54.64.202" rule="20.54.64.202" />
|
||||
<item name="extra_20.54.88.152" rule="20.54.88.152" />
|
||||
<item name="extra_20.54.122.82" rule="20.54.122.82" />
|
||||
<item name="extra_20.60.18.36" rule="20.60.18.36" />
|
||||
<item name="extra_20.60.30.36" rule="20.60.30.36" />
|
||||
<item name="extra_20.60.30.68" rule="20.60.30.68" />
|
||||
<item name="extra_20.60.58.97" rule="20.60.58.97" />
|
||||
<item name="extra_20.60.59.193" rule="20.60.59.193" />
|
||||
<item name="extra_20.60.59.235" rule="20.60.59.235" />
|
||||
<item name="extra_20.60.133.132" rule="20.60.133.132" />
|
||||
<item name="extra_20.60.178.4" rule="20.60.178.4" />
|
||||
<item name="extra_20.60.179.4" rule="20.60.179.4" />
|
||||
<item name="extra_20.60.181.193" rule="20.60.181.193" />
|
||||
<item name="extra_20.60.181.225" rule="20.60.181.225" />
|
||||
<item name="extra_20.60.240.33" rule="20.60.240.33" />
|
||||
<item name="extra_20.60.240.65" rule="20.60.240.65" />
|
||||
<item name="extra_20.67.112.184" rule="20.67.112.184" />
|
||||
<item name="extra_20.67.219.150" rule="20.67.219.150" />
|
||||
<item name="extra_20.69.130.185" rule="20.69.130.185" />
|
||||
<item name="extra_20.72.78.248" rule="20.72.78.248" />
|
||||
<item name="extra_20.73.128.142" rule="20.73.128.142" />
|
||||
<item name="extra_20.82.209.104" rule="20.82.209.104" />
|
||||
<item name="extra_20.82.209.183" rule="20.82.209.183" />
|
||||
<item name="extra_20.82.210.154" rule="20.82.210.154" />
|
||||
<item name="extra_20.82.217.86" rule="20.82.217.86" />
|
||||
<item name="extra_20.82.250.189" rule="20.82.250.189" />
|
||||
<item name="extra_20.86.161.79" rule="20.86.161.79" />
|
||||
<item name="extra_20.86.173.234" rule="20.86.173.234" />
|
||||
<item name="extra_20.86.186.134" rule="20.86.186.134" />
|
||||
<item name="extra_20.93.58.141" rule="20.93.58.141" />
|
||||
<item name="extra_20.140.48.69" rule="20.140.48.69" />
|
||||
<item name="extra_20.140.56.70" rule="20.140.56.70" />
|
||||
<item name="extra_20.150.17.68" rule="20.150.17.68" />
|
||||
@@ -215,6 +241,7 @@
|
||||
<item name="extra_20.189.173.13" rule="20.189.173.13" />
|
||||
<item name="extra_20.189.173.14" rule="20.189.173.14" />
|
||||
<item name="extra_20.189.173.15" rule="20.189.173.15" />
|
||||
<item name="extra_20.189.173.20" rule="20.189.173.20" />
|
||||
<item name="extra_20.189.173.21" rule="20.189.173.21" />
|
||||
<item name="extra_20.189.173.22" rule="20.189.173.22" />
|
||||
<item name="extra_20.190.129.2" rule="20.190.129.2" />
|
||||
@@ -233,8 +260,15 @@
|
||||
<item name="extra_20.190.137.75" rule="20.190.137.75" />
|
||||
<item name="extra_20.190.137.96" rule="20.190.137.96" />
|
||||
<item name="extra_20.190.137.98" rule="20.190.137.98" />
|
||||
<item name="extra_20.190.159.0" rule="20.190.159.0" />
|
||||
<item name="extra_20.190.159.2" rule="20.190.159.2" />
|
||||
<item name="extra_20.190.159.4" rule="20.190.159.4" />
|
||||
<item name="extra_20.190.159.23" rule="20.190.159.23" />
|
||||
<item name="extra_20.190.159.30" rule="20.190.159.30" />
|
||||
<item name="extra_20.190.159.32" rule="20.190.159.32" />
|
||||
<item name="extra_20.190.159.64" rule="20.190.159.64" />
|
||||
<item name="extra_20.190.159.71" rule="20.190.159.71" />
|
||||
<item name="extra_20.190.159.73" rule="20.190.159.73" />
|
||||
<item name="extra_20.190.159.132" rule="20.190.159.132" />
|
||||
<item name="extra_20.190.159.134" rule="20.190.159.134" />
|
||||
<item name="extra_20.190.159.136" rule="20.190.159.136" />
|
||||
@@ -245,6 +279,11 @@
|
||||
<item name="extra_20.190.160.4" rule="20.190.160.4" />
|
||||
<item name="extra_20.190.160.6" rule="20.190.160.6" />
|
||||
<item name="extra_20.190.160.8" rule="20.190.160.8" />
|
||||
<item name="extra_20.190.160.14" rule="20.190.160.14" />
|
||||
<item name="extra_20.190.160.17" rule="20.190.160.17" />
|
||||
<item name="extra_20.190.160.20" rule="20.190.160.20" />
|
||||
<item name="extra_20.190.160.22" rule="20.190.160.22" />
|
||||
<item name="extra_20.190.160.24" rule="20.190.160.24" />
|
||||
<item name="extra_20.190.160.67" rule="20.190.160.67" />
|
||||
<item name="extra_20.190.160.69" rule="20.190.160.69" />
|
||||
<item name="extra_20.190.160.71" rule="20.190.160.71" />
|
||||
@@ -277,6 +316,7 @@
|
||||
<item name="extra_40.70.221.249" rule="40.70.221.249" />
|
||||
<item name="extra_40.74.35.71" rule="40.74.35.71" />
|
||||
<item name="extra_40.74.70.63" rule="40.74.70.63" />
|
||||
<item name="extra_40.74.94.131" rule="40.74.94.131" />
|
||||
<item name="extra_40.74.98.192" rule="40.74.98.192" />
|
||||
<item name="extra_40.74.98.193" rule="40.74.98.193" />
|
||||
<item name="extra_40.74.98.194" rule="40.74.98.194" />
|
||||
@@ -314,8 +354,12 @@
|
||||
<item name="extra_40.90.65.7" rule="40.90.65.7" />
|
||||
<item name="extra_40.90.65.17" rule="40.90.65.17" />
|
||||
<item name="extra_40.90.65.22" rule="40.90.65.22" />
|
||||
<item name="extra_40.90.65.26" rule="40.90.65.26" />
|
||||
<item name="extra_40.90.65.28" rule="40.90.65.28" />
|
||||
<item name="extra_40.90.65.32" rule="40.90.65.32" />
|
||||
<item name="extra_40.90.65.44" rule="40.90.65.44" />
|
||||
<item name="extra_40.90.65.53" rule="40.90.65.53" />
|
||||
<item name="extra_40.90.65.54" rule="40.90.65.54" />
|
||||
<item name="extra_40.90.65.65" rule="40.90.65.65" />
|
||||
<item name="extra_40.90.128.17" rule="40.90.128.17" />
|
||||
<item name="extra_40.90.130.192" rule="40.90.130.192" />
|
||||
@@ -347,6 +391,13 @@
|
||||
<item name="extra_40.97.161.50" rule="40.97.161.50" />
|
||||
<item name="extra_40.100.54.2" rule="40.100.54.2" />
|
||||
<item name="extra_40.100.54.194" rule="40.100.54.194" />
|
||||
<item name="extra_40.100.174.2" rule="40.100.174.2" />
|
||||
<item name="extra_40.100.174.18" rule="40.100.174.18" />
|
||||
<item name="extra_40.100.174.34" rule="40.100.174.34" />
|
||||
<item name="extra_40.100.174.194" rule="40.100.174.194" />
|
||||
<item name="extra_40.100.174.210" rule="40.100.174.210" />
|
||||
<item name="extra_40.100.174.226" rule="40.100.174.226" />
|
||||
<item name="extra_40.100.175.146" rule="40.100.175.146" />
|
||||
<item name="extra_40.101.4.2" rule="40.101.4.2" />
|
||||
<item name="extra_40.101.12.2" rule="40.101.12.2" />
|
||||
<item name="extra_40.101.12.50" rule="40.101.12.50" />
|
||||
@@ -393,10 +444,12 @@
|
||||
<item name="extra_40.112.75.175" rule="40.112.75.175" />
|
||||
<item name="extra_40.112.90.122" rule="40.112.90.122" />
|
||||
<item name="extra_40.112.91.29" rule="40.112.91.29" />
|
||||
<item name="extra_40.112.93.153" rule="40.112.93.153" />
|
||||
<item name="extra_40.113.0.16" rule="40.113.0.16" />
|
||||
<item name="extra_40.113.10.47" rule="40.113.10.47" />
|
||||
<item name="extra_40.113.97.222" rule="40.113.97.222" />
|
||||
<item name="extra_40.113.109.30" rule="40.113.109.30" />
|
||||
<item name="extra_40.113.225.85" rule="40.113.225.85" />
|
||||
<item name="extra_40.114.54.223" rule="40.114.54.223" />
|
||||
<item name="extra_40.114.140.1" rule="40.114.140.1" />
|
||||
<item name="extra_40.114.224.200" rule="40.114.224.200" />
|
||||
@@ -413,6 +466,7 @@
|
||||
<item name="extra_40.119.249.228" rule="40.119.249.228" />
|
||||
<item name="extra_40.121.213.159" rule="40.121.213.159" />
|
||||
<item name="extra_40.122.160.14" rule="40.122.160.14" />
|
||||
<item name="extra_40.122.192.126" rule="40.122.192.126" />
|
||||
<item name="extra_40.124.168.44" rule="40.124.168.44" />
|
||||
<item name="extra_40.125.120.53" rule="40.125.120.53" />
|
||||
<item name="extra_40.126.1.128" rule="40.126.1.128" />
|
||||
@@ -430,6 +484,8 @@
|
||||
<item name="extra_40.126.31.4" rule="40.126.31.4" />
|
||||
<item name="extra_40.126.31.6" rule="40.126.31.6" />
|
||||
<item name="extra_40.126.31.8" rule="40.126.31.8" />
|
||||
<item name="extra_40.126.31.69" rule="40.126.31.69" />
|
||||
<item name="extra_40.126.31.71" rule="40.126.31.71" />
|
||||
<item name="extra_40.126.31.135" rule="40.126.31.135" />
|
||||
<item name="extra_40.126.31.137" rule="40.126.31.137" />
|
||||
<item name="extra_40.126.31.139" rule="40.126.31.139" />
|
||||
@@ -437,6 +493,14 @@
|
||||
<item name="extra_40.126.31.143" rule="40.126.31.143" />
|
||||
<item name="extra_40.126.31.163" rule="40.126.31.163" />
|
||||
<item name="extra_40.126.31.164" rule="40.126.31.164" />
|
||||
<item name="extra_40.126.32.68" rule="40.126.32.68" />
|
||||
<item name="extra_40.126.32.72" rule="40.126.32.72" />
|
||||
<item name="extra_40.126.32.74" rule="40.126.32.74" />
|
||||
<item name="extra_40.126.32.133" rule="40.126.32.133" />
|
||||
<item name="extra_40.126.32.134" rule="40.126.32.134" />
|
||||
<item name="extra_40.126.32.136" rule="40.126.32.136" />
|
||||
<item name="extra_40.126.32.138" rule="40.126.32.138" />
|
||||
<item name="extra_40.126.32.140" rule="40.126.32.140" />
|
||||
<item name="extra_40.127.128.174" rule="40.127.128.174" />
|
||||
<item name="extra_40.127.142.76" rule="40.127.142.76" />
|
||||
<item name="extra_40.127.195.156" rule="40.127.195.156" />
|
||||
@@ -452,6 +516,7 @@
|
||||
<item name="extra_51.105.71.136" rule="51.105.71.136" />
|
||||
<item name="extra_51.105.71.137" rule="51.105.71.137" />
|
||||
<item name="extra_51.105.208.173" rule="51.105.208.173" />
|
||||
<item name="extra_51.105.236.244" rule="51.105.236.244" />
|
||||
<item name="extra_51.116.232.21" rule="51.116.232.21" />
|
||||
<item name="extra_51.124.78.146" rule="51.124.78.146" />
|
||||
<item name="extra_51.132.193.104" rule="51.132.193.104" />
|
||||
@@ -459,22 +524,34 @@
|
||||
<item name="extra_51.132.208.181" rule="51.132.208.181" />
|
||||
<item name="extra_51.136.15.177" rule="51.136.15.177" />
|
||||
<item name="extra_51.136.37.147" rule="51.136.37.147" />
|
||||
<item name="extra_51.137.137.111" rule="51.137.137.111" />
|
||||
<item name="extra_51.138.106.75" rule="51.138.106.75" />
|
||||
<item name="extra_51.140.65.84" rule="51.140.65.84" />
|
||||
<item name="extra_51.140.98.69" rule="51.140.98.69" />
|
||||
<item name="extra_51.140.127.197" rule="51.140.127.197" />
|
||||
<item name="extra_51.141.26.229" rule="51.141.26.229" />
|
||||
<item name="extra_51.141.32.51" rule="51.141.32.51" />
|
||||
<item name="extra_51.141.118.220" rule="51.141.118.220" />
|
||||
<item name="extra_51.141.166.104" rule="51.141.166.104" />
|
||||
<item name="extra_51.143.49.132" rule="51.143.49.132" />
|
||||
<item name="extra_51.144.108.120" rule="51.144.108.120" />
|
||||
<item name="extra_51.144.113.175" rule="51.144.113.175" />
|
||||
<item name="extra_51.145.123.29" rule="51.145.123.29" />
|
||||
<item name="extra_52.97.129.66" rule="52.97.129.66" />
|
||||
<item name="extra_52.97.129.226" rule="52.97.129.226" />
|
||||
<item name="extra_52.97.129.242" rule="52.97.129.242" />
|
||||
<item name="extra_52.97.133.146" rule="52.97.133.146" />
|
||||
<item name="extra_52.97.133.162" rule="52.97.133.162" />
|
||||
<item name="extra_52.97.133.178" rule="52.97.133.178" />
|
||||
<item name="extra_52.97.133.194" rule="52.97.133.194" />
|
||||
<item name="extra_52.97.133.210" rule="52.97.133.210" />
|
||||
<item name="extra_52.97.133.226" rule="52.97.133.226" />
|
||||
<item name="extra_52.97.133.242" rule="52.97.133.242" />
|
||||
<item name="extra_52.97.135.114" rule="52.97.135.114" />
|
||||
<item name="extra_52.97.144.2" rule="52.97.144.2" />
|
||||
<item name="extra_52.97.146.34" rule="52.97.146.34" />
|
||||
<item name="extra_52.97.146.130" rule="52.97.146.130" />
|
||||
<item name="extra_52.97.146.162" rule="52.97.146.162" />
|
||||
<item name="extra_52.97.146.194" rule="52.97.146.194" />
|
||||
<item name="extra_52.97.146.210" rule="52.97.146.210" />
|
||||
<item name="extra_52.97.150.2" rule="52.97.150.2" />
|
||||
<item name="extra_52.97.151.50" rule="52.97.151.50" />
|
||||
<item name="extra_52.97.151.82" rule="52.97.151.82" />
|
||||
@@ -485,6 +562,8 @@
|
||||
<item name="extra_52.97.170.34" rule="52.97.170.34" />
|
||||
<item name="extra_52.97.171.194" rule="52.97.171.194" />
|
||||
<item name="extra_52.97.179.194" rule="52.97.179.194" />
|
||||
<item name="extra_52.97.179.226" rule="52.97.179.226" />
|
||||
<item name="extra_52.97.179.242" rule="52.97.179.242" />
|
||||
<item name="extra_52.97.186.114" rule="52.97.186.114" />
|
||||
<item name="extra_52.97.188.66" rule="52.97.188.66" />
|
||||
<item name="extra_52.97.189.98" rule="52.97.189.98" />
|
||||
@@ -497,9 +576,27 @@
|
||||
<item name="extra_52.97.201.50" rule="52.97.201.50" />
|
||||
<item name="extra_52.97.201.66" rule="52.97.201.66" />
|
||||
<item name="extra_52.97.201.98" rule="52.97.201.98" />
|
||||
<item name="extra_52.97.208.18" rule="52.97.208.18" />
|
||||
<item name="extra_52.97.208.50" rule="52.97.208.50" />
|
||||
<item name="extra_52.97.211.66" rule="52.97.211.66" />
|
||||
<item name="extra_52.97.211.82" rule="52.97.211.82" />
|
||||
<item name="extra_52.97.211.98" rule="52.97.211.98" />
|
||||
<item name="extra_52.97.211.114" rule="52.97.211.114" />
|
||||
<item name="extra_52.97.211.130" rule="52.97.211.130" />
|
||||
<item name="extra_52.97.211.146" rule="52.97.211.146" />
|
||||
<item name="extra_52.97.211.162" rule="52.97.211.162" />
|
||||
<item name="extra_52.97.211.178" rule="52.97.211.178" />
|
||||
<item name="extra_52.97.211.194" rule="52.97.211.194" />
|
||||
<item name="extra_52.97.211.210" rule="52.97.211.210" />
|
||||
<item name="extra_52.97.211.226" rule="52.97.211.226" />
|
||||
<item name="extra_52.97.211.242" rule="52.97.211.242" />
|
||||
<item name="extra_52.97.212.82" rule="52.97.212.82" />
|
||||
<item name="extra_52.97.212.98" rule="52.97.212.98" />
|
||||
<item name="extra_52.97.212.114" rule="52.97.212.114" />
|
||||
<item name="extra_52.97.215.98" rule="52.97.215.98" />
|
||||
<item name="extra_52.97.219.194" rule="52.97.219.194" />
|
||||
<item name="extra_52.97.219.210" rule="52.97.219.210" />
|
||||
<item name="extra_52.97.219.226" rule="52.97.219.226" />
|
||||
<item name="extra_52.97.219.242" rule="52.97.219.242" />
|
||||
<item name="extra_52.97.232.194" rule="52.97.232.194" />
|
||||
<item name="extra_52.97.233.2" rule="52.97.233.2" />
|
||||
@@ -510,14 +607,22 @@
|
||||
<item name="extra_52.97.233.82" rule="52.97.233.82" />
|
||||
<item name="extra_52.97.233.98" rule="52.97.233.98" />
|
||||
<item name="extra_52.97.233.114" rule="52.97.233.114" />
|
||||
<item name="extra_52.97.241.162" rule="52.97.241.162" />
|
||||
<item name="extra_52.97.241.178" rule="52.97.241.178" />
|
||||
<item name="extra_52.97.250.194" rule="52.97.250.194" />
|
||||
<item name="extra_52.97.250.226" rule="52.97.250.226" />
|
||||
<item name="extra_52.98.5.194" rule="52.98.5.194" />
|
||||
<item name="extra_52.98.42.194" rule="52.98.42.194" />
|
||||
<item name="extra_52.98.66.98" rule="52.98.66.98" />
|
||||
<item name="extra_52.98.145.66" rule="52.98.145.66" />
|
||||
<item name="extra_52.98.145.82" rule="52.98.145.82" />
|
||||
<item name="extra_52.98.145.98" rule="52.98.145.98" />
|
||||
<item name="extra_52.98.145.114" rule="52.98.145.114" />
|
||||
<item name="extra_52.98.151.226" rule="52.98.151.226" />
|
||||
<item name="extra_52.98.151.242" rule="52.98.151.242" />
|
||||
<item name="extra_52.98.207.130" rule="52.98.207.130" />
|
||||
<item name="extra_52.98.207.146" rule="52.98.207.146" />
|
||||
<item name="extra_52.98.207.162" rule="52.98.207.162" />
|
||||
<item name="extra_52.109.8.19" rule="52.109.8.19" />
|
||||
<item name="extra_52.109.8.20" rule="52.109.8.20" />
|
||||
<item name="extra_52.109.8.21" rule="52.109.8.21" />
|
||||
@@ -529,6 +634,7 @@
|
||||
<item name="extra_52.109.12.23" rule="52.109.12.23" />
|
||||
<item name="extra_52.109.12.24" rule="52.109.12.24" />
|
||||
<item name="extra_52.109.28.63" rule="52.109.28.63" />
|
||||
<item name="extra_52.109.28.107" rule="52.109.28.107" />
|
||||
<item name="extra_52.109.32.23" rule="52.109.32.23" />
|
||||
<item name="extra_52.109.32.63" rule="52.109.32.63" />
|
||||
<item name="extra_52.109.68.14" rule="52.109.68.14" />
|
||||
@@ -712,6 +818,7 @@
|
||||
<item name="extra_52.182.143.208" rule="52.182.143.208" />
|
||||
<item name="extra_52.182.143.210" rule="52.182.143.210" />
|
||||
<item name="extra_52.182.143.211" rule="52.182.143.211" />
|
||||
<item name="extra_52.182.143.212" rule="52.182.143.212" />
|
||||
<item name="extra_52.183.24.194" rule="52.183.24.194" />
|
||||
<item name="extra_52.183.104.36" rule="52.183.104.36" />
|
||||
<item name="extra_52.184.81.210" rule="52.184.81.210" />
|
||||
@@ -723,6 +830,7 @@
|
||||
<item name="extra_52.188.77.27" rule="52.188.77.27" />
|
||||
<item name="extra_52.224.75.92" rule="52.224.75.92" />
|
||||
<item name="extra_52.225.136.36" rule="52.225.136.36" />
|
||||
<item name="extra_52.225.255.33" rule="52.225.255.33" />
|
||||
<item name="extra_52.230.10.183" rule="52.230.10.183" />
|
||||
<item name="extra_52.230.240.94" rule="52.230.240.94" />
|
||||
<item name="extra_52.231.32.10" rule="52.231.32.10" />
|
||||
@@ -735,6 +843,8 @@
|
||||
<item name="extra_52.239.150.170" rule="52.239.150.170" />
|
||||
<item name="extra_52.239.151.138" rule="52.239.151.138" />
|
||||
<item name="extra_52.239.151.170" rule="52.239.151.170" />
|
||||
<item name="extra_52.239.156.2" rule="52.239.156.2" />
|
||||
<item name="extra_52.239.156.2" rule="52.239.156.2" />
|
||||
<item name="extra_52.239.156.74" rule="52.239.156.74" />
|
||||
<item name="extra_52.239.156.138" rule="52.239.156.138" />
|
||||
<item name="extra_52.239.157.138" rule="52.239.157.138" />
|
||||
@@ -745,6 +855,7 @@
|
||||
<item name="extra_52.239.174.132" rule="52.239.174.132" />
|
||||
<item name="extra_52.239.174.196" rule="52.239.174.196" />
|
||||
<item name="extra_52.239.174.228" rule="52.239.174.228" />
|
||||
<item name="extra_52.239.175.4" rule="52.239.175.4" />
|
||||
<item name="extra_52.239.175.68" rule="52.239.175.68" />
|
||||
<item name="extra_52.239.177.36" rule="52.239.177.36" />
|
||||
<item name="extra_52.239.177.68" rule="52.239.177.68" />
|
||||
@@ -752,6 +863,7 @@
|
||||
<item name="extra_52.239.177.228" rule="52.239.177.228" />
|
||||
<item name="extra_52.239.184.10" rule="52.239.184.10" />
|
||||
<item name="extra_52.239.184.42" rule="52.239.184.42" />
|
||||
<item name="extra_52.239.198.228" rule="52.239.198.228" />
|
||||
<item name="extra_52.239.207.100" rule="52.239.207.100" />
|
||||
<item name="extra_52.239.222.100" rule="52.239.222.100" />
|
||||
<item name="extra_52.239.223.19" rule="52.239.223.19" />
|
||||
@@ -785,6 +897,8 @@
|
||||
<item name="extra_65.55.108.23" rule="65.55.108.23" />
|
||||
<item name="extra_65.55.130.50" rule="65.55.130.50" />
|
||||
<item name="extra_65.55.223.0-65.55.223.255" rule="65.55.223.0-65.55.223.255" />
|
||||
<item name="extra_104.40.144.210" rule="104.40.144.210" />
|
||||
<item name="extra_104.40.159.215" rule="104.40.159.215" />
|
||||
<item name="extra_104.40.210.32" rule="104.40.210.32" />
|
||||
<item name="extra_104.40.211.35" rule="104.40.211.35" />
|
||||
<item name="extra_104.41.219.140" rule="104.41.219.140" />
|
||||
@@ -800,12 +914,25 @@
|
||||
<item name="extra_104.208.16.88" rule="104.208.16.88" />
|
||||
<item name="extra_104.208.16.89" rule="104.208.16.89" />
|
||||
<item name="extra_104.208.16.90" rule="104.208.16.90" />
|
||||
<item name="extra_104.208.16.94" rule="104.208.16.94" />
|
||||
<item name="extra_104.208.248.16" rule="104.208.248.16" />
|
||||
<item name="extra_104.209.172.133" rule="104.209.172.133" />
|
||||
<item name="extra_104.210.62.125" rule="104.210.62.125" />
|
||||
<item name="extra_104.211.73.16" rule="104.211.73.16" />
|
||||
<item name="extra_104.211.91.221" rule="104.211.91.221" />
|
||||
<item name="extra_104.211.93.71" rule="104.211.93.71" />
|
||||
<item name="extra_104.211.96.15" rule="104.211.96.15" />
|
||||
<item name="extra_104.212.67.88" rule="104.212.67.88" />
|
||||
<item name="extra_104.212.67.92" rule="104.212.67.92" />
|
||||
<item name="extra_104.212.67.142" rule="104.212.67.142" />
|
||||
<item name="extra_104.212.67.154" rule="104.212.67.154" />
|
||||
<item name="extra_104.212.67.162" rule="104.212.67.162" />
|
||||
<item name="extra_104.212.67.168" rule="104.212.67.168" />
|
||||
<item name="extra_104.212.67.187" rule="104.212.67.187" />
|
||||
<item name="extra_104.212.67.188" rule="104.212.67.188" />
|
||||
<item name="extra_104.212.67.223" rule="104.212.67.223" />
|
||||
<item name="extra_104.212.67.234" rule="104.212.67.234" />
|
||||
<item name="extra_104.212.67.245" rule="104.212.67.245" />
|
||||
<item name="extra_104.214.77.221" rule="104.214.77.221" />
|
||||
<item name="extra_104.214.150.122" rule="104.214.150.122" />
|
||||
<item name="extra_104.214.220.181" rule="104.214.220.181" />
|
||||
@@ -859,7 +986,6 @@
|
||||
<item name="extra_168.63.102.42" rule="168.63.102.42" />
|
||||
<item name="extra_191.237.208.126" rule="191.237.208.126" />
|
||||
<item name="extra_191.239.213.197" rule="191.239.213.197" />
|
||||
<item name="extra_204.79.197.0-204.79.197.255" rule="204.79.197.0-204.79.197.255" />
|
||||
<item name="extra_204.152.141.244" rule="204.152.141.244" />
|
||||
<item name="extra_207.46.7.252" rule="207.46.7.252" />
|
||||
<item name="extra_207.46.26.12" rule="207.46.26.12" />
|
||||
@@ -878,6 +1004,7 @@
|
||||
<item name="spy_13.68.31.193" rule="13.68.31.193" />
|
||||
<item name="spy_13.68.82.8" rule="13.68.82.8" />
|
||||
<item name="spy_13.68.92.143" rule="13.68.92.143" />
|
||||
<item name="spy_13.68.233.9" rule="13.68.233.9" />
|
||||
<item name="spy_13.69.109.130" rule="13.69.109.130" />
|
||||
<item name="spy_13.69.109.131" rule="13.69.109.131" />
|
||||
<item name="spy_13.69.131.175" rule="13.69.131.175" />
|
||||
@@ -893,9 +1020,8 @@
|
||||
<item name="spy_13.105.28.48" rule="13.105.28.48" />
|
||||
<item name="spy_20.44.86.43" rule="20.44.86.43" />
|
||||
<item name="spy_20.49.150.241" rule="20.49.150.241" />
|
||||
<item name="spy_20.54.110.119" rule="20.54.110.119" />
|
||||
<item name="spy_20.54.232.160" rule="20.54.232.160" />
|
||||
<item name="spy_20.60.20.4" rule="20.60.20.4" />
|
||||
<item name="spy_20.69.137.228" rule="20.69.137.228" />
|
||||
<item name="spy_20.190.169.24" rule="20.190.169.24" />
|
||||
<item name="spy_20.190.169.25" rule="20.190.169.25" />
|
||||
<item name="spy_23.99.49.121" rule="23.99.49.121" />
|
||||
@@ -1065,6 +1191,7 @@
|
||||
<item name="update_13.91.16.64" rule="13.91.16.64" />
|
||||
<item name="update_13.91.16.65" rule="13.91.16.65" />
|
||||
<item name="update_13.91.16.66" rule="13.91.16.66" />
|
||||
<item name="update_13.91.16.67" rule="13.91.16.67" />
|
||||
<item name="update_13.91.16.68" rule="13.91.16.68" />
|
||||
<item name="update_13.91.16.69" rule="13.91.16.69" />
|
||||
<item name="update_13.91.16.70" rule="13.91.16.70" />
|
||||
@@ -1094,12 +1221,16 @@
|
||||
<item name="update_20.54.25.16" rule="20.54.25.16" />
|
||||
<item name="update_20.54.89.15" rule="20.54.89.15" />
|
||||
<item name="update_20.54.89.106" rule="20.54.89.106" />
|
||||
<item name="update_20.54.110.119" rule="20.54.110.119" />
|
||||
<item name="update_20.54.110.249" rule="20.54.110.249" />
|
||||
<item name="update_20.62.190.184" rule="20.62.190.184" />
|
||||
<item name="update_20.62.190.185" rule="20.62.190.185" />
|
||||
<item name="update_20.62.190.186" rule="20.62.190.186" />
|
||||
<item name="update_20.62.190.187" rule="20.62.190.187" />
|
||||
<item name="update_20.62.190.188" rule="20.62.190.188" />
|
||||
<item name="update_20.62.190.189" rule="20.62.190.189" />
|
||||
<item name="update_20.62.190.190" rule="20.62.190.190" />
|
||||
<item name="update_20.62.190.191" rule="20.62.190.191" />
|
||||
<item name="update_20.83.81.160" rule="20.83.81.160" />
|
||||
<item name="update_20.83.81.161" rule="20.83.81.161" />
|
||||
<item name="update_20.83.81.162" rule="20.83.81.162" />
|
||||
@@ -1118,6 +1249,9 @@
|
||||
<item name="update_20.190.9.86" rule="20.190.9.86" />
|
||||
<item name="update_20.191.46.109" rule="20.191.46.109" />
|
||||
<item name="update_20.191.46.211" rule="20.191.46.211" />
|
||||
<item name="update_20.199.120.85" rule="20.199.120.85" />
|
||||
<item name="update_20.199.120.151" rule="20.199.120.151" />
|
||||
<item name="update_20.199.120.182" rule="20.199.120.182" />
|
||||
<item name="update_23.103.189.125" rule="23.103.189.125" />
|
||||
<item name="update_23.103.189.126" rule="23.103.189.126" />
|
||||
<item name="update_23.103.189.157" rule="23.103.189.157" />
|
||||
@@ -1305,6 +1439,10 @@
|
||||
<item name="update_52.238.248.1" rule="52.238.248.1" />
|
||||
<item name="update_52.238.248.2" rule="52.238.248.2" />
|
||||
<item name="update_52.238.248.3" rule="52.238.248.3" />
|
||||
<item name="update_52.238.248.4" rule="52.238.248.4" />
|
||||
<item name="update_52.238.248.5" rule="52.238.248.5" />
|
||||
<item name="update_52.238.248.6" rule="52.238.248.6" />
|
||||
<item name="update_52.238.248.7" rule="52.238.248.7" />
|
||||
<item name="update_52.242.97.97" rule="52.242.97.97" />
|
||||
<item name="update_52.242.101.226" rule="52.242.101.226" />
|
||||
<item name="update_52.242.231.32" rule="52.242.231.32" />
|
||||
@@ -1327,10 +1465,13 @@
|
||||
<item name="update_52.250.195.204" rule="52.250.195.204" />
|
||||
<item name="update_52.250.195.206" rule="52.250.195.206" />
|
||||
<item name="update_52.250.195.207" rule="52.250.195.207" />
|
||||
<item name="update_52.251.79.25" rule="52.251.79.25" />
|
||||
<item name="update_52.253.130.84" rule="52.253.130.84" />
|
||||
<item name="update_52.254.106.61" rule="52.254.106.61" />
|
||||
<item name="update_52.254.114.64" rule="52.254.114.64" />
|
||||
<item name="update_52.254.114.65" rule="52.254.114.65" />
|
||||
<item name="update_52.254.114.67" rule="52.254.114.67" />
|
||||
<item name="update_52.254.114.68" rule="52.254.114.68" />
|
||||
<item name="update_52.254.114.69" rule="52.254.114.69" />
|
||||
<item name="update_52.254.114.70" rule="52.254.114.70" />
|
||||
<item name="update_52.254.114.71" rule="52.254.114.71" />
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@echo off
|
||||
|
||||
cd ..\builder
|
||||
call build simplewall 3.5.3 simplewall
|
||||
call build simplewall 3.9.2 simplewall
|
||||
|
||||
pause
|
||||
@@ -1,197 +0,0 @@
|
||||
import os
|
||||
import math
|
||||
import re
|
||||
import xml.dom.minidom
|
||||
|
||||
import ctypes
|
||||
from ctypes import wintypes
|
||||
|
||||
FORMATS = {
|
||||
"COMPRESSION_FORMAT_LZNT1" : ctypes.c_uint16 (2),
|
||||
"COMPRESSION_FORMAT_XPRESS" : ctypes.c_uint16 (3),
|
||||
"COMPRESSION_FORMAT_XPRESS_HUFF" : ctypes.c_uint16 (4)
|
||||
}
|
||||
|
||||
ENGINES = {
|
||||
"COMPRESSION_ENGINE_STANDARD" : ctypes.c_uint16 (0),
|
||||
"COMPRESSION_ENGINE_MAXIMUM" : ctypes.c_uint16 (256)
|
||||
}
|
||||
|
||||
|
||||
def natural_sort (list, key=lambda s:s):
|
||||
def get_alphanum_key_func (key):
|
||||
convert = lambda text: int (text) if text.isdigit () else text
|
||||
return lambda s: [convert (c) for c in re.split ('([0-9]+)', key (s))]
|
||||
list.sort (key=get_alphanum_key_func (key))
|
||||
|
||||
def human_readable_size (size, decimal_places=2):
|
||||
for unit in ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB']:
|
||||
if size < 1024.0 or unit == 'PiB':
|
||||
break
|
||||
size /= 1024.0
|
||||
|
||||
return f"{size:.{decimal_places}f} {unit}"
|
||||
|
||||
def pack_file_lznt (buffer_data, buffer_length):
|
||||
format_and_engine = wintypes.USHORT (FORMATS["COMPRESSION_FORMAT_LZNT1"].value | ENGINES["COMPRESSION_ENGINE_MAXIMUM"].value)
|
||||
|
||||
workspace_buffer_size = wintypes.ULONG()
|
||||
workspace_fragment_size = wintypes.ULONG()
|
||||
|
||||
# RtlGetCompressionWorkSpaceSize
|
||||
ctypes.windll.ntdll.RtlGetCompressionWorkSpaceSize.restype = wintypes.LONG
|
||||
ctypes.windll.ntdll.RtlGetCompressionWorkSpaceSize.argtypes = (
|
||||
wintypes.USHORT,
|
||||
wintypes.PULONG,
|
||||
wintypes.PULONG
|
||||
)
|
||||
|
||||
status = ctypes.windll.ntdll.RtlGetCompressionWorkSpaceSize (
|
||||
format_and_engine,
|
||||
ctypes.byref(workspace_buffer_size),
|
||||
ctypes.byref(workspace_fragment_size)
|
||||
)
|
||||
|
||||
if status != 0:
|
||||
print ('RtlGetCompressionWorkSpaceSize failed: 0x{0:X} {0:d} ({1:s})'.format(status, ctypes.FormatError(status)))
|
||||
return None, 0
|
||||
|
||||
# Allocate memory
|
||||
compressed_buffer = ctypes.create_string_buffer (buffer_length)
|
||||
compressed_length = wintypes.ULONG()
|
||||
|
||||
workspace = ctypes.create_string_buffer (workspace_fragment_size.value)
|
||||
|
||||
# RtlCompressBuffer
|
||||
ctypes.windll.ntdll.RtlCompressBuffer.restype = wintypes.LONG
|
||||
ctypes.windll.ntdll.RtlCompressBuffer.argtypes = (
|
||||
wintypes.USHORT,
|
||||
wintypes.LPVOID,
|
||||
wintypes.ULONG,
|
||||
wintypes.LPVOID,
|
||||
wintypes.ULONG,
|
||||
wintypes.ULONG,
|
||||
wintypes.PULONG,
|
||||
wintypes.LPVOID
|
||||
)
|
||||
|
||||
status = ctypes.windll.ntdll.RtlCompressBuffer (
|
||||
format_and_engine,
|
||||
ctypes.addressof (buffer_data),
|
||||
ctypes.sizeof (buffer_data),
|
||||
ctypes.addressof (compressed_buffer),
|
||||
ctypes.sizeof (compressed_buffer),
|
||||
wintypes.ULONG (4096),
|
||||
ctypes.byref (compressed_length),
|
||||
ctypes.addressof (workspace)
|
||||
)
|
||||
|
||||
if status != 0:
|
||||
print ('RtlCompressBuffer failed: 0x{0:X} {0:d} ({1:s})'.format (status, ctypes.FormatError(status)))
|
||||
return None, 0
|
||||
|
||||
return compressed_buffer, compressed_length
|
||||
|
||||
CURRENT_DIRECTORY = os.path.dirname (os.path.abspath (__file__))
|
||||
RULES_DIR = os.path.join (CURRENT_DIRECTORY, '..', '!repos', 'WindowsSpyBlocker', 'data', 'firewall')
|
||||
RULES_FILE = os.path.join (CURRENT_DIRECTORY, 'bin', 'profile_internal.xml')
|
||||
RULES_FILE_PACKED = os.path.join (CURRENT_DIRECTORY, 'bin', 'profile_internal_packed.bin')
|
||||
|
||||
if not os.path.isdir (RULES_DIR):
|
||||
raise Exception ('Rules directory not found: ' + RULES_DIR)
|
||||
|
||||
if not os.path.isfile (RULES_FILE):
|
||||
raise Exception ('Profile internal not found: ' + RULES_FILE)
|
||||
|
||||
# Open profile xml
|
||||
with open (RULES_FILE, 'r', newline='') as f:
|
||||
data = f.read ()
|
||||
|
||||
if not data:
|
||||
raise Exception ('File reading failure: ' + RULES_FILE)
|
||||
|
||||
# toprettyxml() hack
|
||||
data = data.replace ('\n', '')
|
||||
data = data.replace ('\t', '')
|
||||
|
||||
xml_doc = xml.dom.minidom.parseString (data)
|
||||
xml_root = xml_doc.getElementsByTagName ("root")
|
||||
|
||||
f.close ()
|
||||
|
||||
# Store timestamp
|
||||
timestamp = int (xml_root[0].getAttribute ('timestamp'))
|
||||
|
||||
# Cleanup xml
|
||||
for node in xml_doc.getElementsByTagName ('rules_blocklist'):
|
||||
parent = node.parentNode
|
||||
parent.removeChild (node)
|
||||
|
||||
xml_root[0].appendChild (xml_doc.createElement ('rules_blocklist'))
|
||||
xml_section = xml_doc.getElementsByTagName ('rules_blocklist')
|
||||
|
||||
if not xml_section:
|
||||
raise Exception ('Parse xml failure.')
|
||||
|
||||
# Enumerate Windows Spy Blocker spy/extra and update rules
|
||||
for file_name in os.listdir (RULES_DIR):
|
||||
module_name = os.path.splitext (file_name)[0]
|
||||
module_path = os.path.join (RULES_DIR, file_name)
|
||||
|
||||
print ('Parsing ' + module_name + '...')
|
||||
|
||||
lastmod = int (os.path.getmtime (module_path));
|
||||
|
||||
if lastmod > timestamp:
|
||||
timestamp = lastmod;
|
||||
|
||||
with open (module_path, 'r') as f:
|
||||
rows = f.readlines ()
|
||||
natural_sort (rows)
|
||||
f.close ()
|
||||
|
||||
for string in rows:
|
||||
line = string.strip ("\n\r\t ")
|
||||
|
||||
if line and not line.startswith ('#') and not line.startswith ('<') and not line.startswith ('>') and not line.startswith ('='):
|
||||
new_item = xml_doc.createElement ('item')
|
||||
new_item.setAttribute ('name', module_name + '_' + line)
|
||||
new_item.setAttribute ('rule', line)
|
||||
|
||||
xml_section[0].appendChild (new_item)
|
||||
|
||||
# Set new rule timestamp
|
||||
xml_root[0].setAttribute ('timestamp', str (timestamp))
|
||||
|
||||
# Save updated profile xml
|
||||
data = xml_doc.toprettyxml (indent="\t", newl="\n")
|
||||
|
||||
if data:
|
||||
data = data.replace ('/>', ' />')
|
||||
|
||||
with open (RULES_FILE, 'w', newline='') as fn:
|
||||
fn.write (data)
|
||||
fn.close ()
|
||||
|
||||
with open (RULES_FILE, 'rb') as fn:
|
||||
data = fn.read ()
|
||||
|
||||
if data:
|
||||
data_length = len (data)
|
||||
data_buffer = (data_length * ctypes.c_ubyte).from_buffer_copy (data)
|
||||
|
||||
compressed_buffer, compressed_size = pack_file_lznt (data_buffer, data_length)
|
||||
|
||||
print ('\nPacking rules from %s to %s (%s saved)...' % (human_readable_size (data_length), human_readable_size (compressed_size.value), human_readable_size (data_length - compressed_size.value)))
|
||||
|
||||
if compressed_buffer != None and compressed_size.value != 0:
|
||||
|
||||
with open (RULES_FILE_PACKED, 'wb') as fn_pack:
|
||||
write_array_buffer = (compressed_size.value * ctypes.c_ubyte).from_buffer_copy (compressed_buffer)
|
||||
|
||||
fn_pack.write (write_array_buffer)
|
||||
fn_pack.close ()
|
||||
|
||||
fn.close ()
|
||||
|
||||
print ('\nBlocklist timetamp ' + str (timestamp))
|
||||
@@ -0,0 +1,6 @@
|
||||
@echo off
|
||||
|
||||
cd ..\builder
|
||||
call build_simplewall_rules update %~dp0bin\profile_internal.xml %~dp0bin\profile_internal.xml
|
||||
|
||||
pause
|
||||
@@ -0,0 +1,32 @@
|
||||
@echo off
|
||||
@setlocal enableextensions
|
||||
rem @cd /d "%~dp0\..\"
|
||||
|
||||
rem VS 2026
|
||||
|
||||
if exist "%ProgramFiles%\Microsoft Visual Studio\18\Community\VC\Auxiliary\Build\vcvarsall.bat" (
|
||||
call "%ProgramFiles%\Microsoft Visual Studio\18\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64_arm64
|
||||
goto start
|
||||
)
|
||||
|
||||
if exist "%ProgramFiles%\Microsoft Visual Studio\18\Professional\VC\Auxiliary\Build\vcvarsall.bat" (
|
||||
call "%ProgramFiles%\Microsoft Visual Studio\18\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64_arm64
|
||||
goto start
|
||||
)
|
||||
|
||||
echo VS 2026 was not found...
|
||||
|
||||
goto end
|
||||
|
||||
:start
|
||||
msbuild simplewall.sln -property:Configuration=Release -property:Platform=x64 -verbosity:normal
|
||||
if %ERRORLEVEL% neq 0 goto end
|
||||
|
||||
msbuild simplewall.sln -property:Configuration=Release -property:Platform=ARM64 -verbosity:normal
|
||||
if %ERRORLEVEL% neq 0 goto end
|
||||
|
||||
:end
|
||||
|
||||
echo done...
|
||||
|
||||
pause
|
||||
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 16 KiB |
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.Windows.CppWinRT" version="2.0.230706.1" targetFramework="native" />
|
||||
</packages>
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.31424.327
|
||||
# Visual Studio Version 18
|
||||
VisualStudioVersion = 18.1.11312.151 d18.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simplewall", "simplewall.vcxproj", "{7FB76828-A353-4113-82D7-CD728EED81DF}"
|
||||
EndProject
|
||||
@@ -9,24 +9,18 @@ Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|ARM64 = Debug|ARM64
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|ARM64 = Release|ARM64
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7FB76828-A353-4113-82D7-CD728EED81DF}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{7FB76828-A353-4113-82D7-CD728EED81DF}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{7FB76828-A353-4113-82D7-CD728EED81DF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7FB76828-A353-4113-82D7-CD728EED81DF}.Debug|x64.Build.0 = Debug|x64
|
||||
{7FB76828-A353-4113-82D7-CD728EED81DF}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{7FB76828-A353-4113-82D7-CD728EED81DF}.Debug|x86.Build.0 = Debug|Win32
|
||||
{7FB76828-A353-4113-82D7-CD728EED81DF}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{7FB76828-A353-4113-82D7-CD728EED81DF}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{7FB76828-A353-4113-82D7-CD728EED81DF}.Release|x64.ActiveCfg = Release|x64
|
||||
{7FB76828-A353-4113-82D7-CD728EED81DF}.Release|x64.Build.0 = Release|x64
|
||||
{7FB76828-A353-4113-82D7-CD728EED81DF}.Release|x86.ActiveCfg = Release|Win32
|
||||
{7FB76828-A353-4113-82D7-CD728EED81DF}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.props')" />
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
@@ -27,51 +28,50 @@
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>16.0</VCProjectVersion>
|
||||
<ProjectGuid>{7FB76828-A353-4113-82D7-CD728EED81DF}</ProjectGuid>
|
||||
<RootNamespace>simplewall</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
<ProjectName>simplewall</ProjectName>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v145</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v145</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v145</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v145</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v145</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v145</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@@ -99,8 +99,7 @@
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\;.\src\include\;.\src\;</IncludePath>
|
||||
<LibraryPath>$(VC_LibraryPath_ARM64);$(WindowsSDK_LibraryPath_ARM64);$(NETFXKitsDir)Lib\um\arm64</LibraryPath>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\src\;.\src\include\;.\src\</IncludePath>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
@@ -108,8 +107,7 @@
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\;.\src\include\;.\src\;</IncludePath>
|
||||
<LibraryPath>$(VC_LibraryPath_ARM64);$(WindowsSDK_LibraryPath_ARM64);$(NETFXKitsDir)Lib\um\arm64</LibraryPath>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\src\;.\src\include\;.\src\</IncludePath>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
@@ -118,8 +116,7 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)bin\$(PlatformArchitecture)\</OutDir>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\;.\src\include\;.\src\;</IncludePath>
|
||||
<LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;.\src\lib\32\</LibraryPath>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\src\;.\src\include\;.\src\</IncludePath>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
@@ -127,8 +124,7 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)bin\$(PlatformArchitecture)\</OutDir>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\;.\src\include\;.\src\;</IncludePath>
|
||||
<LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;.\src\lib\32\</LibraryPath>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\src\;.\src\include\;.\src\</IncludePath>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
@@ -136,8 +132,7 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)bin\$(PlatformArchitecture)\</OutDir>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\;.\src\include\;.\src\;</IncludePath>
|
||||
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;.\src\lib\64\</LibraryPath>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\src\;.\src\include\;.\src\</IncludePath>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
@@ -145,8 +140,7 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)bin\$(PlatformArchitecture)\</OutDir>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\;.\src\include\;.\src\;</IncludePath>
|
||||
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;.\src\lib\64\</LibraryPath>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\src\;.\src\include\;.\src\</IncludePath>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
@@ -156,19 +150,21 @@
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<ControlFlowGuard>Guard</ControlFlowGuard>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PreprocessorDefinitions>__WINDOT11_H__;MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;APP_NO_DEPRECATIONS;APP_NO_GUEST;APP_HAVE_AUTORUN;APP_HAVE_SKIPUAC;APP_HAVE_TRAY;APP_HAVE_SETTINGS;APP_HAVE_UPDATES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>SECURITY_WIN32;MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;APP_NO_GUEST;APP_HAVE_AUTORUN;APP_HAVE_SKIPUAC;APP_HAVE_TRAY;APP_HAVE_SETTINGS;APP_HAVE_UPDATES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<LanguageStandard>stdcpplatest</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<LanguageStandard_C>stdclatest</LanguageStandard_C>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<GuardEHContMetadata>true</GuardEHContMetadata>
|
||||
<GuardSignedReturns>true</GuardSignedReturns>
|
||||
<UseStandardPreprocessor>true</UseStandardPreprocessor>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -176,7 +172,8 @@
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<AdditionalOptions>/DEPENDENTLOADFLAG:0x800 /BREPRO %(AdditionalOptions)</AdditionalOptions>
|
||||
<MinimumRequiredVersion>6.1</MinimumRequiredVersion>
|
||||
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<LargeAddressAware>true</LargeAddressAware>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_UNICODE;UNICODE;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -187,20 +184,22 @@
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<ControlFlowGuard>Guard</ControlFlowGuard>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PreprocessorDefinitions>__WINDOT11_H__;MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;APP_NO_DEPRECATIONS;APP_NO_GUEST;APP_HAVE_AUTORUN;APP_HAVE_SKIPUAC;APP_HAVE_TRAY;APP_HAVE_SETTINGS;APP_HAVE_UPDATES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>SECURITY_WIN32;MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS;;UNICODE;WIN32_LEAN_AND_MEAN;APP_NO_GUEST;APP_HAVE_AUTORUN;APP_HAVE_SKIPUAC;APP_HAVE_TRAY;APP_HAVE_SETTINGS;APP_HAVE_UPDATES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<LanguageStandard>stdcpplatest</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<LanguageStandard_C>stdclatest</LanguageStandard_C>
|
||||
<CallingConvention>StdCall</CallingConvention>
|
||||
<IntelJCCErratum>true</IntelJCCErratum>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<UseStandardPreprocessor>true</UseStandardPreprocessor>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -210,6 +209,8 @@
|
||||
<MinimumRequiredVersion>6.1</MinimumRequiredVersion>
|
||||
<AdditionalOptions>/DEPENDENTLOADFLAG:0x800 /BREPRO %(AdditionalOptions)</AdditionalOptions>
|
||||
<CETCompat>true</CETCompat>
|
||||
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<LargeAddressAware>true</LargeAddressAware>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -220,20 +221,23 @@
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<ControlFlowGuard>Guard</ControlFlowGuard>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PreprocessorDefinitions>__WINDOT11_H__;MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;APP_NO_DEPRECATIONS;APP_NO_GUEST;APP_HAVE_AUTORUN;APP_HAVE_SKIPUAC;APP_HAVE_TRAY;APP_HAVE_SETTINGS;APP_HAVE_UPDATES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>SECURITY_WIN32;MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;APP_NO_GUEST;APP_HAVE_AUTORUN;APP_HAVE_SKIPUAC;APP_HAVE_TRAY;APP_HAVE_SETTINGS;APP_HAVE_UPDATES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<LanguageStandard>stdcpplatest</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<LanguageStandard_C>stdclatest</LanguageStandard_C>
|
||||
<CallingConvention>StdCall</CallingConvention>
|
||||
<IntelJCCErratum>true</IntelJCCErratum>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<GuardEHContMetadata>true</GuardEHContMetadata>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<UseStandardPreprocessor>true</UseStandardPreprocessor>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -243,6 +247,8 @@
|
||||
<AdditionalOptions>/DEPENDENTLOADFLAG:0x800 /BREPRO %(AdditionalOptions)</AdditionalOptions>
|
||||
<MinimumRequiredVersion>6.1</MinimumRequiredVersion>
|
||||
<CETCompat>true</CETCompat>
|
||||
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<LargeAddressAware>true</LargeAddressAware>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_UNICODE;UNICODE;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -258,16 +264,18 @@
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>__WINDOT11_H__;MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;APP_NO_DEPRECATIONS;APP_NO_GUEST;APP_HAVE_AUTORUN;APP_HAVE_SKIPUAC;APP_HAVE_TRAY;APP_HAVE_SETTINGS;APP_HAVE_UPDATES;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<EnableParallelCodeGeneration>
|
||||
</EnableParallelCodeGeneration>
|
||||
<PreprocessorDefinitions>SECURITY_WIN32;MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;APP_NO_GUEST;APP_HAVE_AUTORUN;APP_HAVE_SKIPUAC;APP_HAVE_TRAY;APP_HAVE_SETTINGS;APP_HAVE_UPDATES;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<LanguageStandard>stdcpplatest</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<LanguageStandard_C>stdclatest</LanguageStandard_C>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<GuardEHContMetadata>true</GuardEHContMetadata>
|
||||
<GuardSignedReturns>true</GuardSignedReturns>
|
||||
<UseStandardPreprocessor>true</UseStandardPreprocessor>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -277,6 +285,8 @@
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<AdditionalOptions>/DEPENDENTLOADFLAG:0x800 /BREPRO %(AdditionalOptions)</AdditionalOptions>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<LargeAddressAware>true</LargeAddressAware>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_UNICODE;UNICODE;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -292,17 +302,19 @@
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>__WINDOT11_H__;MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;APP_NO_DEPRECATIONS;APP_NO_GUEST;APP_HAVE_AUTORUN;APP_HAVE_SKIPUAC;APP_HAVE_TRAY;APP_HAVE_SETTINGS;APP_HAVE_UPDATES;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<EnableParallelCodeGeneration>
|
||||
</EnableParallelCodeGeneration>
|
||||
<PreprocessorDefinitions>SECURITY_WIN32;MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;APP_NO_GUEST;APP_HAVE_AUTORUN;APP_HAVE_SKIPUAC;APP_HAVE_TRAY;APP_HAVE_SETTINGS;APP_HAVE_UPDATES;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<LanguageStandard>stdcpplatest</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<LanguageStandard_C>stdclatest</LanguageStandard_C>
|
||||
<CallingConvention>StdCall</CallingConvention>
|
||||
<IntelJCCErratum>true</IntelJCCErratum>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<UseStandardPreprocessor>true</UseStandardPreprocessor>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -314,6 +326,8 @@
|
||||
<AdditionalOptions>/DEPENDENTLOADFLAG:0x800 /BREPRO %(AdditionalOptions)</AdditionalOptions>
|
||||
<CETCompat>true</CETCompat>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<LargeAddressAware>true</LargeAddressAware>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -329,17 +343,20 @@
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PreprocessorDefinitions>__WINDOT11_H__;MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;APP_NO_DEPRECATIONS;APP_NO_GUEST;APP_HAVE_AUTORUN;APP_HAVE_SKIPUAC;APP_HAVE_TRAY;APP_HAVE_SETTINGS;APP_HAVE_UPDATES;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<EnableParallelCodeGeneration>
|
||||
</EnableParallelCodeGeneration>
|
||||
<PreprocessorDefinitions>SECURITY_WIN32;MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;APP_NO_GUEST;APP_HAVE_AUTORUN;APP_HAVE_SKIPUAC;APP_HAVE_TRAY;APP_HAVE_SETTINGS;APP_HAVE_UPDATES;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<LanguageStandard>stdcpplatest</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<LanguageStandard_C>stdclatest</LanguageStandard_C>
|
||||
<CallingConvention>StdCall</CallingConvention>
|
||||
<IntelJCCErratum>true</IntelJCCErratum>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<GuardEHContMetadata>true</GuardEHContMetadata>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<UseStandardPreprocessor>true</UseStandardPreprocessor>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -351,51 +368,81 @@
|
||||
<MinimumRequiredVersion>6.1</MinimumRequiredVersion>
|
||||
<CETCompat>true</CETCompat>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<LargeAddressAware>true</LargeAddressAware>
|
||||
</Link>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_UNICODE;UNICODE;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\routine\rapp.c" />
|
||||
<ClCompile Include="..\routine\routine.c" />
|
||||
<ClCompile Include="..\routine\src\rapp.c" />
|
||||
<ClCompile Include="..\routine\src\routine.c" />
|
||||
<ClCompile Include="src\controls.c" />
|
||||
<ClCompile Include="src\db.c" />
|
||||
<ClCompile Include="src\editor.c" />
|
||||
<ClCompile Include="src\helper.c" />
|
||||
<ClCompile Include="src\icons.c" />
|
||||
<ClCompile Include="src\listview.c" />
|
||||
<ClCompile Include="src\log.c" />
|
||||
<ClCompile Include="src\main.c" />
|
||||
<ClCompile Include="src\network.c" />
|
||||
<ClCompile Include="src\notifications.c" />
|
||||
<ClCompile Include="src\packages.c" />
|
||||
<ClCompile Include="src\profile.c" />
|
||||
<ClCompile Include="src\search.c" />
|
||||
<ClCompile Include="src\security.c" />
|
||||
<ClCompile Include="src\timer.c" />
|
||||
<ClCompile Include="src\udpstats.c" />
|
||||
<ClCompile Include="src\uwp.cpp" />
|
||||
<ClCompile Include="src\wfp.c" />
|
||||
<ClCompile Include="src\messages.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\routine\ntapi.h" />
|
||||
<ClInclude Include="..\routine\rapp.h" />
|
||||
<ClInclude Include="..\routine\rconfig.h" />
|
||||
<ClInclude Include="..\routine\routine.h" />
|
||||
<ClInclude Include="..\routine\rtypes.h" />
|
||||
<ClInclude Include="..\routine\src\ntapi.h" />
|
||||
<ClInclude Include="..\routine\src\ntrtl.h" />
|
||||
<ClInclude Include="..\routine\src\rapp.h" />
|
||||
<ClInclude Include="..\routine\src\rconfig.h" />
|
||||
<ClInclude Include="..\routine\src\routine.h" />
|
||||
<ClInclude Include="..\routine\src\rtypes.h" />
|
||||
<ClInclude Include="src\app.h" />
|
||||
<ClInclude Include="src\controls.h" />
|
||||
<ClInclude Include="src\db.h" />
|
||||
<ClInclude Include="src\editor.h" />
|
||||
<ClInclude Include="src\global.h" />
|
||||
<ClInclude Include="src\helper.h" />
|
||||
<ClInclude Include="src\icons.h" />
|
||||
<ClInclude Include="src\listview.h" />
|
||||
<ClInclude Include="src\log.h" />
|
||||
<ClInclude Include="src\main.h" />
|
||||
<ClInclude Include="src\network.h" />
|
||||
<ClInclude Include="src\notifications.h" />
|
||||
<ClInclude Include="src\packages.h" />
|
||||
<ClInclude Include="src\profile.h" />
|
||||
<ClInclude Include="src\resource.h" />
|
||||
<ClInclude Include="src\search.h" />
|
||||
<ClInclude Include="src\security.h" />
|
||||
<ClInclude Include="src\timer.h" />
|
||||
<ClInclude Include="src\udpstats.h" />
|
||||
<ClInclude Include="src\uwp.h" />
|
||||
<ClInclude Include="src\wfp.h" />
|
||||
<ClInclude Include="src\messages.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="src\resource.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.targets" Condition="Exists('packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.targets')" />
|
||||
</ImportGroup>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.props'))" />
|
||||
<Error Condition="!Exists('packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.targets'))" />
|
||||
</Target>
|
||||
</Project>
|
||||
@@ -15,12 +15,6 @@
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\routine\routine.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\routine\rapp.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\main.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -54,23 +48,44 @@
|
||||
<ClCompile Include="src\security.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\search.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\network.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\packages.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\icons.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\db.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\listview.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\routine\src\rapp.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\routine\src\routine.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\uwp.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\udpstats.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\routine\routine.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\main.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\resource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\routine\rconfig.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\routine\rapp.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\app.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -95,9 +110,6 @@
|
||||
<ClInclude Include="src\global.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\routine\ntapi.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\editor.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
@@ -110,7 +122,46 @@
|
||||
<ClInclude Include="src\messages.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\routine\rtypes.h">
|
||||
<ClInclude Include="src\search.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\network.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\packages.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\icons.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\db.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\listview.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\routine\src\rtypes.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\routine\src\ntapi.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\routine\src\ntrtl.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\routine\src\rapp.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\routine\src\rconfig.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\routine\src\routine.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\uwp.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\udpstats.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
@@ -119,4 +170,7 @@
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<RemoteDebuggerWorkingDirectory>$(SolutionDir)bin\$(PlatformArchitecture)\</RemoteDebuggerWorkingDirectory>
|
||||
<DebuggerFlavor>WindowsRemoteDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
|
||||
<RemoteDebuggerWorkingDirectory>$(SolutionDir)bin\$(PlatformArchitecture)\</RemoteDebuggerWorkingDirectory>
|
||||
<DebuggerFlavor>WindowsRemoteDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)bin\$(PlatformArchitecture)\</LocalDebuggerWorkingDirectory>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)bin\$(PlatformArchitecture)\</LocalDebuggerWorkingDirectory>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)bin\$(PlatformArchitecture)\</LocalDebuggerWorkingDirectory>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)bin\$(PlatformArchitecture)\</LocalDebuggerWorkingDirectory>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,11 +1,13 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2021 Henry++
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
#define APP_NAME L"simplewall"
|
||||
#define APP_NAME_SHORT L"simplewall"
|
||||
#define APP_VERSION L"3.5.3"
|
||||
#define APP_VERSION_RES 3,5,3,0
|
||||
#define APP_VERSION L"3.9.2"
|
||||
#define APP_VERSION_RES 3,9,2,0
|
||||
#define APP_AUTHOR L"Henry++"
|
||||
#define APP_COPYRIGHT L"(c) 2016-2021 " APP_AUTHOR L". All Rights Reversed."
|
||||
#define APP_COPYRIGHT L"(c) 2016-2026 " APP_AUTHOR L". All Rights Reversed."
|
||||
|
||||
#define APP_BETA
|
||||
@@ -1,66 +1,92 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2021 Henry++
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
EXTERN_C const IID IID_IImageList2;
|
||||
|
||||
INT _app_getcurrentlistview_id (_In_ HWND hwnd);
|
||||
INT _app_getlistviewbytab_id (_In_ HWND hwnd, _In_ INT tab_id);
|
||||
INT _app_getlistviewbytype_id (_In_ ENUM_TYPE_DATA type);
|
||||
|
||||
#define PR_SETITEM_REDRAW 0x0001
|
||||
#define PR_SETITEM_UPDATE 0x0002
|
||||
|
||||
VOID _app_setlistviewbylparam (_In_ HWND hwnd, _In_ LPARAM lparam, _In_ ULONG flags, _In_ BOOLEAN is_app);
|
||||
|
||||
#define PR_UPDATE_TYPE 0x0001
|
||||
#define PR_UPDATE_FORCE 0x0002
|
||||
#define PR_UPDATE_NOREFRESH 0x0004
|
||||
#define PR_UPDATE_NOSORT 0x0008
|
||||
#define PR_UPDATE_NORESIZE 0x0010
|
||||
#define PR_UPDATE_NOREDRAW 0x0020
|
||||
|
||||
VOID _app_updatelistviewbylparam (_In_ HWND hwnd, _In_ LPARAM lparam, _In_ ULONG flags);
|
||||
|
||||
VOID _app_addlistviewapp (_In_ HWND hwnd, _In_ PITEM_APP ptr_app);
|
||||
VOID _app_addlistviewrule (_In_ HWND hwnd, _In_ PITEM_RULE ptr_rule, _In_ SIZE_T rule_idx, _In_ BOOLEAN is_forapp);
|
||||
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_gettooltipbylparam (_In_ HWND hwnd, _In_ INT listview_id, _In_ LPARAM lparam);
|
||||
PR_STRING _app_gettooltipbylparam (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id,
|
||||
_In_ LONG_PTR lparam
|
||||
);
|
||||
|
||||
VOID _app_settab_id (_In_ HWND hwnd, _In_ INT page_id);
|
||||
BOOLEAN _app_settab_id (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT page_id
|
||||
);
|
||||
|
||||
UINT _app_getinterfacestatelocale (_In_ ENUM_INSTALL_TYPE install_type);
|
||||
BOOLEAN _app_initinterfacestate (_In_ HWND hwnd, _In_ BOOLEAN is_forced);
|
||||
VOID _app_restoreinterfacestate (_In_ HWND hwnd, _In_ BOOLEAN is_enabled);
|
||||
VOID _app_setinterfacestate (_In_ HWND hwnd);
|
||||
LPCWSTR _app_getstateaction (
|
||||
_In_ ENUM_INSTALL_TYPE install_type
|
||||
);
|
||||
|
||||
VOID _app_imagelist_init (_In_ HWND hwnd);
|
||||
HBITMAP _app_getstatebitmap (
|
||||
_In_ ENUM_INSTALL_TYPE install_type
|
||||
);
|
||||
|
||||
VOID _app_listviewresize (_In_ HWND hwnd, _In_ INT listview_id, _In_ BOOLEAN is_forced);
|
||||
VOID _app_listviewsetview (_In_ HWND hwnd, _In_ INT listview_id);
|
||||
LONG _app_getstateicon (
|
||||
_In_ ENUM_INSTALL_TYPE install_type
|
||||
);
|
||||
|
||||
VOID _app_listviewloadfont (_In_ HWND hwnd, _In_ BOOLEAN is_forced);
|
||||
VOID _app_listviewsetfont (_In_ HWND hwnd, _In_ INT listview_id);
|
||||
LPCWSTR _app_getstatelocale (
|
||||
_In_ ENUM_INSTALL_TYPE install_type
|
||||
);
|
||||
|
||||
INT CALLBACK _app_listviewcompare_callback (_In_ LPARAM lparam1, _In_ LPARAM lparam2, _In_ LPARAM lparam);
|
||||
VOID _app_listviewsort (_In_ HWND hwnd, _In_ INT listview_id, _In_ INT column_id, _In_ BOOLEAN is_notifycode);
|
||||
BOOLEAN _app_initinterfacestate (
|
||||
_In_opt_ HWND hwnd,
|
||||
_In_ BOOLEAN is_forced
|
||||
);
|
||||
|
||||
VOID _app_toolbar_init (_In_ HWND hwnd);
|
||||
VOID _app_toolbar_resize ();
|
||||
VOID _app_restoreinterfacestate (
|
||||
_In_opt_ HWND hwnd,
|
||||
_In_ BOOLEAN is_enabled
|
||||
);
|
||||
|
||||
VOID _app_refreshgroups (_In_ HWND hwnd, _In_ INT listview_id);
|
||||
VOID _app_refreshstatus (_In_ HWND hwnd);
|
||||
VOID _app_setinterfacestate (
|
||||
_In_ HWND hwnd,
|
||||
_In_ LONG dpi_value
|
||||
);
|
||||
|
||||
VOID _app_showitem (_In_ HWND hwnd, _In_ INT listview_id, _In_ INT item_id, _In_ INT scroll_pos);
|
||||
VOID _app_showitembylparam (_In_ HWND hwnd, _In_ LPARAM lparam, _In_ BOOLEAN is_app);
|
||||
VOID _app_settrayicon (
|
||||
_In_ HWND hwnd,
|
||||
_In_ ENUM_INSTALL_TYPE install_type
|
||||
);
|
||||
|
||||
VOID _app_updateitembyidx (_In_ HWND hwnd, _In_ INT listview_id, _In_ INT item_id);
|
||||
VOID _app_updateitembylparam (_In_ HWND hwnd, _In_ LPARAM lparam, _In_ BOOLEAN is_app);
|
||||
VOID _app_imagelist_init (
|
||||
_In_opt_ HWND hwnd,
|
||||
_In_ LONG dpi_value
|
||||
);
|
||||
|
||||
_Success_ (return != -1)
|
||||
FORCEINLINE INT _app_getposition (_In_ HWND hwnd, _In_ INT listview_id, _In_ LPARAM lparam)
|
||||
{
|
||||
return _r_listview_finditem (hwnd, listview_id, -1, lparam);
|
||||
}
|
||||
HFONT _app_createfont (
|
||||
_Inout_ PLOGFONT logfont,
|
||||
_In_opt_ LONG size,
|
||||
_In_ BOOLEAN is_underline,
|
||||
_In_ LONG dpi_value
|
||||
);
|
||||
|
||||
VOID _app_windowloadfont (
|
||||
_In_ LONG dpi_value
|
||||
);
|
||||
|
||||
VOID _app_toolbar_init (
|
||||
_In_ HWND hwnd,
|
||||
_In_ LONG dpi_value
|
||||
);
|
||||
|
||||
VOID _app_toolbar_resize (
|
||||
_In_ HWND hwnd,
|
||||
_In_ LONG dpi_value
|
||||
);
|
||||
|
||||
VOID _app_toolbar_setfont ();
|
||||
|
||||
VOID _app_window_resize (
|
||||
_In_ HWND hwnd,
|
||||
_In_ LPCRECT rect,
|
||||
_In_ LONG dpi_value
|
||||
);
|
||||
|
||||
VOID _app_refreshstatus (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
@@ -0,0 +1,212 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2019-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
// profile types
|
||||
typedef enum _ENUM_TYPE_XML
|
||||
{
|
||||
XML_TYPE_PROFILE = 3,
|
||||
XML_TYPE_PROFILE_INTERNAL = 4,
|
||||
} ENUM_TYPE_XML;
|
||||
|
||||
// profile versions
|
||||
typedef enum _ENUM_VERSION_XML
|
||||
{
|
||||
// v3.0.2: first major update, rule attribute "apps" now separated by "|"
|
||||
XML_VERSION_3 = 3,
|
||||
|
||||
// v3.4: added "rules_custom" into internal profile and "os_version" for rule attributes
|
||||
XML_VERSION_4 = 4,
|
||||
|
||||
// v3.7: added hashes support, use encrypted file format and added comments for apps/rules
|
||||
XML_VERSION_5 = 5,
|
||||
|
||||
// v4.0: added file rules support, added correct encryption with password, store path with environment variables, now rules for services and drivers are separated
|
||||
XML_VERSION_6 = 6,
|
||||
} ENUM_VERSION_XML;
|
||||
|
||||
typedef struct _DB_INFORMATION
|
||||
{
|
||||
R_XML_LIBRARY xml_library;
|
||||
|
||||
PR_BYTE bytes;
|
||||
PR_BYTE hash;
|
||||
|
||||
LONG64 timestamp;
|
||||
|
||||
ENUM_VERSION_XML version;
|
||||
ENUM_TYPE_XML type;
|
||||
} DB_INFORMATION, *PDB_INFORMATION;
|
||||
|
||||
// Offset Length Description
|
||||
// ------------------------------------------
|
||||
// 0 3 FOURCC string 'SWC'
|
||||
// 4 1 Body information flag (PROFILE2_ID_PLAIN, PROFILE2_ID_COMPRESSED or PROFILE2_ID_ENCRYPTED)
|
||||
// 36 32 SHA256 checksum of the decrypted bytes
|
||||
// 68 <body> Body contained specified data
|
||||
static const BYTE profile2_fourcc[] = {
|
||||
0x53, 0x57, 0x43, // 'S', 'W', 'C'
|
||||
};
|
||||
|
||||
#define XML_VERSION_MINIMAL XML_VERSION_3
|
||||
#define XML_VERSION_CURRENT XML_VERSION_5
|
||||
#define XML_VERSION_MAXIMUM XML_VERSION_6
|
||||
|
||||
#define XML_PROFILE_FILE L"profile.xml"
|
||||
#define XML_PROFILE_INTERNAL L"profile_internal.xml"
|
||||
|
||||
#define PROFILE2_ID_PLAIN ((BYTE)(0x30))
|
||||
#define PROFILE2_ID_COMPRESSED ((BYTE)(0x31))
|
||||
#define PROFILE2_ID_ENCRYPTED ((BYTE)(0x32))
|
||||
|
||||
#define PROFILE2_KEY_DEPRECATED "Gc(j1EptodnKP?{ZT!SlMVip[fJIs&Ci3fOqjATfp@h,q0(]QVaGs5Iht3)/b:Ll"
|
||||
|
||||
#define PROFILE2_FOURCC sizeof (profile2_fourcc)
|
||||
#define PROFILE2_FOURCC_LENGTH PROFILE2_FOURCC + sizeof (BYTE)
|
||||
#define PROFILE2_SHA256_LENGTH 32UL
|
||||
#define PROFILE2_HEADER_LENGTH (PROFILE2_FOURCC_LENGTH + PROFILE2_SHA256_LENGTH)
|
||||
|
||||
_Success_ (SUCCEEDED (return))
|
||||
HRESULT _app_db_initialize (
|
||||
_Out_ PDB_INFORMATION db_info,
|
||||
_In_ BOOLEAN is_reader
|
||||
);
|
||||
|
||||
VOID _app_db_destroy (
|
||||
_Inout_ PDB_INFORMATION db_info
|
||||
);
|
||||
|
||||
_Success_ (NT_SUCCESS (return))
|
||||
NTSTATUS _app_db_encrypt (
|
||||
_In_ PR_BYTEREF bytes,
|
||||
_Out_ PR_BYTE_PTR out_buffer
|
||||
);
|
||||
|
||||
_Success_ (NT_SUCCESS (return))
|
||||
NTSTATUS _app_db_decrypt (
|
||||
_In_ PR_BYTEREF bytes,
|
||||
_Out_ PR_BYTE_PTR out_buffer
|
||||
);
|
||||
|
||||
_Success_ (NT_SUCCESS (return))
|
||||
NTSTATUS _app_db_gethash (
|
||||
_In_ PR_BYTEREF bytes,
|
||||
_Out_ PR_BYTE_PTR out_buffer
|
||||
);
|
||||
|
||||
BYTE _app_getprofiletype ();
|
||||
|
||||
_Success_ (NT_SUCCESS (return))
|
||||
NTSTATUS _app_db_ishashvalid (
|
||||
_In_ PR_BYTEREF buffer,
|
||||
_In_ PR_BYTEREF hash_bytes
|
||||
);
|
||||
|
||||
_Success_ (NT_SUCCESS (return))
|
||||
NTSTATUS _app_db_openfrombuffer (
|
||||
_Inout_ PDB_INFORMATION db_info,
|
||||
_In_ PR_STORAGE storage,
|
||||
_In_ ENUM_TYPE_XML type
|
||||
);
|
||||
|
||||
_Success_ (NT_SUCCESS (return))
|
||||
NTSTATUS _app_db_openfromfile (
|
||||
_Inout_ PDB_INFORMATION db_info,
|
||||
_In_ PR_STRING path,
|
||||
_In_ ENUM_TYPE_XML type
|
||||
);
|
||||
|
||||
_Success_ (NT_SUCCESS (return))
|
||||
NTSTATUS _app_db_decodebody (
|
||||
_Inout_ PDB_INFORMATION db_info
|
||||
);
|
||||
|
||||
_Success_ (NT_SUCCESS (return))
|
||||
NTSTATUS _app_db_encodebody (
|
||||
_Inout_ PDB_INFORMATION db_info,
|
||||
_In_ BYTE profile_type,
|
||||
_Out_ PR_BYTE_PTR out_buffer
|
||||
);
|
||||
|
||||
_Success_ (NT_SUCCESS (return))
|
||||
NTSTATUS _app_db_generatebody (
|
||||
_In_ BYTE profile_type,
|
||||
_In_ PR_BYTE hash_value,
|
||||
_In_ PR_BYTE buffer,
|
||||
_Out_ PR_BYTE_PTR out_buffer
|
||||
);
|
||||
|
||||
_Success_ (NT_SUCCESS (return))
|
||||
NTSTATUS _app_db_decodebuffer (
|
||||
_Inout_ PDB_INFORMATION db_info,
|
||||
_In_ ENUM_TYPE_XML type
|
||||
);
|
||||
|
||||
BOOLEAN _app_db_parse (
|
||||
_Inout_ PDB_INFORMATION db_info,
|
||||
_In_ ENUM_TYPE_XML type
|
||||
);
|
||||
|
||||
VOID _app_db_parse_app (
|
||||
_Inout_ PDB_INFORMATION db_info
|
||||
);
|
||||
|
||||
VOID _app_db_parse_rule (
|
||||
_Inout_ PDB_INFORMATION db_info,
|
||||
_In_ ENUM_TYPE_DATA type
|
||||
);
|
||||
|
||||
VOID _app_db_parse_ruleconfig (
|
||||
_Inout_ PDB_INFORMATION db_info
|
||||
);
|
||||
|
||||
_Success_ (NT_SUCCESS (return))
|
||||
NTSTATUS _app_db_savetofile (
|
||||
_Inout_ PDB_INFORMATION db_info,
|
||||
_In_ PR_STRING path,
|
||||
_In_ ENUM_VERSION_XML version,
|
||||
_In_ ENUM_TYPE_XML type,
|
||||
_In_ LONG64 timestamp
|
||||
);
|
||||
|
||||
_Success_ (NT_SUCCESS (return))
|
||||
NTSTATUS _app_db_save_streamtofile (
|
||||
_Inout_ PDB_INFORMATION db_info,
|
||||
_In_ PR_STRING path
|
||||
);
|
||||
|
||||
VOID _app_db_save_app (
|
||||
_Inout_ PDB_INFORMATION db_info
|
||||
);
|
||||
|
||||
VOID _app_db_save_rule (
|
||||
_Inout_ PDB_INFORMATION db_info
|
||||
);
|
||||
|
||||
VOID _app_db_save_ruleconfig (
|
||||
_Inout_ PDB_INFORMATION db_info
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
LPCWSTR _app_db_getconnectionstatename (
|
||||
_In_ ULONG state
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_db_getdirectionname (
|
||||
_In_ FWP_DIRECTION direction,
|
||||
_In_ BOOLEAN is_loopback,
|
||||
_In_ BOOLEAN is_localized
|
||||
);
|
||||
LPCWSTR _app_db_getprotoname (
|
||||
_In_ ULONG proto,
|
||||
_In_ ADDRESS_FAMILY af,
|
||||
_In_opt_ LPCWSTR default_value
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
LPCWSTR _app_db_getservicename (
|
||||
_In_ UINT16 port,
|
||||
_In_ UINT8 proto
|
||||
);
|
||||
@@ -1,9 +1,100 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2021 Henry++
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
INT_PTR CALLBACK AddRuleProc (_In_ HWND hwnd, _In_ UINT msg, _In_ WPARAM wparam, _In_ LPARAM lparam);
|
||||
typedef struct _EDITOR_CONTEXT
|
||||
{
|
||||
R_LAYOUT_MANAGER layout_manager;
|
||||
|
||||
INT_PTR CALLBACK PropertiesPagesProc (_In_ HWND hwnd, _In_ UINT msg, _In_ WPARAM wparam, _In_ LPARAM lparam);
|
||||
INT_PTR CALLBACK PropertiesProc (_In_ HWND hwnd, _In_ UINT msg, _In_ WPARAM wparam, _In_ LPARAM lparam);
|
||||
HWND hwnd;
|
||||
HICON hicon;
|
||||
|
||||
union
|
||||
{
|
||||
PITEM_RULE ptr_rule;
|
||||
PITEM_APP ptr_app;
|
||||
};
|
||||
|
||||
struct
|
||||
{
|
||||
ULONG_PTR current_length;
|
||||
INT listview_id;
|
||||
INT item_id;
|
||||
};
|
||||
|
||||
INT page_id;
|
||||
|
||||
BOOLEAN is_settorules;
|
||||
} EDITOR_CONTEXT, *PEDITOR_CONTEXT;
|
||||
|
||||
FORCEINLINE VOID _app_editor_deletewindow (
|
||||
_In_ _Frees_ptr_ _Post_invalid_ PEDITOR_CONTEXT context
|
||||
)
|
||||
{
|
||||
_r_mem_free (context);
|
||||
}
|
||||
|
||||
_Ret_maybenull_
|
||||
PEDITOR_CONTEXT _app_editor_createwindow (
|
||||
_In_opt_ HWND hwnd,
|
||||
_In_ PVOID lparam,
|
||||
_In_ INT page_id,
|
||||
_In_ BOOLEAN is_settorules
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PEDITOR_CONTEXT _app_editor_getcontext (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_editor_setcontext (
|
||||
_In_ HWND hwnd,
|
||||
_In_ PEDITOR_CONTEXT context
|
||||
);
|
||||
|
||||
VOID _app_editor_addtabitem (
|
||||
_In_ HWND hwnd,
|
||||
_In_ UINT locale_id,
|
||||
_In_ INT dlg_id,
|
||||
_In_ PEDITOR_CONTEXT context
|
||||
);
|
||||
|
||||
VOID _app_editor_settabtitle (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_editor_getrulesfromlistview (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT ctrl_id,
|
||||
_In_ INT exclude_id
|
||||
);
|
||||
|
||||
VOID _app_editor_setrulestolistview (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT ctrl_id,
|
||||
_In_opt_ PR_STRING rule
|
||||
);
|
||||
|
||||
INT_PTR CALLBACK EditorRuleProc (
|
||||
_In_ HWND hwnd,
|
||||
_In_ UINT msg,
|
||||
_In_ WPARAM wparam,
|
||||
_In_ LPARAM lparam
|
||||
);
|
||||
|
||||
INT_PTR CALLBACK EditorPagesProc (
|
||||
_In_ HWND hwnd,
|
||||
_In_ UINT msg,
|
||||
_In_ WPARAM wparam,
|
||||
_In_ LPARAM lparam
|
||||
);
|
||||
|
||||
INT_PTR CALLBACK EditorProc (
|
||||
_In_ HWND hwnd,
|
||||
_In_ UINT msg,
|
||||
_In_ WPARAM wparam,
|
||||
_In_ LPARAM lparam
|
||||
);
|
||||
@@ -1,5 +1,5 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2021 Henry++
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <windns.h>
|
||||
#include <mstcpip.h>
|
||||
#include <iphlpapi.h>
|
||||
#include <tcpestats.h>
|
||||
#include <aclapi.h>
|
||||
#include <dbt.h>
|
||||
#include <fwpmu.h>
|
||||
@@ -20,8 +21,9 @@
|
||||
#include <shobjidl.h>
|
||||
#include <softpub.h>
|
||||
#include <subauth.h>
|
||||
#include <wincodec.h>
|
||||
#include <mscat.h>
|
||||
#include <evntrace.h>
|
||||
#include <evntcons.h>
|
||||
|
||||
#include "app.h"
|
||||
#include "rapp.h"
|
||||
@@ -30,12 +32,11 @@
|
||||
#include "resource.h"
|
||||
|
||||
DECLSPEC_SELECTANY STATIC_DATA config = {0};
|
||||
DECLSPEC_SELECTANY PROFILE_DATA profile_info = {0};
|
||||
|
||||
DECLSPEC_SELECTANY PR_HASHTABLE apps_table = NULL;
|
||||
DECLSPEC_SELECTANY PR_HASHTABLE context_table = NULL;
|
||||
DECLSPEC_SELECTANY PR_LIST rules_list = NULL;
|
||||
DECLSPEC_SELECTANY PR_HASHTABLE rules_config = NULL;
|
||||
DECLSPEC_SELECTANY PR_HASHTABLE network_table = NULL;
|
||||
DECLSPEC_SELECTANY PR_HASHTABLE log_table = NULL;
|
||||
|
||||
DECLSPEC_SELECTANY PR_HASHTABLE cache_information = NULL;
|
||||
@@ -47,11 +48,10 @@ DECLSPEC_SELECTANY PR_ARRAY filter_ids = NULL;
|
||||
|
||||
DECLSPEC_SELECTANY R_QUEUED_LOCK lock_apps = PR_QUEUED_LOCK_INIT;
|
||||
DECLSPEC_SELECTANY R_QUEUED_LOCK lock_apply = PR_QUEUED_LOCK_INIT;
|
||||
DECLSPEC_SELECTANY R_QUEUED_LOCK lock_context = PR_QUEUED_LOCK_INIT;
|
||||
DECLSPEC_SELECTANY R_QUEUED_LOCK lock_rules = PR_QUEUED_LOCK_INIT;
|
||||
DECLSPEC_SELECTANY R_QUEUED_LOCK lock_rules_config = PR_QUEUED_LOCK_INIT;
|
||||
DECLSPEC_SELECTANY R_QUEUED_LOCK lock_loglist = PR_QUEUED_LOCK_INIT;
|
||||
DECLSPEC_SELECTANY R_QUEUED_LOCK lock_network = PR_QUEUED_LOCK_INIT;
|
||||
DECLSPEC_SELECTANY R_QUEUED_LOCK lock_notify = PR_QUEUED_LOCK_INIT;
|
||||
DECLSPEC_SELECTANY R_QUEUED_LOCK lock_profile = PR_QUEUED_LOCK_INIT;
|
||||
DECLSPEC_SELECTANY R_QUEUED_LOCK lock_transaction = PR_QUEUED_LOCK_INIT;
|
||||
|
||||
@@ -65,36 +65,57 @@ DECLSPEC_SELECTANY R_WORKQUEUE resolve_notify_queue = {0};
|
||||
DECLSPEC_SELECTANY R_WORKQUEUE wfp_queue = {0};
|
||||
|
||||
DECLSPEC_SELECTANY R_FREE_LIST context_free_list = {0};
|
||||
DECLSPEC_SELECTANY R_FREE_LIST listview_free_list = {0};
|
||||
|
||||
// timers array
|
||||
DECLSPEC_SELECTANY LONG64 timer_array[] =
|
||||
DECLSPEC_SELECTANY const LONG64 timer_array[] =
|
||||
{
|
||||
2 * 60,
|
||||
5 * 60,
|
||||
10 * 60,
|
||||
30 * 60,
|
||||
1 * 3600,
|
||||
2 * 3600,
|
||||
4 * 3600,
|
||||
6 * 3600
|
||||
2LL * 60LL, // 2 min
|
||||
5LL * 60LL, // 5 min
|
||||
10LL * 60LL, // 10 min
|
||||
30LL * 60LL, // 30 min
|
||||
1LL * 3600LL, // 1 hour
|
||||
2LL * 3600LL, // 2 hour
|
||||
4LL * 3600LL, // 4 hour
|
||||
6LL * 3600LL, // 6 hour
|
||||
12LL * 3600LL, // 12 hour
|
||||
24LL * 3600LL // 24 hour
|
||||
};
|
||||
|
||||
// dropped events callback subscription (win7+)
|
||||
#ifndef FWP_DIRECTION_IN
|
||||
#if !defined(FWP_DIRECTION_IN)
|
||||
#define FWP_DIRECTION_IN 0x00003900L
|
||||
#endif
|
||||
#endif // !FWP_DIRECTION_IN
|
||||
|
||||
#ifndef FWP_DIRECTION_OUT
|
||||
#if !defined(FWP_DIRECTION_OUT)
|
||||
#define FWP_DIRECTION_OUT 0x00003901L
|
||||
#endif
|
||||
#endif // !FWP_DIRECTION_OUT
|
||||
|
||||
#if !defined(FWP_DIRECTION_FORWARD)
|
||||
#define FWP_DIRECTION_FORWARD 0x00003902L
|
||||
#endif // !FWP_DIRECTION_FORWARD
|
||||
|
||||
#if !defined(FWP_DIRECTION_FORWARD2)
|
||||
#define FWP_DIRECTION_FORWARD2 0x00003903L
|
||||
#endif // !FWP_DIRECTION_FORWARD2
|
||||
|
||||
#define WM_NOTIFICATION (WM_APP + 21)
|
||||
|
||||
#include "controls.h"
|
||||
#include "db.h"
|
||||
#include "editor.h"
|
||||
#include "helper.h"
|
||||
#include "icons.h"
|
||||
#include "listview.h"
|
||||
#include "log.h"
|
||||
#include "messages.h"
|
||||
#include "network.h"
|
||||
#include "notifications.h"
|
||||
#include "packages.h"
|
||||
#include "profile.h"
|
||||
#include "search.h"
|
||||
#include "security.h"
|
||||
#include "timer.h"
|
||||
#include "udpstats.h"
|
||||
#include "uwp.h"
|
||||
#include "wfp.h"
|
||||
@@ -1,102 +1,243 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2021 Henry++
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
typedef struct _ICON_INFORMATION
|
||||
{
|
||||
HICON app_hicon;
|
||||
HICON service_hicon;
|
||||
HICON uwp_hicon;
|
||||
|
||||
LONG app_icon_id;
|
||||
LONG service_icon_id;
|
||||
LONG uwp_icon_id;
|
||||
} ICON_INFORMATION, *PICON_INFORMATION;
|
||||
|
||||
#define FMTADDR_AS_RULE 0x0001
|
||||
#define FMTADDR_USE_PROTOCOL 0x0002
|
||||
|
||||
VOID NTAPI _app_dereferenceapp (_In_ PVOID entry);
|
||||
VOID NTAPI _app_dereferenceappinfo (_In_ PVOID entry);
|
||||
VOID NTAPI _app_dereferenceruleconfig (_In_ PVOID entry);
|
||||
VOID NTAPI _app_dereferencenetwork (_In_ PVOID entry);
|
||||
VOID NTAPI _app_dereferenceapp (
|
||||
_In_ PVOID entry
|
||||
);
|
||||
|
||||
VOID NTAPI _app_dereferencelog (_In_ PVOID entry);
|
||||
VOID NTAPI _app_dereferencerule (_In_ PVOID entry);
|
||||
VOID NTAPI _app_dereferenceappinfo (
|
||||
_In_ PVOID entry
|
||||
);
|
||||
|
||||
BOOLEAN _app_ischeckboxlocked (_In_ HWND hwnd);
|
||||
VOID _app_setcheckboxlock (_In_ HWND hwnd, _In_ INT ctrl_id, _In_ BOOLEAN is_lock);
|
||||
VOID NTAPI _app_dereferenceruleconfig (
|
||||
_In_ PVOID entry
|
||||
);
|
||||
|
||||
VOID _app_addcachetable (_Inout_ PR_HASHTABLE hashtable, _In_ ULONG_PTR hash_code, _In_ PR_QUEUED_LOCK spin_lock, _In_opt_ PR_STRING string);
|
||||
BOOLEAN _app_getcachetable (_Inout_ PR_HASHTABLE cache_table, _In_ ULONG_PTR hash_code, _In_ PR_QUEUED_LOCK spin_lock, _Out_ PR_STRING_PTR string);
|
||||
VOID NTAPI _app_dereferencenetwork (
|
||||
_In_ PVOID entry
|
||||
);
|
||||
|
||||
PR_STRING _app_formatarpa (_In_ ADDRESS_FAMILY af, _In_ LPCVOID address);
|
||||
VOID NTAPI _app_dereferencelog (
|
||||
_In_ PVOID entry
|
||||
);
|
||||
|
||||
VOID NTAPI _app_dereferencerule (
|
||||
_In_ PVOID entry
|
||||
);
|
||||
|
||||
VOID _app_addcachetable (
|
||||
_Inout_ PR_HASHTABLE hashtable,
|
||||
_In_ ULONG hash_code,
|
||||
_In_ PR_QUEUED_LOCK spin_lock,
|
||||
_In_opt_ PVOID string
|
||||
);
|
||||
|
||||
BOOLEAN _app_checkipisnotlocal (
|
||||
_In_ ADDRESS_FAMILY af,
|
||||
_In_ LPCVOID address
|
||||
);
|
||||
|
||||
BOOLEAN _app_getcachetable (
|
||||
_Inout_ PR_HASHTABLE cache_table,
|
||||
_In_ ULONG hash_code,
|
||||
_In_ PR_QUEUED_LOCK spin_lock,
|
||||
_Out_ PR_STRING_PTR string
|
||||
);
|
||||
|
||||
PR_STRING _app_formatarpa (
|
||||
_In_ ADDRESS_FAMILY af,
|
||||
_In_ LPCVOID address
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_formataddress (_In_ ADDRESS_FAMILY af, _In_ UINT8 proto, _In_ LPCVOID address, _In_opt_ UINT16 port, _In_ ULONG flags);
|
||||
PR_STRING _app_formataddress (
|
||||
_In_ ADDRESS_FAMILY af,
|
||||
_In_ UINT8 proto,
|
||||
_In_ LPCVOID address,
|
||||
_In_opt_ UINT16 port,
|
||||
_In_ ULONG flags
|
||||
);
|
||||
|
||||
PR_STRING _app_formataddress_interlocked (
|
||||
_In_ volatile PVOID_PTR string,
|
||||
_In_ ADDRESS_FAMILY af,
|
||||
_In_ LPCVOID address
|
||||
);
|
||||
|
||||
_Success_ (NT_SUCCESS (return))
|
||||
NTSTATUS _app_formatip (
|
||||
_Out_writes_to_ (buffer_length, buffer_length) LPWSTR buffer,
|
||||
_In_ ULONG buffer_length,
|
||||
_In_ ADDRESS_FAMILY af,
|
||||
_In_ LPCVOID address,
|
||||
_In_ BOOLEAN is_checkempty
|
||||
);
|
||||
|
||||
PR_STRING _app_formatport (
|
||||
_In_ UINT16 port,
|
||||
_In_ UINT8 proto
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_APP_INFO _app_getappinfobyhash2 (
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
_Success_ (return)
|
||||
BOOLEAN _app_formatip (_In_ ADDRESS_FAMILY af, _In_ LPCVOID address, _Out_writes_to_ (buffer_size, buffer_size) LPWSTR buffer, _In_ ULONG buffer_size, _In_ BOOLEAN is_checkempty);
|
||||
BOOLEAN _app_getappinfoparam2 (
|
||||
_In_ ULONG app_hash,
|
||||
_In_opt_ INT listview_id,
|
||||
_In_ ENUM_INFO_DATA2 info_data,
|
||||
_Out_writes_bytes_all_ (length) PVOID buffer,
|
||||
_In_ ULONG_PTR length
|
||||
);
|
||||
|
||||
PR_STRING _app_formatport (_In_ UINT16 port, _In_ UINT8 proto);
|
||||
BOOLEAN _app_isappsigned (
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
BOOLEAN _app_isappvalidbinary (
|
||||
_In_opt_ PR_STRING path
|
||||
);
|
||||
|
||||
BOOLEAN _app_isappvalidpath (
|
||||
_In_opt_ PR_STRING path
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_APP_INFO _app_getappinfobyhash2 (_In_ ULONG_PTR app_hash);
|
||||
PR_STRING _app_getappdisplayname (
|
||||
_In_ PITEM_APP ptr_app,
|
||||
_In_ BOOLEAN is_shortened
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PVOID _app_getappinfoparam2 (_In_ ULONG_PTR app_hash, _In_ ENUM_INFO_DATA2 info);
|
||||
PR_STRING _app_getapppath (
|
||||
_In_ PITEM_APP ptr_app
|
||||
);
|
||||
|
||||
BOOLEAN _app_isappsigned (_In_ ULONG_PTR app_hash);
|
||||
VOID _app_getfileicon (
|
||||
_Inout_ PITEM_APP_INFO ptr_app_info
|
||||
);
|
||||
|
||||
BOOLEAN _app_isappvalidbinary (_In_ ENUM_TYPE_DATA type, _In_ PR_STRING path);
|
||||
BOOLEAN _app_isappvalidpath (_In_ PR_STRINGREF path);
|
||||
VOID _app_getfilesignatureinfo (
|
||||
_Inout_ PITEM_APP_INFO ptr_app_info,
|
||||
_In_ HANDLE hfile
|
||||
);
|
||||
|
||||
VOID _app_getdefaulticon (_Out_opt_ PLONG icon_id, _Out_opt_ HICON_PTR hicon);
|
||||
VOID _app_getdefaulticon_uwp (_Out_opt_ PLONG icon_id, _Out_opt_ HICON_PTR hicon);
|
||||
|
||||
VOID _app_loadfileicon (_In_ PR_STRING path, _Out_opt_ PLONG icon_id, _Out_opt_ HICON_PTR hicon, _In_ BOOLEAN is_loaddefaults);
|
||||
HICON _app_getfileiconsafe (_In_ ULONG_PTR app_hash);
|
||||
|
||||
LPCWSTR _app_getappdisplayname (_In_ PITEM_APP ptr_app, _In_ BOOLEAN is_shortened);
|
||||
|
||||
VOID _app_getfileicon (_Inout_ PITEM_APP_INFO ptr_app_info);
|
||||
VOID _app_getfilesignatureinfo (_Inout_ PITEM_APP_INFO ptr_app_info);
|
||||
VOID _app_getfileversioninfo (_Inout_ PITEM_APP_INFO ptr_app_info);
|
||||
VOID _app_getfileversioninfo (
|
||||
_Inout_ PITEM_APP_INFO ptr_app_info
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
LPCWSTR _app_getservicename (_In_ UINT16 port, _In_ UINT8 proto, _In_opt_ LPCWSTR default_value);
|
||||
PR_STRING _app_getfilehashinfo (
|
||||
_In_ HANDLE hfile,
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
LPCWSTR _app_getprotoname (_In_ ULONG proto, _In_ ADDRESS_FAMILY af, _In_opt_ LPCWSTR default_value);
|
||||
ULONG _app_addcolor (
|
||||
_In_ ULONG locale_id,
|
||||
_In_ LPCWSTR config_name,
|
||||
_In_ LPCWSTR config_value,
|
||||
_In_ COLORREF default_clr,
|
||||
_In_ BOOLEAN is_enabled
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
LPCWSTR _app_getconnectionstatusname (_In_ ULONG state);
|
||||
_Success_ (return != 0)
|
||||
COLORREF _app_getcolorvalue (
|
||||
_In_ ULONG color_hash
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_getdirectionname (_In_ FWP_DIRECTION direction, _In_ BOOLEAN is_loopback, _In_ BOOLEAN is_localized);
|
||||
|
||||
ULONG_PTR _app_addcolor (_In_ UINT locale_id, _In_ LPCWSTR config_name, _In_ BOOLEAN is_enabled, _In_ LPCWSTR config_value, _In_ COLORREF default_clr);
|
||||
COLORREF _app_getcolorvalue (_In_ ULONG_PTR color_hash);
|
||||
|
||||
VOID _app_generate_connections (_Inout_ PR_HASHTABLE network_ptr, _Inout_ PR_HASHTABLE checker_map);
|
||||
VOID _app_generate_packages ();
|
||||
VOID _app_generate_services ();
|
||||
|
||||
VOID _app_generate_rulescontrol (_In_ HMENU hsubmenu, _In_opt_ ULONG_PTR app_hash);
|
||||
VOID _app_generate_timerscontrol (_In_ HMENU hsubmenu, _In_opt_ PITEM_APP ptr_app);
|
||||
|
||||
BOOLEAN _app_setruletoapp (_In_ HWND hwnd, _Inout_ PITEM_RULE ptr_rule, _In_ INT item_id, _In_ PITEM_APP ptr_app, _In_ BOOLEAN is_enable);
|
||||
BOOLEAN _app_setruletoapp (
|
||||
_In_ HWND hwnd,
|
||||
_Inout_ PITEM_RULE ptr_rule,
|
||||
_In_ INT item_id,
|
||||
_In_ PITEM_APP ptr_app,
|
||||
_In_ BOOLEAN is_enable
|
||||
);
|
||||
|
||||
_Success_ (return)
|
||||
BOOLEAN _app_parsenetworkstring (_In_ LPCWSTR network_string, _Inout_ PITEM_ADDRESS address);
|
||||
BOOLEAN _app_parsenetworkstring (
|
||||
_In_ PCR_STRINGREF network_string,
|
||||
_Inout_ PITEM_ADDRESS address
|
||||
);
|
||||
|
||||
_Success_ (return)
|
||||
BOOLEAN _app_preparserulestring (_In_ PR_STRINGREF rule, _Out_ PITEM_ADDRESS address);
|
||||
|
||||
_Success_ (return)
|
||||
BOOLEAN _app_parserulestring (_In_opt_ PR_STRINGREF rule, _Out_opt_ PITEM_ADDRESS address);
|
||||
BOOLEAN _app_parserulestring (
|
||||
_In_opt_ PCR_STRINGREF rule,
|
||||
_Out_ PITEM_ADDRESS address
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_resolveaddress (_In_ ADDRESS_FAMILY af, _In_ LPCVOID address);
|
||||
PR_STRING _app_resolveaddress (
|
||||
_In_ ADDRESS_FAMILY af,
|
||||
_In_ LPCVOID address
|
||||
);
|
||||
|
||||
VOID _app_queryfileinformation (_In_ PR_STRING path, _In_ ULONG_PTR app_hash, _In_ ENUM_TYPE_DATA type, _In_ INT listview_id);
|
||||
PR_STRING _app_resolveaddress_interlocked (
|
||||
_In_ volatile PVOID_PTR string,
|
||||
_In_ ADDRESS_FAMILY af,
|
||||
_In_ LPCVOID address,
|
||||
_In_ BOOLEAN is_resolutionenabled
|
||||
);
|
||||
|
||||
VOID NTAPI _app_queuefileinformation (_In_ PVOID arglist, _In_ ULONG busy_count);
|
||||
VOID NTAPI _app_queuenotifyinformation (_In_ PVOID arglist, _In_ ULONG busy_count);
|
||||
VOID NTAPI _app_queueresolveinformation (_In_ PVOID arglist, _In_ ULONG busy_count);
|
||||
VOID _app_fileloggingenable ();
|
||||
|
||||
_Ret_maybenull_
|
||||
HBITMAP _app_bitmapfromico (_In_ HICON hicon, _In_ INT icon_size);
|
||||
VOID NTAPI _app_timercallback (
|
||||
_In_opt_ PVOID context
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
HBITMAP _app_bitmapfrompng (_In_opt_ HINSTANCE hinst, _In_ LPCWSTR name, _In_ INT icon_size);
|
||||
VOID _app_getfileinformation (
|
||||
_In_ PR_STRING path,
|
||||
_In_ ULONG app_hash,
|
||||
_In_ ENUM_TYPE_DATA type,
|
||||
_In_ INT listview_id
|
||||
);
|
||||
|
||||
VOID _app_queue_resolver (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id,
|
||||
_In_ ULONG hash_code,
|
||||
_In_ PVOID base_address
|
||||
);
|
||||
|
||||
VOID NTAPI _app_queue_fileinformation (
|
||||
_In_ PVOID arglist
|
||||
);
|
||||
|
||||
VOID NTAPI _app_queue_notifyinformation (
|
||||
_In_ PVOID arglist
|
||||
);
|
||||
|
||||
VOID NTAPI _app_queue_resolveinformation (
|
||||
_In_ PVOID arglist
|
||||
);
|
||||
|
||||
BOOLEAN _app_wufixenabled ();
|
||||
|
||||
VOID _app_wufixhelper (
|
||||
_In_ SC_HANDLE hsvcmgr,
|
||||
_In_ LPCWSTR service_name,
|
||||
_In_ LPCWSTR k_value,
|
||||
_In_ BOOLEAN is_enable
|
||||
);
|
||||
|
||||
VOID _app_wufixenable (
|
||||
_In_ HWND hwnd,
|
||||
_In_ BOOLEAN is_install
|
||||
);
|
||||
@@ -0,0 +1,207 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#include "global.h"
|
||||
|
||||
PICON_INFORMATION _app_icons_getdefault ()
|
||||
{
|
||||
static R_INITONCE init_once = PR_INITONCE_INIT;
|
||||
static ICON_INFORMATION icon_info = {0};
|
||||
|
||||
PR_STRING path;
|
||||
|
||||
if (_r_initonce_begin (&init_once))
|
||||
{
|
||||
// load default app icon
|
||||
_app_icons_loadfromfile (config.svchost_path, DATA_UNKNOWN, &icon_info.app_icon_id, &icon_info.app_hicon, FALSE);
|
||||
|
||||
// load default service icon
|
||||
path = _r_obj_concatstrings (
|
||||
2,
|
||||
_r_sys_getsystemdirectory ()->buffer,
|
||||
L"\\shell32.dll"
|
||||
);
|
||||
|
||||
_app_icons_loadfromfile (path, DATA_UNKNOWN, &icon_info.service_icon_id, &icon_info.service_hicon, FALSE);
|
||||
|
||||
_r_obj_dereference (path);
|
||||
|
||||
// load default uwp icon
|
||||
if (_r_sys_isosversiongreaterorequal (WINDOWS_8))
|
||||
{
|
||||
path = _r_obj_concatstrings (
|
||||
2,
|
||||
_r_sys_getsystemdirectory ()->buffer,
|
||||
L"\\wsreset.exe"
|
||||
);
|
||||
|
||||
_app_icons_loadfromfile (path, DATA_UNKNOWN, &icon_info.uwp_icon_id, &icon_info.uwp_hicon, FALSE);
|
||||
|
||||
_r_obj_dereference (path);
|
||||
}
|
||||
|
||||
_r_initonce_end (&init_once);
|
||||
}
|
||||
|
||||
return &icon_info;
|
||||
}
|
||||
|
||||
_Ret_maybenull_
|
||||
HICON _app_icons_getdefaultapp_hicon ()
|
||||
{
|
||||
PICON_INFORMATION icon_info = _app_icons_getdefault ();
|
||||
|
||||
return icon_info->app_hicon ? CopyIcon (icon_info->app_hicon) : NULL;
|
||||
}
|
||||
|
||||
_Ret_maybenull_
|
||||
HICON _app_icons_getdefaulttype_hicon (
|
||||
_In_ ENUM_TYPE_DATA type,
|
||||
_In_ PICON_INFORMATION icon_info
|
||||
)
|
||||
{
|
||||
if (type == DATA_APP_SERVICE)
|
||||
{
|
||||
if (icon_info->service_hicon)
|
||||
return CopyIcon (icon_info->service_hicon);
|
||||
}
|
||||
else if (type == DATA_APP_UWP)
|
||||
{
|
||||
if (icon_info->uwp_hicon)
|
||||
return CopyIcon (icon_info->uwp_hicon);
|
||||
}
|
||||
|
||||
return icon_info->app_hicon ? CopyIcon (icon_info->app_hicon) : NULL;
|
||||
}
|
||||
|
||||
LONG _app_icons_getdefaultapp_id (
|
||||
_In_ ENUM_TYPE_DATA type
|
||||
)
|
||||
{
|
||||
PICON_INFORMATION icon_info = _app_icons_getdefault ();
|
||||
|
||||
if (type == DATA_APP_SERVICE)
|
||||
{
|
||||
return icon_info->service_icon_id;
|
||||
}
|
||||
else if (type == DATA_APP_UWP)
|
||||
{
|
||||
return icon_info->uwp_icon_id;
|
||||
}
|
||||
|
||||
return icon_info->app_icon_id;
|
||||
}
|
||||
|
||||
_Ret_maybenull_
|
||||
HICON _app_icons_getsafeapp_hicon (
|
||||
_In_ ULONG app_hash
|
||||
)
|
||||
{
|
||||
PICON_INFORMATION icon_info;
|
||||
PITEM_APP ptr_app;
|
||||
HICON hicon;
|
||||
LONG icon_id;
|
||||
|
||||
icon_info = _app_icons_getdefault ();
|
||||
ptr_app = _app_getappitem (app_hash);
|
||||
|
||||
if (!ptr_app)
|
||||
return icon_info->app_hicon ? CopyIcon (icon_info->app_hicon) : NULL;
|
||||
|
||||
if (_r_obj_isstringempty (ptr_app->real_path))
|
||||
return NULL;
|
||||
|
||||
if (_r_config_getboolean (L"IsIconsHidden", FALSE, NULL) || !_app_isappvalidbinary (ptr_app->real_path))
|
||||
{
|
||||
hicon = _app_icons_getdefaulttype_hicon (ptr_app->type, icon_info);
|
||||
|
||||
_r_obj_dereference (ptr_app);
|
||||
|
||||
return hicon;
|
||||
}
|
||||
|
||||
_app_icons_loadfromfile (ptr_app->real_path, ptr_app->type, &icon_id, &hicon, TRUE);
|
||||
|
||||
if (!icon_id || ((ptr_app->type == DATA_APP_SERVICE || ptr_app->type == DATA_APP_UWP) && icon_id == icon_info->app_icon_id))
|
||||
{
|
||||
if (hicon)
|
||||
DestroyIcon (hicon);
|
||||
|
||||
hicon = _app_icons_getdefaulttype_hicon (ptr_app->type, icon_info);
|
||||
}
|
||||
|
||||
_r_obj_dereference (ptr_app);
|
||||
|
||||
return hicon;
|
||||
}
|
||||
|
||||
VOID _app_icons_loaddefaults (
|
||||
_In_ ENUM_TYPE_DATA type,
|
||||
_Inout_opt_ HICON_PTR out_hicon,
|
||||
_Inout_opt_ PLONG out_icon_id
|
||||
)
|
||||
{
|
||||
PICON_INFORMATION icon_info;
|
||||
|
||||
icon_info = _app_icons_getdefault ();
|
||||
|
||||
if (out_hicon)
|
||||
{
|
||||
if (*out_hicon == NULL && type == DATA_APP_UWP)
|
||||
{
|
||||
if (type == DATA_APP_UWP)
|
||||
{
|
||||
if (icon_info->uwp_hicon)
|
||||
*out_hicon = CopyIcon (icon_info->uwp_hicon);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (icon_info->app_hicon)
|
||||
*out_hicon = CopyIcon (icon_info->app_hicon);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (out_icon_id)
|
||||
{
|
||||
if (*out_icon_id == 0 || ((type == DATA_APP_SERVICE && *out_icon_id == icon_info->app_icon_id) || (type == DATA_APP_UWP && *out_icon_id == icon_info->app_icon_id)))
|
||||
{
|
||||
if (type == DATA_APP_SERVICE)
|
||||
{
|
||||
*out_icon_id = icon_info->service_icon_id;
|
||||
}
|
||||
else if (type == DATA_APP_UWP)
|
||||
{
|
||||
*out_icon_id = icon_info->uwp_icon_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
*out_icon_id = icon_info->app_icon_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
VOID _app_icons_loadfromfile (
|
||||
_In_opt_ PR_STRING path,
|
||||
_In_ ENUM_TYPE_DATA type,
|
||||
_Out_opt_ PLONG out_icon_id,
|
||||
_Out_opt_ HICON_PTR out_hicon,
|
||||
_In_ BOOLEAN is_loaddefaults
|
||||
)
|
||||
{
|
||||
if (!out_icon_id && !out_hicon)
|
||||
return; // STATUS_INVALID_PARAMETER_MIX
|
||||
|
||||
if (out_icon_id)
|
||||
*out_icon_id = 0;
|
||||
|
||||
if (out_hicon)
|
||||
*out_hicon = NULL;
|
||||
|
||||
if (!_r_obj_isstringempty (path))
|
||||
_r_path_geticon (&path->sr, out_hicon, out_icon_id);
|
||||
|
||||
if (is_loaddefaults)
|
||||
_app_icons_loaddefaults (type, out_hicon, out_icon_id);
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
PICON_INFORMATION _app_icons_getdefault ();
|
||||
|
||||
_Ret_maybenull_
|
||||
HICON _app_icons_getdefaultapp_hicon ();
|
||||
|
||||
_Ret_maybenull_
|
||||
HICON _app_icons_getdefaulttype_hicon (
|
||||
_In_ ENUM_TYPE_DATA type,
|
||||
_In_ PICON_INFORMATION icon_info
|
||||
);
|
||||
|
||||
LONG _app_icons_getdefaultapp_id (
|
||||
_In_ ENUM_TYPE_DATA type
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
HICON _app_icons_getsafeapp_hicon (
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
VOID _app_icons_loaddefaults (
|
||||
_In_ ENUM_TYPE_DATA type,
|
||||
_Inout_opt_ HICON_PTR out_hicon,
|
||||
_Inout_opt_ PLONG out_icon_id
|
||||
);
|
||||
|
||||
VOID _app_icons_loadfromfile (
|
||||
_In_opt_ PR_STRING path,
|
||||
_In_ ENUM_TYPE_DATA type,
|
||||
_Out_opt_ PLONG out_icon_id,
|
||||
_Out_opt_ HICON_PTR out_hicon,
|
||||
_In_ BOOLEAN is_loaddefaults
|
||||
);
|
||||
@@ -0,0 +1,198 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
typedef struct _ITEM_LISTVIEW_CONTEXT
|
||||
{
|
||||
ULONG_PTR id_code;
|
||||
|
||||
struct
|
||||
{
|
||||
ULONG is_hidden : 1;
|
||||
ULONG spare_bits : 31;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} ITEM_LISTVIEW_CONTEXT, *PITEM_LISTVIEW_CONTEXT;
|
||||
|
||||
#define PR_SETITEM_REDRAW 0x0001
|
||||
#define PR_SETITEM_UPDATE 0x0002
|
||||
|
||||
#define PR_UPDATE_TYPE 0x0001
|
||||
#define PR_UPDATE_FORCE 0x0002
|
||||
#define PR_UPDATE_NOREFRESH 0x0004
|
||||
#define PR_UPDATE_NOSORT 0x0008
|
||||
#define PR_UPDATE_NORESIZE 0x0010
|
||||
#define PR_UPDATE_NOREDRAW 0x0020
|
||||
#define PR_UPDATE_NOSETVIEW 0x0040
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_TAB_CONTEXT _app_listview_getcontext (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT tab_id
|
||||
);
|
||||
|
||||
_Success_ (return != 0)
|
||||
INT _app_listview_getbytype (
|
||||
_In_ ENUM_TYPE_DATA type
|
||||
);
|
||||
|
||||
VOID _app_listview_additems (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_listview_addappitem (
|
||||
_In_ HWND hwnd,
|
||||
_In_ PITEM_APP ptr_app
|
||||
);
|
||||
|
||||
VOID _app_listview_addruleitem (
|
||||
_In_ HWND hwnd,
|
||||
_In_ PITEM_RULE ptr_rule,
|
||||
_In_ ULONG_PTR rule_idx,
|
||||
_In_ BOOLEAN is_forapp
|
||||
);
|
||||
|
||||
VOID _app_listview_addnetworkitem (
|
||||
_In_ HWND hwnd,
|
||||
_In_ ULONG network_hash
|
||||
);
|
||||
|
||||
VOID _app_listview_addlogitem (
|
||||
_In_ HWND hwnd,
|
||||
_In_ PITEM_LOG ptr_log,
|
||||
_In_ ULONG log_hash
|
||||
);
|
||||
|
||||
VOID _app_listview_clearitems (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
BOOLEAN _app_listview_islocked (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT ctrl_id
|
||||
);
|
||||
|
||||
BOOLEAN _app_listview_lock (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT ctrl_id
|
||||
);
|
||||
|
||||
BOOLEAN _app_listview_unlock (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT ctrl_id
|
||||
);
|
||||
|
||||
LONG_PTR _app_listview_createcontext (
|
||||
_In_ ULONG_PTR id_code
|
||||
);
|
||||
|
||||
VOID _app_listview_destroycontext (
|
||||
_In_ PITEM_LISTVIEW_CONTEXT context
|
||||
);
|
||||
|
||||
ULONG_PTR _app_listview_getcontextcode (
|
||||
_In_ LONG_PTR lparam
|
||||
);
|
||||
|
||||
_Success_ (return != 0)
|
||||
ULONG _app_listview_getappcontext (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id,
|
||||
_In_ INT item_id
|
||||
);
|
||||
|
||||
_Success_ (return != 0)
|
||||
ULONG_PTR _app_listview_getitemcontext (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id,
|
||||
_In_ INT item_id
|
||||
);
|
||||
|
||||
_Success_ (return)
|
||||
BOOLEAN _app_listview_isitemhidden (
|
||||
_In_ LPARAM lparam
|
||||
);
|
||||
|
||||
_Success_ (return != INT_ERROR)
|
||||
INT _app_listview_finditem (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id,
|
||||
_In_ ULONG_PTR id_code
|
||||
);
|
||||
|
||||
VOID _app_listview_showitemby_id (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id,
|
||||
_In_ INT item_id,
|
||||
_In_opt_ LONG scroll_pos
|
||||
);
|
||||
|
||||
VOID _app_listview_showitemby_param (
|
||||
_In_ HWND hwnd,
|
||||
_In_ ULONG_PTR lparam,
|
||||
_In_ BOOLEAN is_app
|
||||
);
|
||||
|
||||
VOID _app_listview_updateby_id (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT lparam,
|
||||
_In_ ULONG flags
|
||||
);
|
||||
|
||||
VOID _app_listview_updateby_param (
|
||||
_In_ HWND hwnd,
|
||||
_In_ ULONG_PTR lparam,
|
||||
_In_ ULONG flags,
|
||||
_In_ BOOLEAN is_app
|
||||
);
|
||||
|
||||
VOID _app_listview_updateitemby_param (
|
||||
_In_ HWND hwnd,
|
||||
_In_ ULONG_PTR lparam,
|
||||
_In_ BOOLEAN is_app
|
||||
);
|
||||
|
||||
VOID _app_listview_updateitemby_id (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id,
|
||||
_In_ INT item_id
|
||||
);
|
||||
|
||||
VOID _app_listview_loadfont (
|
||||
_In_ LONG dpi_value,
|
||||
_In_ BOOLEAN is_forced
|
||||
);
|
||||
|
||||
VOID _app_listview_refreshgroups (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id
|
||||
);
|
||||
|
||||
VOID _app_listview_resize (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id,
|
||||
_In_ BOOLEAN is_forced
|
||||
);
|
||||
|
||||
VOID _app_listview_setfont (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id
|
||||
);
|
||||
|
||||
VOID _app_listview_setview (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id
|
||||
);
|
||||
|
||||
INT CALLBACK _app_listview_compare_callback (
|
||||
_In_ LPARAM lparam1,
|
||||
_In_ LPARAM lparam2,
|
||||
_In_ LPARAM lparam
|
||||
);
|
||||
|
||||
VOID _app_listview_sort (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id,
|
||||
_In_ LONG column_id,
|
||||
_In_ BOOLEAN is_notifycode
|
||||
);
|
||||
@@ -1,38 +1,134 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2021 Henry++
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
FORCEINLINE PR_STRING _app_getlogpath ()
|
||||
{
|
||||
return _r_config_getstringexpand (L"LogPath", LOG_PATH_DEFAULT);
|
||||
}
|
||||
// FwpmNetEventSubscribe4 (win10rs5+)
|
||||
typedef ULONG (WINAPI *FWPMNES4)(
|
||||
_In_ HANDLE engine_handle,
|
||||
_In_ const FWPM_NET_EVENT_SUBSCRIPTION0 *subscription,
|
||||
_In_ FWPM_NET_EVENT_CALLBACK4 callback,
|
||||
_In_opt_ PVOID context,
|
||||
_Out_ PHANDLE events_handle
|
||||
);
|
||||
|
||||
FORCEINLINE PR_STRING _app_getlogviewer ()
|
||||
{
|
||||
return _r_config_getstringexpand (L"LogViewer", LOG_VIEWER_DEFAULT);
|
||||
}
|
||||
// FwpmNetEventSubscribe3 (win10rs4+)
|
||||
typedef ULONG (WINAPI *FWPMNES3)(
|
||||
_In_ HANDLE engine_handle,
|
||||
_In_ const FWPM_NET_EVENT_SUBSCRIPTION0 *subscription,
|
||||
_In_ FWPM_NET_EVENT_CALLBACK3 callback,
|
||||
_In_opt_ PVOID context,
|
||||
_Out_ PHANDLE events_handle
|
||||
);
|
||||
|
||||
VOID _app_loginit (_In_ BOOLEAN is_install);
|
||||
ULONG_PTR _app_getloghash (_In_ HWND hwnd, _In_ PITEM_LOG ptr_log);
|
||||
BOOLEAN _app_islogfound (_In_ ULONG_PTR log_hash);
|
||||
BOOLEAN _app_logislimitreached (_In_ HANDLE hfile);
|
||||
// FwpmNetEventSubscribe2 (win10th1+)
|
||||
typedef ULONG (WINAPI *FWPMNES2)(
|
||||
_In_ HANDLE engine_handle,
|
||||
_In_ const FWPM_NET_EVENT_SUBSCRIPTION0 *subscription,
|
||||
_In_ FWPM_NET_EVENT_CALLBACK2 callback,
|
||||
_In_opt_ PVOID context,
|
||||
_Out_ PHANDLE events_handle
|
||||
);
|
||||
|
||||
VOID _app_logclear (_In_opt_ HANDLE hfile);
|
||||
VOID _app_logclear_ui (_In_ HWND hwnd);
|
||||
// FwpmNetEventSubscribe1 (win8+)
|
||||
typedef ULONG (WINAPI *FWPMNES1)(
|
||||
_In_ HANDLE engine_handle,
|
||||
_In_ const FWPM_NET_EVENT_SUBSCRIPTION0 *subscription,
|
||||
_In_ FWPM_NET_EVENT_CALLBACK1 callback,
|
||||
_In_opt_ PVOID context,
|
||||
_Out_ PHANDLE events_handle
|
||||
);
|
||||
|
||||
VOID _app_logwrite (_In_ PITEM_LOG ptr_log);
|
||||
VOID _app_logwrite_ui (_In_ HWND hwnd, _In_ PITEM_LOG ptr_log);
|
||||
VOID _app_loginit (
|
||||
_In_ BOOLEAN is_install
|
||||
);
|
||||
|
||||
VOID _wfp_logsubscribe (_In_ HANDLE engine_handle);
|
||||
VOID _wfp_logunsubscribe (_In_ HANDLE engine_handle);
|
||||
VOID _app_loginitfile (
|
||||
_In_ HANDLE hfile
|
||||
);
|
||||
|
||||
VOID CALLBACK _wfp_logcallback (_In_ PITEM_LOG_CALLBACK log);
|
||||
ULONG _app_getloghash (
|
||||
_In_ PITEM_LOG ptr_log
|
||||
);
|
||||
|
||||
VOID CALLBACK _wfp_logcallback0 (_In_ PVOID context, _In_ const FWPM_NET_EVENT1* event);
|
||||
VOID CALLBACK _wfp_logcallback1 (_In_ PVOID context, _In_ const FWPM_NET_EVENT2* event);
|
||||
VOID CALLBACK _wfp_logcallback2 (_In_ PVOID context, _In_ const FWPM_NET_EVENT3* event);
|
||||
VOID CALLBACK _wfp_logcallback3 (_In_ PVOID context, _In_ const FWPM_NET_EVENT4* event);
|
||||
VOID CALLBACK _wfp_logcallback4 (_In_ PVOID context, _In_ const FWPM_NET_EVENT5* event);
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_getlogpath ();
|
||||
|
||||
VOID NTAPI _app_logthread (_In_ PVOID arglist, _In_ ULONG busy_count);
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_getlogviewer ();
|
||||
|
||||
BOOLEAN _app_islogfound (
|
||||
_In_ ULONG log_hash
|
||||
);
|
||||
|
||||
BOOLEAN _app_logislimitreached (
|
||||
_In_ HANDLE hfile
|
||||
);
|
||||
|
||||
VOID _app_logclear (
|
||||
_In_opt_ HANDLE hfile
|
||||
);
|
||||
|
||||
VOID _app_logclear_ui (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_logwrite (
|
||||
_In_ PITEM_LOG ptr_log
|
||||
);
|
||||
|
||||
VOID _app_logwrite_ui (
|
||||
_In_ HWND hwnd,
|
||||
_In_ PITEM_LOG ptr_log
|
||||
);
|
||||
|
||||
VOID _wfp_logsubscribe (
|
||||
_In_opt_ HWND hwnd,
|
||||
_In_ HANDLE engine_handle
|
||||
);
|
||||
|
||||
VOID _wfp_logunsubscribe (
|
||||
_In_ HANDLE engine_handle
|
||||
);
|
||||
|
||||
VOID _wfp_logsetoption (
|
||||
_In_ HANDLE engine_handle
|
||||
);
|
||||
|
||||
VOID CALLBACK _wfp_logcallback (
|
||||
_In_ PITEM_LOG_CALLBACK log
|
||||
);
|
||||
|
||||
// win7+ callback
|
||||
VOID CALLBACK _wfp_logcallback0 (
|
||||
_Inout_ PVOID context,
|
||||
_In_ const FWPM_NET_EVENT1* event_data
|
||||
);
|
||||
|
||||
// win8+ callback
|
||||
VOID CALLBACK _wfp_logcallback1 (
|
||||
_Inout_ PVOID context,
|
||||
_In_ const FWPM_NET_EVENT2* event_data
|
||||
);
|
||||
|
||||
// win10rs1+ callback
|
||||
VOID CALLBACK _wfp_logcallback2 (
|
||||
_Inout_ PVOID context,
|
||||
_In_ const FWPM_NET_EVENT3* event_data
|
||||
);
|
||||
|
||||
// win10rs2+ callback
|
||||
VOID CALLBACK _wfp_logcallback3 (
|
||||
_Inout_ PVOID context,
|
||||
_In_ const FWPM_NET_EVENT4* event_data
|
||||
);
|
||||
|
||||
// win10rs5+ callback
|
||||
VOID CALLBACK _wfp_logcallback4 (
|
||||
_Inout_ PVOID context,
|
||||
_In_ const FWPM_NET_EVENT5* event_data
|
||||
);
|
||||
|
||||
VOID NTAPI _app_logthread (
|
||||
_In_ PVOID arglist
|
||||
);
|
||||
@@ -1,5 +1,5 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2021 Henry++
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
@@ -20,21 +20,13 @@
|
||||
#pragma comment(lib, "ws2_32.lib")
|
||||
#pragma comment(lib, "winmm.lib")
|
||||
#pragma comment(lib, "wintrust.lib")
|
||||
#pragma comment(lib, "windowscodecs.lib")
|
||||
|
||||
// log
|
||||
#define DBG_ARG _r_path_getbasename2 (TEXT (__FILE__)), __LINE__
|
||||
#define DBG_ARG_VAR file_name, line
|
||||
|
||||
// guids
|
||||
DEFINE_GUID (GUID_TrayIcon, 0xdab4837e, 0xcb0f, 0x47da, 0x92, 0x22, 0x21, 0x20, 0x74, 0x9f, 0x5c, 0x41);
|
||||
|
||||
DEFINE_GUID (GUID_WfpProvider, 0xb0d553e2, 0xc6a0, 0x4a9a, 0xae, 0xb8, 0xc7, 0x52, 0x48, 0x3e, 0xd6, 0x2f);
|
||||
DEFINE_GUID (GUID_WfpSublayer, 0x9fee6f59, 0xb951, 0x4f9a, 0xb5, 0x2f, 0x13, 0x3d, 0xcf, 0x7a, 0x42, 0x79);
|
||||
|
||||
// deprecated and not used, but need for compatibility
|
||||
DEFINE_GUID (GUID_WfpOutboundCallout4_DEPRECATED, 0xf1251f1a, 0xab09, 0x4ce7, 0xba, 0xe3, 0x6c, 0xcc, 0xce, 0xf2, 0xc8, 0xca);
|
||||
DEFINE_GUID (GUID_WfpOutboundCallout6_DEPRECATED, 0xfd497f2e, 0x46f5, 0x486d, 0xb0, 0xc, 0x3f, 0x7f, 0xe0, 0x7a, 0x94, 0xa6);
|
||||
DEFINE_GUID (GUID_WfpInboundCallout4_DEPRECATED, 0xefc879ce, 0x3066, 0x45bb, 0x8a, 0x70, 0x17, 0xfe, 0x29, 0x78, 0x53, 0xc0);
|
||||
DEFINE_GUID (GUID_WfpInboundCallout6_DEPRECATED, 0xd0420299, 0x52d8, 0x4f18, 0xbc, 0x80, 0x47, 0x3a, 0x24, 0x93, 0xf2, 0x69);
|
||||
DEFINE_GUID (GUID_WfpListenCallout4_DEPRECATED, 0x51fa679d, 0x578b, 0x4835, 0xa6, 0x3e, 0xca, 0xd7, 0x68, 0x7f, 0x74, 0x95);
|
||||
DEFINE_GUID (GUID_WfpListenCallout6_DEPRECATED, 0xa02187ca, 0xe655, 0x4adb, 0xa1, 0xf2, 0x47, 0xa2, 0xc9, 0x78, 0xf9, 0xce);
|
||||
DEFINE_GUID (GUID_TrayIcon, 0xDAB4837E, 0xCB0F, 0x47DA, 0x92, 0x22, 0x21, 0x20, 0x74, 0x9F, 0x5C, 0x41);
|
||||
|
||||
// enums
|
||||
typedef enum _ENUM_TYPE_DATA
|
||||
@@ -57,12 +49,6 @@ typedef enum _ENUM_TYPE_DATA
|
||||
DATA_LISTVIEW_CURRENT,
|
||||
} ENUM_TYPE_DATA;
|
||||
|
||||
typedef enum _ENUM_TYPE_XML
|
||||
{
|
||||
XML_PROFILE_V3 = 3,
|
||||
XML_PROFILE_INTERNAL_V3 = 4,
|
||||
} ENUM_TYPE_XML;
|
||||
|
||||
typedef enum _ENUM_INSTALL_TYPE
|
||||
{
|
||||
INSTALL_DISABLED = 0,
|
||||
@@ -75,9 +61,12 @@ typedef enum _ENUM_INFO_DATA
|
||||
INFO_PATH = 1,
|
||||
INFO_BYTES_DATA,
|
||||
INFO_DISPLAY_NAME,
|
||||
INFO_TIMESTAMP_PTR,
|
||||
INFO_TIMER_PTR,
|
||||
INFO_COMMENT,
|
||||
INFO_HASH,
|
||||
INFO_TIMESTAMP,
|
||||
INFO_TIMER,
|
||||
INFO_LISTVIEW_ID,
|
||||
INFO_DISABLE,
|
||||
INFO_IS_ENABLED,
|
||||
INFO_IS_READONLY,
|
||||
INFO_IS_SILENT,
|
||||
@@ -86,24 +75,12 @@ typedef enum _ENUM_INFO_DATA
|
||||
|
||||
typedef enum _ENUM_INFO_DATA2
|
||||
{
|
||||
INFO_ICON_ID,
|
||||
INFO_ICON_ID = 0,
|
||||
INFO_SIGNATURE_STRING, // dereference required
|
||||
INFO_VERSION_STRING, // dereference required
|
||||
} ENUM_INFO_DATA2;
|
||||
|
||||
// config
|
||||
#define LANG_MENU 5
|
||||
#define UID 1984 // if you want to keep a secret, you must also hide it from yourself.
|
||||
|
||||
#define XML_PROFILE_VER_3 0x03
|
||||
#define XML_PROFILE_VER_4 0x04
|
||||
#define XML_PROFILE_VER_CURRENT XML_PROFILE_VER_4
|
||||
|
||||
#define XML_PROFILE L"profile.xml"
|
||||
#define XML_PROFILE_INTERNAL L"profile_internal.xml"
|
||||
|
||||
#define LOG_PATH_EXT L"log"
|
||||
#define LOG_PATH_DEFAULT L"%USERPROFILE%\\" APP_NAME_SHORT L"." LOG_PATH_EXT
|
||||
#define LOG_PATH_DEFAULT L"%USERPROFILE%\\" APP_NAME_SHORT L".csv"
|
||||
#define LOG_VIEWER_DEFAULT L"%SystemRoot%\\notepad.exe"
|
||||
#define LOG_SIZE_LIMIT_DEFAULT _r_calc_kilobytes2bytes (1)
|
||||
|
||||
@@ -113,32 +90,17 @@ typedef enum _ENUM_INFO_DATA2
|
||||
#define PROC_SYSTEM_PID 4
|
||||
#define PROC_SYSTEM_NAME L"System"
|
||||
|
||||
#define PATH_NTOSKRNL L"\\ntoskrnl.exe"
|
||||
#define PATH_SVCHOST L"\\svchost.exe"
|
||||
#define PATH_WUSVC L"\\wusvc.exe"
|
||||
|
||||
#define WINDOWSSPYBLOCKER_TITLE L"Author: <a href=\"%s\">WindowsSpyBlocker</a> - block spying and tracking on Windows systems."
|
||||
#define WINDOWSSPYBLOCKER_URL L"https://github.com/crazy-max/WindowsSpyBlocker"
|
||||
|
||||
#define SUBLAYER_WEIGHT_DEFAULT 0xFFFE
|
||||
|
||||
#define DIVIDER_COPY L", "
|
||||
#define DIVIDER_CSV L","
|
||||
#define DIVIDER_APP L"|"
|
||||
#define DIVIDER_RULE L";"
|
||||
#define DIVIDER_RULE_RANGE L'-'
|
||||
#define DIVIDER_TRIM L"\r\n "
|
||||
|
||||
#define SZ_TAB L" "
|
||||
#define SZ_TAB_CRLF L"\r\n" SZ_TAB
|
||||
#define SZ_EMPTY L"<empty>"
|
||||
#define SZ_TAB L" "
|
||||
#define SZ_CRLF L"\r\n"
|
||||
#define SZ_TAB_CRLF SZ_CRLF SZ_TAB
|
||||
#define SZ_RULE_INTERNAL_MENU L"*"
|
||||
#define SZ_RULE_INTERNAL_TITLE L"Internal rule"
|
||||
#define SZ_RULE_NEW_TITLE L"<new rule>"
|
||||
#define SZ_UNKNOWN L"unknown"
|
||||
#define SZ_LOADING L"Loading..."
|
||||
#define SZ_MAXTEXT L"Limit reached."
|
||||
|
||||
#define SZ_DIRECTION_REMOTE L"Remote"
|
||||
#define SZ_DIRECTION_LOCAL L"Local"
|
||||
#define SZ_STATE_ALLOW L"Allowed"
|
||||
#define SZ_STATE_BLOCK L"Blocked"
|
||||
#define SZ_DIRECTION_IN L"Inbound"
|
||||
@@ -146,163 +108,186 @@ typedef enum _ENUM_INFO_DATA2
|
||||
#define SZ_DIRECTION_ANY L"Any"
|
||||
#define SZ_DIRECTION_LOOPBACK L"Loopback"
|
||||
|
||||
#define SZ_LOG_TITLE L"Date" DIVIDER_CSV L"User" DIVIDER_CSV L"Path" DIVIDER_CSV L"Address (" SZ_DIRECTION_LOCAL L")" DIVIDER_CSV L"Port (" SZ_DIRECTION_LOCAL L")" DIVIDER_CSV L"Address (" SZ_DIRECTION_REMOTE L")" DIVIDER_CSV L"Port (" SZ_DIRECTION_REMOTE L")" DIVIDER_CSV L"Protocol" DIVIDER_CSV L"Filter name" DIVIDER_CSV L"Filter ID" DIVIDER_CSV L"Direction" DIVIDER_CSV L"State\r\n"
|
||||
#define SZ_LOG_BODY L"\"%s\"" DIVIDER_CSV L"\"%s\"" DIVIDER_CSV L"\"%s\"" DIVIDER_CSV L"\"%s\"" DIVIDER_CSV L"\"%s\"" DIVIDER_CSV L"\"%s\"" DIVIDER_CSV L"\"%s\"" DIVIDER_CSV L"\"%s\"" DIVIDER_CSV L"\"%s\\%s\"" DIVIDER_CSV L"\"#%" TEXT (PRIu64) L"\"" DIVIDER_CSV L"\"%s\"" DIVIDER_CSV L"\"%s\"\r\n"
|
||||
#define SZ_LOG_TITLE L"Date,Username,Path,Address (Local)," \
|
||||
L"Port (Local),Address (Remote),Port (Remote)," \
|
||||
L"Protocol,Layer,Filter name,Filter ID,Direction,State" SZ_CRLF
|
||||
|
||||
#define BACKUP_HOURS_PERIOD _r_calc_hours2seconds (4) // make backup every X hour(s) (default)
|
||||
#define UI_STATUSBAR_PARTS_COUNT 3
|
||||
#define SZ_LOG_BODY L"\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\"," \
|
||||
L"\"%s\",\"%s\",\"#%" TEXT (PRIu64) L"\",\"%s\",\"%s\"" SZ_CRLF
|
||||
|
||||
#define LEN_IP_MAX 68
|
||||
#define MAP_CACHE_MAX 900 // limit for caching hashtable
|
||||
#define SZ_HELP L"\"simplewall.exe -install\" - enable filtering." SZ_CRLF \
|
||||
L"\"simplewall.exe -install -temp\" - enable filtering until reboot." SZ_CRLF \
|
||||
L"\"simplewall.exe -install -silent\" - enable filtering without prompt." SZ_CRLF \
|
||||
L"\"simplewall.exe -uninstall\" - remove all installed filters." SZ_CRLF \
|
||||
L"\"simlewall.exe -help\" - show this message."
|
||||
|
||||
#define DIVIDER_COPY L", "
|
||||
#define DIVIDER_APP L"|"
|
||||
#define DIVIDER_RULE L";"
|
||||
#define DIVIDER_RULE_RANGE L'-'
|
||||
#define DIVIDER_TRIM SZ_CRLF L" "
|
||||
|
||||
#define BACKUP_HOURS_PERIOD _r_calc_hours2seconds (4) // made backup every X hour(s) (default)
|
||||
|
||||
#define LEN_IP_MAX 0x44
|
||||
#define MAP_CACHE_MAX 0x0384 // limit for caching hashtable
|
||||
|
||||
#define TRANSACTION_TIMEOUT 9000
|
||||
#define NETWORK_TIMEOUT 3500
|
||||
|
||||
// ui
|
||||
#define ICONS_MENU 6
|
||||
#define LANG_SUBMENU 2
|
||||
#define LANG_MENU 7
|
||||
#define NOTIFICATIONS_ID 4
|
||||
#define LOGGING_ID 5
|
||||
#define ERRLOG_ID 6
|
||||
|
||||
#define REBAR_TOOLBAR_ID 0
|
||||
#define REBAR_SEARCH_ID 1
|
||||
|
||||
#define LV_HIDDEN_GROUP_ID GENERAL_ID
|
||||
|
||||
#define STATUSBAR_PARTS_COUNT 3
|
||||
|
||||
// notifications
|
||||
#define NOTIFY_TIMER_SAFETY_ID 666
|
||||
#define NOTIFY_TIMER_SAFETY_TIMEOUT 900
|
||||
|
||||
#define NOTIFY_TIMEOUT_DEFAULT 60 // sec.
|
||||
#define NOTIFY_SOUND_NAME L"MailBeep"
|
||||
|
||||
// default colors
|
||||
#define LISTVIEW_COLOR_TIMER RGB(255, 190, 142)
|
||||
#define LISTVIEW_COLOR_INVALID RGB (255, 125, 148)
|
||||
#define LISTVIEW_COLOR_SPECIAL RGB (255, 255, 170)
|
||||
#define LISTVIEW_COLOR_SIGNED RGB (175, 228, 163)
|
||||
#define LISTVIEW_COLOR_PICO RGB (51, 153, 255)
|
||||
#define LISTVIEW_COLOR_SYSTEM RGB(151, 196, 251)
|
||||
#define LISTVIEW_COLOR_CONNECTION RGB(255, 168, 242)
|
||||
|
||||
// filter names
|
||||
#define FW_NAME_BLOCK_CONNECTION L"BlockConnection"
|
||||
#define FW_NAME_BLOCK_REDIRECT L"BlockRedirect"
|
||||
#define FW_NAME_BLOCK_RECVACCEPT L"BlockRecvAccept"
|
||||
#define FW_NAME_ICMP_ERROR L"BlockIcmpError"
|
||||
#define FW_NAME_TCP_RST_ONCLOSE L"BlockTcpRstOnClose"
|
||||
#define FW_NAME_BOOTTIME L"BlockBoottime"
|
||||
|
||||
// filter weights
|
||||
#define FW_WEIGHT_HIGHEST_IMPORTANT 0x0f
|
||||
#define FW_WEIGHT_HIGHEST 0x0e
|
||||
#define FW_WEIGHT_RULE_BLOCKLIST 0x0d
|
||||
#define FW_WEIGHT_RULE_USER_BLOCK 0x0c
|
||||
#define FW_WEIGHT_RULE_USER 0x0b
|
||||
#define FW_WEIGHT_RULE_SYSTEM 0x0a
|
||||
#define FW_WEIGHT_APP 0x09
|
||||
#define FW_WEIGHT_LOWEST 0x08
|
||||
#define LV_COLOR_INVALID RGB(0xFF, 0x7C, 0x94)
|
||||
#define LV_COLOR_SPECIAL RGB(0xFF, 0xFF, 0xAA)
|
||||
#define LV_COLOR_SIGNED RGB(0xAE, 0xE4, 0xA2)
|
||||
#define LV_COLOR_PICO RGB(0x32, 0x98, 0xFF)
|
||||
#define LV_COLOR_SYSTEM RGB(0x96, 0xC4, 0xFA)
|
||||
#define LV_COLOR_CONNECTION RGB(0xFF, 0xA8, 0xF2)
|
||||
#define LV_COLOR_UNDELETE RGB(0xD4, 0xD4, 0xD4)
|
||||
|
||||
// memory limitation for 1 rule
|
||||
#define RULE_NAME_CCH_MAX 64
|
||||
#define RULE_RULE_CCH_MAX 256
|
||||
#define RULE_NAME_CCH_MAX 0x0040 // 64
|
||||
#define RULE_RULE_CCH_MAX 0x0400 // 1024
|
||||
|
||||
typedef struct _STATIC_DATA
|
||||
{
|
||||
WCHAR profile_path[MAX_PATH];
|
||||
WCHAR profile_path_backup[MAX_PATH];
|
||||
WCHAR profile_internal_path[MAX_PATH];
|
||||
|
||||
WCHAR windows_dir_buffer[MAX_PATH];
|
||||
R_STRINGREF windows_dir;
|
||||
|
||||
WCHAR search_string[128];
|
||||
GUID session_key;
|
||||
|
||||
PR_STRING my_path;
|
||||
PR_STRING search_string;
|
||||
PR_STRING ntoskrnl_path;
|
||||
PR_STRING svchost_path;
|
||||
PR_STRING system_path;
|
||||
PR_STRING wusvc_path;
|
||||
PR_STRING my_path;
|
||||
|
||||
PSID pbuiltin_current_sid;
|
||||
PSID pbuiltin_netops_sid;
|
||||
PSID pbuiltin_admins_sid;
|
||||
PR_BYTE service_wdiservicehost_sid;
|
||||
PR_BYTE service_policyagent_sid;
|
||||
PR_BYTE service_mpssvc_sid;
|
||||
PR_BYTE service_nlasvc_sid;
|
||||
PR_BYTE service_rpcss_sid;
|
||||
|
||||
PSID pservice_mpssvc_sid;
|
||||
PSID pservice_nlasvc_sid;
|
||||
PSID pservice_policyagent_sid;
|
||||
PSID pservice_rpcss_sid;
|
||||
PSID pservice_wdiservicehost_sid;
|
||||
|
||||
HIMAGELIST himg_toolbar;
|
||||
HIMAGELIST himg_rules_small;
|
||||
HIMAGELIST himg_rules_large;
|
||||
HIMAGELIST himg_toolbar;
|
||||
|
||||
HBITMAP hbmp_enable;
|
||||
HBITMAP hbmp_disable;
|
||||
HBITMAP hbmp_enable;
|
||||
HBITMAP hbmp_allow;
|
||||
HBITMAP hbmp_block;
|
||||
HBITMAP hbmp_rules;
|
||||
|
||||
volatile HANDLE hlogfile;
|
||||
volatile HANDLE hnetevent;
|
||||
volatile HWND hnotification;
|
||||
HANDLE hmonitor_thread;
|
||||
HANDLE hnotify_evt;
|
||||
|
||||
HFONT wnd_font;
|
||||
HFONT hfont;
|
||||
|
||||
HWND hsearchbar;
|
||||
HWND htoolbar;
|
||||
HWND hrebar;
|
||||
HWND hfind;
|
||||
|
||||
LONG64 profile_internal_timestamp;
|
||||
PSID builtin_current_sid;
|
||||
PSID builtin_netops_sid;
|
||||
PSID builtin_admins_sid;
|
||||
|
||||
ULONG_PTR ntoskrnl_hash;
|
||||
ULONG_PTR svchost_hash;
|
||||
ULONG_PTR my_hash;
|
||||
volatile HWND hnotification;
|
||||
volatile HANDLE hnetevent;
|
||||
volatile HANDLE hlogfile;
|
||||
volatile LONG log_id;
|
||||
|
||||
ULONG_PTR color_timer;
|
||||
ULONG_PTR color_invalid;
|
||||
ULONG_PTR color_special;
|
||||
ULONG_PTR color_signed;
|
||||
ULONG_PTR color_pico;
|
||||
ULONG_PTR color_system;
|
||||
ULONG_PTR color_network;
|
||||
ULONG color_nonremovable;
|
||||
ULONG color_network;
|
||||
ULONG color_invalid;
|
||||
ULONG color_special;
|
||||
ULONG color_signed;
|
||||
ULONG color_system;
|
||||
ULONG color_pico;
|
||||
|
||||
ULONG ntoskrnl_hash;
|
||||
ULONG svchost_hash;
|
||||
ULONG wusvc_hash;
|
||||
ULONG my_hash;
|
||||
|
||||
BOOLEAN is_filterstemporary;
|
||||
BOOLEAN is_neteventenabled;
|
||||
BOOLEAN is_notifytimeout;
|
||||
BOOLEAN is_notifymouse;
|
||||
BOOLEAN is_neteventset;
|
||||
BOOLEAN is_filterstemporary;
|
||||
} STATIC_DATA, *PSTATIC_DATA;
|
||||
|
||||
typedef struct _PROFILE_DATA
|
||||
{
|
||||
PR_STRING profile_path_internal;
|
||||
PR_STRING profile_path_backup;
|
||||
PR_STRING profile_path;
|
||||
|
||||
LONG64 profile_internal_timestamp;
|
||||
} PROFILE_DATA, *PPROFILE_DATA;
|
||||
|
||||
typedef struct _ITEM_LOG
|
||||
{
|
||||
union
|
||||
{
|
||||
IN_ADDR remote_addr;
|
||||
IN6_ADDR remote_addr6;
|
||||
};
|
||||
IN_ADDR remote_addr;
|
||||
} DUMMYUNIONNAME;
|
||||
|
||||
union
|
||||
{
|
||||
IN_ADDR local_addr;
|
||||
IN6_ADDR local_addr6;
|
||||
};
|
||||
IN_ADDR local_addr;
|
||||
} DUMMYUNIONNAME2;
|
||||
|
||||
PR_STRING path;
|
||||
PR_STRING provider_name;
|
||||
PR_STRING protocol_str;
|
||||
PR_STRING filter_name;
|
||||
PR_STRING layer_name;
|
||||
PR_STRING username;
|
||||
PR_STRING local_addr_str;
|
||||
PR_STRING local_host_str;
|
||||
PR_STRING remote_addr_str;
|
||||
PR_STRING remote_host_str;
|
||||
PR_STRING path;
|
||||
|
||||
volatile PR_STRING remote_addr_str;
|
||||
volatile PR_STRING local_addr_str;
|
||||
volatile PR_STRING remote_host_str;
|
||||
volatile PR_STRING local_host_str;
|
||||
|
||||
LONG64 timestamp;
|
||||
|
||||
UINT64 filter_id;
|
||||
|
||||
ULONG_PTR app_hash;
|
||||
ULONG app_hash;
|
||||
|
||||
volatile LONG log_id;
|
||||
|
||||
FWP_DIRECTION direction;
|
||||
|
||||
ADDRESS_FAMILY af;
|
||||
|
||||
UINT16 remote_port;
|
||||
UINT16 local_port;
|
||||
|
||||
UINT8 protocol;
|
||||
|
||||
BOOLEAN is_allow;
|
||||
BOOLEAN is_loopback;
|
||||
BOOLEAN is_myprovider;
|
||||
BOOLEAN is_blocklist;
|
||||
BOOLEAN is_loopback;
|
||||
BOOLEAN is_custom;
|
||||
BOOLEAN is_system;
|
||||
BOOLEAN is_myprovider;
|
||||
BOOLEAN is_allow;
|
||||
} ITEM_LOG, *PITEM_LOG;
|
||||
|
||||
typedef struct _ITEM_APP
|
||||
@@ -313,17 +298,19 @@ typedef struct _ITEM_APP
|
||||
PR_STRING display_name;
|
||||
PR_STRING short_name;
|
||||
PR_STRING real_path;
|
||||
PR_STRING comment;
|
||||
PR_STRING hash;
|
||||
|
||||
PITEM_LOG pnotification;
|
||||
PR_BYTE pbytes; // service - PSECURITY_DESCRIPTOR / uwp - PSID (win8+)
|
||||
PITEM_LOG notification;
|
||||
PR_BYTE bytes; // service - PSECURITY_DESCRIPTOR / uwp - PSID (win8+)
|
||||
|
||||
PTP_TIMER htimer;
|
||||
|
||||
LONG64 last_notify;
|
||||
LONG64 timestamp;
|
||||
LONG64 timer;
|
||||
LONG64 last_notify;
|
||||
|
||||
ULONG_PTR app_hash;
|
||||
ULONG app_hash;
|
||||
|
||||
ENUM_TYPE_DATA type;
|
||||
|
||||
@@ -331,29 +318,26 @@ typedef struct _ITEM_APP
|
||||
|
||||
struct
|
||||
{
|
||||
ULONG is_enabled : 1;
|
||||
ULONG is_haveerrors : 1;
|
||||
ULONG is_silent : 1;
|
||||
ULONG is_undeletable : 1;
|
||||
ULONG is_haveerrors : 1;
|
||||
ULONG is_enabled : 1;
|
||||
ULONG is_silent : 1;
|
||||
ULONG spare_bits : 28;
|
||||
};
|
||||
} DUMMYSTRUCTNAME;
|
||||
} ITEM_APP, *PITEM_APP;
|
||||
|
||||
typedef struct _ITEM_APP_INFO
|
||||
{
|
||||
PR_STRING path;
|
||||
|
||||
PR_STRING signature_info;
|
||||
PR_STRING version_info;
|
||||
PR_STRING path;
|
||||
|
||||
volatile LONG large_icon_id;
|
||||
volatile LONG lock;
|
||||
|
||||
ULONG_PTR app_hash;
|
||||
|
||||
ULONG app_hash;
|
||||
LONG icon_id;
|
||||
ENUM_TYPE_DATA type;
|
||||
|
||||
INT listview_id;
|
||||
|
||||
BOOLEAN is_loaded;
|
||||
} ITEM_APP_INFO, *PITEM_APP_INFO;
|
||||
|
||||
typedef struct _ITEM_FILTER_CONFIG
|
||||
@@ -368,19 +352,11 @@ typedef struct _ITEM_RULE
|
||||
PR_HASHTABLE apps;
|
||||
PR_ARRAY guids;
|
||||
|
||||
PR_STRING name;
|
||||
PR_STRING protocol_str;
|
||||
PR_STRING rule_remote;
|
||||
PR_STRING rule_local;
|
||||
|
||||
struct
|
||||
{
|
||||
ULONG is_enabled : 1;
|
||||
ULONG is_haveerrors : 1;
|
||||
ULONG is_forservices : 1;
|
||||
ULONG is_readonly : 1;
|
||||
ULONG is_enabled_default : 1;
|
||||
ULONG spare_bits : 27;
|
||||
};
|
||||
PR_STRING comment;
|
||||
PR_STRING name;
|
||||
|
||||
union
|
||||
{
|
||||
@@ -391,11 +367,24 @@ typedef struct _ITEM_RULE
|
||||
FWP_DIRECTION direction;
|
||||
UINT8 protocol;
|
||||
ADDRESS_FAMILY af;
|
||||
};
|
||||
};
|
||||
} DUMMYSTRUCTNAME2;
|
||||
} DUMMYUNIONNAME;
|
||||
|
||||
struct
|
||||
{
|
||||
ULONG is_enabled_default : 1;
|
||||
ULONG is_forservice : 1;
|
||||
ULONG is_fordriver : 1;
|
||||
ULONG is_haveerrors : 1;
|
||||
ULONG is_readonly : 1;
|
||||
ULONG is_enabled : 1;
|
||||
ULONG spare_bits : 26;
|
||||
} DUMMYSTRUCTNAME2;
|
||||
|
||||
ULONG rule_hash;
|
||||
ENUM_TYPE_DATA type;
|
||||
FWP_ACTION_TYPE action;
|
||||
|
||||
UINT8 profile; // reserved ffu!
|
||||
UINT8 weight;
|
||||
} ITEM_RULE, *PITEM_RULE;
|
||||
@@ -414,39 +403,59 @@ typedef struct _ITEM_NETWORK
|
||||
{
|
||||
IN_ADDR remote_addr;
|
||||
IN6_ADDR remote_addr6;
|
||||
};
|
||||
} DUMMYUNIONNAME;
|
||||
|
||||
union
|
||||
{
|
||||
IN_ADDR local_addr;
|
||||
IN6_ADDR local_addr6;
|
||||
};
|
||||
} DUMMYUNIONNAME2;
|
||||
|
||||
volatile PR_STRING local_addr_str;
|
||||
volatile PR_STRING remote_addr_str;
|
||||
volatile PR_STRING local_host_str;
|
||||
volatile PR_STRING remote_host_str;
|
||||
|
||||
PR_STRING protocol_str;
|
||||
PR_STRING path;
|
||||
PR_STRING local_addr_str;
|
||||
PR_STRING local_host_str;
|
||||
PR_STRING remote_addr_str;
|
||||
PR_STRING remote_host_str;
|
||||
ULONG_PTR app_hash;
|
||||
|
||||
ULONG app_hash;
|
||||
ULONG state;
|
||||
|
||||
FWP_DIRECTION direction;
|
||||
ENUM_TYPE_DATA type;
|
||||
ADDRESS_FAMILY af;
|
||||
|
||||
UINT16 remote_port;
|
||||
UINT16 local_port;
|
||||
UINT8 protocol;
|
||||
|
||||
BOOLEAN is_stats_initialized;
|
||||
BOOLEAN is_stats_enabled;
|
||||
BOOLEAN is_connection;
|
||||
|
||||
volatile LONG64 download_speed;
|
||||
volatile LONG64 upload_speed;
|
||||
volatile LONG64 download_total;
|
||||
volatile LONG64 upload_total;
|
||||
|
||||
ULONG64 last_bytes_in;
|
||||
ULONG64 last_bytes_out;
|
||||
ULONG64 last_stats_tick;
|
||||
ULONG64 udp_created;
|
||||
|
||||
volatile LONG traffic_error;
|
||||
} ITEM_NETWORK, *PITEM_NETWORK;
|
||||
|
||||
typedef struct _ITEM_STATUS
|
||||
{
|
||||
SIZE_T apps_count;
|
||||
SIZE_T apps_timer_count;
|
||||
SIZE_T apps_unused_count;
|
||||
SIZE_T rules_count;
|
||||
SIZE_T rules_global_count;
|
||||
SIZE_T rules_predefined_count;
|
||||
SIZE_T rules_user_count;
|
||||
ULONG_PTR rules_predefined_count;
|
||||
ULONG_PTR apps_unused_count;
|
||||
ULONG_PTR apps_timer_count;
|
||||
ULONG_PTR rules_global_count;
|
||||
ULONG_PTR rules_user_count;
|
||||
ULONG_PTR rules_count;
|
||||
ULONG_PTR apps_count;
|
||||
} ITEM_STATUS, *PITEM_STATUS;
|
||||
|
||||
typedef struct _ITEM_CONTEXT
|
||||
@@ -458,50 +467,26 @@ typedef struct _ITEM_CONTEXT
|
||||
{
|
||||
struct
|
||||
{
|
||||
union
|
||||
{
|
||||
PITEM_APP ptr_app;
|
||||
PITEM_RULE ptr_rule;
|
||||
};
|
||||
|
||||
INT page_id;
|
||||
BOOLEAN is_settorules;
|
||||
};
|
||||
|
||||
struct
|
||||
{
|
||||
INT item_id;
|
||||
INT current_length;
|
||||
};
|
||||
|
||||
struct
|
||||
{
|
||||
union
|
||||
{
|
||||
PITEM_LOG ptr_log;
|
||||
PITEM_NETWORK ptr_network;
|
||||
};
|
||||
|
||||
PVOID base_address;
|
||||
LPARAM lparam;
|
||||
};
|
||||
} DUMMYSTRUCTNAME;
|
||||
|
||||
BOOLEAN is_install;
|
||||
};
|
||||
ULONG_PTR is_install;
|
||||
} DUMMYUNIONNAME;
|
||||
} ITEM_CONTEXT, *PITEM_CONTEXT;
|
||||
|
||||
typedef struct _ITEM_COLOR
|
||||
{
|
||||
PR_STRING config_name;
|
||||
PR_STRING config_value;
|
||||
PR_STRING config_name;
|
||||
COLORREF default_clr;
|
||||
COLORREF new_clr;
|
||||
UINT locale_id;
|
||||
ULONG locale_id;
|
||||
BOOLEAN is_enabled;
|
||||
} ITEM_COLOR, *PITEM_COLOR;
|
||||
|
||||
typedef struct _ITEM_ADDRESS
|
||||
{
|
||||
WCHAR host[256];
|
||||
WCHAR range_start[LEN_IP_MAX];
|
||||
WCHAR range_end[LEN_IP_MAX];
|
||||
|
||||
@@ -512,18 +497,18 @@ typedef struct _ITEM_ADDRESS
|
||||
|
||||
struct
|
||||
{
|
||||
FWP_RANGE range;
|
||||
FWP_RANGE0 range;
|
||||
|
||||
UINT8 addr6_low[FWP_V6_ADDR_SIZE];
|
||||
UINT8 addr6_high[FWP_V6_ADDR_SIZE];
|
||||
};
|
||||
};
|
||||
UINT8 addr6_low[FWP_V6_ADDR_SIZE];
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
|
||||
NET_ADDRESS_FORMAT format;
|
||||
ENUM_TYPE_DATA type;
|
||||
|
||||
UINT16 port;
|
||||
|
||||
ENUM_TYPE_DATA type;
|
||||
NET_ADDRESS_FORMAT format;
|
||||
|
||||
BOOLEAN is_range;
|
||||
} ITEM_ADDRESS, *PITEM_ADDRESS;
|
||||
|
||||
@@ -531,17 +516,17 @@ typedef struct _ITEM_LOG_CALLBACK
|
||||
{
|
||||
union
|
||||
{
|
||||
UINT32 remote_addr4;
|
||||
const FWP_BYTE_ARRAY16 *remote_addr6;
|
||||
ULONG remote_addr4;
|
||||
} DUMMYUNIONNAME;
|
||||
|
||||
union
|
||||
{
|
||||
UINT32 local_addr4;
|
||||
const FWP_BYTE_ARRAY16 *local_addr6;
|
||||
ULONG local_addr4;
|
||||
} DUMMYUNIONNAME2;
|
||||
|
||||
const FILETIME *timestamp;
|
||||
FILETIME timestamp;
|
||||
PUINT8 app_id;
|
||||
PSID package_id;
|
||||
PSID user_id;
|
||||
@@ -550,13 +535,86 @@ typedef struct _ITEM_LOG_CALLBACK
|
||||
|
||||
FWP_IP_VERSION version;
|
||||
|
||||
UINT32 flags;
|
||||
UINT32 direction;
|
||||
|
||||
UINT32 flags;
|
||||
UINT16 remote_port;
|
||||
UINT16 local_port;
|
||||
UINT16 layer_id;
|
||||
UINT8 protocol;
|
||||
BOOLEAN is_allow;
|
||||
|
||||
BOOLEAN is_loopback;
|
||||
BOOLEAN is_allow;
|
||||
} ITEM_LOG_CALLBACK, *PITEM_LOG_CALLBACK;
|
||||
|
||||
typedef struct _ITEM_TAB_CONTEXT
|
||||
{
|
||||
INT listview_id;
|
||||
INT locale_id;
|
||||
} ITEM_TAB_CONTEXT, *PITEM_TAB_CONTEXT;
|
||||
|
||||
typedef struct _UDP_ENDPOINT
|
||||
{
|
||||
BYTE address[0x10];
|
||||
ULONG64 created; // UDP owner table bind timestamp, in FILETIME units
|
||||
ULONG scope_id;
|
||||
ULONG pid;
|
||||
ADDRESS_FAMILY af;
|
||||
USHORT port; // host byte order
|
||||
} UDP_ENDPOINT, *PUDP_ENDPOINT;
|
||||
|
||||
typedef struct UDP_ENTRY
|
||||
{
|
||||
struct UDP_ENTRY *next;
|
||||
UDP_ENDPOINT endpoint;
|
||||
ULONG64 since;
|
||||
ULONG64 received;
|
||||
ULONG64 sent;
|
||||
ULONG error_code;
|
||||
ULONG epoch;
|
||||
BOOLEAN is_observed;
|
||||
} UDP_ENTRY, *PUDP_ENTRY;
|
||||
|
||||
typedef struct UDP_AFD_SOCKET
|
||||
{
|
||||
struct UDP_AFD_SOCKET *next;
|
||||
UDP_ENDPOINT endpoint;
|
||||
ULONG64 handle;
|
||||
BOOLEAN is_bound;
|
||||
BOOLEAN is_unsupported;
|
||||
} UDP_AFD_SOCKET, *PUDP_AFD_SOCKET;
|
||||
|
||||
typedef struct _UDP_TRACE_PROPERTIES
|
||||
{
|
||||
EVENT_TRACE_PROPERTIES properties;
|
||||
WCHAR name[0x40];
|
||||
} UDP_TRACE_PROPERTIES, *PUDP_TRACE_PROPERTIES;
|
||||
|
||||
#define UDP_SESSION_SEMAPHORE L"Global\\simplewall-UDP-owner"
|
||||
#define UDP_SESSION_NAME L"simplewall-UDP"
|
||||
#define UDP_MAX_ENDPOINTS 0x2000
|
||||
#define UDP_BUCKETS 0x100
|
||||
|
||||
typedef struct _SW_UDP_STATS
|
||||
{
|
||||
RTL_SRWLOCK control_lock;
|
||||
RTL_SRWLOCK lock;
|
||||
UDP_ENTRY *buckets[UDP_BUCKETS];
|
||||
UDP_AFD_SOCKET *sockets[UDP_BUCKETS]; // owned by the ETW consumer thread
|
||||
HANDLE hthread;
|
||||
HANDLE hguard;
|
||||
TRACEHANDLE hsession;
|
||||
TRACEHANDLE hconsumer;
|
||||
ULONG socket_count;
|
||||
ULONG count;
|
||||
ULONG epoch;
|
||||
volatile LONG error_code;
|
||||
volatile LONG stopping;
|
||||
BOOLEAN is_owns_guard;
|
||||
} SW_UDP_STATS, *PSW_UDP_STATS;
|
||||
|
||||
typedef struct _UDP_SNAPSHOT
|
||||
{
|
||||
ULONG64 received;
|
||||
ULONG64 sent;
|
||||
ULONG error_code; // nonzero means totals must not be presented as complete
|
||||
} UDP_SNAPSHOT, *PUDP_SNAPSHOT;
|
||||
@@ -1,41 +1,133 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2021 Henry++
|
||||
// Copyright (c) 2021-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
VOID _app_message_contextmenu (_In_ HWND hwnd, _In_ LPNMITEMACTIVATE lpnmlv);
|
||||
VOID _app_message_contextmenu_columns (_In_ HWND hwnd, _In_ LPNMHDR nmlp);
|
||||
VOID _app_message_initialize (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_message_traycontextmenu (_In_ HWND hwnd);
|
||||
|
||||
LONG_PTR _app_message_custdraw (_In_ HWND hwnd, _In_ LPNMLVCUSTOMDRAW lpnmlv);
|
||||
VOID _app_message_dpichanged (_In_ HWND hwnd);
|
||||
BOOLEAN _app_message_displayinfo (_In_ HWND hwnd, _In_ INT listview_id, _Inout_ LPNMLVDISPINFOW lpnmlv);
|
||||
VOID _app_message_find (_In_ HWND hwnd, _In_ LPFINDREPLACE lpfr);
|
||||
|
||||
VOID _app_message_initialize (_In_ HWND hwnd);
|
||||
VOID _app_message_localize (_In_ HWND hwnd);
|
||||
|
||||
FORCEINLINE VOID _app_message_uninitialize (_In_ HWND hwnd)
|
||||
FORCEINLINE VOID _app_message_uninitialize (
|
||||
_In_ HWND hwnd
|
||||
)
|
||||
{
|
||||
_r_tray_destroy (hwnd, &GUID_TrayIcon);
|
||||
}
|
||||
|
||||
VOID _app_command_idtorules (_In_ HWND hwnd, _In_ INT ctrl_id);
|
||||
VOID _app_command_idtotimers (_In_ HWND hwnd, _In_ INT ctrl_id);
|
||||
VOID _app_message_localize (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_command_logshow (_In_ HWND hwnd);
|
||||
VOID _app_command_logclear (_In_ HWND hwnd);
|
||||
VOID _app_generate_appmenu (
|
||||
_In_ HMENU hmenu,
|
||||
_In_opt_ HMENU hsubmenu_rules,
|
||||
_In_opt_ HMENU hsubmenu_timers,
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
VOID _app_command_logerrshow (_In_opt_ HWND hwnd);
|
||||
VOID _app_command_logerrclear (_In_opt_ HWND hwnd);
|
||||
VOID _app_generate_rulescontrol (
|
||||
_In_ HMENU hsubmenu,
|
||||
_In_ ULONG app_hash,
|
||||
_In_opt_ PITEM_LOG ptr_log
|
||||
);
|
||||
|
||||
VOID _app_command_copy (_In_ HWND hwnd, _In_ INT ctrl_id, _In_ INT column_id);
|
||||
VOID _app_command_checkbox (_In_ HWND hwnd, _In_ INT ctrl_id);
|
||||
VOID _app_command_delete (_In_ HWND hwnd);
|
||||
VOID _app_command_disable (_In_ HWND hwnd, _In_ INT ctrl_id);
|
||||
VOID _app_command_openeditor (_In_ HWND hwnd);
|
||||
VOID _app_command_properties (_In_ HWND hwnd);
|
||||
VOID _app_command_purgeunused (_In_ HWND hwnd);
|
||||
VOID _app_command_purgetimers (_In_ HWND hwnd);
|
||||
VOID _app_command_selectfont (_In_ HWND hwnd);
|
||||
VOID _app_generate_timerscontrol (
|
||||
_In_ HMENU hsubmenu,
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
VOID _app_message_contextmenu (
|
||||
_In_ HWND hwnd,
|
||||
_In_ LPNMITEMACTIVATE lpnmlv
|
||||
);
|
||||
|
||||
VOID _app_message_contextmenu_columns (
|
||||
_In_ HWND hwnd,
|
||||
_In_ LPNMHDR nmlp
|
||||
);
|
||||
|
||||
VOID _app_message_traycontextmenu (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
LONG_PTR _app_message_custdraw (
|
||||
_In_ HWND hwnd,
|
||||
_In_ LPNMLVCUSTOMDRAW lpnmlv
|
||||
);
|
||||
|
||||
VOID _app_message_dpichanged (
|
||||
_In_ HWND hwnd,
|
||||
_In_ LONG dpi_value
|
||||
);
|
||||
|
||||
BOOLEAN _app_message_displayinfo (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id,
|
||||
_Inout_ LPNMLVDISPINFOW lpnmlv
|
||||
);
|
||||
|
||||
VOID _app_command_idtorules (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT ctrl_id
|
||||
);
|
||||
|
||||
VOID _app_command_idtotimers (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT ctrl_id
|
||||
);
|
||||
|
||||
VOID _app_command_logshow (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_command_logclear (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_command_logerrshow (
|
||||
_In_opt_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_command_logerrclear (
|
||||
_In_opt_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_command_copy (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT ctrl_id,
|
||||
_In_ INT column_id
|
||||
);
|
||||
|
||||
VOID _app_command_checkbox (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT ctrl_id
|
||||
);
|
||||
|
||||
VOID _app_command_delete (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_command_disable (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT ctrl_id
|
||||
);
|
||||
|
||||
VOID _app_command_openeditor (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_command_properties (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_command_purgeunused (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_command_purgetimers (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_command_selectfont (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
@@ -0,0 +1,974 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2019-2026 Henry++
|
||||
|
||||
#include "global.h"
|
||||
|
||||
static VOID _app_network_update_stats_values (
|
||||
_Inout_ PITEM_NETWORK ptr_network,
|
||||
_In_ ULONG64 bytes_in,
|
||||
_In_ ULONG64 bytes_out
|
||||
)
|
||||
{
|
||||
ULONG64 bytes_delta, current_tick, elapsed;
|
||||
|
||||
current_tick = _r_sys_gettickcount64 ();
|
||||
|
||||
if (!ptr_network->is_stats_initialized)
|
||||
{
|
||||
ptr_network->last_bytes_in = bytes_in;
|
||||
ptr_network->last_bytes_out = bytes_out;
|
||||
ptr_network->last_stats_tick = current_tick;
|
||||
ptr_network->is_stats_initialized = TRUE;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
elapsed = current_tick - ptr_network->last_stats_tick;
|
||||
|
||||
if (!elapsed)
|
||||
return;
|
||||
|
||||
bytes_delta = bytes_in >= ptr_network->last_bytes_in ? bytes_in - ptr_network->last_bytes_in : 0;
|
||||
|
||||
_InterlockedExchangeAdd64 (&ptr_network->download_total, bytes_delta);
|
||||
_InterlockedExchange64 (&ptr_network->download_speed, (bytes_delta * 1000) / elapsed);
|
||||
|
||||
bytes_delta = bytes_out >= ptr_network->last_bytes_out ? bytes_out - ptr_network->last_bytes_out : 0;
|
||||
|
||||
_InterlockedExchangeAdd64 (&ptr_network->upload_total, bytes_delta);
|
||||
_InterlockedExchange64 (&ptr_network->upload_speed, (bytes_delta * 1000) / elapsed);
|
||||
|
||||
ptr_network->last_bytes_in = bytes_in;
|
||||
ptr_network->last_bytes_out = bytes_out;
|
||||
ptr_network->last_stats_tick = current_tick;
|
||||
}
|
||||
|
||||
static VOID _app_network_update_tcp4_stats (
|
||||
_Inout_ PITEM_NETWORK ptr_network,
|
||||
_In_ PMIB_TCPROW_OWNER_MODULE row
|
||||
)
|
||||
{
|
||||
TCP_ESTATS_DATA_ROD_v0 data_rod = {0};
|
||||
TCP_ESTATS_DATA_RW_v0 data_rw = {0};
|
||||
MIB_TCPROW tcp_row = {0};
|
||||
ULONG status;
|
||||
|
||||
tcp_row.dwState = row->dwState;
|
||||
tcp_row.dwLocalAddr = row->dwLocalAddr;
|
||||
tcp_row.dwLocalPort = row->dwLocalPort;
|
||||
tcp_row.dwRemoteAddr = row->dwRemoteAddr;
|
||||
tcp_row.dwRemotePort = row->dwRemotePort;
|
||||
|
||||
if (!ptr_network->is_stats_enabled)
|
||||
{
|
||||
data_rw.EnableCollection = TRUE;
|
||||
|
||||
status = SetPerTcpConnectionEStats (&tcp_row, TcpConnectionEstatsData, (PUCHAR)&data_rw, 0, sizeof (TCP_ESTATS_DATA_RW_v0), 0);
|
||||
|
||||
if (status != NO_ERROR)
|
||||
return;
|
||||
|
||||
ptr_network->is_stats_enabled = TRUE;
|
||||
}
|
||||
|
||||
status = GetPerTcpConnectionEStats (&tcp_row, TcpConnectionEstatsData, (PUCHAR)&data_rw, 0, sizeof (data_rw), NULL, 0, 0, (PUCHAR)&data_rod, 0, sizeof (TCP_ESTATS_DATA_ROD_v0));
|
||||
|
||||
if (status == NO_ERROR && data_rw.EnableCollection)
|
||||
_app_network_update_stats_values (ptr_network, data_rod.DataBytesIn, data_rod.DataBytesOut);
|
||||
}
|
||||
|
||||
static VOID _app_network_update_tcp6_stats (
|
||||
_Inout_ PITEM_NETWORK ptr_network,
|
||||
_In_ PMIB_TCP6ROW_OWNER_MODULE row
|
||||
)
|
||||
{
|
||||
TCP_ESTATS_DATA_ROD_v0 data_rod = {0};
|
||||
TCP_ESTATS_DATA_RW_v0 data_rw = {0};
|
||||
MIB_TCP6ROW tcp_row = {0};
|
||||
ULONG status;
|
||||
|
||||
RtlCopyMemory (&tcp_row.LocalAddr, row->ucLocalAddr, sizeof (IN6_ADDR));
|
||||
tcp_row.dwLocalScopeId = row->dwLocalScopeId;
|
||||
tcp_row.dwLocalPort = row->dwLocalPort;
|
||||
RtlCopyMemory (&tcp_row.RemoteAddr, row->ucRemoteAddr, sizeof (IN6_ADDR));
|
||||
tcp_row.dwRemoteScopeId = row->dwRemoteScopeId;
|
||||
tcp_row.dwRemotePort = row->dwRemotePort;
|
||||
tcp_row.State = row->dwState;
|
||||
|
||||
if (!ptr_network->is_stats_enabled)
|
||||
{
|
||||
data_rw.EnableCollection = TRUE;
|
||||
|
||||
status = SetPerTcp6ConnectionEStats (&tcp_row, TcpConnectionEstatsData, (PUCHAR)&data_rw, 0, sizeof (TCP_ESTATS_DATA_RW_v0), 0);
|
||||
|
||||
if (status != NO_ERROR)
|
||||
return;
|
||||
|
||||
ptr_network->is_stats_enabled = TRUE;
|
||||
}
|
||||
|
||||
status = GetPerTcp6ConnectionEStats (&tcp_row, TcpConnectionEstatsData, (PUCHAR)&data_rw, 0, sizeof (TCP_ESTATS_DATA_RW_v0), NULL, 0, 0, (PUCHAR)&data_rod, 0, sizeof (TCP_ESTATS_DATA_ROD_v0));
|
||||
|
||||
if (status == NO_ERROR && data_rw.EnableCollection)
|
||||
_app_network_update_stats_values (ptr_network, data_rod.DataBytesIn, data_rod.DataBytesOut);
|
||||
}
|
||||
|
||||
static VOID _app_network_update_udp_stats (
|
||||
_Inout_ PITEM_NETWORK ptr_network,
|
||||
_In_ PITEM_NETWORK_CONTEXT context,
|
||||
_In_ ULONG pid,
|
||||
_In_ ULONG64 created,
|
||||
_In_ ULONG scope_id
|
||||
)
|
||||
{
|
||||
UDP_ENDPOINT endpoint = {0};
|
||||
UDP_SNAPSHOT snapshot;
|
||||
|
||||
if (!context->udp_stats)
|
||||
return;
|
||||
|
||||
endpoint.pid = pid;
|
||||
endpoint.af = ptr_network->af;
|
||||
endpoint.port = ptr_network->local_port;
|
||||
endpoint.created = created;
|
||||
endpoint.scope_id = scope_id;
|
||||
|
||||
RtlCopyMemory (endpoint.address, &ptr_network->local_addr, endpoint.af == AF_INET ? 4 : 16); // set correct sizes
|
||||
|
||||
udp_stats_read (context->udp_stats, &endpoint, &snapshot);
|
||||
|
||||
_InterlockedExchange (&ptr_network->traffic_error, snapshot.error_code);
|
||||
|
||||
if (snapshot.error_code)
|
||||
{
|
||||
ptr_network->is_stats_initialized = FALSE;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (ptr_network->udp_created != created)
|
||||
{
|
||||
ptr_network->udp_created = created;
|
||||
ptr_network->is_stats_initialized = FALSE;
|
||||
|
||||
_InterlockedExchange64 (&ptr_network->download_speed, 0);
|
||||
_InterlockedExchange64 (&ptr_network->upload_speed, 0);
|
||||
}
|
||||
|
||||
_app_network_update_stats_values (ptr_network, snapshot.received, snapshot.sent);
|
||||
|
||||
_InterlockedExchange64 (&ptr_network->download_total, snapshot.received);
|
||||
_InterlockedExchange64 (&ptr_network->upload_total, snapshot.sent);
|
||||
}
|
||||
|
||||
PITEM_NETWORK_CONTEXT _app_network_getcontext ()
|
||||
{
|
||||
static R_INITONCE init_once = PR_INITONCE_INIT;
|
||||
static PITEM_NETWORK_CONTEXT network_context = NULL;
|
||||
|
||||
if (_r_initonce_begin (&init_once))
|
||||
{
|
||||
network_context = (PITEM_NETWORK_CONTEXT)_r_mem_allocate (sizeof (ITEM_NETWORK_CONTEXT));
|
||||
|
||||
network_context->network_ptr = _r_obj_createhashtablepointer (0x100);
|
||||
network_context->checker_ptr = _r_obj_createhashtablepointer (0x100);
|
||||
|
||||
_r_initonce_end (&init_once);
|
||||
}
|
||||
|
||||
return network_context;
|
||||
}
|
||||
|
||||
VOID _app_network_stop ()
|
||||
{
|
||||
// the original network worker lives until process exit. keep the stopped context valid for that worker; stop/join only our independent ETW consumer.
|
||||
udp_stats_stop (_app_network_getcontext ()->udp_stats);
|
||||
}
|
||||
|
||||
VOID _app_network_initialize (
|
||||
_In_ HWND hwnd
|
||||
)
|
||||
{
|
||||
PITEM_NETWORK_CONTEXT network_context;
|
||||
R_ENVIRONMENT environment;
|
||||
ULONG status;
|
||||
|
||||
if (!_r_config_getboolean (L"IsNetworkMonitorEnabled", TRUE, NULL))
|
||||
return;
|
||||
|
||||
network_context = _app_network_getcontext ();
|
||||
|
||||
if (!network_context) // USELESS!
|
||||
return;
|
||||
|
||||
network_context->hwnd = hwnd;
|
||||
|
||||
// opt-in: sockets created before capture cannot be mapped by AFD events
|
||||
if (_r_config_getboolean (L"IsUdpTrafficEnabled", FALSE, NULL))
|
||||
{
|
||||
network_context->udp_stats = udp_stats_create ();
|
||||
|
||||
status = udp_stats_start (network_context->udp_stats);
|
||||
|
||||
if (status != STATUS_SUCCESS && status != STATUS_ALREADY_INITIALIZED)
|
||||
_r_log (LOG_LEVEL_WARNING, NULL, L"udp_stats_start", NULL, status);
|
||||
}
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_network);
|
||||
_r_obj_clearhashtable (network_context->network_ptr);
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_network);
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_checker);
|
||||
_r_obj_clearhashtable (network_context->checker_ptr);
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_checker);
|
||||
|
||||
// create network monitor thread
|
||||
_r_sys_setenvironment (&environment, THREAD_PRIORITY_ABOVE_NORMAL, IoPriorityNormal, MEMORY_PRIORITY_NORMAL);
|
||||
|
||||
_r_sys_createthread (NULL, NtCurrentProcess (), &_app_network_threadproc, network_context, &environment, L"NetworkMonitor");
|
||||
}
|
||||
|
||||
VOID _app_network_uninitialize (
|
||||
_In_ PITEM_NETWORK_CONTEXT context
|
||||
)
|
||||
{
|
||||
_r_queuedlock_acquireexclusive (&context->lock_network);
|
||||
_r_obj_clearhashtable (context->network_ptr);
|
||||
_r_queuedlock_releaseexclusive (&context->lock_network);
|
||||
|
||||
_r_queuedlock_acquireexclusive (&context->lock_checker);
|
||||
_r_obj_clearhashtable (context->checker_ptr);
|
||||
_r_queuedlock_releaseexclusive (&context->lock_checker);
|
||||
}
|
||||
|
||||
FORCEINLINE BOOLEAN _app_network_iswaitingconnection (
|
||||
_In_ ULONG pid
|
||||
)
|
||||
{
|
||||
if (pid == PROC_WAITING_PID && !_r_config_getboolean (L"IsNetworkShowWaitConnections", TRUE, NULL))
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
VOID _app_network_generatetable (
|
||||
_Inout_ PITEM_NETWORK_CONTEXT network_context
|
||||
)
|
||||
{
|
||||
PMIB_TCP6TABLE_OWNER_MODULE tcp6_table;
|
||||
PMIB_UDP6TABLE_OWNER_MODULE udp6_table;
|
||||
PMIB_TCPTABLE_OWNER_MODULE tcp4_table;
|
||||
PMIB_UDPTABLE_OWNER_MODULE udp4_table;
|
||||
IN_ADDR local_addr, remote_addr;
|
||||
PITEM_NETWORK ptr_network;
|
||||
PVOID buffer;
|
||||
ULONG allocated_size, network_hash, required_size = 0;
|
||||
BOOL udp4_complete = FALSE, udp6_complete = FALSE;
|
||||
ULONG status;
|
||||
|
||||
udp_stats_poll (network_context->udp_stats);
|
||||
udp_stats_begin_refresh (network_context->udp_stats);
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_checker);
|
||||
_r_obj_clearhashtable (network_context->checker_ptr);
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_checker);
|
||||
|
||||
// TCP IPv4
|
||||
GetExtendedTcpTable (NULL, &required_size, FALSE, AF_INET, TCP_TABLE_OWNER_MODULE_ALL, 0);
|
||||
|
||||
allocated_size = required_size;
|
||||
buffer = _r_mem_allocate (allocated_size);
|
||||
|
||||
if (required_size)
|
||||
{
|
||||
tcp4_table = (PMIB_TCPTABLE_OWNER_MODULE)buffer;
|
||||
status = GetExtendedTcpTable (tcp4_table, &required_size, FALSE, AF_INET, TCP_TABLE_OWNER_MODULE_ALL, 0);
|
||||
|
||||
if (status == NO_ERROR)
|
||||
{
|
||||
for (ULONG i = 0; i < tcp4_table->dwNumEntries; i++)
|
||||
{
|
||||
if (_app_network_iswaitingconnection (tcp4_table->table[i].dwOwningPid))
|
||||
continue;
|
||||
|
||||
RtlZeroMemory (&remote_addr, sizeof (IN_ADDR));
|
||||
RtlZeroMemory (&local_addr, sizeof (IN_ADDR));
|
||||
|
||||
remote_addr.S_un.S_addr = tcp4_table->table[i].dwRemoteAddr;
|
||||
local_addr.S_un.S_addr = tcp4_table->table[i].dwLocalAddr;
|
||||
|
||||
network_hash = _app_network_gethash (
|
||||
AF_INET,
|
||||
tcp4_table->table[i].dwOwningPid,
|
||||
&remote_addr,
|
||||
tcp4_table->table[i].dwRemotePort,
|
||||
&local_addr,
|
||||
tcp4_table->table[i].dwLocalPort,
|
||||
IPPROTO_TCP,
|
||||
tcp4_table->table[i].dwState
|
||||
);
|
||||
|
||||
ptr_network = _app_network_getitem (network_hash);
|
||||
|
||||
if (ptr_network)
|
||||
{
|
||||
_app_network_update_tcp4_stats (ptr_network, &tcp4_table->table[i]);
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_checker);
|
||||
_r_obj_addhashtablepointer (network_context->checker_ptr, network_hash, NULL);
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_checker);
|
||||
|
||||
_r_obj_dereference (ptr_network);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
ptr_network = (PITEM_NETWORK)_r_obj_allocate (sizeof (ITEM_NETWORK), &_app_dereferencenetwork);
|
||||
|
||||
if (!_app_network_getpath (ptr_network, tcp4_table->table[i].dwOwningPid, tcp4_table->table[i].OwningModuleInfo))
|
||||
{
|
||||
_r_obj_dereference (ptr_network);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
ptr_network->af = AF_INET;
|
||||
ptr_network->protocol = IPPROTO_TCP;
|
||||
ptr_network->protocol_str = _r_obj_createstring (_app_db_getprotoname (ptr_network->protocol, ptr_network->af, L"<unknown protocol>"));
|
||||
|
||||
ptr_network->remote_addr.S_un.S_addr = tcp4_table->table[i].dwRemoteAddr;
|
||||
ptr_network->remote_port = _r_byteswap_ushort ((USHORT)tcp4_table->table[i].dwRemotePort);
|
||||
ptr_network->local_addr.S_un.S_addr = tcp4_table->table[i].dwLocalAddr;
|
||||
ptr_network->local_port = _r_byteswap_ushort ((USHORT)tcp4_table->table[i].dwLocalPort);
|
||||
|
||||
ptr_network->state = tcp4_table->table[i].dwState;
|
||||
|
||||
_app_network_update_tcp4_stats (ptr_network, &tcp4_table->table[i]);
|
||||
|
||||
if (tcp4_table->table[i].dwState == MIB_TCP_STATE_ESTAB)
|
||||
{
|
||||
if (_app_network_isvalidconnection (ptr_network->af, &ptr_network->remote_addr) || _app_network_isvalidconnection (ptr_network->af, &ptr_network->local_addr))
|
||||
ptr_network->is_connection = TRUE;
|
||||
}
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_network);
|
||||
_r_obj_addhashtablepointer (network_context->network_ptr, network_hash, ptr_network);
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_network);
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_checker);
|
||||
_r_obj_addhashtablepointer (network_context->checker_ptr, network_hash, _r_obj_reference (ptr_network->path));
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_checker);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TCP IPv6
|
||||
required_size = 0;
|
||||
GetExtendedTcpTable (NULL, &required_size, FALSE, AF_INET6, TCP_TABLE_OWNER_MODULE_ALL, 0);
|
||||
|
||||
if (required_size)
|
||||
{
|
||||
if (allocated_size < required_size)
|
||||
{
|
||||
buffer = _r_mem_reallocate (buffer, required_size);
|
||||
|
||||
allocated_size = required_size;
|
||||
}
|
||||
|
||||
tcp6_table = (PMIB_TCP6TABLE_OWNER_MODULE)buffer;
|
||||
status = GetExtendedTcpTable (tcp6_table, &required_size, FALSE, AF_INET6, TCP_TABLE_OWNER_MODULE_ALL, 0);
|
||||
|
||||
if (status == NO_ERROR)
|
||||
{
|
||||
for (ULONG i = 0; i < tcp6_table->dwNumEntries; i++)
|
||||
{
|
||||
if (_app_network_iswaitingconnection (tcp6_table->table[i].dwOwningPid))
|
||||
continue;
|
||||
|
||||
network_hash = _app_network_gethash (
|
||||
AF_INET6,
|
||||
tcp6_table->table[i].dwOwningPid,
|
||||
tcp6_table->table[i].ucRemoteAddr,
|
||||
tcp6_table->table[i].dwRemotePort,
|
||||
tcp6_table->table[i].ucLocalAddr,
|
||||
tcp6_table->table[i].dwLocalPort,
|
||||
IPPROTO_TCP,
|
||||
tcp6_table->table[i].dwState
|
||||
);
|
||||
|
||||
ptr_network = _app_network_getitem (network_hash);
|
||||
|
||||
if (ptr_network)
|
||||
{
|
||||
_app_network_update_tcp6_stats (ptr_network, &tcp6_table->table[i]);
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_checker);
|
||||
_r_obj_addhashtablepointer (network_context->checker_ptr, network_hash, NULL);
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_checker);
|
||||
|
||||
_r_obj_dereference (ptr_network);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
ptr_network = (PITEM_NETWORK)_r_obj_allocate (sizeof (ITEM_NETWORK), &_app_dereferencenetwork);
|
||||
|
||||
if (!_app_network_getpath (ptr_network, tcp6_table->table[i].dwOwningPid, tcp6_table->table[i].OwningModuleInfo))
|
||||
{
|
||||
_r_obj_dereference (ptr_network);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
ptr_network->af = AF_INET6;
|
||||
ptr_network->protocol = IPPROTO_TCP;
|
||||
ptr_network->protocol_str = _r_obj_createstring (_app_db_getprotoname (ptr_network->protocol, ptr_network->af, L"<unknown protocol>"));
|
||||
|
||||
RtlCopyMemory (ptr_network->remote_addr6.u.Byte, tcp6_table->table[i].ucRemoteAddr, FWP_V6_ADDR_SIZE);
|
||||
ptr_network->remote_port = _r_byteswap_ushort ((USHORT)tcp6_table->table[i].dwRemotePort);
|
||||
RtlCopyMemory (ptr_network->local_addr6.u.Byte, tcp6_table->table[i].ucLocalAddr, FWP_V6_ADDR_SIZE);
|
||||
ptr_network->local_port = _r_byteswap_ushort ((USHORT)tcp6_table->table[i].dwLocalPort);
|
||||
|
||||
ptr_network->state = tcp6_table->table[i].dwState;
|
||||
|
||||
_app_network_update_tcp6_stats (ptr_network, &tcp6_table->table[i]);
|
||||
|
||||
if (tcp6_table->table[i].dwState == MIB_TCP_STATE_ESTAB)
|
||||
{
|
||||
if (_app_network_isvalidconnection (ptr_network->af, &ptr_network->remote_addr6) || _app_network_isvalidconnection (ptr_network->af, &ptr_network->local_addr6))
|
||||
ptr_network->is_connection = TRUE;
|
||||
}
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_network);
|
||||
_r_obj_addhashtablepointer (network_context->network_ptr, network_hash, ptr_network);
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_network);
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_checker);
|
||||
_r_obj_addhashtablepointer (network_context->checker_ptr, network_hash, _r_obj_reference (ptr_network->path));
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_checker);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// UDP IPv4
|
||||
required_size = 0;
|
||||
GetExtendedUdpTable (NULL, &required_size, FALSE, AF_INET, UDP_TABLE_OWNER_MODULE, 0);
|
||||
|
||||
if (required_size)
|
||||
{
|
||||
if (allocated_size < required_size)
|
||||
{
|
||||
buffer = _r_mem_reallocate (buffer, required_size);
|
||||
|
||||
allocated_size = required_size;
|
||||
}
|
||||
|
||||
udp4_table = (PMIB_UDPTABLE_OWNER_MODULE)buffer;
|
||||
status = GetExtendedUdpTable (udp4_table, &required_size, FALSE, AF_INET, UDP_TABLE_OWNER_MODULE, 0);
|
||||
|
||||
if (status == NO_ERROR)
|
||||
{
|
||||
udp4_complete = TRUE;
|
||||
|
||||
for (ULONG i = 0; i < udp4_table->dwNumEntries; i++)
|
||||
{
|
||||
RtlZeroMemory (&local_addr, sizeof (IN_ADDR));
|
||||
|
||||
local_addr.S_un.S_addr = udp4_table->table[i].dwLocalAddr;
|
||||
|
||||
network_hash = _app_network_gethash (AF_INET, udp4_table->table[i].dwOwningPid, NULL, 0, &local_addr, udp4_table->table[i].dwLocalPort, IPPROTO_UDP, 0);
|
||||
|
||||
ptr_network = _app_network_getitem (network_hash);
|
||||
|
||||
if (ptr_network)
|
||||
{
|
||||
_app_network_update_udp_stats (ptr_network, network_context, udp4_table->table[i].dwOwningPid, udp4_table->table[i].liCreateTimestamp.QuadPart, 0);
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_checker);
|
||||
_r_obj_addhashtablepointer (network_context->checker_ptr, network_hash, NULL);
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_checker);
|
||||
|
||||
_r_obj_dereference (ptr_network);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if (_app_network_iswaitingconnection (udp4_table->table[i].dwOwningPid))
|
||||
continue;
|
||||
|
||||
ptr_network = (PITEM_NETWORK)_r_obj_allocate (sizeof (ITEM_NETWORK), &_app_dereferencenetwork);
|
||||
|
||||
if (!_app_network_getpath (ptr_network, udp4_table->table[i].dwOwningPid, udp4_table->table[i].OwningModuleInfo))
|
||||
{
|
||||
_r_obj_dereference (ptr_network);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
ptr_network->af = AF_INET;
|
||||
ptr_network->protocol = IPPROTO_UDP;
|
||||
ptr_network->protocol_str = _r_obj_createstring (_app_db_getprotoname (ptr_network->protocol, ptr_network->af, L"<unknown protocol>"));
|
||||
|
||||
ptr_network->local_addr.S_un.S_addr = udp4_table->table[i].dwLocalAddr;
|
||||
ptr_network->local_port = _r_byteswap_ushort ((USHORT)udp4_table->table[i].dwLocalPort);
|
||||
|
||||
_app_network_update_udp_stats (ptr_network, network_context, udp4_table->table[i].dwOwningPid, udp4_table->table[i].liCreateTimestamp.QuadPart, 0);
|
||||
|
||||
if (_app_network_isvalidconnection (ptr_network->af, &ptr_network->local_addr))
|
||||
ptr_network->is_connection = TRUE;
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_network);
|
||||
_r_obj_addhashtablepointer (network_context->network_ptr, network_hash, ptr_network);
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_network);
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_checker);
|
||||
_r_obj_addhashtablepointer (network_context->checker_ptr, network_hash, _r_obj_reference (ptr_network->path));
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_checker);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// UDP IPv6
|
||||
required_size = 0;
|
||||
GetExtendedUdpTable (NULL, &required_size, FALSE, AF_INET6, UDP_TABLE_OWNER_MODULE, 0);
|
||||
|
||||
if (required_size)
|
||||
{
|
||||
if (allocated_size < required_size)
|
||||
{
|
||||
buffer = _r_mem_reallocate (buffer, required_size);
|
||||
allocated_size = required_size;
|
||||
}
|
||||
|
||||
udp6_table = (PMIB_UDP6TABLE_OWNER_MODULE)buffer;
|
||||
status = GetExtendedUdpTable (udp6_table, &required_size, FALSE, AF_INET6, UDP_TABLE_OWNER_MODULE, 0);
|
||||
|
||||
if (status == NO_ERROR)
|
||||
{
|
||||
udp6_complete = TRUE;
|
||||
|
||||
for (ULONG i = 0; i < udp6_table->dwNumEntries; i++)
|
||||
{
|
||||
network_hash = _app_network_gethash (AF_INET6, udp6_table->table[i].dwOwningPid, NULL, 0, udp6_table->table[i].ucLocalAddr, udp6_table->table[i].dwLocalPort, IPPROTO_UDP, 0);
|
||||
|
||||
ptr_network = _app_network_getitem (network_hash);
|
||||
|
||||
if (ptr_network)
|
||||
{
|
||||
_app_network_update_udp_stats (ptr_network, network_context, udp6_table->table[i].dwOwningPid, udp6_table->table[i].liCreateTimestamp.QuadPart, udp6_table->table[i].dwLocalScopeId);
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_checker);
|
||||
_r_obj_addhashtablepointer (network_context->checker_ptr, network_hash, NULL);
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_checker);
|
||||
|
||||
_r_obj_dereference (ptr_network);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if (_app_network_iswaitingconnection (udp6_table->table[i].dwOwningPid))
|
||||
continue;
|
||||
|
||||
ptr_network = (PITEM_NETWORK)_r_obj_allocate (sizeof (ITEM_NETWORK), &_app_dereferencenetwork);
|
||||
|
||||
if (!_app_network_getpath (ptr_network, udp6_table->table[i].dwOwningPid, udp6_table->table[i].OwningModuleInfo))
|
||||
{
|
||||
_r_obj_dereference (ptr_network);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
ptr_network->af = AF_INET6;
|
||||
ptr_network->protocol = IPPROTO_UDP;
|
||||
ptr_network->protocol_str = _r_obj_createstring (_app_db_getprotoname (ptr_network->protocol, ptr_network->af, L"<unknown protocol>"));
|
||||
|
||||
RtlCopyMemory (ptr_network->local_addr6.u.Byte, udp6_table->table[i].ucLocalAddr, FWP_V6_ADDR_SIZE);
|
||||
ptr_network->local_port = _r_byteswap_ushort ((USHORT)udp6_table->table[i].dwLocalPort);
|
||||
|
||||
_app_network_update_udp_stats (ptr_network, network_context, udp6_table->table[i].dwOwningPid, udp6_table->table[i].liCreateTimestamp.QuadPart, udp6_table->table[i].dwLocalScopeId);
|
||||
|
||||
if (_app_network_isvalidconnection (ptr_network->af, &ptr_network->local_addr6))
|
||||
ptr_network->is_connection = TRUE;
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_network);
|
||||
_r_obj_addhashtablepointer (network_context->network_ptr, network_hash, ptr_network);
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_network);
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_checker);
|
||||
_r_obj_addhashtablepointer (network_context->checker_ptr, network_hash, _r_obj_reference (ptr_network->path));
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_checker);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
udp_stats_end_refresh (network_context->udp_stats, udp4_complete, udp6_complete);
|
||||
|
||||
if (buffer)
|
||||
_r_mem_free (buffer);
|
||||
}
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_NETWORK _app_network_getitem (
|
||||
_In_ ULONG network_hash
|
||||
)
|
||||
{
|
||||
PITEM_NETWORK_CONTEXT network_context;
|
||||
PITEM_NETWORK ptr_network;
|
||||
|
||||
network_context = _app_network_getcontext ();
|
||||
|
||||
if (!network_context)
|
||||
return NULL;
|
||||
|
||||
_r_queuedlock_acquireshared (&network_context->lock_network);
|
||||
ptr_network = (PITEM_NETWORK)_r_obj_findhashtablepointer (network_context->network_ptr, network_hash);
|
||||
_r_queuedlock_releaseshared (&network_context->lock_network);
|
||||
|
||||
return ptr_network;
|
||||
}
|
||||
|
||||
_Success_ (return != 0)
|
||||
ULONG _app_network_getappitem (
|
||||
_In_ ULONG network_hash
|
||||
)
|
||||
{
|
||||
PITEM_NETWORK ptr_network;
|
||||
ULONG hash_code;
|
||||
|
||||
ptr_network = _app_network_getitem (network_hash);
|
||||
|
||||
if (!ptr_network)
|
||||
return 0;
|
||||
|
||||
hash_code = ptr_network->app_hash;
|
||||
|
||||
_r_obj_dereference (ptr_network);
|
||||
|
||||
return hash_code;
|
||||
}
|
||||
|
||||
ULONG _app_network_gethash (
|
||||
_In_ ADDRESS_FAMILY af,
|
||||
_In_ ULONG pid,
|
||||
_In_opt_ LPCVOID remote_addr,
|
||||
_In_opt_ ULONG remote_port,
|
||||
_In_opt_ LPCVOID local_addr,
|
||||
_In_opt_ ULONG local_port,
|
||||
_In_ UINT8 proto,
|
||||
_In_opt_ ULONG state
|
||||
)
|
||||
{
|
||||
WCHAR local_address[LEN_IP_MAX] = {0}, remote_address[LEN_IP_MAX] = {0}, network_string[0x100];
|
||||
|
||||
if (remote_addr)
|
||||
_app_formatip (remote_address, RTL_NUMBER_OF (remote_address), af, remote_addr, FALSE);
|
||||
|
||||
if (local_addr)
|
||||
_app_formatip (local_address, RTL_NUMBER_OF (local_address), af, local_addr, FALSE);
|
||||
|
||||
_r_str_printf (
|
||||
network_string,
|
||||
RTL_NUMBER_OF (network_string),
|
||||
L"%" TEXT (PRIu8) L"_%" TEXT (PR_ULONG) L"_%s_%" TEXT (PR_ULONG) L"_%s_%" TEXT (PR_ULONG) L"_%" TEXT (PRIu8) L"_%" TEXT (PR_ULONG),
|
||||
af,
|
||||
pid,
|
||||
remote_address,
|
||||
remote_port,
|
||||
local_address,
|
||||
local_port,
|
||||
proto,
|
||||
state
|
||||
);
|
||||
|
||||
return _r_str_gethash2 (network_string, TRUE);
|
||||
}
|
||||
|
||||
BOOLEAN _app_network_getpath (
|
||||
_Inout_ PITEM_NETWORK ptr_network,
|
||||
_In_ ULONG pid,
|
||||
_In_opt_ PULONG64 modules
|
||||
)
|
||||
{
|
||||
PTOKEN_APPCONTAINER_INFORMATION app_container = NULL;
|
||||
PR_STRING process_name = NULL;
|
||||
HANDLE hprocess, htoken;
|
||||
NTSTATUS status;
|
||||
|
||||
if (pid == PROC_WAITING_PID)
|
||||
{
|
||||
ptr_network->app_hash = 0;
|
||||
ptr_network->type = DATA_APP_REGULAR;
|
||||
ptr_network->path = _r_obj_createstring (PROC_WAITING_NAME);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
else if (pid == PROC_SYSTEM_PID)
|
||||
{
|
||||
ptr_network->app_hash = config.ntoskrnl_hash;
|
||||
ptr_network->type = DATA_APP_REGULAR;
|
||||
ptr_network->path = _r_obj_createstring (PROC_SYSTEM_NAME);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (modules)
|
||||
{
|
||||
process_name = _r_sys_querytaginformation (pid, ULongToPtr (*(PULONG)modules));
|
||||
|
||||
if (process_name)
|
||||
ptr_network->type = DATA_APP_SERVICE;
|
||||
}
|
||||
|
||||
if (!process_name)
|
||||
{
|
||||
status = _r_sys_openprocess (&hprocess, pid, PROCESS_QUERY_LIMITED_INFORMATION);
|
||||
|
||||
if (NT_SUCCESS (status))
|
||||
{
|
||||
ptr_network->type = _r_sys_isprocessimmersive (hprocess) ? DATA_APP_UWP : DATA_APP_REGULAR;
|
||||
|
||||
if (ptr_network->type == DATA_APP_UWP)
|
||||
{
|
||||
status = NtOpenProcessTokenEx (hprocess, TOKEN_QUERY, 0, &htoken);
|
||||
|
||||
if (NT_SUCCESS (status))
|
||||
{
|
||||
status = _r_sys_querytokeninformation ((PVOID_PTR)&app_container, htoken, TokenAppContainerSid);
|
||||
|
||||
if (NT_SUCCESS (status))
|
||||
{
|
||||
_r_str_fromsid (&process_name, app_container->TokenAppContainer);
|
||||
|
||||
_r_mem_free (app_container);
|
||||
}
|
||||
|
||||
NtClose (htoken);
|
||||
}
|
||||
}
|
||||
|
||||
if (!process_name)
|
||||
{
|
||||
status = _r_sys_queryprocessstring (&process_name, hprocess, ProcessImageFileNameWin32);
|
||||
|
||||
// fix for WSL processes (issue #606)
|
||||
if (status == STATUS_UNSUCCESSFUL)
|
||||
status = _r_sys_queryprocessstring (&process_name, hprocess, ProcessImageFileName);
|
||||
}
|
||||
|
||||
NtClose (hprocess);
|
||||
}
|
||||
}
|
||||
|
||||
if (process_name)
|
||||
{
|
||||
ptr_network->app_hash = _r_str_gethash (&process_name->sr, TRUE);
|
||||
ptr_network->path = process_name;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOLEAN _app_network_isapphaveconnection (
|
||||
_In_ ULONG app_hash
|
||||
)
|
||||
{
|
||||
PITEM_NETWORK_CONTEXT network_context;
|
||||
PITEM_NETWORK ptr_network = NULL;
|
||||
ULONG_PTR enum_key = 0;
|
||||
|
||||
network_context = _app_network_getcontext ();
|
||||
|
||||
if (!network_context)
|
||||
return FALSE;
|
||||
|
||||
_r_queuedlock_acquireshared (&network_context->lock_network);
|
||||
|
||||
while (_r_obj_enumhashtablepointer (network_context->network_ptr, (PVOID_PTR)&ptr_network, NULL, &enum_key))
|
||||
{
|
||||
if (ptr_network->app_hash != app_hash)
|
||||
continue;
|
||||
|
||||
if (ptr_network->is_connection)
|
||||
{
|
||||
_r_queuedlock_releaseshared (&network_context->lock_network);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
_r_queuedlock_releaseshared (&network_context->lock_network);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOLEAN _app_network_isitemfound (
|
||||
_In_ ULONG network_hash
|
||||
)
|
||||
{
|
||||
PITEM_NETWORK_CONTEXT network_context;
|
||||
BOOLEAN is_found;
|
||||
|
||||
network_context = _app_network_getcontext ();
|
||||
|
||||
if (!network_context)
|
||||
return FALSE;
|
||||
|
||||
_r_queuedlock_acquireshared (&network_context->lock_network);
|
||||
is_found = (_r_obj_findhashtable (network_context->network_ptr, network_hash) != NULL);
|
||||
_r_queuedlock_releaseshared (&network_context->lock_network);
|
||||
|
||||
return is_found;
|
||||
}
|
||||
|
||||
BOOLEAN _app_network_isvalidconnection (
|
||||
_In_ ADDRESS_FAMILY af,
|
||||
_In_ LPCVOID address
|
||||
)
|
||||
{
|
||||
PIN6_ADDR p6addr;
|
||||
PIN_ADDR p4addr;
|
||||
|
||||
switch (af)
|
||||
{
|
||||
case AF_INET:
|
||||
{
|
||||
p4addr = (const PIN_ADDR)address;
|
||||
|
||||
return (!IN4_IS_ADDR_UNSPECIFIED (p4addr) &&
|
||||
!IN4_IS_ADDR_LOOPBACK (p4addr) &&
|
||||
!IN4_IS_ADDR_LINKLOCAL (p4addr) &&
|
||||
!IN4_IS_ADDR_MULTICAST (p4addr) &&
|
||||
!IN4_IS_ADDR_MC_ADMINLOCAL (p4addr) &&
|
||||
!IN4_IS_ADDR_RFC1918 (p4addr));
|
||||
}
|
||||
|
||||
case AF_INET6:
|
||||
{
|
||||
p6addr = (const PIN6_ADDR)address;
|
||||
|
||||
return (!IN6_IS_ADDR_UNSPECIFIED (p6addr) &&
|
||||
!IN6_IS_ADDR_LOOPBACK (p6addr) &&
|
||||
!IN6_IS_ADDR_ANYCAST (p6addr) &&
|
||||
!IN6_IS_ADDR_LINKLOCAL (p6addr) &&
|
||||
!IN6_IS_ADDR_MULTICAST (p6addr) &&
|
||||
!IN6_IS_ADDR_SITELOCAL (p6addr));
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
return FALSE; // unknown address family
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
VOID _app_network_printlistviewtable (
|
||||
_Inout_ PITEM_NETWORK_CONTEXT network_context
|
||||
)
|
||||
{
|
||||
PITEM_NETWORK ptr_network = NULL;
|
||||
PR_STRING string;
|
||||
ULONG_PTR enum_key = 0;
|
||||
ULONG app_hash, network_hash;
|
||||
INT item_count;
|
||||
BOOLEAN is_highlight = FALSE, is_refresh = FALSE;
|
||||
|
||||
if (_r_config_getboolean (L"IsEnableHighlighting", TRUE, NULL) && _r_config_getboolean (L"IsHighlightConnection", TRUE, L"colors"))
|
||||
is_highlight = TRUE;
|
||||
|
||||
// add new connections into listview
|
||||
_r_queuedlock_acquireshared (&network_context->lock_network);
|
||||
|
||||
while (_r_obj_enumhashtablepointer (network_context->network_ptr, (PVOID_PTR)&ptr_network, &network_hash, &enum_key))
|
||||
{
|
||||
string = (PR_STRING)_r_obj_findhashtablepointer (network_context->checker_ptr, network_hash);
|
||||
|
||||
if (!string)
|
||||
continue;
|
||||
|
||||
_app_listview_addnetworkitem (network_context->hwnd, network_hash);
|
||||
|
||||
if (ptr_network->app_hash && ptr_network->path)
|
||||
_app_getfileinformation (ptr_network->path, ptr_network->app_hash, ptr_network->type, IDC_NETWORK);
|
||||
|
||||
// resolve network address
|
||||
_app_queue_resolver (network_context->hwnd, IDC_NETWORK, network_hash, ptr_network);
|
||||
|
||||
_r_obj_dereference (string);
|
||||
|
||||
is_refresh = TRUE;
|
||||
}
|
||||
|
||||
_r_queuedlock_releaseshared (&network_context->lock_network);
|
||||
|
||||
// refresh network tab (traffic counters change on every pass)
|
||||
if (is_refresh)
|
||||
{
|
||||
_app_listview_updateby_id (network_context->hwnd, IDC_NETWORK, PR_UPDATE_NORESIZE);
|
||||
}
|
||||
else
|
||||
{
|
||||
_r_listview_redraw (network_context->hwnd, IDC_NETWORK);
|
||||
_app_listview_sort (network_context->hwnd, IDC_NETWORK, INT_ERROR, FALSE);
|
||||
}
|
||||
|
||||
// remove closed connections from list
|
||||
item_count = _r_listview_getitemcount (network_context->hwnd, IDC_NETWORK);
|
||||
|
||||
if (!item_count)
|
||||
return;
|
||||
|
||||
for (INT i = item_count - 1; i != INT_ERROR; i--)
|
||||
{
|
||||
network_hash = (ULONG)_app_listview_getitemcontext (network_context->hwnd, IDC_NETWORK, i);
|
||||
|
||||
if (_r_obj_findhashtable (network_context->checker_ptr, network_hash))
|
||||
continue;
|
||||
|
||||
_r_listview_deleteitem (network_context->hwnd, IDC_NETWORK, i);
|
||||
|
||||
app_hash = _app_network_getappitem (network_hash);
|
||||
|
||||
_app_network_removeitem (network_hash);
|
||||
|
||||
if (app_hash && is_highlight)
|
||||
_app_listview_updateby_param (network_context->hwnd, app_hash, PR_SETITEM_REDRAW, TRUE); // redraw listview item
|
||||
}
|
||||
}
|
||||
|
||||
VOID _app_network_removeitem (
|
||||
_In_ ULONG network_hash
|
||||
)
|
||||
{
|
||||
PITEM_NETWORK_CONTEXT network_context;
|
||||
|
||||
network_context = _app_network_getcontext ();
|
||||
|
||||
if (!network_context)
|
||||
return;
|
||||
|
||||
_r_queuedlock_acquireexclusive (&network_context->lock_network);
|
||||
_r_obj_removehashtableitem (network_context->network_ptr, network_hash);
|
||||
_r_queuedlock_releaseexclusive (&network_context->lock_network);
|
||||
}
|
||||
|
||||
VOID NTAPI _app_network_threadproc (
|
||||
_In_ PVOID arglist
|
||||
)
|
||||
{
|
||||
PITEM_NETWORK_CONTEXT network_context;
|
||||
|
||||
network_context = (PITEM_NETWORK_CONTEXT)arglist;
|
||||
|
||||
while (TRUE)
|
||||
{
|
||||
// update network table
|
||||
_app_network_generatetable (network_context);
|
||||
_app_network_printlistviewtable (network_context);
|
||||
|
||||
_r_sys_waitforsingleobject (NtCurrentThread (), 2000);
|
||||
}
|
||||
|
||||
_app_network_uninitialize (network_context);
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2019-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "udpstats.h"
|
||||
|
||||
typedef struct _ITEM_NETWORK_CONTEXT
|
||||
{
|
||||
R_QUEUED_LOCK lock_network;
|
||||
R_QUEUED_LOCK lock_checker;
|
||||
|
||||
PR_HASHTABLE network_ptr;
|
||||
PR_HASHTABLE checker_ptr;
|
||||
|
||||
SW_UDP_STATS *udp_stats;
|
||||
|
||||
HWND hwnd;
|
||||
} ITEM_NETWORK_CONTEXT, *PITEM_NETWORK_CONTEXT;
|
||||
|
||||
PITEM_NETWORK_CONTEXT _app_network_getcontext ();
|
||||
|
||||
VOID _app_network_stop ();
|
||||
|
||||
VOID _app_network_initialize (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_network_uninitialize (
|
||||
_In_ PITEM_NETWORK_CONTEXT context
|
||||
);
|
||||
|
||||
VOID _app_network_generatetable (
|
||||
_Inout_ PITEM_NETWORK_CONTEXT context
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_NETWORK _app_network_getitem (
|
||||
_In_ ULONG network_hash
|
||||
);
|
||||
|
||||
_Success_ (return != 0)
|
||||
ULONG _app_network_getappitem (
|
||||
_In_ ULONG network_hash
|
||||
);
|
||||
|
||||
ULONG _app_network_gethash (
|
||||
_In_ ADDRESS_FAMILY af,
|
||||
_In_ ULONG pid,
|
||||
_In_opt_ LPCVOID remote_addr,
|
||||
_In_opt_ ULONG remote_port,
|
||||
_In_opt_ LPCVOID local_addr,
|
||||
_In_opt_ ULONG local_port,
|
||||
_In_ UINT8 proto,
|
||||
_In_opt_ ULONG state
|
||||
);
|
||||
|
||||
BOOLEAN _app_network_getpath (
|
||||
_Inout_ PITEM_NETWORK ptr_network,
|
||||
_In_ ULONG pid,
|
||||
_In_opt_ PULONG64 modules
|
||||
);
|
||||
|
||||
BOOLEAN _app_network_isapphaveconnection (
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
BOOLEAN _app_network_isitemfound (
|
||||
_In_ ULONG network_hash
|
||||
);
|
||||
|
||||
BOOLEAN _app_network_isvalidconnection (
|
||||
_In_ ADDRESS_FAMILY af,
|
||||
_In_ LPCVOID address
|
||||
);
|
||||
|
||||
VOID _app_network_printlistviewtable (
|
||||
_Inout_ PITEM_NETWORK_CONTEXT context
|
||||
);
|
||||
|
||||
VOID _app_network_removeitem (
|
||||
_In_ ULONG network_hash
|
||||
);
|
||||
|
||||
VOID NTAPI _app_network_threadproc (
|
||||
_In_ PVOID arglist
|
||||
);
|
||||
@@ -1,35 +1,131 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2021 Henry++
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
VOID _app_notifycreatewindow ();
|
||||
VOID _app_notifydestroywindow ();
|
||||
typedef struct _NOTIFY_CONTEXT
|
||||
{
|
||||
HWND hwnd;
|
||||
|
||||
HICON hico_allow;
|
||||
HICON hico_block;
|
||||
HICON hico_cross;
|
||||
HICON hico_next;
|
||||
HICON hico_rules;
|
||||
|
||||
HFONT hfont_title;
|
||||
HFONT hfont_link;
|
||||
HFONT hfont_text;
|
||||
|
||||
HICON hicon;
|
||||
|
||||
ULONG app_hash;
|
||||
} NOTIFY_CONTEXT, *PNOTIFY_CONTEXT;
|
||||
|
||||
_Ret_maybenull_
|
||||
HWND _app_notifygetwindow ();
|
||||
HWND _app_notify_getwindow (
|
||||
_In_opt_ PITEM_LOG ptr_log
|
||||
);
|
||||
|
||||
BOOLEAN _app_notifycommand (_In_ HWND hwnd, _In_ INT button_id, _In_ LONG64 seconds);
|
||||
_Ret_maybenull_
|
||||
PNOTIFY_CONTEXT _app_notify_getcontext (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
BOOLEAN _app_notifyadd (_In_ PITEM_LOG ptr_log, _In_ PITEM_APP ptr_app);
|
||||
VOID _app_freenotify (_Inout_ PITEM_APP ptr_app);
|
||||
VOID _app_notify_setcontext (
|
||||
_In_ HWND hwnd,
|
||||
_Inout_opt_ PNOTIFY_CONTEXT context
|
||||
);
|
||||
|
||||
ULONG_PTR _app_notifyget_id (_In_ HWND hwnd, _In_ BOOLEAN is_nearest);
|
||||
PITEM_LOG _app_notifyget_obj (_In_ ULONG_PTR app_hash);
|
||||
BOOLEAN _app_notify_command (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT button_id,
|
||||
_In_opt_ LONG64 seconds
|
||||
);
|
||||
|
||||
BOOLEAN _app_notifyshow (_In_ HWND hwnd, _In_ PITEM_LOG ptr_log, _In_ BOOLEAN is_forced, _In_ BOOLEAN is_safety);
|
||||
VOID _app_notifyhide (_In_ HWND hwnd);
|
||||
BOOLEAN _app_notify_addobject (
|
||||
_In_ HWND hwnd,
|
||||
_In_ PITEM_LOG ptr_log,
|
||||
_Inout_ PITEM_APP ptr_app
|
||||
);
|
||||
|
||||
VOID _app_notifyplaysound ();
|
||||
VOID _app_notify_freeobject (
|
||||
_In_opt_ HWND hwnd,
|
||||
_Inout_ PITEM_APP ptr_app
|
||||
);
|
||||
|
||||
VOID _app_notifyrefresh (_In_ HWND hwnd, _In_ BOOLEAN is_safety);
|
||||
_Ret_maybenull_
|
||||
HICON _app_notify_getapp_icon (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_notifyseticon (_In_ HWND hwnd, _In_opt_ HICON hicon, _In_ BOOLEAN is_redraw);
|
||||
VOID _app_notifysetpos (_In_ HWND hwnd, _In_ BOOLEAN is_forced);
|
||||
_Ret_maybenull_
|
||||
PITEM_LOG _app_notify_getobject (
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
HFONT _app_notifyfontinit (_Inout_ PLOGFONT logfont, _In_ LONG dpi_value, _In_ LONG height, _In_ LONG weight, _In_ BOOLEAN is_underline);
|
||||
VOID _app_notifyfontset (_In_ HWND hwnd);
|
||||
_Success_ (return != 0)
|
||||
ULONG _app_notify_getapp_id (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_notifydrawgradient (_In_ HDC hdc, _In_ LPRECT rect);
|
||||
_Success_ (return != 0)
|
||||
ULONG _app_notify_getnextapp_id (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
INT_PTR CALLBACK NotificationProc (_In_ HWND hwnd, _In_ UINT msg, _In_ WPARAM wparam, _In_ LPARAM lparam);
|
||||
VOID _app_notify_setapp_icon (
|
||||
_In_ HWND hwnd,
|
||||
_In_opt_ HICON hicon
|
||||
);
|
||||
|
||||
VOID _app_notify_setapp_id (
|
||||
_In_ HWND hwnd,
|
||||
_In_opt_ ULONG app_hash
|
||||
);
|
||||
|
||||
VOID _app_notify_show (
|
||||
_In_ HWND hwnd,
|
||||
_In_ PITEM_LOG ptr_log
|
||||
);
|
||||
|
||||
VOID _app_notify_playsound ();
|
||||
|
||||
VOID _app_notify_queueinfo (
|
||||
_In_ HWND hwnd,
|
||||
_In_ PITEM_LOG ptr_log
|
||||
);
|
||||
|
||||
VOID _app_notify_refresh (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_notify_setposition (
|
||||
_In_ HWND hwnd,
|
||||
_In_ BOOLEAN is_forced
|
||||
);
|
||||
|
||||
VOID _app_notify_settimeout (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_notify_initialize (
|
||||
_Inout_ PNOTIFY_CONTEXT context,
|
||||
_In_ LONG dpi_value
|
||||
);
|
||||
|
||||
VOID _app_notify_destroy (
|
||||
_In_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_notify_drawgradient (
|
||||
_In_ HDC hdc,
|
||||
_In_ LPCRECT rect
|
||||
);
|
||||
|
||||
INT_PTR CALLBACK NotificationProc (
|
||||
_In_ HWND hwnd,
|
||||
_In_ UINT msg,
|
||||
_In_ WPARAM wparam,
|
||||
_In_ LPARAM lparam
|
||||
);
|
||||
@@ -0,0 +1,631 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#include "global.h"
|
||||
|
||||
BOOLEAN _app_package_isnotexists (
|
||||
_In_ PR_STRING package_sid
|
||||
)
|
||||
{
|
||||
ULONG app_hash;
|
||||
|
||||
app_hash = _r_str_gethash (&package_sid->sr, TRUE);
|
||||
|
||||
if (_app_isappfound (app_hash))
|
||||
return TRUE;
|
||||
|
||||
// there we try to found new packages (HACK!!!)
|
||||
_app_package_getpackageslist (_r_app_gethwnd ());
|
||||
|
||||
return _app_isappfound (app_hash);
|
||||
}
|
||||
|
||||
VOID _app_package_parsepath (
|
||||
_Inout_ PR_STRING_PTR package_root_folder
|
||||
)
|
||||
{
|
||||
R_STRINGREF appx_names[] = {PR_STRINGREF_INIT (L"AppxManifest.xml"), PR_STRINGREF_INIT (L"VSAppxManifest.xml")}, separator_sr = PR_STRINGREF_INIT (L"\\");
|
||||
R_XML_LIBRARY xml_library = {0};
|
||||
PR_STRING manifest_path = NULL, path_string, result_path = NULL;
|
||||
R_STRINGREF executable_sr;
|
||||
BOOLEAN is_success = FALSE;
|
||||
HRESULT status;
|
||||
|
||||
path_string = *package_root_folder;
|
||||
|
||||
for (ULONG_PTR i = 0; i < RTL_NUMBER_OF (appx_names); i++)
|
||||
{
|
||||
_r_obj_movereference ((PVOID_PTR)&manifest_path, _r_obj_concatstringrefs (3, &path_string->sr, &separator_sr, &appx_names[i]));
|
||||
|
||||
if (_r_fs_isexists (&manifest_path->sr))
|
||||
{
|
||||
is_success = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!is_success)
|
||||
goto CleanupExit;
|
||||
|
||||
status = _r_xml_initializelibrary (&xml_library, TRUE);
|
||||
|
||||
if (FAILED (status))
|
||||
goto CleanupExit;
|
||||
|
||||
status = _r_xml_parsefile (&xml_library, manifest_path->buffer);
|
||||
|
||||
if (FAILED (status))
|
||||
goto CleanupExit;
|
||||
|
||||
if (_r_xml_findchildbytagname (&xml_library, L"Applications"))
|
||||
{
|
||||
while (_r_xml_enumchilditemsbytagname (&xml_library, L"Application"))
|
||||
{
|
||||
if (FAILED (_r_xml_getattribute (&xml_library, L"Executable", &executable_sr)))
|
||||
continue;
|
||||
|
||||
_r_obj_movereference ((PVOID_PTR)&result_path, _r_obj_concatstringrefs (3, &path_string->sr, &separator_sr, &executable_sr));
|
||||
|
||||
if (_r_fs_isexists (&result_path->sr))
|
||||
{
|
||||
_r_obj_swapreference ((PVOID_PTR)package_root_folder, result_path);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CleanupExit:
|
||||
|
||||
if (manifest_path)
|
||||
_r_obj_dereference (manifest_path);
|
||||
|
||||
if (result_path)
|
||||
_r_obj_dereference (result_path);
|
||||
|
||||
_r_xml_destroylibrary (&xml_library);
|
||||
}
|
||||
|
||||
VOID _app_package_getpackagebyname (
|
||||
_In_ HANDLE hroot,
|
||||
_In_ LPCWSTR path,
|
||||
_In_ PR_STRING key_name
|
||||
)
|
||||
{
|
||||
PR_STRING display_name = NULL, package_sid_string = NULL, real_path = NULL;
|
||||
PR_BYTE package_sid = NULL;
|
||||
PITEM_APP ptr_app;
|
||||
WCHAR buffer[0x100];
|
||||
HANDLE hsubkey;
|
||||
LONG64 timestamp;
|
||||
ULONG app_hash;
|
||||
NTSTATUS status;
|
||||
|
||||
_r_str_printf (buffer, RTL_NUMBER_OF (buffer), L"%s\\%s", path, key_name->buffer);
|
||||
|
||||
status = _r_reg_openkey (&hsubkey, hroot, buffer, 0, KEY_READ);
|
||||
|
||||
if (!NT_SUCCESS (status))
|
||||
{
|
||||
_r_log (LOG_LEVEL_ERROR, NULL, TEXT (__FUNCTION__), buffer, status);
|
||||
|
||||
goto CleanupExit;
|
||||
}
|
||||
|
||||
status = _r_reg_querybinary (hsubkey, L"PackageSid", &package_sid);
|
||||
|
||||
if (!NT_SUCCESS (status))
|
||||
goto CleanupExit;
|
||||
|
||||
status = _r_str_fromsid (&package_sid_string, (PSID)(package_sid->buffer));
|
||||
|
||||
if (!NT_SUCCESS (status))
|
||||
goto CleanupExit;
|
||||
|
||||
// already exists (skip)
|
||||
app_hash = _r_str_gethash (&package_sid_string->sr, TRUE);
|
||||
|
||||
if (_app_isappfound (app_hash))
|
||||
goto CleanupExit;
|
||||
|
||||
// parse package information
|
||||
if (!_app_uwp_getpackageinfo (key_name, &display_name, &real_path))
|
||||
goto CleanupExit;
|
||||
|
||||
if (real_path)
|
||||
_app_package_parsepath (&real_path);
|
||||
|
||||
//_r_queuedlock_acquireexclusive (&lock_apps);
|
||||
ptr_app = _app_addapplication (NULL, DATA_APP_UWP, package_sid_string, display_name, real_path);
|
||||
//_r_queuedlock_releaseexclusive (&lock_apps);
|
||||
|
||||
if (ptr_app)
|
||||
{
|
||||
status = _r_reg_queryinfo (hsubkey, NULL, ×tamp);
|
||||
|
||||
if (NT_SUCCESS (status))
|
||||
_app_setappinfo (ptr_app, INFO_TIMESTAMP, ×tamp);
|
||||
|
||||
_app_setappinfo (ptr_app, INFO_BYTES_DATA, _r_obj_reference (package_sid));
|
||||
|
||||
_r_obj_dereference (ptr_app);
|
||||
}
|
||||
|
||||
CleanupExit:
|
||||
|
||||
if (package_sid_string)
|
||||
_r_obj_dereference (package_sid_string);
|
||||
|
||||
if (display_name)
|
||||
_r_obj_dereference (display_name);
|
||||
|
||||
if (package_sid)
|
||||
_r_obj_dereference (package_sid);
|
||||
|
||||
if (real_path)
|
||||
_r_obj_dereference (real_path);
|
||||
|
||||
if (hsubkey)
|
||||
NtClose (hsubkey);
|
||||
}
|
||||
|
||||
VOID _app_package_getpackagebysid (
|
||||
_In_ HANDLE hroot,
|
||||
_In_ LPCWSTR path,
|
||||
_In_ PR_STRING key_name
|
||||
)
|
||||
{
|
||||
PR_STRING display_name = NULL, moniker = NULL, real_path = NULL;
|
||||
PR_BYTE package_sid = NULL;
|
||||
PITEM_APP ptr_app;
|
||||
WCHAR buffer[0x100];
|
||||
HANDLE hsubkey;
|
||||
LONG64 timestamp = 0;
|
||||
ULONG app_hash;
|
||||
NTSTATUS status;
|
||||
|
||||
// already exists (skip)
|
||||
app_hash = _r_str_gethash (&key_name->sr, TRUE);
|
||||
|
||||
if (_app_isappfound (app_hash))
|
||||
return;
|
||||
|
||||
_r_str_printf (buffer, RTL_NUMBER_OF (buffer), L"%s\\%s", path, key_name->buffer);
|
||||
|
||||
status = _r_reg_openkey (&hsubkey, hroot, buffer, 0, KEY_READ);
|
||||
|
||||
if (!NT_SUCCESS (status))
|
||||
{
|
||||
_r_log (LOG_LEVEL_ERROR, NULL, TEXT (__FUNCTION__), buffer, status);
|
||||
|
||||
goto CleanupExit;
|
||||
}
|
||||
|
||||
package_sid = _r_str_tosid (key_name);
|
||||
|
||||
if (!package_sid)
|
||||
goto CleanupExit;
|
||||
|
||||
// query package moniker
|
||||
status = _r_reg_querystring (hsubkey, L"Moniker", &moniker, NULL);
|
||||
|
||||
if (!NT_SUCCESS (status))
|
||||
goto CleanupExit;
|
||||
|
||||
// parse package information
|
||||
if (!_app_uwp_getpackageinfo (moniker, &display_name, &real_path))
|
||||
goto CleanupExit;
|
||||
|
||||
if (real_path)
|
||||
_app_package_parsepath (&real_path);
|
||||
|
||||
//_r_queuedlock_acquireexclusive (&lock_apps);
|
||||
ptr_app = _app_addapplication (NULL, DATA_APP_UWP, key_name, display_name, NULL);
|
||||
//_r_queuedlock_releaseexclusive (&lock_apps);
|
||||
|
||||
if (ptr_app)
|
||||
{
|
||||
status = _r_reg_queryinfo (hsubkey, NULL, ×tamp);
|
||||
|
||||
if (NT_SUCCESS (status))
|
||||
_app_setappinfo (ptr_app, INFO_TIMESTAMP, ×tamp);
|
||||
|
||||
_app_setappinfo (ptr_app, INFO_BYTES_DATA, _r_obj_reference (package_sid));
|
||||
|
||||
_r_obj_dereference (ptr_app);
|
||||
}
|
||||
|
||||
CleanupExit:
|
||||
|
||||
if (display_name)
|
||||
_r_obj_dereference (display_name);
|
||||
|
||||
if (package_sid)
|
||||
_r_obj_dereference (package_sid);
|
||||
|
||||
if (real_path)
|
||||
_r_obj_dereference (real_path);
|
||||
|
||||
if (moniker)
|
||||
_r_obj_dereference (moniker);
|
||||
|
||||
if (hsubkey)
|
||||
NtClose (hsubkey);
|
||||
}
|
||||
|
||||
VOID NTAPI _app_package_threadproc (
|
||||
_In_ PVOID arglist
|
||||
)
|
||||
{
|
||||
HANDLE hpackages_key = NULL, hservices_key = NULL, event_handle1 = NULL, event_handle2 = NULL, hevents[2] = {0};
|
||||
PITEM_APP ptr_app = NULL;
|
||||
IO_STATUS_BLOCK isb;
|
||||
HWND hwnd;
|
||||
LONG64 current_time;
|
||||
ULONG_PTR enum_key = 0;
|
||||
ULONG flags = REG_NOTIFY_CHANGE_NAME;
|
||||
NTSTATUS status;
|
||||
|
||||
hwnd = (HWND)arglist;
|
||||
|
||||
status = NtCreateEvent (&event_handle1, EVENT_ALL_ACCESS, NULL, NotificationEvent, FALSE);
|
||||
|
||||
if (!NT_SUCCESS (status))
|
||||
{
|
||||
_r_show_errormessage (hwnd, L"Could not create event!", NULL, status, ET_NATIVE);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
status = NtCreateEvent (&event_handle2, EVENT_ALL_ACCESS, NULL, NotificationEvent, FALSE);
|
||||
|
||||
if (!NT_SUCCESS (status))
|
||||
{
|
||||
_r_show_errormessage (hwnd, L"Could not create event!", NULL, status, ET_NATIVE);
|
||||
|
||||
NtClose (event_handle1); // do not left handle opened!
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
hevents[0] = event_handle1;
|
||||
hevents[1] = event_handle2;
|
||||
|
||||
status = _r_reg_openkey (&hservices_key, HKEY_LOCAL_MACHINE, L"System\\CurrentControlSet\\Services", 0, KEY_NOTIFY);
|
||||
|
||||
if (_r_sys_isosversiongreaterorequal (WINDOWS_8))
|
||||
{
|
||||
_r_reg_openkey (&hpackages_key, HKEY_CURRENT_USER, L"Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\CurrentVersion\\AppModel\\Repository\\Packages", 0, KEY_NOTIFY);
|
||||
|
||||
flags |= REG_NOTIFY_THREAD_AGNOSTIC;
|
||||
}
|
||||
|
||||
if (NT_SUCCESS (status))
|
||||
{
|
||||
NtNotifyChangeKey (hservices_key, event_handle1, NULL, NULL, &isb, flags, TRUE, NULL, 0, TRUE);
|
||||
|
||||
if (hpackages_key)
|
||||
NtNotifyChangeKey (hpackages_key, event_handle2, NULL, NULL, &isb, flags, TRUE, NULL, 0, TRUE);
|
||||
|
||||
while (TRUE)
|
||||
{
|
||||
status = _r_sys_waitformultipleobjects (RTL_NUMBER_OF (hevents), hevents, INFINITE, FALSE);
|
||||
|
||||
if (status == STATUS_WAIT_0)
|
||||
{
|
||||
_r_listview_deleteallitems (hwnd, IDC_APPS_SERVICE);
|
||||
|
||||
_app_package_getserviceslist (hwnd);
|
||||
|
||||
// add apps
|
||||
current_time = _r_unixtime_now ();
|
||||
|
||||
enum_key = 0;
|
||||
|
||||
_r_queuedlock_acquireshared (&lock_apps);
|
||||
|
||||
while (_r_obj_enumhashtablepointer (apps_table, (PVOID_PTR)&ptr_app, NULL, &enum_key))
|
||||
{
|
||||
if (ptr_app->type == DATA_APP_SERVICE)
|
||||
{
|
||||
_app_listview_addappitem (hwnd, ptr_app);
|
||||
|
||||
// install timer
|
||||
if (ptr_app->timer)
|
||||
_app_timer_set (hwnd, ptr_app, ptr_app->timer - current_time);
|
||||
}
|
||||
}
|
||||
|
||||
_r_queuedlock_releaseshared (&lock_apps);
|
||||
|
||||
NtNotifyChangeKey (hservices_key, event_handle1, NULL, NULL, &isb, flags, TRUE, NULL, 0, TRUE); // reset
|
||||
}
|
||||
else if (status == STATUS_WAIT_1)
|
||||
{
|
||||
_r_listview_deleteallitems (hwnd, IDC_APPS_UWP);
|
||||
|
||||
_app_package_getpackageslist (hwnd);
|
||||
|
||||
// add apps
|
||||
current_time = _r_unixtime_now ();
|
||||
|
||||
enum_key = 0;
|
||||
|
||||
_r_queuedlock_acquireshared (&lock_apps);
|
||||
|
||||
while (_r_obj_enumhashtablepointer (apps_table, (PVOID_PTR)&ptr_app, NULL, &enum_key))
|
||||
{
|
||||
if (ptr_app->type == DATA_APP_UWP)
|
||||
{
|
||||
_app_listview_addappitem (hwnd, ptr_app);
|
||||
|
||||
// install timer
|
||||
if (ptr_app->timer)
|
||||
_app_timer_set (hwnd, ptr_app, ptr_app->timer - current_time);
|
||||
}
|
||||
}
|
||||
|
||||
_r_queuedlock_releaseshared (&lock_apps);
|
||||
|
||||
if (hpackages_key)
|
||||
NtNotifyChangeKey (hpackages_key, event_handle2, NULL, NULL, &isb, flags, TRUE, NULL, 0, TRUE); // reset
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (hservices_key)
|
||||
NtClose (hservices_key);
|
||||
|
||||
if (hpackages_key)
|
||||
NtClose (hpackages_key);
|
||||
|
||||
NtClose (event_handle1);
|
||||
NtClose (event_handle2);
|
||||
}
|
||||
|
||||
VOID _app_package_getpackageslist (
|
||||
_In_opt_ HWND hwnd
|
||||
)
|
||||
{
|
||||
LPCWSTR reg_byname = L"Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\CurrentVersion\\AppModel\\Repository\\Packages";
|
||||
LPCWSTR reg_bysid = L"Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\CurrentVersion\\AppContainer\\Mappings";
|
||||
PR_STRING name;
|
||||
HANDLE hkey;
|
||||
ULONG index = 0;
|
||||
NTSTATUS status;
|
||||
|
||||
// query packages by name
|
||||
status = _r_reg_openkey (&hkey, HKEY_CURRENT_USER, reg_byname, 0, KEY_READ);
|
||||
|
||||
if (!NT_SUCCESS (status))
|
||||
{
|
||||
if (hwnd && status != STATUS_OBJECT_NAME_NOT_FOUND)
|
||||
_r_show_errormessage (hwnd, L"Could not query packages by name!", reg_byname, status, ET_NATIVE);
|
||||
}
|
||||
else
|
||||
{
|
||||
while (TRUE)
|
||||
{
|
||||
status = _r_reg_enumkey (hkey, index, &name, NULL);
|
||||
|
||||
if (!NT_SUCCESS (status))
|
||||
break;
|
||||
|
||||
_app_package_getpackagebyname (HKEY_CURRENT_USER, reg_byname, name);
|
||||
|
||||
_r_obj_dereference (name);
|
||||
|
||||
index += 1;
|
||||
}
|
||||
|
||||
NtClose (hkey);
|
||||
}
|
||||
|
||||
// query packages by sid
|
||||
status = _r_reg_openkey (&hkey, HKEY_CURRENT_USER, reg_bysid, 0, KEY_READ);
|
||||
|
||||
if (!NT_SUCCESS (status))
|
||||
{
|
||||
if (hwnd && status != STATUS_OBJECT_NAME_NOT_FOUND)
|
||||
_r_show_errormessage (hwnd, L"Could not query packages by sid!", reg_bysid, status, ET_NATIVE);
|
||||
}
|
||||
else
|
||||
{
|
||||
index = 0;
|
||||
|
||||
while (TRUE)
|
||||
{
|
||||
status = _r_reg_enumkey (hkey, index, &name, NULL);
|
||||
|
||||
if (!NT_SUCCESS (status))
|
||||
break;
|
||||
|
||||
_app_package_getpackagebysid (HKEY_CURRENT_USER, reg_bysid, name);
|
||||
|
||||
_r_obj_dereference (name);
|
||||
|
||||
index += 1;
|
||||
}
|
||||
|
||||
NtClose (hkey);
|
||||
}
|
||||
}
|
||||
|
||||
VOID _app_package_getserviceslist (
|
||||
_In_opt_ HWND hwnd
|
||||
)
|
||||
{
|
||||
PR_STRING converted_path, name_string, service_name, service_path;
|
||||
LPENUM_SERVICE_STATUS_PROCESS service, services;
|
||||
PVOID buffer, service_sd = NULL;
|
||||
R_STRINGREF dummy_filename;
|
||||
WCHAR general_key[0x100];
|
||||
PR_BYTE service_sid;
|
||||
EXPLICIT_ACCESS ea;
|
||||
PITEM_APP ptr_app;
|
||||
SC_HANDLE hsvcmgr;
|
||||
HANDLE hkey;
|
||||
LONG64 service_timestamp;
|
||||
ULONG buffer_size, return_length, sd_length, services_returned, service_type = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS;
|
||||
NTSTATUS status;
|
||||
|
||||
hsvcmgr = OpenSCManagerW (NULL, NULL, SC_MANAGER_CONNECT | SC_MANAGER_ENUMERATE_SERVICE);
|
||||
|
||||
if (!hsvcmgr)
|
||||
{
|
||||
if (hwnd)
|
||||
{
|
||||
_r_show_errormessage (hwnd, L"Could not open service manager!", NULL, NtLastError (), ET_WINDOWS);
|
||||
}
|
||||
else
|
||||
{
|
||||
_r_log (LOG_LEVEL_ERROR, NULL, L"OpenSCManagerW", NULL, NtLastError ());
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// win10+
|
||||
if (_r_sys_isosversiongreaterorequal (WINDOWS_10))
|
||||
{
|
||||
service_type |= SERVICE_INTERACTIVE_PROCESS | SERVICE_USER_SERVICE;
|
||||
|
||||
if (_r_config_getboolean (L"IsCollectUserServiceInstance", FALSE, NULL))
|
||||
service_type |= SERVICE_USERSERVICE_INSTANCE;
|
||||
}
|
||||
|
||||
buffer_size = PR_SIZE_BUFFER;
|
||||
buffer = _r_mem_allocate (buffer_size);
|
||||
|
||||
if (!EnumServicesStatusExW (hsvcmgr, SC_ENUM_PROCESS_INFO, service_type, SERVICE_STATE_ALL, (PBYTE)buffer, buffer_size, &return_length, &services_returned, NULL, NULL))
|
||||
{
|
||||
if (NtLastError () == ERROR_MORE_DATA)
|
||||
{
|
||||
// reallocate new buffer
|
||||
buffer_size += return_length;
|
||||
buffer = _r_mem_reallocate (buffer, buffer_size);
|
||||
|
||||
// now query again for services
|
||||
if (!EnumServicesStatusExW (hsvcmgr, SC_ENUM_PROCESS_INFO, service_type, SERVICE_STATE_ALL, (PBYTE)buffer, buffer_size, &return_length, &services_returned, NULL, NULL))
|
||||
{
|
||||
_r_mem_free (buffer); // cleanup!
|
||||
|
||||
buffer = NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_r_mem_free (buffer); // cleanup!
|
||||
|
||||
buffer = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (!buffer)
|
||||
{
|
||||
CloseServiceHandle (hsvcmgr);
|
||||
return;
|
||||
}
|
||||
|
||||
// now traverse each service to get information
|
||||
services = (LPENUM_SERVICE_STATUS_PROCESS)buffer;
|
||||
|
||||
for (ULONG i = 0; i < services_returned; i++)
|
||||
{
|
||||
service = &services[i];
|
||||
|
||||
if (_app_isappfound (_r_str_gethash2 (service->lpServiceName, TRUE)))
|
||||
continue;
|
||||
|
||||
_r_str_printf (general_key, RTL_NUMBER_OF (general_key), L"SYSTEM\\CurrentControlSet\\Services\\%s", service->lpServiceName);
|
||||
|
||||
status = _r_reg_openkey (&hkey, HKEY_LOCAL_MACHINE, general_key, 0, KEY_READ);
|
||||
|
||||
if (!NT_SUCCESS (status))
|
||||
continue;
|
||||
|
||||
// skip userservice instances service types (win10+)
|
||||
if (_r_sys_isosversiongreaterorequal (WINDOWS_10) && !_r_config_getboolean (L"IsCollectUserServiceInstance", FALSE, NULL))
|
||||
{
|
||||
status = _r_reg_queryulong (hkey, L"Type", &service_type);
|
||||
|
||||
if (!NT_SUCCESS (status) || (service_type & SERVICE_USERSERVICE_INSTANCE) != 0)
|
||||
{
|
||||
NtClose (hkey);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// query service path
|
||||
status = _r_reg_querystring (hkey, L"ImagePath", &service_path, NULL);
|
||||
|
||||
if (NT_SUCCESS (status))
|
||||
{
|
||||
_r_path_parsecommandlinefuzzy (&service_path->sr, &dummy_filename, NULL, &converted_path);
|
||||
|
||||
if (converted_path)
|
||||
{
|
||||
_r_obj_movereference ((PVOID_PTR)&service_path, converted_path);
|
||||
}
|
||||
else
|
||||
{
|
||||
_r_obj_movereference ((PVOID_PTR)&service_path, _r_path_dospathfromnt (&service_path->sr));
|
||||
}
|
||||
|
||||
// query service sid
|
||||
status = _r_sys_getservicesid (&service_sid, service->lpServiceName);
|
||||
|
||||
if (NT_SUCCESS (status))
|
||||
{
|
||||
// when evaluating SECURITY_DESCRIPTOR conditions, the filter engine checks for FWP_ACTRL_MATCH_FILTER access.
|
||||
// if the DACL grants access, it does not mean that the traffic is allowed; it just means that the condition
|
||||
// evaluates to true. likewise if it denies access, the condition evaluates to FALSE.
|
||||
_app_setexplicitaccess (&ea, NO_INHERITANCE, GRANT_ACCESS, FWP_ACTRL_MATCH_FILTER, (PSID)(service_sid->buffer));
|
||||
|
||||
// security descriptors must be in self-relative form (i.e., contiguous). the security descriptor returned
|
||||
// by BuildSecurityDescriptorW is already self-relative, but if you're using another mechanism to build
|
||||
// the descriptor, you may have to convert it. see MakeSelfRelativeSD for details.
|
||||
status = BuildSecurityDescriptorW (NULL, NULL, 1, &ea, 0, NULL, NULL, &sd_length, &service_sd);
|
||||
|
||||
if (status == ERROR_SUCCESS && service_sd)
|
||||
{
|
||||
service_name = _r_obj_createstring (service->lpServiceName);
|
||||
name_string = _r_obj_createstring (service->lpDisplayName);
|
||||
|
||||
ptr_app = _app_addapplication (NULL, DATA_APP_SERVICE, service_name, name_string, service_path);
|
||||
|
||||
if (ptr_app)
|
||||
{
|
||||
// query service timestamp
|
||||
status = _r_reg_queryinfo (hkey, NULL, &service_timestamp);
|
||||
|
||||
if (NT_SUCCESS (status))
|
||||
_app_setappinfo (ptr_app, INFO_TIMESTAMP, &service_timestamp);
|
||||
|
||||
_app_setappinfo (ptr_app, INFO_BYTES_DATA, _r_obj_createbyte_ex ((LPCSTR)service_sd, sd_length));
|
||||
|
||||
_r_obj_dereference (ptr_app);
|
||||
}
|
||||
|
||||
_r_obj_dereference (service_name);
|
||||
_r_obj_dereference (name_string);
|
||||
|
||||
LocalFree (service_sd);
|
||||
}
|
||||
|
||||
_r_obj_dereference (service_sid);
|
||||
}
|
||||
|
||||
_r_obj_dereference (service_path);
|
||||
}
|
||||
|
||||
NtClose (hkey);
|
||||
}
|
||||
|
||||
CloseServiceHandle (hsvcmgr);
|
||||
|
||||
_r_mem_free (buffer);
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
BOOLEAN _app_package_isnotexists (
|
||||
_In_ PR_STRING package_sid
|
||||
);
|
||||
|
||||
VOID _app_package_parsepath (
|
||||
_Inout_ PR_STRING_PTR package_root_folder
|
||||
);
|
||||
|
||||
VOID _app_package_getpackagebyname (
|
||||
_In_ HANDLE hroot,
|
||||
_In_ LPCWSTR path,
|
||||
_In_ PR_STRING key_name
|
||||
);
|
||||
|
||||
VOID _app_package_getpackagebysid (
|
||||
_In_ HANDLE hroot,
|
||||
_In_ LPCWSTR path,
|
||||
_In_ PR_STRING key_name
|
||||
);
|
||||
|
||||
VOID NTAPI _app_package_threadproc (
|
||||
_In_ PVOID arglist
|
||||
);
|
||||
|
||||
VOID _app_package_getpackageslist (
|
||||
_In_opt_ HWND hwnd
|
||||
);
|
||||
|
||||
VOID _app_package_getserviceslist (
|
||||
_In_opt_ HWND hwnd
|
||||
);
|
||||
@@ -1,101 +1,275 @@
|
||||
// simplewall
|
||||
// Copyright (c) 2016-2021 Henry++
|
||||
// Copyright (c) 2016-2026 Henry++
|
||||
|
||||
#pragma once
|
||||
|
||||
_Ret_maybenull_
|
||||
PVOID _app_getappinfo (_In_ PITEM_APP ptr_app, _In_ ENUM_INFO_DATA info_data);
|
||||
|
||||
_Ret_maybenull_
|
||||
PVOID _app_getappinfobyhash (_In_ ULONG_PTR app_hash, _In_ ENUM_INFO_DATA info_data);
|
||||
|
||||
VOID _app_setappinfo (_In_ PITEM_APP ptr_app, _In_ ENUM_INFO_DATA info_data, _In_ PVOID value);
|
||||
VOID _app_setappinfobyhash (_In_ ULONG_PTR app_hash, _In_ ENUM_INFO_DATA info_data, _In_ PVOID value);
|
||||
|
||||
_Ret_maybenull_
|
||||
PVOID _app_getruleinfo (_In_ PITEM_RULE ptr_rule, _In_ ENUM_INFO_DATA info_data);
|
||||
|
||||
_Ret_maybenull_
|
||||
PVOID _app_getruleinfobyid (_In_ SIZE_T index, _In_ ENUM_INFO_DATA info_data);
|
||||
|
||||
ULONG_PTR _app_addapplication (_In_opt_ HWND hwnd, _In_ ENUM_TYPE_DATA type, _In_ PR_STRINGREF path, _In_opt_ PR_STRING display_name, _In_opt_ PR_STRING real_path);
|
||||
|
||||
PITEM_RULE _app_addrule (_In_opt_ PR_STRING name, _In_opt_ PR_STRING rule_remote, _In_opt_ PR_STRING rule_local, _In_ FWP_DIRECTION direction, _In_ UINT8 protocol, _In_ ADDRESS_FAMILY af);
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_RULE_CONFIG _app_addruleconfigtable (_In_ PR_HASHTABLE hashtable, _In_ ULONG_PTR rule_hash, _In_opt_ PR_STRING name, _In_ BOOLEAN is_enabled);
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_APP _app_getappitem (_In_ ULONG_PTR app_hash);
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_RULE _app_getrulebyid (_In_ SIZE_T index);
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_RULE _app_getrulebyhash (_In_ ULONG_PTR rule_hash);
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_RULE_CONFIG _app_getruleconfigitem (_In_ ULONG_PTR rule_hash);
|
||||
|
||||
ULONG_PTR _app_getnetworkapp (_In_ ULONG_PTR network_hash);
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_NETWORK _app_getnetworkitem (_In_ ULONG_PTR network_hash);
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_LOG _app_getlogitem (_In_ ULONG_PTR log_hash);
|
||||
|
||||
ULONG_PTR _app_getlogapp (_In_ SIZE_T index);
|
||||
COLORREF _app_getappcolor (_In_ INT listview_id, _In_ ULONG_PTR app_hash, _In_ BOOLEAN is_systemapp, _In_ BOOLEAN is_validconnection);
|
||||
|
||||
VOID _app_freeapplication (_In_ ULONG_PTR app_hash);
|
||||
|
||||
BOOLEAN _app_isappfromsystem (_In_opt_ PR_STRING path, _In_ ULONG_PTR app_hash);
|
||||
BOOLEAN _app_isapphaveconnection (_In_ ULONG_PTR app_hash);
|
||||
BOOLEAN _app_isapphavedrive (_In_ INT letter);
|
||||
BOOLEAN _app_isapphaverule (_In_ ULONG_PTR app_hash, _In_ BOOLEAN is_countdisabled);
|
||||
BOOLEAN _app_isappexists (_In_ PITEM_APP ptr_app);
|
||||
|
||||
BOOLEAN _app_isappfound (_In_ ULONG_PTR app_hash);
|
||||
BOOLEAN _app_isappunused (_In_ PITEM_APP ptr_app);
|
||||
|
||||
BOOLEAN _app_isnetworkfound (_In_ ULONG_PTR network_hash);
|
||||
|
||||
FORCEINLINE BOOLEAN _app_isappused (_In_ PITEM_APP ptr_app)
|
||||
FORCEINLINE BOOLEAN _app_isdisabledremoval (
|
||||
_In_ ULONG app_hash
|
||||
)
|
||||
{
|
||||
if (ptr_app->is_enabled || ptr_app->is_silent || _app_isapphaverule (ptr_app->app_hash, TRUE))
|
||||
if (app_hash == config.my_hash || app_hash == config.ntoskrnl_hash || app_hash == config.svchost_hash || app_hash == config.wusvc_hash)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
VOID _app_getcount (_Out_ PITEM_STATUS status);
|
||||
_Success_ (return)
|
||||
BOOLEAN _app_getappinfo (
|
||||
_In_ PITEM_APP ptr_app,
|
||||
_In_ ENUM_INFO_DATA info_data,
|
||||
_Out_writes_bytes_all_ (length) PVOID buffer,
|
||||
_In_ ULONG_PTR length
|
||||
);
|
||||
|
||||
COLORREF _app_getrulecolor (_In_ INT listview_id, _In_ SIZE_T rule_idx);
|
||||
_Success_ (return)
|
||||
BOOLEAN _app_getappinfobyhash (
|
||||
_In_ ULONG app_hash,
|
||||
_In_ ENUM_INFO_DATA info_data,
|
||||
_Out_writes_bytes_all_ (length) PVOID buffer,
|
||||
_In_ ULONG_PTR length
|
||||
);
|
||||
|
||||
VOID _app_setappiteminfo (_In_ HWND hwnd, _In_ INT listview_id, _In_ INT item_id, _In_ PITEM_APP ptr_app);
|
||||
VOID _app_setruleiteminfo (_In_ HWND hwnd, _In_ INT listview_id, _In_ INT item_id, _In_ PITEM_RULE ptr_rule, _In_ BOOLEAN include_apps);
|
||||
_Success_ (return)
|
||||
BOOLEAN _app_setappinfo (
|
||||
_In_ PITEM_APP ptr_app,
|
||||
_In_ ENUM_INFO_DATA info_data,
|
||||
_In_opt_ PVOID value
|
||||
);
|
||||
|
||||
VOID _app_ruleenable (_Inout_ PITEM_RULE ptr_rule, _In_ BOOLEAN is_enable, _In_ BOOLEAN is_createconfig);
|
||||
_Success_ (return)
|
||||
BOOLEAN _app_setappinfobyhash (
|
||||
_In_ ULONG app_hash,
|
||||
_In_ ENUM_INFO_DATA info_data,
|
||||
_In_opt_ PVOID value
|
||||
);
|
||||
|
||||
BOOLEAN _app_ruleblocklistsetchange (_Inout_ PITEM_RULE ptr_rule, _In_ INT new_state);
|
||||
BOOLEAN _app_ruleblocklistsetstate (_Inout_ PITEM_RULE ptr_rule, _In_ INT spy_state, _In_ INT update_state, _In_ INT extra_state);
|
||||
VOID _app_ruleblocklistset (_In_opt_ HWND hwnd, _In_ INT spy_state, _In_ INT update_state, _In_ INT extra_state, _In_ BOOLEAN is_instantapply);
|
||||
_Success_ (return)
|
||||
BOOLEAN _app_getruleinfo (
|
||||
_In_ PITEM_RULE ptr_rule,
|
||||
_In_ ENUM_INFO_DATA info_data,
|
||||
_Out_writes_bytes_all_ (length) PVOID buffer,
|
||||
_In_ ULONG_PTR length
|
||||
);
|
||||
|
||||
_Success_ (return)
|
||||
BOOLEAN _app_getruleinfobyid (
|
||||
_In_ ULONG_PTR index,
|
||||
_In_ ENUM_INFO_DATA info_data,
|
||||
_Out_writes_bytes_all_ (length) PVOID buffer,
|
||||
_In_ ULONG_PTR length
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_appexpandrules (_In_ ULONG_PTR app_hash, _In_ LPCWSTR delimeter);
|
||||
PITEM_APP _app_addapplication (
|
||||
_In_opt_ HWND hwnd,
|
||||
_In_ ENUM_TYPE_DATA type,
|
||||
_In_ PR_STRING path,
|
||||
_In_opt_ PR_STRING display_name,
|
||||
_In_opt_ PR_STRING real_path
|
||||
);
|
||||
|
||||
PITEM_RULE _app_addrule (
|
||||
_In_opt_ PR_STRING name,
|
||||
_In_opt_ PR_STRING rule_remote,
|
||||
_In_opt_ PR_STRING rule_local,
|
||||
_In_ FWP_DIRECTION direction,
|
||||
_In_ FWP_ACTION_TYPE action,
|
||||
_In_ UINT8 protocol,
|
||||
_In_ ADDRESS_FAMILY af
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_rulesexpandapps (_In_ PITEM_RULE ptr_rule, _In_ BOOLEAN is_fordisplay, _In_ LPCWSTR delimeter);
|
||||
PITEM_RULE_CONFIG _app_addruleconfigtable (
|
||||
_In_ PR_HASHTABLE hashtable,
|
||||
_In_ ULONG rule_hash,
|
||||
_In_ PR_STRING rule_name,
|
||||
_In_ BOOLEAN is_enabled
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_rulesexpandrules (_In_opt_ PR_STRING rule, _In_ LPCWSTR delimeter);
|
||||
PITEM_APP _app_getappitem (
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
BOOLEAN _app_profile_load_check (_In_ LPCWSTR path);
|
||||
BOOLEAN _app_profile_load_check_node (_Inout_ PR_XML_LIBRARY xml_library, _In_ ENUM_TYPE_XML type);
|
||||
_Ret_maybenull_
|
||||
PITEM_RULE _app_getrulebyid (
|
||||
_In_ ULONG_PTR index
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_RULE _app_getrulebyhash (
|
||||
_In_ ULONG rule_hash
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_RULE_CONFIG _app_getruleconfigitem (
|
||||
_In_ ULONG rule_hash
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PITEM_LOG _app_getlogitem (
|
||||
_In_ ULONG log_hash
|
||||
);
|
||||
|
||||
_Success_ (return != 0)
|
||||
ULONG _app_getlogapp (
|
||||
_In_ ULONG index
|
||||
);
|
||||
|
||||
_Success_ (return != 0)
|
||||
COLORREF _app_getappcolor (
|
||||
_In_ INT listview_id,
|
||||
_In_ ULONG app_hash,
|
||||
_In_ BOOLEAN is_systemapp,
|
||||
_In_ BOOLEAN is_validconnection
|
||||
);
|
||||
|
||||
VOID _app_deleteappitem (
|
||||
_In_ HWND hwnd,
|
||||
_In_ ENUM_TYPE_DATA type,
|
||||
_In_ ULONG_PTR id_code
|
||||
);
|
||||
|
||||
VOID _app_freeapplication (
|
||||
_In_opt_ HWND hwnd,
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
BOOLEAN _app_isappfromsystem (
|
||||
_In_opt_ PR_STRING path,
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
BOOLEAN _app_isapphavedrive (
|
||||
_In_ INT letter
|
||||
);
|
||||
|
||||
BOOLEAN _app_isapphaverule (
|
||||
_In_ ULONG app_hash,
|
||||
_In_ BOOLEAN is_countdisabled
|
||||
);
|
||||
|
||||
BOOLEAN _app_isappexists (
|
||||
_In_ PITEM_APP ptr_app
|
||||
);
|
||||
|
||||
BOOLEAN _app_isappfound (
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
BOOLEAN _app_isappunused (
|
||||
_In_ PITEM_APP ptr_app
|
||||
);
|
||||
|
||||
BOOLEAN _app_isappused (
|
||||
_In_ PITEM_APP ptr_app
|
||||
);
|
||||
|
||||
BOOLEAN _app_issystemhash (
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
VOID _app_getcount (
|
||||
_Out_ PITEM_STATUS status
|
||||
);
|
||||
|
||||
_Success_ (return != 0)
|
||||
COLORREF _app_getrulecolor (
|
||||
_In_ INT listview_id,
|
||||
_In_ ULONG_PTR rule_idx
|
||||
);
|
||||
|
||||
VOID _app_setappiteminfo (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id,
|
||||
_In_ INT item_id,
|
||||
_In_ PITEM_APP ptr_app
|
||||
);
|
||||
|
||||
VOID _app_setruleiteminfo (
|
||||
_In_ HWND hwnd,
|
||||
_In_ INT listview_id,
|
||||
_In_ INT item_id,
|
||||
_In_ PITEM_RULE ptr_rule,
|
||||
_In_ BOOLEAN include_apps
|
||||
);
|
||||
|
||||
VOID _app_ruleenable (
|
||||
_Inout_ PITEM_RULE ptr_rule,
|
||||
_In_ BOOLEAN is_enable,
|
||||
_In_ BOOLEAN is_createconfig
|
||||
);
|
||||
|
||||
VOID _app_ruleremoveapp (
|
||||
_In_opt_ HWND hwnd,
|
||||
_In_ ULONG_PTR item_id,
|
||||
_In_ PITEM_RULE ptr_rule,
|
||||
_In_ ULONG app_hash
|
||||
);
|
||||
|
||||
BOOLEAN _app_ruleblocklistsetchange (
|
||||
_Inout_ PITEM_RULE ptr_rule,
|
||||
_In_ LONG new_state
|
||||
);
|
||||
|
||||
BOOLEAN _app_ruleblocklistsetstate (
|
||||
_Inout_ PITEM_RULE ptr_rule,
|
||||
_In_ LONG spy_state,
|
||||
_In_ LONG update_state,
|
||||
_In_ LONG extra_state
|
||||
);
|
||||
|
||||
VOID _app_ruleblocklistset (
|
||||
_In_opt_ HWND hwnd,
|
||||
_In_ LONG spy_state,
|
||||
_In_ LONG update_state,
|
||||
_In_ LONG extra_state,
|
||||
_In_ BOOLEAN is_instantapply
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_appexpandrules (
|
||||
_In_ ULONG app_hash,
|
||||
_In_ LPCWSTR delimeter
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_rulesexpandapps (
|
||||
_In_ PITEM_RULE ptr_rule,
|
||||
_In_ BOOLEAN is_fordisplay,
|
||||
_In_ LPCWSTR delimeter
|
||||
);
|
||||
|
||||
_Ret_maybenull_
|
||||
PR_STRING _app_rulesexpandrules (
|
||||
_In_opt_ PR_STRING rule
|
||||
);
|
||||
|
||||
BOOLEAN _app_isrulesupportedbyos (
|
||||
_In_ PCR_STRINGREF os_version
|
||||
);
|
||||
|
||||
VOID _app_profile_initialize ();
|
||||
|
||||
NTSTATUS _app_profile_load_fromresource (
|
||||
_Out_ PDB_INFORMATION db_info,
|
||||
_In_ LPCWSTR resource_name
|
||||
);
|
||||
|
||||
VOID _app_profile_load_fallback ();
|
||||
VOID _app_profile_load_helper (_Inout_ PR_XML_LIBRARY xml_library, _In_ ENUM_TYPE_DATA type, _In_ UINT version);
|
||||
VOID _app_profile_load_internal (_In_ LPCWSTR path, _In_ LPCWSTR resource_name, _Inout_opt_ PLONG64 timestamp);
|
||||
VOID _app_profile_load (_In_opt_ HWND hwnd, _In_opt_ LPCWSTR path_custom);
|
||||
VOID _app_profile_save ();
|
||||
|
||||
VOID _app_profile_load_internal (
|
||||
_In_opt_ HWND hwnd,
|
||||
_In_ PR_STRING path,
|
||||
_In_ LPCWSTR resource_name,
|
||||
_Out_ PLONG64 out_timestamp
|
||||
);
|
||||
|
||||
NTSTATUS _app_profile_load (
|
||||
_In_opt_ HWND hwnd,
|
||||
_In_opt_ PR_STRING path_custom
|
||||
);
|
||||
|
||||
NTSTATUS _app_profile_save (
|
||||
_In_opt_ HWND hwnd
|
||||
);
|
||||
|
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 617 B |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 967 B |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
@@ -6,7 +6,7 @@
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<security>
|
||||
<requestedPrivileges>
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
@@ -16,19 +16,18 @@
|
||||
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<maxversiontested Id="10.0.19043.0"/>
|
||||
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" /> <!-- vista -->
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" /> <!-- win7 -->
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" /> <!-- win8 -->
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" /> <!-- win8.1 -->
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /> <!-- win10 -->
|
||||
<maxversiontested Id="10.0.26200.0" />
|
||||
<supportedOS Id="{35138B9A-5D96-4FBD-8E2D-A2440225F93A}" /> <!-- win7 -->
|
||||
<supportedOS Id="{4A2F28E3-53B9-4441-BA9C-D69D4A4A6E38}" /> <!-- win8 -->
|
||||
<supportedOS Id="{1F676C76-80E1-4239-95BB-83D0F6D0DA78}" /> <!-- win8.1 -->
|
||||
<supportedOS Id="{8E0F7A12-BFB3-4FE8-B9A5-48FD50A15A9A}" /> <!-- win10 -->
|
||||
</application>
|
||||
</compatibility>
|
||||
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
|
||||
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
|
||||
<disableWindowFiltering xmlns="http://schemas.microsoft.com/SMI/2011/WindowsSettings">true</disableWindowFiltering>
|
||||
<printerDriverIsolation xmlns="http://schemas.microsoft.com/SMI/2011/WindowsSettings">true</printerDriverIsolation>
|
||||
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
|
||||
|
||||
|
Before Width: | Height: | Size: 832 B After Width: | Height: | Size: 694 B |