Compare commits

...
2172 Commits
Author SHA1 Message Date
henrypp 538c436eeb use utf8 instead of utf16le for locale 2026-10-18 15:11:29 +05:00
henrypp 99c51cb21e upd italian locale 2026-10-18 13:31:40 +05:00
henrypp c0ed45e455 Merge pull request #2166 from bovirus/master
Italian language update
2026-10-18 08:29:34 +00:00
bovirus 1c31f48ee0 Italian language update 2026-10-18 10:25:25 +02:00
henrypp 1a9992f557 fix _app_config_apply 2026-10-18 00:48:57 +05:00
henrypp 042195476d code cosmetics 2026-10-17 22:57:27 +05:00
henrypp a11ec7cd04 timer improvements #2159 2026-10-17 22:57:19 +05:00
henrypp e6513aa4d6 upd resources & locale (upd #2165) 2026-10-17 22:49:57 +05:00
henrypp a3ec131d43 ui improvements #2165 2026-10-17 22:49:06 +05:00
henrypp b20b935db2 upd resources 2026-10-17 22:27:56 +05:00
henrypp c9727af2b6 ++version 2026-10-17 22:24:19 +05:00
henrypp e8030150ed Merge branch 'master' of https://github.com/henrypp/simplewall 2026-10-17 22:23:37 +05:00
henrypp 77e00911d9 Merge pull request #2165 from blacksheep25/allow-ip-forwarding
Add AllowIpForwarding option to skip boot-time IPFORWARD block (#425)
2026-10-17 17:22:07 +00:00
Blacksheep-25andClaude Opus 5.5 8536e23378 Add AllowIpForwarding option to skip boot-time IPFORWARD block
The boot-time filters include a block on FWPM_LAYER_IPFORWARD_V4/V6 for
traffic without the pass-through flags. Because the filter is added while
BFE is running, it is enforced immediately and stays active for as long as
filters are enabled. simplewall never adds a permit on the forward layer,
so no app, service or user rule can allow forwarded traffic, which breaks
Mobile Hotspot, Internet Connection Sharing and NAT'd VM switches (#425).

Add a config option (off by default, so behaviour is unchanged) that skips
just these two filters while keeping the rest of the boot-time filters.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 21:45:10 +10:00
henrypp e8a4491a5b possible memory leak #2135 2026-10-09 15:43:46 +05:00
henrypp 633e75ca8a code cosmetics 2026-10-01 16:45:51 +05:00
henrypp dd21da32a8 cosmetics 2026-09-29 17:28:23 +05:00
henrypp 35af140ed5 correct fix for #2159 2026-09-29 17:27:16 +05:00
henrypp 1d402d0ccc upd project sdk 2026-09-27 13:57:21 +05:00
henrypp 482893bcd8 implement correct formatted #2143 2026-09-18 15:41:55 +05:00
henrypp 33bb259574 upd dutch 2026-09-08 19:02:09 +05:00
henrypp 7ec04d0ca7 Merge pull request #2148 from ltguillaume/master
Update Dutch
2026-09-08 14:01:08 +00:00
ltguillaume a335d9cf68 Update Dutch 2026-09-08 15:17:41 +02:00
henrypp 350721365e upd italian 2026-09-08 17:20:54 +05:00
henrypp a4a41c4255 Merge pull request #2147 from bovirus/master
Update Italian.ini
2026-09-08 12:19:40 +00:00
bovirus 3b1e4b4bbc Update Italian.ini 2026-09-08 12:34:43 +02:00
henrypp db8ba1b4bc upd bulgarian 2026-09-07 13:43:52 +05:00
henrypp 1cefd8f2f5 Merge pull request #2145 from rddim/update-bulgarian-260907
Update Bulgarian localization
2026-09-07 08:41:05 +00:00
rddim ad889edc6e Update Bulgarian localization 2026-09-07 11:25:16 +03:00
henrypp 79a1cdc547 upd russian 2026-09-07 12:48:43 +05:00
henrypp 0a6a28bd58 upd korean 2026-09-06 21:55:02 +05:00
henrypp f7147d3ad6 upd locale 2026-09-06 16:37:03 +05:00
henrypp d4cc6a2505 upd serbian locale 2026-08-27 22:12:15 +05:00
henrypp aa32c54989 Merge pull request #2139 from rammba/features/sync-serbian-2026-08-27
Update Serbian (Cyrillic & Latin)
2026-08-27 17:09:15 +00:00
Radoš Milićev e731b7f58d Update Serbian (Cyrillic & Latin) 2026-08-27 18:57:21 +02:00
henrypp 1318800c68 pivo pil? 2026-08-18 23:57:24 +05:00
henrypp f252e9fc8a fix #1713 2026-08-16 01:31:02 +05:00
henrypp a694a2101f pivo 2026-08-15 13:48:14 +05:00
henrypp e8d66c9ca3 копейка 2026-08-12 13:23:25 +05:00
henrypp 145f8ab72e cosmos 2026-08-10 15:19:54 +05:00
henrypp 893b99a5c0 cosmetics 2026-08-09 22:43:46 +05:00
henrypp 66f7bbea5e cosmetics 2026-08-06 22:51:47 +05:00
henrypp 52211ffda6 omit services userservice instances (issue #2123) 2026-07-31 21:39:19 +05:00
henrypp 0e499b0954 code cosmetics 2026-07-31 21:32:57 +05:00
henrypp 85149595b1 upd persian 2026-07-28 00:56:01 +05:00
henrypp 090fa500a3 pivo 2026-07-26 21:23:55 +05:00
henrypp 0b5bd95ee6 upd project sdk 2026-07-25 23:41:07 +05:00
henrypp 455d97e0b3 upd project sdk 2026-07-24 23:24:23 +05:00
henrypp bdfa941ac7 upd bulgarian & turkish 2026-07-24 01:01:35 +05:00
henrypp 7543e76a3b Merge pull request #2119 from Alcazer/master
Update Turkish
2026-07-23 20:00:42 +00:00
henrypp fcfdf3bf1e Merge pull request #2120 from rddim/update-bulgarian-260723
Update Bulgarian localization
2026-07-23 20:00:32 +00:00
rddim c2dd2cd49d Update Bulgarian localization 2026-07-23 22:46:43 +03:00
Alcazer Barış TÜRKGÜCÜ 889c741079 Update Turkish
Türkçe dil güncellendi
2026-07-23 22:44:35 +03:00
henrypp f35139d504 upd italian 2026-07-23 13:30:47 +05:00
henrypp 8bfa1e08ee Merge pull request #2116 from sr093906/master
Update Simplified Chinese strings
2026-07-23 08:28:04 +00:00
henrypp 4c82aaaccc Merge pull request #2115 from bovirus/master
Italian language update
2026-07-23 08:24:26 +00:00
sr093906 1ba4232ef5 Add files via upload 2026-07-23 08:24:04 +00:00
bovirus 0b8af49e55 Italian language update 2026-07-23 10:04:11 +02:00
henrypp d112f45714 fix version 2026-07-22 22:25:08 +05:00
henrypp 215cb2cf06 upd korean 2026-07-22 21:19:12 +05:00
henrypp 8e7c8e4926 upd dutch 2026-07-22 20:28:39 +05:00
henrypp 2e935fb409 Merge pull request #2112 from ltguillaume/master
Dutch
2026-07-22 15:28:19 +00:00
ltguillaume 3722e909ca Dutch 2026-07-22 17:07:44 +02:00
henrypp e9e45f4418 upd changelog 2026-07-22 20:00:43 +05:00
henrypp 854239b03e ++version 2026-07-22 20:00:11 +05:00
henrypp cab737ee6c add undocumented options list 2026-07-22 19:56:27 +05:00
henrypp 6cfd8a5632 changed default window size (zaebal) 2026-07-22 19:49:42 +05:00
henrypp 876cf208aa add option to exclude inbound blocked packets (#2111) 2026-07-22 18:47:27 +05:00
henrypp 4755106db4 upd igmp direction (#2111) 2026-07-22 18:18:49 +05:00
henrypp 61e8565b53 code cosmetics 2026-07-22 18:18:08 +05:00
henrypp a957353c96 fix displaying repeatedly notifications (not from subj) (#2107) 2026-07-22 17:49:16 +05:00
henrypp 79ab36f98d dont use FWP_CONDITION_FLAG_IS_NON_APPCONTAINER_LOOPBACK 2026-07-22 17:45:48 +05:00
henrypp 0de5895d83 upd igmp rule (issue #2111) 2026-07-22 17:45:23 +05:00
henrypp 80431c5488 code cosmetics 2026-07-22 16:24:06 +05:00
henrypp 6ad1181721 upd locale 2026-07-22 16:11:25 +05:00
henrypp 4c7facff7a Merge pull request #2100 from Tarkiin/feat/traffic-columns
feat: add download, upload and total traffic columns to connections list
2026-07-22 11:07:29 +00:00
Tarkiin ee2a86aead feat: add traffic columns to current network monitor 2026-07-22 12:23:14 +02:00
henrypp 42f0e61f01 upd chinese 2026-07-22 14:16:20 +05:00
henrypp 96ec63b2f0 Merge pull request #2110 from sr093906/master
Update Simplified Chinese strings
2026-07-22 09:15:38 +00:00
sr093906 15369df33f Add files via upload 2026-07-22 08:23:01 +00:00
henrypp 2daccefdea upd version 2026-07-21 17:59:14 +05:00
henrypp e9b540e66f upd changelog 2026-07-21 17:57:39 +05:00
henrypp 681c442b65 upd rules 2026-07-21 17:56:01 +05:00
henrypp d308daed43 global reFUCKtoring 2026-07-21 17:55:48 +05:00
henrypp 7c131fc627 upd resource 2026-07-21 16:03:50 +05:00
henrypp 3c44ab2198 upd french 2026-07-19 12:03:21 +05:00
henrypp 50fbeeea69 Merge branch 'master' of https://github.com/henrypp/simplewall 2026-07-19 12:02:50 +05:00
henrypp a438a84d1d Merge pull request #2104 from huldf/french
update french locale
2026-07-19 06:51:30 +00:00
Nathan 5d6684bf93 update french locale 2026-07-18 23:24:28 +02:00
henrypp 07f967e934 upd version 2026-07-17 00:33:00 +05:00
henrypp 6e058371a6 upd bulgarian 2026-07-04 20:52:12 +05:00
henrypp ec30e6301f Merge branch 'master' of https://github.com/henrypp/simplewall 2026-07-04 20:51:37 +05:00
henrypp f26a131626 Merge pull request #2101 from rddim/update-bulgarian-260704
Update Bulgarian localization
2026-07-04 15:50:32 +00:00
rddim cf5c228bad Update Bulgarian localization 2026-07-04 18:41:03 +03:00
henrypp 1efc1d393e packoge updote 2026-07-01 11:22:29 +05:00
henrypp c138c0b0a0 upd locale 2026-06-30 23:04:34 +05:00
henrypp 04ebcae264 Merge pull request #2098 from Alcazer/master
Update Turkish
2026-06-30 18:02:53 +00:00
Alcazer Barış TÜRKGÜCÜ 6ffc904f20 Update Turkish
Türkçe dil güncellendi
2026-06-30 20:21:07 +03:00
henrypp e2b2006cc5 upd spanish 2026-06-30 02:45:58 +05:00
henrypp c463ca4815 Merge pull request #2097 from Tarkiin/master
fix(i18n): complete and improve Spanish translation
2026-06-29 21:44:53 +00:00
Tarkiin 198c65f8db fix(i18n): complete and improve Spanish translation 2026-06-29 22:34:22 +02:00
henrypp 7ae806241f upd dutch 2026-06-29 17:16:41 +05:00
henrypp 05537f369e Merge pull request #2096 from ltguillaume/master
Update Dutch
2026-06-29 12:15:59 +00:00
ltguillaume 4b97967eb2 Update Dutch 2026-06-29 14:13:08 +02:00
henrypp dc4e94482d upd italian 2026-06-29 17:07:57 +05:00
henrypp a242716c63 Merge pull request #2095 from bovirus/master
Italian language update
2026-06-29 10:17:13 +00:00
bovirus c7d4b3a35b Italian language update 2026-06-29 10:05:48 +02:00
henrypp 26d2512115 upd locale 2026-06-28 13:50:55 +05:00
henrypp 3b9f847ae8 upd serbian 2026-06-13 16:40:03 +05:00
henrypp 6b24b9b688 Merge pull request #2091 from PolarniMeda/master
Fix translation mistake
2026-06-13 11:38:03 +00:00
PolarniMeda f41b0e95d3 Update Serbian (Latin).ini
Small fix
2026-06-13 09:57:10 +02:00
PolarniMeda b261ed04b2 Update Serbian (Cyrillic).ini
Small fix
2026-06-13 09:56:38 +02:00
henrypp 80ecc713ca upd psdk and cosmetics 2026-04-20 14:50:07 +05:00
henrypp cdba263b10 code cosmetics 2026-04-14 00:36:43 +05:00
henrypp 7aa9a5ae9f fix sdk update 2026-04-14 00:00:09 +05:00
henrypp 29a0f2355d upd project sdk 2026-04-13 19:51:32 +05:00
henrypp 2955ca392a made fn static 2026-04-10 15:23:04 +05:00
henrypp 8cb2f8309f fix typecasts and cosmetics 2026-04-10 15:22:46 +05:00
henrypp c8a50072c4 code cosmetics 2026-04-07 19:50:03 +05:00
henrypp 0d1eff6e07 upd project sdk & fix FLLTGTHROUGH 2026-04-06 15:44:42 +05:00
henrypp 5c3fd240b8 upd project sdk 2026-03-28 16:43:56 +05:00
henrypp 3dad686352 fix typecasts 2026-03-28 16:43:41 +05:00
henrypp 1c6f5512e2 add armenian locale 2026-03-23 13:21:08 +05:00
henrypp b33787d022 code cosmetics 2026-03-20 23:18:11 +05:00
henrypp ac26edb53b upd readme 2026-03-20 23:17:53 +05:00
henrypp fe42288fb5 upd project sdk 2026-03-04 22:44:00 +05:00
henrypp 3e03ada226 upd project sdk 2026-02-19 18:06:20 +05:00
henrypp 67248d4642 add slovenian 2026-02-05 23:22:22 +05:00
henrypp 41230c6f19 Merge pull request #2076 from anderlli0053/master
Added Slovenian locale
2026-01-30 19:50:01 +00:00
Andrew Poženel 2820031946 Added Slovenian locale 2026-01-30 20:40:09 +01:00
henrypp c29125dc53 make create rule dialog input ES_MULTILINE 2026-01-12 22:59:06 +05:00
henrypp 4641007783 cosmetics 2026-01-12 22:52:49 +05:00
henrypp 6e56a69235 increase rules limit to 1024 symbols (issue #809) 2026-01-12 22:52:41 +05:00
henrypp cffed7c35e fuck off 32-bit 2026-01-12 22:27:20 +05:00
henrypp e5f9689e2a upd wfp.c 2026-01-12 21:52:36 +05:00
henrypp 02d0247ca2 upd security.c 2026-01-12 21:45:21 +05:00
henrypp 54998c3d54 upd main.c/h and global.h year 2026-01-12 21:44:01 +05:00
henrypp 6e03c2ebf8 mark toolbar log icons as disabled when log subsription failed 2026-01-12 21:40:45 +05:00
henrypp 16da82f768 req upd 2026-01-07 18:33:35 +05:00
henrypp 769fb73a57 cosmetics 2026-01-01 16:02:59 +05:00
henrypp ae08056e72 ++year 2026-01-01 16:02:28 +05:00
henrypp 654c26238f cosmetics 2025-12-24 10:26:15 +05:00
henrypp 795b106f5f just add crlf 2025-12-18 00:03:21 +05:00
henrypp bd3a57020c upd project sdk 2025-12-10 01:24:15 +05:00
henrypp 80fa52399e upd project sdk 2025-12-02 16:37:05 +05:00
henrypp 60083603b6 upd _app_db_getprotoname and cosmetics 2025-11-22 21:55:00 +05:00
henrypp 591fee7e8d upd project sdk 2025-11-19 04:17:31 +05:00
henrypp d9ee5dd4e7 or the first time in 5 years i updated _app_db_getservicename 2025-11-19 04:15:54 +05:00
henrypp 1f37f7c3c8 code cosmetics 2025-11-18 19:33:13 +05:00
henrypp d5902ddb91 remove vs2022 2025-11-18 18:51:35 +05:00
henrypp 0ffad30f5a fix vs2026 path 2025-11-17 18:03:44 +05:00
henrypp 09cc4ed596 log listview cosmetics 2025-11-17 18:02:20 +05:00
henrypp 59bcac18bf correct _wfp_logsubscribe and cosmetics 2025-11-16 05:54:47 +05:00
henrypp 1e599c2715 use correct interlockdincrement for log 2025-11-12 17:21:10 +05:00
henrypp 6df3ee4f1e remove duplcate 2025-11-11 16:25:42 +05:00
henrypp 9c058cbd52 Merge branch 'master' of https://github.com/henrypp/simplewall 2025-11-10 23:57:35 +05:00
henrypp 36ac9adcdc upd projct sdk 2025-11-10 23:57:07 +05:00
henrypp b1085f1659 settings cosmetics 2025-11-10 23:56:59 +05:00
henrypp e1a1d06bcb cosmetics 2025-11-10 23:56:43 +05:00
henrypp 4bb5c2a6a0 x=-2 2025-11-04 21:27:25 +05:00
henrypp 3ade9febb2 ren 2025-11-04 21:21:16 +05:00
henrypp a1324ee527 sdk+ 2025-11-04 17:02:33 +05:00
henrypp 970dbd1841 correct order 2025-11-04 16:59:49 +05:00
henrypp 19024887f2 upd project sdk 2025-11-04 15:07:48 +05:00
henrypp 9f2ae198be upd proect sdk 2025-10-27 18:10:22 +05:00
henrypp e49f6a556d upd locale ver 2025-10-25 19:43:00 +05:00
henrypp d7bcef3f63 upd _app_getapppath 2025-10-23 02:22:05 +05:00
henrypp 18b2d3a91e upd _app_command_purgetimers 2025-10-23 02:21:48 +05:00
henrypp 8b3f34b309 upd czech (fix #2047) 2025-10-17 14:24:01 +05:00
henrypp 807e7e7408 upd file_mode 2025-10-13 15:53:12 +05:00
henrypp 3401ea63b1 add dropped packets log id column 2025-10-10 20:54:09 +05:00
henrypp dcad34b2dc upd _app_getapppath 2025-10-09 22:03:09 +05:00
henrypp 1315a78322 fix search box disappear (issue #1790) 2025-10-09 21:55:38 +05:00
henrypp d33f091635 upd _app_logwrite 2025-10-09 21:54:31 +05:00
henrypp 388a225d9b uppercase wfp guids 2025-10-09 21:53:07 +05:00
henrypp 5b6758ee0f add vs2026 support 2025-09-19 17:50:15 +05:00
henrypp f23d4464b0 upd project sdk 2025-09-04 11:03:11 +05:00
henrypp 1be481e2cd fix und updote serpski 2025-08-31 20:14:58 +05:00
henrypp cef0298381 Merge pull request #2035 from rammba/features/sync-serbian-2025-08-31
Update Serbian (Cyrillic & Latin)
2025-08-31 15:12:34 +00:00
Radoš Milićev c35d864355 Update Serbian (Cyrillic & Latin) 2025-08-31 16:49:21 +02:00
henrypp 8f771634de upd chinese simp 2025-08-30 14:32:57 +05:00
henrypp fb11bc21c5 Merge pull request #2034 from sr093906/master
Update Simplified Chinese translation
2025-08-30 09:27:02 +00:00
sr093906 540ccbce1b Add files via upload 2025-08-30 11:17:08 +08:00
henrypp 671adbbfde cosmetix 2025-08-17 19:57:04 +05:00
henrypp a6b1c3efca upd french 2025-08-17 19:56:41 +05:00
henrypp ec02e8ec6f Merge pull request #2029 from huldf/master
update french locale
2025-08-17 14:55:26 +00:00
Nathan 46b6e86767 update french locale
Fixed latest strings.
2025-08-17 15:30:17 +02:00
henrypp dfd4861438 upd japanese 2025-08-09 14:32:31 +05:00
henrypp 0aacb450f1 Merge pull request #2021 from Rukoto/master
Update Japanese.ini
2025-08-09 09:22:14 +00:00
Rukoto Luther 2004c222bc Update Japanese.ini 2025-08-09 11:06:02 +09:00
henrypp 299c2ccee1 upd french 2025-08-08 20:42:03 +05:00
henrypp 7e2b71ee89 ++version 2025-08-08 17:19:43 +05:00
henrypp d2fe271d2e ypd chengelog 2025-08-08 17:18:46 +05:00
henrypp 796f54c922 something changed, something not 2025-08-08 16:26:49 +05:00
henrypp 745954f6ca ++version 2025-08-02 03:45:48 +05:00
henrypp ea0aeadaa3 upd spanish 2025-07-25 20:43:01 +05:00
henrypp e64404ffd1 Merge pull request #2013 from Tarkiin/patch-1
Update Spanish.ini
2025-07-25 15:41:10 +00:00
Tarkiin 0e67d413d9 Update Spanish.ini
translated to 100%
2025-07-25 17:12:59 +02:00
henrypp 5a54586f03 uppercase FOURCC string 2025-07-20 15:08:39 +05:00
henrypp 55c75c6c88 🎸 Currents - It Only Gets Darker 2025-07-19 23:58:13 +05:00
henrypp cbbfb76a60 upd project 2025-07-17 17:42:54 +05:00
henrypp 200f83c5fb fix warnings 2025-07-17 17:42:46 +05:00
henrypp d976d459e5 fix #2012 2025-07-07 14:52:36 +05:00
henrypp 8907f14ee5 cosmetics 2025-07-05 10:32:25 +05:00
henrypp 421bdb8489 upd locale 2025-07-01 09:26:43 +05:00
henrypp 1585fe616d Merge pull request #2011 from rddim/update-bulgarian-250701
Update Bulgarian localization
2025-07-01 04:25:26 +00:00
rddim 65ad574955 Update Bulgarian localization 2025-07-01 01:32:44 +03:00
henrypp 396b9804cb upd manifest 2025-06-30 08:34:37 +05:00
henrypp 421e4b32be upd locale 2025-06-30 06:43:08 +05:00
henrypp cfd846e600 Merge pull request #2010 from Alcazer/master
Update Turkish
2025-06-30 00:28:40 +00:00
Alcazer Barış TÜRKGÜCÜ 5e8161d969 Update Turkish 2025-06-30 02:00:16 +03:00
henrypp a3b707bb7d scorecard.yml 2025-06-29 18:01:56 +00:00
henrypp d38d84362f upd locale 2025-06-29 20:56:12 +05:00
henrypp 1bb1506709 Merge pull request #2007 from ltguillaume/master
Update Dutch
2025-06-29 02:35:08 +00:00
ltguillaume fdf379e881 Update Dutch 2025-06-29 04:22:24 +02:00
henrypp ce604e45ef Merge pull request #2006 from bovirus/master
Italian language update
2025-06-28 13:06:27 +00:00
bovirus 75d63e00c8 Italian language update 2025-06-28 10:33:10 +02:00
henrypp b7d1759263 waiting for PRs (#1984) 2025-06-28 05:30:45 +05:00
henrypp b17cc13e81 fix #1984 2025-06-28 05:30:14 +05:00
henrypp 90916f2a11 upd project sdk 2025-06-27 12:45:37 +05:00
henrypp 1008006f65 upd japanese 2025-05-22 13:47:31 +05:00
henrypp a85945c536 Merge pull request #1987 from Rukoto/master
Update Japanese.ini
2025-05-22 08:21:10 +00:00
Rukoto c50ed52ae2 Update Japanese.ini 2025-05-22 11:27:01 +09:00
henrypp ecc5825716 upd italian 2025-05-21 15:44:36 +05:00
henrypp 06f4479261 Merge pull request #1983 from bovirus/master
Italian language update
2025-05-21 10:42:05 +00:00
bovirus 2e9894aeda Italian language update 2025-05-21 12:37:45 +02:00
henrypp dfddbd1543 ++version 2025-05-21 12:43:50 +05:00
henrypp 8be27ce15d upd changelog 2025-05-21 12:40:46 +05:00
henrypp 0244a70d91 ++version 2025-05-21 12:40:01 +05:00
henrypp 5990b33506 fix #1979 2025-05-21 12:38:54 +05:00
henrypp 59c3e0e57e upd locale 2025-05-04 22:03:21 +05:00
henrypp 1fa930c756 Merge pull request #1974 from rddim/update-bulgarian-250504
Update Bulgarian localization
2025-05-04 17:02:12 +00:00
rddim 92fa17e0ac Update Bulgarian localization 2025-05-04 19:46:41 +03:00
henrypp 49124b1ad5 fix #1973 2025-05-03 23:36:02 +05:00
henrypp 596db0a78d upd french 2025-05-02 00:10:50 +05:00
henrypp 304489f401 Merge pull request #1972 from huldf/master
update french locale
2025-05-01 19:09:05 +00:00
Nathan 508c7fa847 update french locale 2025-05-01 20:35:03 +02:00
henrypp 7b25073db0 upd serbian 2025-04-30 03:34:21 +05:00
henrypp ab3454f670 Merge pull request #1971 from rammba/features/sync-serbian
Update Serbian (cyrillic & latin)
2025-04-29 22:30:45 +00:00
Radoš Milićev 4f35ca0eba Update Serbian (cyrillic & latin) 2025-04-29 23:47:04 +02:00
henrypp a1686f5016 путин красавчик 2025-04-26 23:38:52 +05:00
henrypp d7fad87ca4 fix #1958 npe 2025-04-18 19:04:09 +05:00
henrypp f4238198bb code cosmetics 2025-04-18 01:20:14 +05:00
henrypp e417ad3010 manifest cosmetics 2025-04-16 01:47:42 +05:00
henrypp e2a6bac81a code cosmetics 2025-04-16 01:47:32 +05:00
henrypp 17e3ee22e5 fix #1958 2025-04-05 17:43:31 +05:00
henrypp f918d7943f upd locale 2025-04-03 00:50:57 +05:00
henrypp 6f58534119 USE FUCKING ORIGINAL ENCODING, DONT USE FUCKING WIN. NOTEPAD (#1964) 2025-04-03 00:50:49 +05:00
henrypp 7e01cde661 Merge pull request #1964 from igorruckert/patch-1
Update Portuguese (Brazil).ini
2025-04-02 19:32:23 +00:00
Igor Rückert a36578c831 Update Portuguese (Brazil).ini 2025-04-02 15:59:23 -03:00
henrypp df4c3209f1 upd turkish 2025-04-02 18:50:47 +05:00
henrypp 0211e576bd Merge pull request #1963 from Alcazer/master
Update Turkish
2025-04-02 13:49:15 +00:00
Alcazer Barış TÜRKGÜCÜ 65ab9ca1b5 Update Turkish
Türkçe dil güncellendi
2025-04-02 16:14:40 +03:00
henrypp 32dfc36617 upd korean locale 2025-04-01 23:17:20 +05:00
henrypp 0984934bea upd dutch locale 2025-04-01 22:08:39 +05:00
henrypp 2a5bfbcc17 Merge pull request #1960 from ltguillaume/master
Update Dutch
2025-04-01 17:07:57 +00:00
ltguillaume e01e78b96e Update Dutch 2025-04-01 18:36:00 +02:00
henrypp a737baed86 upd italian locale 2025-04-01 19:07:00 +05:00
henrypp 1d67288ac6 Merge pull request #1959 from bovirus/master
Italian language update
2025-04-01 14:06:03 +00:00
bovirus 680d6dfcef Italian language update 2025-04-01 16:04:36 +02:00
henrypp 8e10b4757c DO NOT USE FUCKING WINDOWS NOTEPAD, IT EVEN DO NOT SAVE ORIGINAL ENCODING, IT IS BULLSHIT (#1957) 2025-04-01 18:05:58 +05:00
henrypp 1511265fc1 Merge pull request #1957 from StoyanDimitrov/patch-1
Update Bulgarian.ini
2025-04-01 12:02:15 +00:00
StoyanDimitrov 0837a1819d Update Bulgarian.ini 2025-04-01 14:40:06 +03:00
henrypp e29fc3cb53 ++version 2025-04-01 15:40:06 +05:00
henrypp 00ef2907e9 upd changelog 2025-04-01 15:39:57 +05:00
henrypp 61b579a635 upd locale 2025-04-01 14:21:40 +05:00
henrypp eba453a607 upd project sdk 2025-03-25 22:56:46 +05:00
henrypp 02236311b7 code cosmetics 2025-03-05 00:45:36 +05:00
henrypp c1b3440719 ++version 2025-02-20 16:05:59 +05:00
henrypp 580138f9a7 upd project sdk 2025-02-20 16:05:10 +05:00
henrypp f6235c2297 editor cosmetics 2025-02-13 00:01:44 +05:00
henrypp 9641e5b40b upd project sdk 2025-02-12 15:15:47 +05:00
henrypp d6fa5dfa51 cosmetics 2025-02-08 15:58:10 +05:00
henrypp c8fabfa2eb correct log viewer file path 2025-02-08 15:58:02 +05:00
henrypp 04856afa61 made tab multiline 2025-02-05 01:38:49 +05:00
henrypp 21d9d67e1d ++year 2025-02-04 00:18:16 +05:00
henrypp c557897201 upd images 2025-02-03 21:45:30 +05:00
henrypp e5d8f70cf2 fix theme color 2025-01-31 21:44:35 +05:00
henrypp 178f6a9627 cleanup 2025-01-31 01:34:05 +05:00
henrypp 85102950d4 upd search theme 2025-01-28 16:18:53 +05:00
henrypp 518fd54bb1 cosmetics 2025-01-26 19:00:26 +05:00
henrypp c570a5d19e fix incorrect returned index #1945 2025-01-26 18:59:24 +05:00
henrypp eba0a965ab fix possible crash 2025-01-24 19:30:09 +05:00
henrypp 3b8a89efd7 add arabic (#1941) 2025-01-17 16:34:13 +05:00
henrypp f1b5577850 upd project sdk 2025-01-12 02:21:58 +05:00
henrypp 512339d506 fuck off #1935 2025-01-07 10:58:02 +05:00
henrypp e24062aee7 ++year 2025-01-07 10:57:39 +05:00
henrypp ff2fd4a108 upd code 2025-01-07 10:57:28 +05:00
henrypp dffc8ef80c Merge pull request #1935 from rudolfbyker/add-import-profile
Allow importing profiles from the command line
2025-01-06 13:41:06 +00:00
Rudolf Byker ba77d256c7 Add support for -import flag in _app_parseargs function to work with -install.
* Call `_app_profile_load` with the specified file path when `-import` flag is provided.
* Update `_app_parseargs` function to handle `-import` flag.
* Update `_app_initialize` function to initialize the application with the imported profile if provided.

Generated using Copilot Workspace.
2025-01-06 13:34:01 +02:00
Rudolf Byker c0e2eed688 Allow importing profiles from the command line
Fixes #1921

I generated this PR using Copilot Workspace. It adds a separate -import flag. However, I think it might be better to make the -import flag an optional flag that works with -install (similar to how -temp and -silent currently works). If given, `_app_profile_load` should be called with the file path instead of `NULL` (if I understood the code correctly).

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/henrypp/simplewall/issues/1921?shareId=XXXX-XXXX-XXXX-XXXX).
2025-01-06 13:20:58 +02:00
henrypp 39cf1ea7e8 upd project sdk 2024-12-27 17:18:05 +05:00
henrypp 17f365a8e6 upd project sdk 2024-12-20 13:37:59 +05:00
henrypp 9126c99a7d upd project sdk 2024-12-19 23:50:41 +05:00
henrypp 815ea1cd3a upd locale 2024-12-14 17:53:31 +05:00
henrypp a4fc4ba19d Merge pull request #1924 from Alcazer/master
Update Turkish
2024-12-14 12:52:19 +00:00
Alcazer Barış TÜRKGÜCÜ 58f49f6aea Update Turkish
Türkçe dil güncellendi
2024-12-14 14:53:59 +03:00
henrypp 7449bf3c49 upd locale 2024-12-06 19:41:57 +05:00
henrypp c6737eb903 Merge pull request #1919 from Rukoto/master
Update Japanese.ini
2024-12-06 14:41:07 +00:00
Rukoto Luther d6e2d984b3 Update Japanese.ini 2024-12-06 21:11:57 +09:00
henrypp b0b438e3d7 upd changelog 2024-11-26 17:27:43 +05:00
henrypp 437cfe223d ++version 2024-11-26 17:27:36 +05:00
henrypp 641f892e7d upd project sdk 2024-11-25 04:20:10 +05:00
henrypp 1a1b8b7733 upd code 2024-11-25 03:57:02 +05:00
henrypp 8e67e1256d upd project sdk 2024-11-25 01:01:51 +05:00
henrypp 4d87ec5801 fix #1912 2024-11-25 01:00:06 +05:00
henrypp 19488d2810 upd project sdk 2024-11-23 22:03:15 +05:00
henrypp 6cc1523a12 cosmetics 2024-11-14 19:38:46 +05:00
henrypp 473799a589 fx #1891 2024-11-14 19:38:34 +05:00
henrypp af2f47ebd7 upd project sdk 2024-11-14 05:28:26 +05:00
henrypp 9317fcb8db upd readme.md 2024-11-14 03:48:49 +05:00
henrypp 55ec05a005 upd locale 2024-11-14 02:16:01 +05:00
henrypp 007db489c7 Merge branch 'master' of github.com:henrypp/simplewall 2024-11-14 02:15:22 +05:00
henrypp 141908ff38 Merge pull request #1908 from huldf/master
update french locale
2024-11-13 21:14:35 +00:00
Nathan 1c7c4776a0 update french locale
Added translation for empty status.
2024-11-13 22:09:19 +01:00
henrypp bf26c51b9e upd project sdk 2024-11-11 03:05:01 +05:00
henrypp 36898e2dcd fixed win7 support 2024-11-08 19:14:01 +05:00
henrypp a0921d6e52 upd project sdk 2024-11-08 19:13:52 +05:00
henrypp 217b0fb1fc upd locale 2024-10-04 02:15:42 +05:00
henrypp bf846f2eba Merge pull request #1894 from Henry2o1o/patch-38
Update German.ini
2024-10-03 21:14:37 +00:00
Hen_Ry 109d35cd6b Update German.ini 2024-10-03 22:51:45 +02:00
henrypp a5b8205dad code cosmetics 2024-10-04 00:57:42 +05:00
henrypp e4994aba15 upd project config 2024-09-23 22:07:43 +05:00
henrypp a80222d270 upd locale 2024-09-23 15:44:59 +05:00
henrypp 72af699c43 upd project sdk 2024-09-17 00:26:37 +05:00
henrypp 394801d1f6 fix image 2024-09-15 04:41:03 +05:00
henrypp ee8c7ee867 upd project config 2024-09-14 01:18:31 +05:00
henrypp 8dfc7ffdbf fix locale 2024-09-14 01:17:04 +05:00
henrypp f46f6c2777 upd locale 2024-09-14 00:52:37 +05:00
henrypp d765698218 Merge pull request #1880 from bovirus/master
Update Italian language
2024-09-13 19:50:59 +00:00
bovirus 5efe0723ea Update Italian language 2024-09-13 21:01:21 +02:00
henrypp cbe4b40793 upd locale 2024-09-13 21:55:28 +05:00
henrypp 863d659c7c upd image 2024-09-13 00:55:07 +05:00
henrypp 50c7bf0c38 upd readme 2024-09-13 00:54:50 +05:00
henrypp bdae73d13b upd locale 2024-09-12 23:38:11 +05:00
henrypp 6968ee9a8c Merge pull request #1879 from bovirus/master
Update Italian language
2024-09-12 18:29:52 +00:00
bovirus fefb41cc52 Update Italian language 2024-09-12 20:26:44 +02:00
henrypp 6c5087886b upd locale 2024-09-11 19:48:03 +05:00
henrypp d68e903bf8 upd locale 2024-09-11 18:16:50 +05:00
henrypp f9a45f2f80 Merge pull request #1876 from bovirus/master
Update Italian language
2024-09-11 13:15:23 +00:00
bovirus 5040e70c6c Update Italian language 2024-09-11 15:08:17 +02:00
henrypp 058d27ea95 upd locale 2024-09-11 17:50:30 +05:00
henrypp 0fbd444fbb Merge pull request #1875 from ltguillaume/master
Update Dutch
2024-09-11 12:49:30 +00:00
ltguillaume 8036437108 Update Dutch 2024-09-11 14:41:06 +02:00
henrypp ee9e581bdb upd changelog 2024-09-11 13:48:59 +05:00
henrypp 81c3d3a20e ++version 2024-09-11 13:48:42 +05:00
henrypp 4179098c74 do not display strange error message (fix #1868) 2024-09-10 19:06:17 +05:00
henrypp b261fae444 upd project sdk 2024-09-10 17:36:34 +05:00
henrypp f286f2ebed fixed notification signature check (fix #1871) 2024-09-10 10:46:19 +05:00
henrypp 68eb38780e code cosmetics 2024-09-09 19:28:58 +05:00
henrypp 9c9d15f001 add empty markup 2024-09-06 01:44:09 +05:00
henrypp 7cb9f88116 upd locale 2024-09-06 01:43:49 +05:00
henrypp c8d998f777 code cosmetics 2024-09-05 15:55:04 +05:00
henrypp 54fc441de9 show error on explore 2024-09-02 14:02:45 +05:00
henrypp 187182435a upd project sdk 2024-08-29 20:12:14 +05:00
henrypp f076962407 changed rule hint 2024-08-27 16:40:00 +05:00
henrypp dbb9ebf97e another readme update 2024-08-27 16:28:21 +05:00
henrypp 46ecb46a59 fixed crash 2024-08-27 15:02:32 +05:00
henrypp d155f68383 upd readme 2024-08-27 15:02:09 +05:00
henrypp 817edd860a upd project sdk 2024-08-26 17:47:43 +05:00
henrypp b80d135cb4 upd project config 2024-08-25 21:07:04 +05:00
henrypp 1014414230 upd project sdk and cosmetics 2024-08-25 20:45:59 +05:00
henrypp d3c6a966cf update dns query flags 2024-08-22 21:54:37 +05:00
henrypp cc2435cf9c fixed format purge 2024-08-22 21:53:27 +05:00
henrypp 818bdaf906 fix possible crash 2024-08-22 00:38:14 +05:00
henrypp 15bfd00c6c sal fixes 2024-08-21 18:04:16 +05:00
henrypp 8daf832c35 fixed tray icon middle click and memory leak 2024-08-21 18:04:04 +05:00
henrypp d0a7bb6053 upd readme 2024-08-20 22:31:34 +05:00
henrypp 5846fc116e cosmetics and remove lock 2024-08-20 22:18:28 +05:00
henrypp e6ab769bb1 code cosmetics 2024-08-20 22:17:37 +05:00
henrypp 7b3c11886a upd project sdk 2024-08-15 17:47:25 +05:00
henrypp 691d6d6c1d upd french locale 2024-08-08 21:48:59 +05:00
henrypp 28c9bd7553 upd version 2024-08-08 04:45:04 +05:00
henrypp dbaa17fa44 upd changelog 2024-08-08 04:44:55 +05:00
henrypp 9c0599c55f code cosmetics 2024-08-07 03:23:45 +05:00
henrypp b99ee978df display timer interval when delete 2024-08-04 23:51:44 +05:00
henrypp ff7cedffe8 cosmetics 2024-08-04 23:49:33 +05:00
henrypp 7eb4d0018e do not save uwp & services 2024-08-04 23:48:28 +05:00
henrypp 468a47846e upd project sdk 2024-08-04 23:39:26 +05:00
henrypp 26bfebebfd disable hashes by default and cosmetics 2024-08-04 23:32:04 +05:00
henrypp d22ed31961 remove duplicate call 2024-07-28 01:06:32 +05:00
henrypp 9b0faeb05f fix readme 2024-07-25 22:28:52 +05:00
henrypp 9bd5465709 upd project sdk 2024-07-25 19:00:57 +05:00
henrypp d6cbbb6e93 upd readme 2024-07-25 18:59:31 +05:00
henrypp 943c9da21f upd readme 2024-07-23 04:19:59 +05:00
henrypp 5e3534f4b4 upd project sdk 2024-07-20 21:23:08 +05:00
henrypp c3b8fb1546 cosmetics 2024-07-14 04:50:43 +05:00
henrypp 6b7bbaece7 improve services watcher 2024-07-12 18:45:09 +05:00
henrypp e9e5358ac8 upd locale 2024-07-11 23:07:57 +05:00
henrypp f0e3d578b0 Merge branch 'master' of github.com:henrypp/simplewall 2024-07-11 23:07:21 +05:00
henrypp 31a6aaa60e Merge pull request #1822 from Alcazer/master
Update Turkish
2024-07-11 18:06:51 +00:00
Alcazer Barış TÜRKGÜCÜ 906ede9cb4 Update Turkish
Türkçe dil güncellendi
2024-07-11 20:02:24 +03:00
henrypp cb80773f7b upd project sdk 2024-07-07 06:00:28 +05:00
henrypp 0ceb116513 upd locale 2024-07-04 18:27:57 +05:00
henrypp 2fb973cd79 Merge pull request #1817 from xingnengmao666/patch-1
Update Chinese (Simplified).ini
2024-07-04 12:25:13 +00:00
xingnengmao666 f3319cc8ba Update Chinese (Simplified).ini
Add translation of "Keep unused apps" and touch up some translations.
2024-07-04 14:52:03 +08:00
henrypp c5a26ffd28 add watch services & uwp apps 2024-07-04 00:37:28 +05:00
henrypp a8b9751b8d fix apps sometimes delete themselves (#1794) 2024-07-03 18:22:56 +05:00
henrypp 6e10e6cf20 remove bullshit 2024-07-03 02:41:53 +05:00
henrypp 674eb30c48 cosmetics 2024-07-03 02:41:32 +05:00
henrypp 17689777af fix INFO_TIMER 2024-07-02 22:54:34 +05:00
henrypp 79f08abceb fix notification queue 2024-07-02 22:46:18 +05:00
henrypp d8034e0b9b upd _app_package_getserviceslist 2024-06-30 19:00:51 +05:00
henrypp 316a1188a2 do not save hash when it is disabled 2024-06-30 18:56:59 +05:00
henrypp c9e0c244f6 win7 fix & cosmetics 2024-06-30 18:14:02 +05:00
henrypp da5db4e5bd fixed saving as compressed on win7 2024-06-30 04:12:27 +05:00
henrypp 401864db0c upd rules & locale 2024-06-19 01:49:03 +05:00
henrypp d2a8eb1414 upd project sdk 2024-06-15 03:54:13 +05:00
henrypp 912bfc372e fix title icon 2024-06-10 18:08:05 +05:00
henrypp 07d92cc7ea upd button styles 2024-06-10 18:07:48 +05:00
henrypp bf7a7f9a8b upd project sdk 2024-06-07 20:18:15 +05:00
henrypp bd92fc05f9 upd internal rules 2024-06-06 01:20:18 +05:00
henrypp 256003543b upd _wfp_logsubscribe 2024-06-06 00:12:05 +05:00
henrypp 33b399df98 upd locale 2024-06-05 15:01:18 +05:00
henrypp ba52674c35 utf16le is requirement 2024-06-05 15:00:36 +05:00
henrypp a397c784c0 Merge pull request #1805 from Henry2o1o/patch-37
Update German.ini
2024-06-05 14:59:09 +05:00
Hen_Ry 6fc5ac6ce9 Update German.ini 2024-06-05 11:10:41 +02:00
henrypp d20a104999 upd project sdk 2024-06-03 23:44:32 +05:00
henrypp f229a226e6 upd locale 2024-06-01 16:33:59 +05:00
henrypp 84f877d197 Merge pull request #1803 from rddim/update-bulgarian-240601
Update Bulgarian localization
2024-06-01 16:33:09 +05:00
rddim 8b8d9f0b39 Update Bulgarian localization 2024-06-01 13:25:21 +03:00
henrypp 7b4e58e0d7 upd packages.c 2024-06-01 15:02:41 +05:00
henrypp a63f048e72 upd _r_sys_createthread 2024-06-01 14:38:26 +05:00
henrypp ff210fdb61 upd _r_str_environmentexpandstring 2024-06-01 14:20:30 +05:00
henrypp 32d41f14b8 ++version 2024-06-01 14:20:15 +05:00
henrypp 747e8f68ff upd _r_path_ntpathfromdos 2024-06-01 13:59:13 +05:00
henrypp 6d9fcf1c4e upd locale 2024-05-29 20:46:45 +05:00
henrypp bd98f05fa4 upd locale 2024-05-28 17:38:06 +05:00
henrypp 1f2bdb19c1 Merge pull request #1800 from ltguillaume/master
Update Dutch
2024-05-28 17:36:53 +05:00
ltguillaume 7148a409b0 Update Dutch 2024-05-28 13:59:10 +02:00
henrypp 95681bbad3 fix timer tooltip 2024-05-28 02:28:57 +05:00
henrypp 0bf1623812 remember last position of notification window (fix #1659) 2024-05-27 04:57:03 +05:00
henrypp 177b34a3bb upd images 2024-05-27 03:27:56 +05:00
henrypp 8c4dad833e upd button icons 2024-05-27 03:24:33 +05:00
henrypp a76b88c804 upd styles 2024-05-27 00:41:47 +05:00
henrypp c11d218d04 set keep unused apps is TRUE by default 2024-05-25 04:03:46 +05:00
henrypp 49c4b3ab7d add _app_deleteappitem 2024-05-25 04:02:23 +05:00
henrypp 9f9e382c88 fix compilation 2024-05-24 23:58:01 +05:00
henrypp 9705cf9af7 add save unused option 2024-05-24 23:57:32 +05:00
henrypp 658360f76b upd locale 2024-05-24 23:43:22 +05:00
henrypp bd288cce19 upd resource 2024-05-24 23:42:15 +05:00
henrypp 9e5f284696 upd project sdk 2024-05-24 23:37:48 +05:00
henrypp a1a5660e71 fix error message 2024-05-24 23:37:34 +05:00
henrypp 1ae5b99fc6 also fix (#1787) 2024-05-10 03:22:32 +05:00
henrypp d9b5fa3650 fix FWP_E_CALLOUT_NOT_FOUND (fix #1787) 2024-05-09 23:16:56 +05:00
henrypp f435125f88 upd italian locale 2024-05-09 19:07:35 +05:00
henrypp 84c92ce05d fix arm64 warning 2024-05-09 16:56:13 +05:00
henrypp 0ff0aafe64 upd _app_profile_refresh 2024-05-09 01:23:32 +05:00
henrypp 3deed6a8c1 upd changelog 2024-05-09 01:17:49 +05:00
henrypp 8d33f41059 ++version 2024-05-09 01:17:29 +05:00
henrypp 4de5812c40 revert back search color 2024-05-08 19:41:25 +05:00
henrypp 2cbf39a6b8 upd project sdk 2024-05-08 05:11:35 +05:00
henrypp 1917a630e2 upd search border color 2024-05-08 01:06:15 +05:00
henrypp 3801577fd5 improved _wfp_logsubscribe 2024-05-07 23:36:51 +05:00
henrypp 87744b05ac upd project sdk 2024-05-07 17:49:23 +05:00
henrypp 1337848cf8 upd readme 2024-05-06 23:08:40 +05:00
henrypp cddfcae1b7 upd manifest 2024-05-06 21:17:50 +05:00
henrypp bef347da98 code cosmetics 2024-05-06 19:25:56 +05:00
henrypp 839d4a3617 revert back win7 support 2024-05-05 18:52:35 +05:00
henrypp 5fed68f555 fixed opening viewer (fix #1757) 2024-05-04 02:05:35 +05:00
henrypp d240db0abf upd _app_listview_addnetworkitem 2024-04-30 18:42:06 +05:00
henrypp fe7ba9e12e fixed search band visibility 2024-04-28 16:45:51 +05:00
henrypp e732d6dd36 upd changelog 2024-04-27 16:05:56 +05:00
henrypp 245e4b0b21 upd version 2024-04-27 16:05:44 +05:00
henrypp 5e9b573431 revert style back 2024-04-27 16:01:56 +05:00
henrypp ab2a931bbd upd package 2024-04-27 16:01:40 +05:00
henrypp d1b83ef5b1 fix log ui incorrect listview item 2024-04-27 14:38:31 +05:00
henrypp 14e832a20c cosmetics 2024-04-27 14:37:01 +05:00
henrypp aa6a783ddb upd _app_command_purgetimers 2024-04-27 14:22:35 +05:00
henrypp 387d25afc1 upd _app_command_purgeunused 2024-04-27 02:08:41 +05:00
henrypp 563d818ccc upd confirm message for timers cleanup 2024-04-26 22:50:20 +05:00
henrypp 6ad670af12 upd locale 2024-04-25 12:10:41 +05:00
henrypp 978a4f83f2 upd project sdk 2024-04-23 19:52:29 +05:00
henrypp 91dd618421 upd project sdk 2024-04-23 00:58:00 +05:00
henrypp 0a6ad85e6e upd project sdk 2024-04-20 01:19:33 +05:00
henrypp ca97b8552d just for lulz 2024-04-11 17:44:11 +05:00
henrypp 28a82ee618 upd swedish 2024-04-06 20:37:26 +05:00
henrypp 069e4eb3f9 use right cast 2024-04-06 04:11:21 +05:00
henrypp bd68adae7b ++version 2024-04-01 23:48:52 +05:00
henrypp d56281673e upd locale 2024-04-01 23:48:38 +05:00
henrypp 77a6befc32 Merge pull request #1751 from sr093906/master
Update Simplified Chinese String
2024-04-01 20:00:18 +05:00
sr093906 b983bae35d Add files via upload 2024-04-01 21:49:20 +08:00
henrypp 1ce56aa90c upd version 2024-04-01 14:16:14 +05:00
henrypp 06e7685d13 upd changelog 2024-04-01 14:15:07 +05:00
henrypp 5eb93a09b0 upd locale 2024-03-30 19:47:39 +05:00
henrypp ac08df3981 Merge pull request #1749 from huldf/master
update french locale
2024-03-30 19:27:28 +05:00
Nathan 003566b08d update french locale
Dark theme translation.
2024-03-30 15:15:25 +01:00
henrypp 8150ac2e2e fix style 2024-03-30 17:06:12 +05:00
henrypp 66c6cb9e78 drop WM_PAINT 2024-03-30 16:21:02 +05:00
henrypp eeb3ed50f4 wufix fix 2024-03-30 02:13:19 +05:00
henrypp f6c5b58219 upd images 2024-03-30 00:37:06 +05:00
henrypp 6462b04976 upd project sdk 2024-03-29 10:31:12 +05:00
henrypp 0e071df6db upd WM_NCPAINT 2024-03-28 16:40:48 +05:00
henrypp 94ab1473d8 upd locale 2024-03-26 22:25:45 +05:00
henrypp 8c1cbc3891 Merge pull request #1747 from Alcazer/master
Update Turkish
2024-03-26 22:24:43 +05:00
Alcazer Barış TÜRKGÜCÜ bf15d9a357 Update Turkish 2024-03-26 19:11:31 +03:00
henrypp 6b01512a0b upd locale 2024-03-24 15:41:02 +05:00
henrypp f6fd5b8066 Merge branch 'master' of github.com:henrypp/simplewall 2024-03-24 15:40:10 +05:00
henrypp 695043aece Merge pull request #1744 from rddim/update-bulgarian-240324
Update Bulgarian localization
2024-03-24 15:35:44 +05:00
rddim a49c4a4983 Update Bulgarian localization 2024-03-24 10:07:45 +02:00
henrypp 4e296336b2 upd locale 2024-03-22 02:43:55 +05:00
henrypp 7dd74553cc Merge branch 'master' of github.com:henrypp/simplewall 2024-03-22 02:43:02 +05:00
henrypp 7f7fe86d38 Merge pull request #1742 from Henry2o1o/patch-36
Update German.ini
2024-03-22 02:42:45 +05:00
Hen_Ry 676a12e5bf Update German.ini 2024-03-21 21:50:51 +01:00
henrypp 732fbff125 remove CopyRect 2024-03-22 01:24:40 +05:00
henrypp 68dfb6e756 upd _app_refreshstatus 2024-03-21 04:50:11 +05:00
henrypp 8a599a8ffa upd version 2024-03-20 20:32:22 +05:00
henrypp 29abe09766 upd locale 2024-03-20 05:34:24 +05:00
henrypp 925eee5279 Merge pull request #1740 from ltguillaume/master
Update Dutch
2024-03-20 05:32:30 +05:00
ltguillaume 978e8aa3ce Update Dutch 2024-03-20 01:29:26 +01:00
henrypp e4c7e257d2 fix mouse message 2024-03-20 05:25:54 +05:00
henrypp ed9c51176b fix dpi support 2024-03-20 04:54:11 +05:00
henrypp 9dc08aa8fb upd project sdk 2024-03-20 03:17:46 +05:00
henrypp e770d814c1 upd icons 2024-03-20 03:17:16 +05:00
henrypp 4e1b7b2462 add dark theme support 2024-03-20 03:17:02 +05:00
henrypp 4f63010efa upd locale 2024-03-20 02:19:47 +05:00
henrypp 1d1a02a5ca upd _app_db_parse_rule 2024-03-02 02:28:04 +05:00
henrypp 6877385b2a upd _app_addrule 2024-03-02 02:26:31 +05:00
henrypp da267317ce upd project sdk 2024-03-01 19:30:07 +05:00
henrypp 877a4a28ae upd project sdk 2024-02-28 05:08:18 +06:00
henrypp 0fe3eb3e45 code cosmetics 2024-02-27 02:53:33 +06:00
henrypp ec08874c0a upd project sdk 2024-02-27 02:53:09 +06:00
henrypp c1a1686e2d upd project sdk 2024-02-19 03:07:38 +06:00
henrypp e99e775567 cosmetics 2024-02-17 04:26:06 +06:00
henrypp b2ae0d3bfc upd project sdk 2024-02-16 00:42:25 +06:00
henrypp c78b039248 upd version 2024-02-14 20:45:47 +06:00
henrypp 0d912cc45d upd locale 2024-02-14 18:02:40 +06:00
henrypp ff61e9e7a3 Merge pull request #1722 from sr093906/master
Update Simplified Chinese Strings
2024-02-14 18:00:39 +06:00
sr093906 73e95b9fed Add files via upload 2024-02-14 12:48:45 +08:00
henrypp bbb81492c5 upd project sdk 2024-02-14 00:14:34 +06:00
henrypp e04409e110 upd code 2024-02-10 02:02:33 +06:00
henrypp 2e89bb706b upd project sdk 2024-02-08 19:25:08 +06:00
henrypp ea32b323b0 fix context menu 2024-02-07 04:35:04 +06:00
henrypp 3bf81f93d6 revert back internall rules 2024-01-28 06:04:19 +06:00
henrypp 9f127fb180 upd changelog 2024-01-28 05:57:50 +06:00
henrypp 6e0e38f286 upd version 2024-01-28 05:57:35 +06:00
henrypp 8eaf6ec800 code cosmetics 2024-01-28 00:09:13 +06:00
henrypp 66fd40b412 remove _app_listview_sort_ex 2024-01-25 23:11:13 +06:00
henrypp 5e053ec8ac remove _app_listview_resize_ex 2024-01-25 23:03:26 +06:00
henrypp a74409d0be fix apps disabled removal menu 2024-01-24 02:13:23 +06:00
henrypp 603080acd0 added _app_isdisabledremoval 2024-01-24 02:12:53 +06:00
henrypp 3fee4b3dcd saving flag state on filters install/uninstall 2024-01-23 23:44:22 +06:00
henrypp b26b3467d4 code cosmetics & year++ 2024-01-23 23:42:16 +06:00
henrypp fcbd8a3395 upd dropped packets log context menu 2024-01-23 21:04:17 +06:00
henrypp a101f581d1 code cosmetics 2024-01-23 21:01:46 +06:00
henrypp 34a6b1e809 add _app_listview_getappcontext 2024-01-23 20:11:13 +06:00
henrypp bd6d3fd4d1 upd project sdk 2024-01-23 04:45:54 +06:00
henrypp 1922477149 upd project sdk 2024-01-21 20:32:11 +06:00
henrypp 42ed962593 fix #1696 2024-01-16 23:28:13 +06:00
henrypp f9ba25aaa4 upd project sdk 2024-01-16 20:55:33 +06:00
henrypp c843bf17b3 cosmetics 2024-01-15 23:15:35 +06:00
henrypp 19cccfcce3 upd project sdk 2024-01-15 18:16:38 +06:00
henrypp dfec331081 upd project sdk 2024-01-14 03:42:14 +06:00
henrypp 64e850c0ef upd locale 2024-01-13 21:26:43 +06:00
henrypp dadf67e429 Merge pull request #1697 from ltguillaume/master
Correction for Dutch
2024-01-13 21:22:42 +06:00
ltguillaume dc312305c1 Correction for Dutch 2024-01-13 15:46:49 +01:00
henrypp 0e3ec5e596 more idiots will be in future 2024-01-11 01:43:31 +06:00
henrypp 16cfed0264 comsetics 2024-01-11 01:13:14 +06:00
henrypp b244d3c9e5 upd german 2024-01-07 02:15:26 +06:00
henrypp 5e880ba417 Merge pull request #1693 from Henry2o1o/patch-35
Update German.ini
2024-01-07 01:03:59 +06:00
Hen_Ry 8ef0ffc24e Update German.ini 2024-01-06 19:29:27 +01:00
henrypp 50ca2cca7f upd turkish 2024-01-06 04:05:00 +06:00
henrypp f75c954f2f Merge pull request #1690 from Alcazer/master
Update Turkish
2024-01-06 03:52:54 +06:00
Alcazer Barış TÜRKGÜCÜ 24ec6c216e Update Turkish
Türkçe dil güncellendi
2024-01-06 00:48:17 +03:00
henrypp 3fb81856d9 fix _r_fs_openfile 2024-01-05 00:35:39 +06:00
henrypp f4f0dc61da upd locale 2024-01-05 00:32:35 +06:00
henrypp 4e0dc02c69 Merge pull request #1687 from rddim/update-bulgarian-240104
Update Bulgarian localization
2024-01-05 00:28:53 +06:00
rddim 9a854de2d7 Update Bulgarian localization 2024-01-04 20:22:28 +02:00
henrypp e4135e0ed3 upd italian 2024-01-04 22:12:28 +06:00
henrypp 469f5a791d upd locale 2024-01-04 00:39:31 +06:00
henrypp 7b0b898210 fix crash (fix #1686) 2024-01-04 00:39:18 +06:00
henrypp 3a551f88f5 upd changelog 2024-01-03 20:15:18 +06:00
henrypp 4d8887c7f0 ++version 2024-01-03 19:29:08 +06:00
henrypp a6a1bc433b upd images 2024-01-02 23:50:42 +06:00
henrypp aa901e1d1c use _r_sys_getprocessimagepathbyid 2024-01-02 23:32:08 +06:00
henrypp 27a5d971ef cleanup 2024-01-02 20:46:22 +06:00
henrypp 426079a8d8 add highlighting undelatble apps 2024-01-02 20:39:54 +06:00
henrypp d1ffaa0a0e ++year 2024-01-02 20:05:28 +06:00
henrypp d9dd978972 upd readme 2023-12-31 18:29:09 +06:00
henrypp ff3e1e2f7e upd locale 2023-12-31 18:18:47 +06:00
henrypp 29ac73e057 Merge branch 'master' of github.com:henrypp/simplewall 2023-12-31 18:17:56 +06:00
henrypp 1545c94c36 added error message when error of load library occurred and cosmetics 2023-12-30 22:34:36 +06:00
henrypp 6a410a32c0 Merge pull request #1679 from rddim/update-bulgarian-231230
Update Bulgarian localization
2023-12-30 15:49:54 +06:00
rddim 1e800d36b7 Update Bulgarian localization 2023-12-30 11:42:07 +02:00
henrypp e2b3f32dab upd search.c 2023-12-30 04:25:32 +06:00
henrypp ea03da6da6 ++year 2023-12-30 04:24:22 +06:00
henrypp ca806b5370 upd search.c 2023-12-30 03:48:34 +06:00
henrypp f0a76ead8f upd readme 2023-12-30 01:22:29 +06:00
henrypp e513f682b9 upd project sdk 2023-12-30 01:08:42 +06:00
henrypp a17250e06d upd locale 2023-12-29 03:31:41 +06:00
henrypp a582a7973b Merge pull request #1678 from huldf/master
update french locale
2023-12-29 03:30:47 +06:00
henrypp 85580fec07 upd project sdk 2023-12-29 03:17:38 +06:00
Nathan 779345dc73 update french locale 2023-12-28 21:27:34 +01:00
henrypp 1c072367da fixed sal and cosmetics 2023-12-29 01:05:41 +06:00
henrypp 60533782cc upd project sdk 2023-12-27 00:18:54 +06:00
henrypp 45be5f1a66 upd korean 2023-12-26 19:40:39 +06:00
henrypp 5cd38ec0ec upd dutch 2023-12-25 01:35:19 +06:00
henrypp 9723831af5 Merge pull request #1675 from ltguillaume/master
Dutch
2023-12-25 01:34:27 +06:00
ltguillaume b96b870afa Dutch 2023-12-24 19:58:48 +01:00
henrypp 0c5e198bd2 fix editor window 2023-12-24 05:26:25 +06:00
henrypp 7dfc87f0cc fix rule tooltip markup 2023-12-24 05:25:32 +06:00
henrypp a3aa8fd2c2 upd project sdk 2023-12-24 04:22:58 +06:00
henrypp c18594b2b9 upd resources 2023-12-23 02:23:03 +06:00
henrypp ff1094a121 upd editor (#1664) 2023-12-23 02:22:44 +06:00
henrypp 691f49cf57 forgot to save rule comment (#1664) 2023-12-23 02:20:34 +06:00
henrypp 9d42d141f7 add comments tooltip (#1664) 2023-12-23 01:48:03 +06:00
henrypp 8dc83462fd upd notifications.c 2023-12-23 01:38:49 +06:00
henrypp 2be53a5f01 add comment definiton (#1664) 2023-12-23 01:38:14 +06:00
henrypp 2b4621ba42 upd profile.c (#1664) 2023-12-23 01:20:49 +06:00
henrypp fd01c2929d add comment item (#1664) 2023-12-23 01:19:16 +06:00
henrypp d02ae81b4c upd locale (#1664) 2023-12-23 01:13:22 +06:00
henrypp 2ac858d014 upd project sdk 2023-12-19 18:42:40 +06:00
henrypp 1731bf13d5 upd locale 2023-12-19 03:36:42 +06:00
henrypp ada05d683c Merge pull request #1669 from huldf/master
update french locale
2023-12-19 03:34:51 +06:00
Nathan e293d3c8b5 update french locale
Added a new translated string.
2023-12-18 22:19:43 +01:00
henrypp 14f44b7c6d upd project sdk 2023-12-19 01:35:00 +06:00
henrypp 1b8535c671 upd locale 2023-12-19 00:01:31 +06:00
henrypp f1d36d18c1 Merge pull request #1668 from rddim/update-bulgarian-231218
Update Bulgarian localization
2023-12-19 00:00:19 +06:00
rddim bcfbd17632 Update Bulgarian localization 2023-12-18 19:56:06 +02:00
henrypp 27d3444707 code cosmetics 2023-12-18 19:44:42 +06:00
henrypp b4c242d1ae menu cosmetics 2023-12-16 19:09:01 +06:00
henrypp 22fe3668b5 dialog cosmetics 2023-12-16 19:03:19 +06:00
henrypp ff28a82c87 code cosmetics 2023-12-16 18:52:47 +06:00
henrypp 7004974e5a added recheck app hash in properies dialog 2023-12-16 18:50:38 +06:00
henrypp b13ce0a114 upd locale 2023-12-16 15:05:32 +06:00
henrypp 7ef839fb0a upd resources 2023-12-16 15:04:56 +06:00
henrypp 5c7e6edb5b add option to disable hash checking (fix #1665) 2023-12-16 15:04:38 +06:00
henrypp bf4cde29f5 code cosmetics 2023-12-12 22:31:18 +06:00
henrypp 39012cbd39 upd _app_db_getservicename 2023-12-12 13:10:13 +06:00
henrypp 713ea8fc0f code cosmetics 2023-12-11 23:29:41 +06:00
henrypp 004a057383 upd _app_db_getservicename 2023-12-11 18:39:14 +06:00
henrypp e6351083ae code cosmetics 2023-12-10 16:36:03 +06:00
henrypp 112aedac05 upd changelog 2023-11-30 19:10:02 +06:00
henrypp 48457bc917 ++version 2023-11-30 19:08:26 +06:00
henrypp d2764accb2 cosmetics 2023-11-30 03:13:02 +06:00
henrypp f72a0380d2 fix #1648 2023-11-30 03:12:28 +06:00
henrypp c04f0e98da upd project sdk 2023-11-28 17:20:01 +06:00
henrypp 106e4c6f08 upd code 2023-11-15 03:59:17 +06:00
henrypp 3b02df351b upd funding 2023-11-05 19:46:41 +06:00
henrypp 66d66dafd2 upd funding 2023-11-04 12:02:16 +06:00
henrypp 08acb6205c upd locale 2023-11-04 12:02:02 +06:00
henrypp 20fd6d672f Merge pull request #1631 from huldf/master
update french locale
2023-11-04 11:37:12 +06:00
Nathan 6b76e777f0 update french locale
harmonize translation
2023-11-03 23:08:50 +01:00
henrypp 8fa58e0f82 Merge pull request #1629 from huldf/master
update readme
2023-11-03 15:07:09 +06:00
Nathan 4fbdda6cfe update readme
fix dead links
2023-11-03 09:39:55 +01:00
henrypp 18372649b4 upd changelog 2023-11-01 18:23:03 +06:00
henrypp e768114bc8 ++version 2023-11-01 18:22:51 +06:00
henrypp ecee35f312 upd _app_notify_killprocess 2023-11-01 18:12:24 +06:00
henrypp 89001402ee cosmetics 2023-11-01 18:03:06 +06:00
henrypp ca6fcf8822 upd locale 2023-11-01 01:15:03 +06:00
henrypp 9e6d058817 Merge pull request #1625 from Henry2o1o/patch-34
Update German.ini
2023-10-31 23:20:44 +06:00
Hen_Ry 50bed31b59 Update German.ini 2023-10-31 18:11:18 +01:00
henrypp 0f9c644f72 upd _app_timercallback 2023-10-31 22:00:47 +06:00
henrypp 384c7ce148 add _app_wufixenabled 2023-10-31 21:40:22 +06:00
henrypp 7bbb202f4d upd _app_getcount 2023-10-31 21:26:10 +06:00
henrypp 46552e28ce revert back isappunused 2023-10-31 21:22:32 +06:00
henrypp a599204a27 upd _app_isappexists (issue #1616) 2023-10-31 21:21:34 +06:00
henrypp bf800ce3d8 upd profile internal 2023-10-31 19:38:24 +06:00
henrypp adfc8730e6 upd locale 2023-10-31 01:31:33 +06:00
henrypp 1b91aa80ba Merge pull request #1623 from huldf/master
update french locale
2023-10-31 01:30:38 +06:00
Nathan 66c3a9d778 update french locale 2023-10-30 20:02:18 +01:00
henrypp e11f01841c upd locale 2023-10-30 23:30:50 +06:00
henrypp 43bc4764a8 Merge pull request #1622 from ltguillaume/master
Update Dutch
2023-10-30 23:29:39 +06:00
ltguillaume d9e9088586 Update Dutch 2023-10-30 17:22:36 +01:00
henrypp 212538ffc4 fix saving services & uwp (fix #1616) 2023-10-29 01:49:53 +06:00
henrypp f673a716f6 upd locale 2023-10-28 20:19:17 +06:00
henrypp c51fb46b62 Merge pull request #1618 from rddim/update-bulgarian-231028
Update Bulgarian localization
2023-10-28 20:18:09 +06:00
rddim faef9d3ab1 Update Bulgarian localization 2023-10-28 17:13:09 +03:00
henrypp 629f121994 upd locale 2023-10-28 09:58:39 +06:00
henrypp d84eafd943 Merge pull request #1615 from Alcazer/master
Update Turkish
2023-10-28 02:41:25 +06:00
Alcazer Barış TÜRKGÜCÜ 5874fa73e2 Update Turkish 2023-10-27 23:23:56 +03:00
henrypp b6e361d7d9 upd locale 2023-10-28 02:00:29 +06:00
henrypp 0b097a8cf5 Merge pull request #1614 from bovirus/master
Update Italian language
2023-10-28 01:57:40 +06:00
bovirus b4ab890789 Update Italian language 2023-10-27 21:33:14 +02:00
henrypp b7038228a0 upd locale 2023-10-27 23:55:06 +06:00
henrypp 48a0b11965 Merge pull request #1613 from andrewczm/master
Update Polish.ini
2023-10-27 23:21:39 +06:00
andrewczm 05bf5cd3da Update Polish.ini
Updated Polish translation
2023-10-27 18:58:19 +02:00
henrypp 17034517d4 upd version 2023-10-27 20:56:59 +06:00
henrypp bacf316db6 upd changelog 2023-10-27 20:55:04 +06:00
henrypp e40ddcdaa3 ++version 2023-10-27 20:54:33 +06:00
henrypp fb84b3d6bd not save uwp/services 2023-10-27 20:52:58 +06:00
henrypp e21c469bdb upd profile internal 2023-10-27 20:47:58 +06:00
henrypp 0fba1b45a8 upd project sdk 2023-10-27 14:51:43 +06:00
henrypp d1ee35bd81 upd korean 2023-10-26 21:49:39 +06:00
henrypp 6cd69b840e cosmetics 2023-10-26 21:06:07 +06:00
henrypp ec036bf86d fixed cannot save itself (fix #1609) 2023-10-26 21:05:32 +06:00
henrypp 1267c413c8 upd locale 2023-10-25 17:38:05 +06:00
henrypp 5b6253c99e upd resource 2023-10-25 17:37:39 +06:00
henrypp b87d01fc48 add disable app deletion (fix #1155) 2023-10-25 17:37:22 +06:00
henrypp afebf9f98e fix possible crash (issue #1582) and cosmetics 2023-10-25 13:47:55 +06:00
henrypp 30657763df upd code 2023-10-23 20:35:03 +06:00
henrypp 38f8418e77 upd locale 2023-10-23 12:57:31 +06:00
henrypp 0c843820c4 drop update definiton locale (unused) 2023-10-18 21:26:46 +06:00
henrypp e587270f83 cosmetics 2023-10-18 21:26:18 +06:00
henrypp e5085b2655 upd build_simplewall_rules script 2023-10-18 21:25:20 +06:00
henrypp 93c137f501 remove STATUS_OBJECT_PATH_NOT_FOUND from message and fixes 2023-10-15 00:09:13 +06:00
henrypp f762ecac56 fix #1589 2023-10-12 00:03:09 +06:00
henrypp 95d2171955 upd changelog 2023-10-11 23:05:05 +06:00
henrypp 5883654fe1 upd version 2023-10-11 23:04:56 +06:00
henrypp fffcb63822 ++version 2023-10-11 23:04:12 +06:00
henrypp 81652b7f5d upd locale 2023-10-11 23:00:38 +06:00
henrypp 01b008aaed code cosmetics 2023-10-11 22:37:38 +06:00
henrypp 2ff70fadbd upd readme 2023-10-11 15:09:56 +06:00
henrypp 8dd765b755 upd code 2023-10-11 14:33:06 +06:00
henrypp deb763b197 upd profile.c 2023-10-11 14:32:21 +06:00
henrypp 063dbb1daa upd helper.c 2023-10-11 14:15:45 +06:00
henrypp 41c4f0af83 upd workqueue environment 2023-10-10 14:50:18 +06:00
henrypp e6ddc08cbc upd security.c 2023-10-10 14:27:39 +06:00
henrypp 51a148a690 fix #1587 2023-10-08 23:33:24 +06:00
henrypp 988630ed5d upd project sdk 2023-10-08 23:31:56 +06:00
henrypp 4088bd84ef upd readme.md 2023-10-07 22:54:20 +06:00
henrypp e9ddd8ef8a upd project sdk 2023-10-07 20:31:12 +06:00
henrypp 64575451ff code cosmetics 2023-10-07 16:24:44 +06:00
henrypp 3c024c2d0b revert back certificates checking option 2023-10-02 18:42:15 +06:00
henrypp 38ebcb36ee upd locale 2023-10-02 13:46:24 +06:00
henrypp 36ff64ae1c cosmetics 2023-09-29 11:45:38 +06:00
henrypp aa20251ee8 upd readme 2023-09-25 13:42:35 +06:00
henrypp 58931b5f55 upd manifest 2023-09-25 13:37:51 +06:00
henrypp 348ab2d419 fix #1557 2023-09-23 13:56:20 +06:00
henrypp 44ce03e5ef ++version 2023-09-21 21:15:39 +06:00
henrypp 97e83d07e8 upd changelog 2023-09-21 20:27:05 +06:00
henrypp df1b8b135b ++version 2023-09-21 20:26:55 +06:00
henrypp 14ced6a9ff upd _app_setappinfo 2023-09-21 20:26:44 +06:00
henrypp db3335c257 fix arm64 build 2023-09-21 20:26:29 +06:00
henrypp 68446788c0 fix cast 2023-09-21 19:38:20 +06:00
henrypp 9246bddd8b fix some apps cannot retrieve it's icons 2023-09-21 15:42:37 +06:00
henrypp 3844c53ebb upd display info message 2023-09-21 15:41:30 +06:00
henrypp 9c8aab197a code cosmetics 2023-09-21 15:05:36 +06:00
henrypp 6ce3a1a4ab fixed version info retrieval 2023-09-21 14:26:13 +06:00
henrypp 9321c9c8f2 code cosmetics 2023-09-20 22:48:45 +06:00
henrypp 1a24d7a980 upd workqueue 2023-09-20 20:21:31 +06:00
henrypp 25e472ab9d use _r_ctrl_setstring 2023-09-20 17:11:36 +06:00
henrypp 9939ea6702 use LdrUnloadDll 2023-09-20 16:31:46 +06:00
henrypp 1f1c8150ce upd _app_db_decodebuffer 2023-09-20 16:31:35 +06:00
henrypp d5937ce6d6 fix _app_isappused 2023-09-20 13:17:40 +06:00
henrypp 8119849bc8 drop win7 & win8 support 2023-09-20 13:01:53 +06:00
henrypp 00bc3208d4 fix saving unused apps 2023-09-20 12:52:19 +06:00
henrypp bab2e944e5 fix share rights 2023-09-20 12:45:06 +06:00
henrypp 3871a4c633 upd search 2023-09-19 13:50:25 +06:00
henrypp a33e726029 upd timer.c 2023-09-16 20:02:26 +06:00
henrypp e21cad4eb0 upd readme 2023-09-16 19:29:16 +06:00
henrypp 65427ff207 change error message 2023-09-14 14:29:09 +06:00
henrypp 467a735a01 add visual studio build script 2023-09-14 14:28:48 +06:00
henrypp 28178c2f49 upd code 2023-09-12 00:25:43 +06:00
henrypp c56ee4e007 use NtOpenProcessTokenEx 2023-09-10 15:40:18 +06:00
henrypp 1c94b9d49c upd readme.txt 2023-09-10 14:45:33 +06:00
henrypp e5fe6a9591 Merge pull request #1541 from rddim/update-readme-230910
Update README.md
2023-09-10 14:41:41 +06:00
rddim cfcd2a9d28 Update README.md 2023-09-10 11:28:29 +03:00
henrypp dbb0a41ef7 upd search.c 2023-09-09 20:02:31 +06:00
henrypp a0e0080231 fix sal 2023-09-09 20:01:22 +06:00
henrypp 43ecf3f618 upd _app_queueresolveinformation 2023-09-09 02:26:48 +06:00
henrypp 355076992c upd _app_getappinfoparam2 2023-09-08 23:49:38 +06:00
henrypp 084ccf8871 add BCRYPT_SHA1_ALGORITHM for signature checking 2023-09-08 22:28:23 +06:00
henrypp 1a1c01693b added error message for terminate process button action 2023-09-08 22:21:33 +06:00
henrypp b4f81b2fcf cosmetics 2023-09-08 22:14:58 +06:00
henrypp a3f2cc7ae2 upd _app_formatip 2023-09-08 21:55:28 +06:00
henrypp 0b303d2459 fix memory leak 2023-09-08 20:56:40 +06:00
henrypp e7f910e7af upd _app_isappvalidbinary 2023-09-08 20:56:09 +06:00
henrypp cadc5b2d98 upd _app_isappvalidbinary 2023-09-08 20:50:49 +06:00
henrypp 47a92f4aaf fix _r_path_ntpathfromdos error codes (fix #1528) 2023-09-08 14:38:31 +06:00
henrypp dd64990d04 upd code 2023-09-08 14:32:55 +06:00
henrypp 5ad314c572 upd _app_fileloggingenable 2023-09-08 14:32:33 +06:00
henrypp 3f7ee532f9 upd project sdk 2023-09-05 20:00:58 +06:00
henrypp 628b443461 upd preprocessor definitions 2023-09-03 02:10:22 +06:00
henrypp fa91ebe1da set windows 8.1 as minimum required version 2023-08-25 14:44:11 +06:00
henrypp 75a2f89b54 upd project sdk 2023-08-25 14:43:28 +06:00
henrypp e5a8930c0f upd project sdk 2023-08-22 18:58:33 +06:00
henrypp 78c73bb17d upd _app_parseargs 2023-08-21 22:40:51 +06:00
henrypp bbbb4fdf33 upd wfp.c 2023-08-21 22:40:19 +06:00
henrypp 12d9dfb213 upd project sdk 2023-08-18 17:57:20 +06:00
henrypp 85574c2e03 upd code 2023-08-16 19:01:34 +06:00
henrypp 8a948386fd fix exclude classify allow 2023-08-12 18:19:52 +06:00
henrypp 7bcb591a9b upd project sdk 2023-08-12 18:19:13 +06:00
henrypp 816ce9935f cosmetics 2023-08-11 01:50:08 +06:00
henrypp 51e1e9ffd5 upd runtime library 2023-08-11 01:42:49 +06:00
henrypp bee230686d upd _app_profile_load_internal 2023-08-10 16:02:06 +06:00
henrypp 6333ba0bf7 upd project sdk 2023-08-10 13:42:23 +06:00
henrypp dbec1eea7f upd locale 2023-08-07 23:28:41 +06:00
henrypp e940afd715 Merge pull request #1507 from rddim/update-bulgarian-230807
Update Bulgarian localization
2023-08-07 23:27:40 +06:00
rddim 82a3a0df40 Update Bulgarian localization 2023-08-07 20:00:13 +03:00
henrypp ef492acea3 upd win8 support 2023-08-07 23:00:03 +06:00
henrypp 08a19ff552 upd win8 support 2023-08-07 22:51:39 +06:00
henrypp c8f38abc03 upd db.c 2023-08-07 20:46:42 +06:00
henrypp 45dfb98189 drop windows 7 support 2023-08-07 20:44:51 +06:00
henrypp 20931b1340 upd locale 2023-08-06 23:24:54 +06:00
henrypp 6c835fb2bc upd project sdk 2023-08-06 20:21:38 +06:00
henrypp 16ca7e8c68 upd _app_db_openfromfile 2023-08-06 20:20:47 +06:00
henrypp 93e6e8b4d9 upd project sdk 2023-08-06 00:47:52 +06:00
henrypp 2bef992756 upd project sdk 2023-08-05 16:06:45 +06:00
henrypp 523fb9b97f upd locale 2023-08-05 16:06:21 +06:00
henrypp b1efb725cc Merge pull request #1504 from andrewczm/master
Update Polish.ini
2023-08-05 15:49:02 +06:00
andrewczm d6dd32f846 Update Polish.ini 2023-08-05 11:19:09 +02:00
henrypp 6f69ed1a56 Merge pull request #1502 from andrewczm/master
cosmetic changes
2023-08-04 19:06:02 +06:00
andrewczm fa3eeb014b Update Polish.ini 2023-08-04 12:48:47 +02:00
andrewczm e2d6d2db5b Update Polish.ini 2023-08-03 19:32:39 +02:00
andrewczm c45c2be9f4 Update Polish.ini 2023-08-03 19:10:21 +02:00
henrypp ec236d8804 Merge pull request #1499 from andrewczm/master
Update Polish.ini
2023-08-03 14:45:30 +06:00
andrewczm 163ab689c2 Update Polish.ini 2023-08-03 10:37:31 +02:00
henrypp df2209fea0 upd locale 2023-08-02 15:07:10 +06:00
henrypp 8c0ebcb654 Merge pull request #1496 from andrewczm/master
Corrections
2023-08-01 22:07:45 +06:00
andrewczm 8ecf47a67e Update Polish.ini 2023-08-01 17:35:24 +02:00
henrypp 587e79ad8b upd locale 2023-08-01 17:59:08 +06:00
henrypp 770b4d2c18 Merge branch 'master' of github.com:henrypp/simplewall 2023-08-01 17:57:59 +06:00
henrypp 7434d8a6e7 upd locale 2023-08-01 17:57:23 +06:00
henrypp 3af120f439 Merge pull request #1492 from Henry2o1o/patch-31
Fix
2023-08-01 16:15:51 +06:00
Hen_Ry c25987874f Fix 2023-08-01 10:15:29 +02:00
andrewczm 79fcb4e3d8 Update Polish.ini 2023-08-01 10:08:48 +02:00
andrewczm 710db417ae Update Polish.ini 2023-08-01 09:49:40 +02:00
andrewczm 7a33835f29 Update Polish.ini 2023-08-01 09:37:37 +02:00
henrypp b6724ca767 upd locale 2023-08-01 12:52:37 +06:00
henrypp 7832ae39f7 Merge pull request #1491 from andrewczm/master
Corrections
2023-08-01 11:43:19 +06:00
andrewczm 2fba5eef11 Update Polish.ini 2023-08-01 07:23:18 +02:00
andrewczm 06faa75886 Update Polish.ini 2023-07-31 10:09:16 +02:00
henrypp 9076f92c11 fix changelog 2023-07-31 13:27:30 +06:00
henrypp 6d39550268 upd locale 2023-07-31 13:12:08 +06:00
henrypp a0ea4180b4 Merge branch 'master' of github.com:henrypp/simplewall 2023-07-31 13:11:01 +06:00
henrypp 851b94bd8e upd build.bat 2023-07-31 13:09:01 +06:00
henrypp 4adb93173e upd changelog 2023-07-31 13:08:50 +06:00
henrypp 0177e39b82 ++version 2023-07-31 13:07:31 +06:00
henrypp 2c93d7d209 Merge pull request #1485 from igorruckert/patch-4
Update Portuguese (Brazil).ini
2023-07-31 12:15:46 +06:00
Igor Rückert b6ec1b3d52 Update Portuguese (Brazil).ini 2023-07-30 23:57:21 -03:00
henrypp c01f38734d upd locale 2023-07-30 15:39:33 +06:00
henrypp ceeae3e709 Merge pull request #1479 from andrewczm/master
A few corrections to the Polish file
2023-07-30 14:19:58 +06:00
andrewczm 436383b7b0 Update Polish.ini 2023-07-30 10:05:13 +02:00
andrewczm e32e510161 Update Polish.ini 2023-07-30 09:05:36 +02:00
andrewczm a0ed6a9c85 Update Polish.ini 2023-07-30 08:59:18 +02:00
andrewczm aff410e9f6 Update Polish.ini 2023-07-30 08:55:48 +02:00
henrypp 124f676cc6 upd locale 2023-07-30 00:22:05 +06:00
henrypp 9e58937000 upd locale 2023-07-29 16:08:56 +06:00
henrypp 47f7f80e65 Merge pull request #1471 from andrewczm/master
Update Polish.ini
2023-07-29 16:06:33 +06:00
andrewczm 1bed472791 Update Polish.ini 2023-07-29 10:42:33 +02:00
henrypp a9091e201b upd locale 2023-07-29 14:07:42 +06:00
henrypp a6dc35e848 Merge pull request #1469 from andrewczm/master
Update Polish.ini
2023-07-29 14:06:28 +06:00
andrewczm 5a41eeeb9c Update Polish.ini 2023-07-29 09:51:21 +02:00
henrypp ead8451b86 fix import (fix #1466) 2023-07-29 13:49:49 +06:00
henrypp 41fde1606a upd locale 2023-07-29 00:16:00 +06:00
henrypp d0164d48b3 Merge pull request #1465 from Alcazer/patch-1
Update Turkish
2023-07-29 00:13:59 +06:00
Alcazer Barış TÜRKGÜCÜ 5b107b3578 Update Turkish 2023-07-28 20:53:33 +03:00
henrypp d6f85d8a19 upd locale 2023-07-28 20:55:14 +06:00
henrypp db05966e2f fix possible crash (fix #1455) 2023-07-28 13:24:54 +06:00
henrypp a6b45aa756 upd project sdk 2023-07-28 13:23:07 +06:00
henrypp c2069c84f8 upd locale 2023-07-28 12:46:28 +06:00
henrypp 1cbaf97d2d Merge pull request #1458 from andrewczm/patch-5
Update Polish.ini
2023-07-28 12:44:45 +06:00
andrewczm d360c3c366 Update Polish.ini 2023-07-28 08:41:12 +02:00
henrypp c1b521059f Merge pull request #1457 from andrewczm/patch-4
Update Polish.ini
2023-07-28 12:01:13 +06:00
andrewczm 23c6f908f2 Update Polish.ini 2023-07-28 07:25:01 +02:00
henrypp 4ecf707955 upd locale 2023-07-28 00:34:29 +06:00
henrypp 22d25542f0 Merge branch 'master' of github.com:henrypp/simplewall 2023-07-28 00:33:17 +06:00
henrypp 106db51de0 Merge pull request #1456 from andrewczm/patch-3
Update Polish.ini
2023-07-28 00:32:55 +06:00
henrypp 8e2829c5f3 upd project sdk 2023-07-28 00:25:56 +06:00
andrewczm de22ca1120 Update Polish.ini 2023-07-27 20:08:23 +02:00
henrypp 48a2b3a8a9 upd locale 2023-07-27 23:36:19 +06:00
henrypp 73be3b7bbe Merge branch 'master' of github.com:henrypp/simplewall 2023-07-27 23:35:22 +06:00
henrypp 9e34a7f819 Merge pull request #1454 from uDEV2019/master
Updated german translation
2023-07-27 23:35:05 +06:00
henrypp 8f9a9a9568 upd locale 2023-07-27 23:32:01 +06:00
henrypp bfc2bb16f1 Merge branch 'master' of github.com:henrypp/simplewall 2023-07-27 23:30:56 +06:00
Steve 0b8ee08f58 Updated german translation
- revised some strings
- translated new strings
2023-07-27 18:43:05 +02:00
henrypp e5209350d6 Merge pull request #1453 from Rukoto/master
Update Japanese.ini
2023-07-27 21:29:58 +06:00
Rukoto Luther 40b39057ee Update Japanese.ini 2023-07-27 23:39:48 +09:00
henrypp 09c28e7386 upd locale 2023-07-27 17:06:29 +06:00
henrypp 210bf5866e Merge pull request #1452 from sr093906/master
Update Simplified Chinese Strings
2023-07-27 17:04:45 +06:00
sr093906 ed0705f2c1 Add files via upload 2023-07-27 17:42:25 +08:00
henrypp 14929ffe16 ++version 2023-07-27 11:21:06 +06:00
henrypp d180ec9b47 upd locale 2023-07-27 02:09:14 +06:00
henrypp c12f797fd5 Merge branch 'master' of github.com:henrypp/simplewall 2023-07-27 02:08:06 +06:00
henrypp b6c87083cb Merge pull request #1450 from huldf/master
update french locale
2023-07-27 01:57:12 +06:00
huldf cbbf2185b6 update french locale 2023-07-26 21:25:45 +02:00
henrypp 2e4b3d95bf upd changelog 2023-07-27 00:10:13 +06:00
henrypp 4e83bb6fb2 fix var initialization 2023-07-26 22:21:27 +06:00
henrypp 8f73c0bdbf upd nuget package 2023-07-25 23:46:31 +06:00
henrypp 4bcd59782d upd locale 2023-07-25 14:04:18 +06:00
henrypp b2b4c0a459 Merge pull request #1449 from andrewczm/patch-1
Update Polish.ini
2023-07-25 12:14:27 +06:00
andrewczm d192738670 Update Polish.ini 2023-07-25 07:56:13 +02:00
henrypp c0fe32ee81 upd version 2023-07-24 21:01:22 +06:00
henrypp 0dc29e7c24 upd locale 2023-07-24 21:01:06 +06:00
henrypp 8c10d34cac Merge pull request #1448 from ltguillaume/master
Update Dutch
2023-07-24 18:18:55 +06:00
ltguillaume a5c218471d Update Dutch 2023-07-24 14:08:46 +02:00
henrypp 6a4d9f8f6e upd version 2023-07-24 16:49:13 +06:00
henrypp de7959c56f upd locale 2023-07-24 16:31:14 +06:00
henrypp d8fb1b48c5 code cosmetics 2023-07-24 16:30:51 +06:00
henrypp 20cc152ddc remove autoscroll for logui 2023-07-24 16:30:21 +06:00
henrypp e2a2856e59 upd version 2023-07-24 01:46:22 +06:00
henrypp e2afec1c35 upd locale 2023-07-24 01:45:23 +06:00
henrypp 0399ff9558 upd locale 2023-07-23 17:17:53 +06:00
henrypp 4de913d83b upd resource 2023-07-23 17:17:04 +06:00
henrypp 513d668733 add file monitor option 2023-07-23 16:09:06 +06:00
henrypp 298834a9c2 add file monitor feature (fix #394) 2023-07-23 16:06:24 +06:00
henrypp 107cdd563a use NtWriteFile 2023-07-23 15:35:00 +06:00
henrypp 81376ff421 upd _app_network_getpath 2023-07-23 14:13:52 +06:00
henrypp 116fcd689d add INFO_DISABLE 2023-07-21 23:07:36 +06:00
henrypp 97dadf55db code cosmetics 2023-07-21 23:06:55 +06:00
henrypp d3e9f7c502 upd locale 2023-07-20 16:57:29 +06:00
henrypp b79fa9d052 upd resource 2023-07-20 16:57:07 +06:00
henrypp e69460d0f0 upd _app_isappused 2023-07-20 16:56:29 +06:00
henrypp d76b81e9ac removed secure filters and check certificates option 2023-07-20 16:56:04 +06:00
henrypp 91c232dad2 cosmetics 2023-07-20 01:42:37 +06:00
henrypp 2788f60383 upd project sdk 2023-07-20 01:07:58 +06:00
henrypp 3e903bb925 fixed uwp icon calculation 2023-07-18 16:56:28 +06:00
henrypp 798294a9fe cosmetics 2023-07-17 22:37:46 +06:00
henrypp 787e6014b0 add _app_isappfileexists 2023-07-17 19:45:41 +06:00
henrypp 023e899131 upd project sdk 2023-07-17 19:44:59 +06:00
henrypp c859f91994 upd code 2023-07-10 18:00:30 +06:00
henrypp 41b1ffda79 cleanup 2023-07-09 00:20:22 +06:00
henrypp 5aeab2eb36 upd _app_isappused 2023-07-07 00:03:24 +06:00
henrypp 5f680eba07 use _r_sys_getsystemroot 2023-07-06 23:12:08 +06:00
henrypp 5d35a09fee upd readme 2023-07-05 02:37:49 +06:00
henrypp 7a40858807 use NtWaitForSingleObject 2023-07-04 21:11:55 +06:00
henrypp a33e744438 improve _app_config_apply 2023-07-04 16:55:24 +06:00
henrypp 9ea13a15f1 code cosmetics 2023-07-04 14:48:52 +06:00
henrypp 860692711b upd locale 2023-07-04 07:09:58 +06:00
henrypp 87b5fd4ccf Merge pull request #1434 from ltguillaume/master
Update Dutch
2023-07-04 06:08:59 +06:00
ltguillaume 6e68f712a9 Update Dutch 2023-07-03 23:40:32 +02:00
henrypp 0d53b7c68f upd main.h 2023-07-04 02:21:08 +06:00
henrypp 1761c92f23 revert back original profile name 2023-07-04 02:20:55 +06:00
henrypp 3de19f569b upd resource 2023-07-04 02:19:32 +06:00
henrypp f589a15e09 upd _app_getappinfo & _app_setappinfo 2023-07-04 02:19:09 +06:00
henrypp 1aa35fe2ed upd _app_getprofiletype 2023-07-04 01:13:40 +06:00
henrypp 03d323d67a upd locale 2023-07-04 01:12:00 +06:00
henrypp ef760d454c added profile type setting 2023-07-04 01:11:32 +06:00
henrypp 1c3c7da87d add displaying sha-256 hash into editor 2023-07-03 17:55:54 +06:00
henrypp fe02304b09 fix memory leak and add profile type 2023-07-03 17:54:15 +06:00
henrypp 47adf36e5d upd internal profile 2023-07-03 17:51:47 +06:00
henrypp 73d5ca5b48 upd _app_getfilehash 2023-07-03 17:50:46 +06:00
henrypp 1871d36da7 code cosmetics 2023-07-03 14:53:38 +06:00
henrypp f28f2129d9 fix arm64 minimum required version 2023-07-03 14:51:15 +06:00
henrypp 4d88bb147d code cosmetics 2023-07-03 14:50:21 +06:00
henrypp 6afd0bdd52 cleanup 2023-06-23 15:32:00 +06:00
henrypp d087413d1b upd internal profile 2023-06-23 11:51:41 +06:00
henrypp 76f659dfb4 fix possible memory leak 2023-06-23 11:51:01 +06:00
henrypp 7804790de6 cosmetics 2023-06-23 11:50:32 +06:00
henrypp 81f6ff06c2 code cosmetics and sal annotation 2023-06-22 19:19:35 +06:00
henrypp 7f3839bef2 added more compression formats 2023-06-22 18:16:22 +06:00
henrypp 5807bc1428 recompress internall profile with huffman 2023-06-22 18:09:15 +06:00
henrypp 22295f60dd improved _app_profile_load_internal and fix memory leak 2023-06-22 18:02:40 +06:00
henrypp c8e521f606 fix log level 2023-06-22 17:56:46 +06:00
henrypp 06538d9b04 improved profile encryption (fix #599) 2023-06-22 17:56:19 +06:00
henrypp e5e8d4f240 upd dutch locale 2023-06-21 20:59:48 +06:00
henrypp b6040ad4bd Merge pull request #1424 from ltguillaume/master
Update Dutch
2023-06-21 14:33:29 +00:00
Guillaume 06c902e3e0 Update Dutch 2023-06-21 15:18:55 +02:00
henrypp 752e4be8c6 add "next" button to notification window 2023-06-21 18:01:42 +06:00
henrypp f82c694aed use correct values for IDC_KILLPROCESS_BTN 2023-06-21 17:41:47 +06:00
henrypp 09013441ff remove ERROR_PATH_NOT_FOUND from log 2023-06-21 11:54:52 +06:00
henrypp 56ed1a7e88 ++version 2023-06-21 10:58:34 +06:00
henrypp 1d4ba1f3a8 use valid status processing 2023-06-21 10:36:31 +06:00
henrypp 90ac3921b4 code cosmetics 2023-06-21 10:35:19 +06:00
henrypp 23bfb5cf3d upd locale 2023-06-21 10:33:56 +06:00
henrypp ea227d5838 upd resource 2023-06-20 21:28:21 +06:00
henrypp be14aaf3b7 fix crash 2023-06-20 17:30:26 +06:00
henrypp 65052f5b63 added kill process button (fix #1398) 2023-06-20 17:25:45 +06:00
henrypp dad476699f remove _r_mem_allocatezero 2023-06-19 23:49:19 +06:00
henrypp e20107329f added apps hash calculation (issue #394) 2023-06-19 18:56:01 +06:00
henrypp 7a89c4929a use only one compression algorithm, remove unused definiitions 2023-06-19 18:47:45 +06:00
henrypp 43261b72c4 change workqueue thread environvent 2023-06-19 17:57:27 +06:00
henrypp 972fd6aa2d remove _r_mem_allocatezero 2023-06-17 19:36:44 +06:00
henrypp 788b4555a9 code cosmetics 2023-06-11 20:43:51 +06:00
henrypp 8d66296ee5 change error code and cosmetics 2023-06-08 10:33:59 +06:00
henrypp f2183c7d35 cosmetics 2023-06-08 09:14:54 +06:00
henrypp fb4f308cf5 remove XML_PROFILE2_FILE 2023-06-07 18:47:44 +06:00
henrypp 3ecbc2fea4 remove sp extension 2023-06-07 18:23:05 +06:00
henrypp 27c73c3159 upd sal annotations and code cosmetics 2023-06-07 18:22:33 +06:00
henrypp 40edcbea71 code cosmetics 2023-06-04 18:06:03 +06:00
henrypp 1a52946940 use more decompression algorithms 2023-06-03 21:18:50 +06:00
henrypp b40c40fad4 code cosmetics 2023-06-03 20:00:12 +06:00
henrypp f69e26ac08 added profile encryption (fix #599) 2023-06-03 15:18:21 +06:00
henrypp 276fdf0434 code cosmetics 2023-06-02 19:23:21 +06:00
henrypp 59ee99081c fix uninit var 2023-06-02 01:51:44 +06:00
henrypp c5b57cfed5 code cosmetics 2023-05-31 23:17:00 +06:00
henrypp d043029f36 upd icons 2023-05-27 00:23:41 +06:00
henrypp 0f02dbb124 upd solution 2023-05-17 23:23:50 +06:00
henrypp e1eb52d0d1 cosmetics 2023-05-08 01:11:26 +06:00
henrypp b86d1fa385 cosmetics 2023-05-05 02:59:11 +06:00
henrypp 38406b3cec fix log objects cleanup 2023-05-05 02:58:52 +06:00
henrypp 64cf7adbd1 improve search performance (issue #1383) and cosmetics 2023-04-05 20:46:45 +06:00
henrypp 8d8c27d0cd optimize cleanup 2023-04-05 20:15:27 +06:00
henrypp 82a80721ae upd version 2023-04-05 19:41:10 +06:00
henrypp 2ea4c7ee2f upd locale 2023-04-05 19:41:01 +06:00
henrypp a366a8c1ad Merge pull request #1389 from Henry2o1o/patch-30
Fix
2023-04-05 13:34:05 +00:00
henrypp ba817f04ae code cosmetics 2023-04-05 19:33:19 +06:00
Hen_Ry 078127867b Fix 2023-04-03 00:18:04 +02:00
henrypp 38daf708b1 upd version 2023-03-30 20:58:31 +06:00
henrypp 0c4a856929 upd italian 2023-03-30 20:58:01 +06:00
henrypp 7569438b29 fix #1367 2023-03-23 14:54:04 +06:00
henrypp a7e76bf512 added log clear menu item 2023-03-07 20:20:57 +06:00
henrypp eb960dcc1e code cosmetics 2023-03-05 02:01:31 +06:00
henrypp 5430bf4c9f fixed search 2023-03-04 03:45:20 +06:00
henrypp bd9de887cd upd nuget package 2023-03-02 04:06:18 +06:00
henrypp d43493ec9c code cosmetics 2023-03-01 23:19:21 +06:00
henrypp 7f46329ec4 upd network.c 2023-03-01 20:00:20 +06:00
henrypp 47ca79c45b upd locale 2023-03-01 19:14:38 +06:00
henrypp bfd1fa5c72 upd _app_queuenotifyinformation 2023-03-01 16:49:02 +06:00
henrypp 36f13c7df1 code cosmetics 2023-03-01 16:45:38 +06:00
henrypp adae188732 upd version 2023-03-01 00:35:50 +06:00
henrypp ba95a31196 upd locale 2023-03-01 00:34:05 +06:00
henrypp 031953258d upd bulgarian 2023-03-01 00:30:39 +06:00
henrypp 9fa8ad197b add error message, fix possible crash and cosmetics 2023-03-01 00:26:52 +06:00
henrypp 10a431f954 upd code 2023-02-27 17:51:35 +06:00
henrypp 81d33a2bd4 use DIVIDER_TRIM 2023-02-27 04:06:39 +06:00
henrypp fce9681682 upd main.c 2023-02-27 04:04:36 +06:00
henrypp f7f1b62e5e ++version 2023-02-26 17:39:33 +06:00
henrypp bca213029a return correct value 2023-02-26 17:36:13 +06:00
henrypp f311aad43d fix memory leak 2023-02-26 17:35:51 +06:00
henrypp 64efde4872 add SZ_CRLF 2023-02-26 17:35:29 +06:00
henrypp 117e81b590 upd main.c 2023-02-25 21:54:20 +06:00
henrypp 24d83513b7 upd version 2023-02-11 23:18:07 +06:00
henrypp f56a85cd55 upd locale 2023-02-11 23:17:26 +06:00
henrypp bc4fb2f7f2 Merge pull request #1365 from ChuckMichael/master
Update Polish.ini
2023-02-11 17:14:06 +00:00
ChuckMichael ba877d99eb Update Polish.ini
Update Polish translation
2023-02-11 17:38:16 +01:00
henrypp b5dfc3d345 upd controls.c 2023-02-09 15:33:09 +06:00
henrypp 4036812a22 upd sal 2023-02-03 17:22:24 +06:00
henrypp 6386ca0ab1 upd year 2023-01-02 20:06:44 +06:00
henrypp c05577df9d fixed arm64 scrypt bug (issue #1228) 2022-12-11 11:03:27 +06:00
henrypp 5b9124b516 ++version 2022-12-06 07:58:17 +06:00
henrypp 5462e8ea71 updd nuget package 2022-12-06 07:58:08 +06:00
henrypp d91b465136 fix warnings 2022-12-05 18:31:42 +06:00
henrypp 9f6e7d2376 upd log.c 2022-09-29 20:31:10 +06:00
henrypp 9f6f9cc4a8 upd _app_setappinfo 2022-09-29 19:54:39 +06:00
henrypp 3a108c2333 rename INFO_TIMESTAMP and INFO_TIMER 2022-09-29 19:47:55 +06:00
henrypp 6b5ab78524 upd _app_getappinfoparam2 2022-09-29 19:41:59 +06:00
henrypp 09f138945e upd _app_getappinfo & _app_getruleinfo 2022-09-29 19:19:50 +06:00
henrypp 8666989f6c upd _r_menu_addsubmenu 2022-09-29 17:02:47 +06:00
henrypp 4228cc97dd security fix 2022-09-29 13:21:34 +06:00
henrypp d16030ab9f upd version 2022-09-29 12:58:38 +06:00
henrypp f4b1f00571 upd slovak 2022-09-29 12:58:25 +06:00
henrypp 64c2ac3947 template cosmetics 2022-09-28 21:06:43 +06:00
henrypp 8457aed4bc upd titles 2022-09-28 21:01:04 +06:00
henrypp 9015bdd75e revert blank_issues_enabled 2022-09-28 21:00:03 +06:00
henrypp fa0bdbae86 upd feaature request template 2022-09-28 20:59:36 +06:00
henrypp fadc85347f upd bug report template 2022-09-28 20:59:25 +06:00
henrypp ce2684fbbb upd question template 2022-09-28 20:58:54 +06:00
henrypp 45b0df3998 fix blank_issues_enabled 2022-09-28 20:54:55 +06:00
henrypp ce413645d3 renamed question.md 2022-09-28 20:54:24 +06:00
henrypp 4153a53a84 add issue template 2022-09-28 20:53:48 +06:00
henrypp f63c516245 Update issue templates 2022-09-28 14:21:19 +00:00
henrypp 5f52351ff5 add config.yml 2022-09-28 20:14:32 +06:00
henrypp 1242d994b5 add issue template 2022-09-28 20:14:18 +06:00
henrypp 686684a00c upd issue template 2022-09-28 20:02:20 +06:00
henrypp deb70d377e add issue template 2022-09-28 19:59:44 +06:00
henrypp 8c62d8c1ae adds STATUS_OBJECT_PATH_NOT_FOUND 2022-09-28 18:53:27 +06:00
henrypp 1b81959663 little optimization 2022-09-28 16:00:29 +06:00
henrypp 03bfc6ec2a code cosmetics 2022-09-28 15:59:46 +06:00
henrypp ed9611a241 upd version 2022-09-26 20:49:03 +06:00
henrypp fff00bbeae upd slovak locale 2022-09-26 20:48:57 +06:00
henrypp a842b70d66 fixed search bar disappear when dpi was changed 2022-09-26 18:11:53 +06:00
henrypp a0f630a03e code cosmetics 2022-09-26 18:10:16 +06:00
henrypp d3067e86e7 upd version 2022-09-26 16:34:14 +06:00
henrypp ef67836d79 add slovak locale 2022-09-26 16:34:03 +06:00
henrypp c8079245f4 fixed filters applying when settings changed 2022-09-24 14:48:51 +06:00
henrypp 8cc6ff7021 do not start service 2022-09-24 14:43:49 +06:00
henrypp 665082d6d3 upd version 2022-09-22 19:44:29 +06:00
henrypp a28b527648 upd japan 2022-09-22 19:43:56 +06:00
henrypp d5431a8130 Merge pull request #1313 from Rukoto/master
Update Japanese.ini
2022-09-22 13:42:05 +00:00
Rukoto Luther 46f605001c Update Japanese.ini 2022-09-22 22:40:06 +09:00
henrypp 081e59c620 upd version 2022-09-22 15:02:51 +06:00
henrypp 0d0354f160 upd locale 2022-09-22 15:02:37 +06:00
henrypp 9558a84c1c Merge pull request #1311 from sr093906/master
Update Chinese Strings
2022-09-22 08:59:08 +00:00
sr093906 c9d7a56ef7 Add files via upload 2022-09-22 15:59:03 +08:00
henrypp 28408306a1 upd readme: added working method to allow windows update 2022-09-21 21:07:58 +06:00
henrypp 301faaeeaa upd version 2022-09-21 20:25:32 +06:00
henrypp 05370e2eb9 upd french 2022-09-21 20:25:02 +06:00
henrypp 1241398718 upd version 2022-09-21 17:08:44 +06:00
henrypp 921b4ab596 ++version 2022-09-21 17:06:05 +06:00
henrypp b8ff8ad3bb upd changelog 2022-09-21 17:05:58 +06:00
henrypp a67851f9cc fixed #1265 2022-09-21 16:58:10 +06:00
henrypp 299e40cb7a fixed opening editor are overlapped by notification window 2022-09-21 16:28:07 +06:00
henrypp 9f75f58cc5 fixed #1294 2022-09-21 16:03:38 +06:00
henrypp c298151a12 set correct position before dpi value query 2022-09-21 15:53:56 +06:00
henrypp b53560bc77 upd _app_notify_addobject 2022-09-21 15:49:53 +06:00
henrypp cf3a5608ce upd _app_parserulestring 2022-09-21 15:36:11 +06:00
henrypp f92d1dd8ca fixed #1240 2022-09-21 15:34:04 +06:00
henrypp bea13f8f9d upd cppwinrt 2022-09-21 14:34:04 +06:00
henrypp 0611e157ab upd _r_dc_drawwindow 2022-09-21 12:23:22 +06:00
henrypp 44910ea1be disable wu-fix by default 2022-09-21 12:21:50 +06:00
henrypp d0934bfdc9 fix #1309 2022-09-21 12:19:18 +06:00
henrypp 0a13537faf remove whitespace 2022-09-21 11:44:49 +06:00
henrypp 25a0e8aa41 correctly set option 2022-09-21 11:44:17 +06:00
henrypp a55b59cca1 upd russian 2022-09-11 16:04:27 +06:00
henrypp 9aed330183 added 12 and 24 hour timer values (fix #1298) 2022-09-06 10:06:42 +06:00
henrypp 1f9b192312 ++version 2022-09-04 21:13:10 +06:00
henrypp 1321575b7b upd turkish 2022-09-04 21:13:04 +06:00
henrypp 4fcaf20ff9 Merge pull request #1296 from Alcazer/master
Update Turkish
2022-09-04 15:09:36 +00:00
Alcazer Barış TÜRKGÜCÜ 43d2e49a47 Update Turkish 2022-09-04 17:25:55 +03:00
henrypp 4d9adba2c8 fix prev commit 2022-08-31 14:54:47 +06:00
henrypp dee84344a7 windows update fix only for win10 and later 2022-08-31 14:31:42 +06:00
henrypp d7deff5b42 copy symlink of svchost 2022-08-30 18:21:59 +06:00
henrypp 1262cc559b upd version 2022-08-30 18:14:11 +06:00
henrypp 25de58f01a upd swedish 2022-08-30 18:13:33 +06:00
henrypp 553cd15511 also fix UsoSvc 2022-08-30 17:02:19 +06:00
henrypp 5469fa7057 windows update fix #677 2022-08-30 16:52:02 +06:00
henrypp d4adb035cd upd _r_dc_drawwindow 2022-08-30 16:47:12 +06:00
henrypp bb93d063ae upd locale 2022-08-30 16:44:10 +06:00
henrypp a784a2a900 upd version 2022-08-29 14:51:54 +06:00
henrypp e46bcd1262 upd locales 2022-08-29 14:51:28 +06:00
henrypp 7dfb98138b upd swedish 2022-08-29 14:50:45 +06:00
henrypp 2ea188857f fix #1264 2022-08-26 15:28:12 +06:00
henrypp a8aa1dddea fixed load default icons for services 2022-08-20 19:04:43 +06:00
henrypp 989e7ddc3a do not query ServiceDLL 2022-08-20 18:50:23 +06:00
henrypp c75fd968ac upd version 2022-08-12 14:56:00 +06:00
henrypp 7a08c41d09 ++version 2022-08-12 14:42:53 +06:00
henrypp d349ea3c24 upd changelog 2022-08-12 14:42:44 +06:00
henrypp ed175deb3f add exception handler (fix #1272) 2022-08-12 14:30:01 +06:00
henrypp 68dd00d34a upd wfp.c 2022-08-12 14:27:40 +06:00
henrypp b73cd29746 upd editor.c 2022-08-12 13:48:30 +06:00
henrypp efe624088d upd security.c 2022-08-12 12:31:37 +06:00
henrypp 689f66b6b0 upd log.c 2022-08-12 12:27:06 +06:00
henrypp bf022b11da upd network.c 2022-08-12 12:20:21 +06:00
henrypp f837211891 code cosmetics 2022-08-12 12:04:50 +06:00
henrypp 4823e177f3 code cosmetics 2022-08-12 11:43:16 +06:00
henrypp fc09d0e284 upd _app_freeapplication 2022-08-12 11:26:54 +06:00
henrypp 0b6414cbd8 upd RM_CONFIG_UPDATE 2022-08-12 11:06:24 +06:00
henrypp a6289b84c0 code cosmetics 2022-08-12 10:58:48 +06:00
henrypp 0783531bf4 upd version 2022-08-11 16:18:50 +06:00
henrypp 69ac99154b upd changelog 2022-08-11 16:16:18 +06:00
henrypp eeb8c2cb0c add DelayLoadDLLs option 2022-08-11 15:21:34 +06:00
henrypp 7c39101227 code cosmetics 2022-08-11 15:07:02 +06:00
henrypp 5616544a77 fix win8 exception 2022-08-10 18:45:16 +06:00
henrypp 6f7db96c36 upd changelog 2022-08-10 15:04:05 +06:00
henrypp f6584daa60 upd locale id 2022-08-10 15:02:22 +06:00
henrypp 10412f08fc upd locale 2022-08-10 15:02:02 +06:00
henrypp 720fddf9c7 remove timer highlighting 2022-08-10 14:56:42 +06:00
henrypp 78984e993f add group for apps with timer 2022-08-10 14:53:43 +06:00
henrypp 784d99ab64 upd timer api 2022-08-10 14:53:21 +06:00
henrypp 30cd391448 upd changelog 2022-08-10 14:23:52 +06:00
henrypp 4ff2b951aa partially revert prev. commit 2022-08-10 14:18:33 +06:00
henrypp 35dfb6bfda upd notifications.c (fix #1009) 2022-08-10 14:16:42 +06:00
henrypp cbaf039718 upd vars 2022-08-10 14:08:31 +06:00
henrypp 7c40b0258f upd _app_notify_freeobject 2022-08-10 12:19:19 +06:00
henrypp 0168de736b upd _app_generate_rulescontrol & _app_generate_timerscontrol 2022-08-10 12:01:12 +06:00
henrypp 7ad7854ac7 display long time in column 2022-08-10 10:57:36 +06:00
henrypp 4c094d63ca code cosmetics 2022-08-09 22:26:26 +06:00
henrypp 9463d38977 code cosmetics 2022-08-09 22:17:17 +06:00
henrypp e81ff4f2d8 fix prev commit 2022-08-09 22:10:38 +06:00
henrypp 0b5a4c3a80 ++version 2022-08-09 21:07:16 +06:00
henrypp ddc63362d0 fix mem leak 2022-08-09 20:50:24 +06:00
henrypp 7bf54d4682 adds WM_NOTIFICATION and code cosmetics 2022-08-09 20:38:27 +06:00
henrypp 60b29b2200 add event handle 2022-08-09 20:38:03 +06:00
henrypp 8369035b03 upd exstyle 2022-08-09 20:37:33 +06:00
henrypp 9bc2ec519f upd network.c 2022-08-02 20:11:54 +06:00
henrypp 6881c4bf55 upd log.c 2022-08-02 15:03:59 +06:00
henrypp e774f2f815 check package status 2022-07-24 16:12:31 +06:00
henrypp 571b93efe0 use _r_dc_getmonitordpi 2022-07-23 15:01:04 +06:00
henrypp 10ae8c5a42 upd search.c 2022-07-23 15:00:17 +06:00
henrypp 005f89bd72 upd packages.c 2022-07-21 12:18:26 +06:00
henrypp 3a60139b98 upd global.h 2022-07-21 11:34:47 +06:00
henrypp af61bd4134 add uwp.cpp 2022-07-21 11:34:39 +06:00
henrypp c8748d2896 upd _app_getappinfoparam2 and _app_getfileicon 2022-07-21 11:33:42 +06:00
henrypp a34c50db47 upd .gitignore 2022-07-21 11:32:48 +06:00
henrypp 84af266969 add cppwinrt nuget package 2022-07-21 11:31:57 +06:00
henrypp 9c0f0d957d upd icons loading 2022-07-21 11:31:11 +06:00
henrypp f4a4d36aae upd uwp apps information retrieve 2022-07-21 11:26:24 +06:00
henrypp 9d472472a1 code cosmetics 2022-07-21 11:20:11 +06:00
henrypp e55120a4a3 fix packages display name and revert packages path 2022-07-08 19:05:06 +06:00
henrypp c4e4376886 upd profile.c 2022-07-07 01:29:32 +06:00
henrypp 29d37dbf9d upd db.c 2022-07-07 01:29:04 +06:00
henrypp d378094817 upd build rules script 2022-06-24 14:27:25 +06:00
henrypp 0c239f9470 upd year 2022-06-19 18:48:05 +06:00
henrypp dbda875725 upd version 2022-06-19 18:33:47 +06:00
henrypp a568b46baf ++version 2022-06-19 18:31:00 +06:00
henrypp d1bb7deaa2 upd changelog 2022-06-19 18:30:52 +06:00
henrypp aaaa195cd9 fix #1009 i think 2022-06-19 18:21:24 +06:00
henrypp a9d217e7a1 upd manifest 2022-06-19 18:10:25 +06:00
henrypp 009c8af3f9 upd _app_notify_setposition, upd sal annotations 2022-06-19 18:10:16 +06:00
henrypp fd3177a9bb use "block" button to disable notifications (fix #1236) 2022-06-19 18:09:29 +06:00
henrypp 4c87e70e17 use STATUS_SUCCESS in _app_db_ishashvalid 2022-05-27 14:34:58 +06:00
henrypp f5677b81a5 remove WS_EX_TOPMOST from notification 2022-05-26 15:11:43 +06:00
henrypp a14d230f33 upd WM_DPICHANGED 2022-05-26 13:47:53 +06:00
henrypp c00ead72c3 upd _app_db_ishashvalid 2022-05-24 11:43:37 +06:00
henrypp 9980a3aa22 upd _app_notify_refresh 2022-05-24 11:16:11 +06:00
henrypp 5874237d8c upd _app_notify_show
upd _app_notify_refresh
add _app_notify_queueinfo
2022-05-24 11:16:04 +06:00
henrypp 989da95be5 remove WM_ACTIVATE 2022-05-24 10:45:06 +06:00
henrypp d06cee95d6 fix dpi 2022-05-24 10:42:43 +06:00
henrypp f9890ca143 upd error handling 2022-05-17 16:35:49 +06:00
henrypp 1e1205242b upd script 2022-05-17 16:23:26 +06:00
henrypp 688e2c6245 fix internal 2022-05-17 16:16:01 +06:00
henrypp 84e704aa4c upd internal 2022-05-17 16:09:36 +06:00
henrypp 2f8ec93ae1 upd version 2022-05-17 16:04:17 +06:00
henrypp 923dbbbb63 upd error handling 2022-05-17 16:03:09 +06:00
henrypp ad24d1a784 fix internal 2022-05-17 16:02:29 +06:00
henrypp c165d61b7d upd version 2022-05-16 22:54:16 +06:00
henrypp 9c1ac5d262 upd blocklist 2022-05-16 22:53:25 +06:00
henrypp c7489ead82 upd failure check 2022-05-15 07:47:22 +06:00
henrypp 7c6c032b7d upd _r_fs_clearfile 2022-05-15 07:46:48 +06:00
henrypp fa06500710 upd db.c 2022-05-15 07:46:37 +06:00
henrypp 1eb5fa33fa upd _r_fs_mapfile 2022-05-14 19:47:11 +06:00
henrypp ed7362ae8f use _r_path_makebackup 2022-05-14 19:47:04 +06:00
henrypp 7fd7123224 upd log file init 2022-05-14 19:46:41 +06:00
henrypp fdce1768dd upd routine 2022-05-11 06:41:25 +06:00
henrypp 3c649c9530 upd changelog 2022-05-10 22:55:42 +06:00
henrypp ba117768d7 upd version 2022-05-10 22:55:33 +06:00
henrypp 52ada2c376 upd _r_ctrl_settablestring (#1009) 2022-05-10 22:43:35 +06:00
henrypp 8cfe6fa9c7 upd WM_DRAWITEM (#1009) 2022-05-10 22:12:49 +06:00
henrypp 06624b2903 use __FILENAME__ 2022-05-05 14:08:31 +06:00
henrypp 1954e20af1 add _wfp_dumpcallouts
upd _wfp_uninitialize
2022-05-05 13:50:56 +06:00
henrypp 7c61753ada upd _wfp_dumpfilters 2022-05-05 13:34:14 +06:00
henrypp 41fa7d3ab7 add extra debug vars 2022-05-05 12:52:25 +06:00
henrypp 013e103d29 upd year 2022-05-05 12:28:43 +06:00
henrypp 1bd8c4624d upd main.c 2022-05-05 12:28:34 +06:00
henrypp ed9b0b3054 fix _wfp_getinstalltype 2022-05-05 12:08:49 +06:00
henrypp 59f8bd1417 del whitespace 2022-05-05 11:54:58 +06:00
henrypp 500c202a2a add _app_settrayicon
add _app_getstatebitmap
add _app_getstateaction
add _app_getstateicon
ren _app_getstatelocale
2022-05-05 11:41:49 +06:00
henrypp 120e3747db upd timer.c 2022-05-05 11:05:47 +06:00
henrypp b6307b52b1 add _wfp_getinstalltype and change _wfp_isfiltersinstalled to bool 2022-05-05 11:05:30 +06:00
henrypp a9494c199b upd _app_network_initialize 2022-05-03 23:55:30 +06:00
henrypp e0ab9dd2e7 change workqueue initialization 2022-05-03 23:55:17 +06:00
henrypp a6873d6d0a upd version 2022-04-30 21:59:29 +06:00
henrypp bdd7990ddb add swedish 2022-04-30 21:59:21 +06:00
henrypp 6f8561bc80 fix prev commit 2022-04-29 17:24:51 +06:00
henrypp d32142a911 fix 2022-04-29 17:09:28 +06:00
henrypp 36e04040e5 upd _app_getappinfo
upd _app_getappinfobyhash
upd _app_getruleinfo
upd _app_getruleinfobyid
upd _app_getappinfoparam2
2022-04-29 17:08:13 +06:00
henrypp be6cdd9e76 upd _ITEM_LOG_CALLBACK 2022-04-29 16:14:19 +06:00
henrypp b6aa175e41 ulong_ptr conversion safety and code cosmetics 2022-04-29 16:14:09 +06:00
henrypp 0064cd50f7 ++version 2022-04-28 22:51:58 +06:00
henrypp 31faa94df7 fix #1216 2022-04-28 19:54:42 +06:00
henrypp 22cfddcd71 upd version 2022-04-26 01:03:44 +06:00
henrypp 87734378e9 upd changelog 2022-04-26 01:03:14 +06:00
henrypp ebc68a83fd add db.c 2022-04-26 01:01:35 +06:00
henrypp 6889a1e143 fix prev commit 2022-04-25 03:32:44 +06:00
henrypp bea98fb11b correctly query app container sid in network tab 2022-04-25 03:26:51 +06:00
henrypp e2f42b7d5f correctly display app name in network tabs 2022-04-25 03:26:03 +06:00
henrypp 1ec10befe7 upd network.c 2022-04-25 00:41:15 +06:00
henrypp 1a3deafa5a upd _app_package_getpackageslist 2022-04-24 22:45:07 +06:00
henrypp 76fc7f6a00 upd security.c 2022-04-24 22:34:42 +06:00
henrypp a26138c2df fix uwp apps loading 2022-04-24 22:19:55 +06:00
henrypp 530011d521 upd notifications.c 2022-04-24 20:16:06 +06:00
henrypp 7e53bb97c3 upd controls.c 2022-04-24 19:55:53 +06:00
henrypp 6340dd3874 upd _app_listview_finditem 2022-04-24 19:49:16 +06:00
henrypp 52a49d7db6 upd messages.c 2022-04-24 19:49:05 +06:00
henrypp fd53ba825e upd wfp.c 2022-04-24 19:06:51 +06:00
henrypp 1b28591006 upd listview.c 2022-04-24 18:48:46 +06:00
henrypp e7b41ad90a upd log.c 2022-04-24 18:45:15 +06:00
henrypp 86daf1baa6 cosmetics 2022-04-24 18:45:08 +06:00
henrypp a51759e0df upd profile.c 2022-04-24 18:38:21 +06:00
henrypp 91d1980e3d upd helper.c 2022-04-24 18:31:10 +06:00
henrypp 4c9f22d727 upd version 2022-04-15 06:58:19 +06:00
henrypp cffac4994f upd spanish 2022-04-15 06:58:01 +06:00
henrypp 46c38aeea5 Merge branch 'master' of github.com:henrypp/simplewall 2022-04-15 06:57:08 +06:00
henrypp 8269d0014e Merge pull request #1204 from colorfulparade/patch-1
Updated Spanish
2022-04-15 00:56:23 +00:00
colorfulparade 22eff2eb1e Updated Spanish
Added missing bits.
2022-04-14 00:14:32 -04:00
henrypp 9d44c12e5c upd Hood Brawl 2022-04-13 19:21:02 +06:00
henrypp 189d604132 fixed display path 2022-04-06 15:46:45 +06:00
henrypp 3ad18e450b use _app_package_isnotexists 2022-04-06 15:46:07 +06:00
henrypp 8be600d0a2 made correct packages information loading 2022-04-06 15:43:32 +06:00
henrypp e1feaab906 test for null FWPM_NET_EVENT_FLAG_PACKAGE_ID_SET and code cosmetics 2022-04-06 11:43:11 +06:00
henrypp bacbefb119 upd version 2022-04-05 17:10:40 +06:00
henrypp f2cbaeb52f add vietnam 2022-04-05 17:10:19 +06:00
henrypp 338f3ecf43 Merge pull request #1183 from binhnguyen99391/patch-2
Create Vietnamese.ini
2022-04-05 11:09:32 +00:00
henrypp 17247f2c74 moved date column in log 2022-04-05 17:08:34 +06:00
henrypp 1aa25f4258 fix packages icon id fallback 2022-04-04 16:22:05 +06:00
henrypp 3b8e2f0b72 moved date column in log 2022-04-04 16:20:09 +06:00
henrypp d02b2f9afb upd version 2022-04-02 17:35:12 +06:00
henrypp cf25a05e3d upd italian 2022-04-02 17:34:37 +06:00
henrypp 3cf63b23bb fix cold start 2022-04-02 10:48:22 +06:00
binhnguyen99391 785bcbe79f Create Vietnamese.ini 2022-03-29 16:00:42 +07:00
henrypp 7df434a150 remove newline (fix) 2022-02-25 16:50:02 +06:00
henrypp dfca54d61a upd version 2022-02-25 16:46:55 +06:00
henrypp a09aebd946 upd chinese 2022-02-25 16:46:47 +06:00
henrypp 410d9aee5f use _r_wnd_message_callback 2022-02-25 16:45:48 +06:00
henrypp cfcbd7ba53 Merge pull request #1166 from sr093906/master
Update Locale of Chinese (Simplified)
2022-02-25 10:44:42 +00:00
sr093906 c934e7d0f5 Add files via upload 2022-02-25 03:45:24 +00:00
sr093906 00db0834ac Delete Chinese (Simplified).ini.txt 2022-02-25 03:44:56 +00:00
sr093906 5ef2119aae Add files via upload 2022-02-25 03:43:20 +00:00
henrypp e8e9cb3218 upd routine 2022-02-18 00:26:40 +06:00
henrypp bd297a199e upd group titles 2022-02-06 04:46:28 +06:00
henrypp 0263aadac4 restore editor window position when open 2022-02-06 04:45:59 +06:00
henrypp 6dcbd2c959 upd routine 2022-02-06 04:45:25 +06:00
henrypp be020f699d cosmetics 2022-02-03 19:03:56 +06:00
henrypp 05e85a7ae5 upd profile.c 2022-01-31 16:36:47 +06:00
henrypp 22aa79a347 upd version 2022-01-25 13:01:35 +06:00
henrypp c00a7ef398 do not display STATUS_OBJECT_NAME_NOT_FOUND code 2022-01-25 13:00:52 +06:00
henrypp f2089154ce upd italian 2022-01-25 13:00:01 +06:00
henrypp 6ed1e57a7a upd component short name 2022-01-22 20:04:30 +06:00
henrypp f57ced4cfd remove xml 2022-01-22 20:02:32 +06:00
henrypp 90c732188e upd profile.c 2022-01-22 19:36:47 +06:00
henrypp baa2b935b3 add version 2022-01-22 19:28:29 +06:00
henrypp 52ab70c670 upd routine 2022-01-18 13:39:41 +06:00
henrypp 3d2fe06f1c cosmetics 2022-01-17 10:21:15 +06:00
henrypp da9e0b973b ++year 2022-01-17 10:20:56 +06:00
henrypp c42552d700 revert profile2 2022-01-17 10:15:34 +06:00
henrypp 6ea7072394 upd manifest 2022-01-17 09:42:02 +06:00
henrypp fddcf5e813 upd dialog creation 2022-01-17 09:39:05 +06:00
henrypp 43ee7425d3 upd resource 2022-01-17 09:38:05 +06:00
henrypp 3a5423486c upd icons.c 2022-01-07 21:04:28 +06:00
henrypp 01cfd38002 upd listview.c 2022-01-07 20:49:45 +06:00
henrypp e5279e976d upd editor.c 2022-01-07 16:12:22 +06:00
henrypp 9a2a481a6a cosmetics 2022-01-07 16:00:28 +06:00
henrypp 5c158c806a upd log.c 2022-01-07 16:00:17 +06:00
henrypp 536ade0213 upd controls.c 2022-01-07 14:11:57 +06:00
henrypp 3461c81945 upd _app_listview_refreshgroups 2022-01-07 14:03:59 +06:00
henrypp b9a80a4d11 cosmetics 2022-01-07 13:57:41 +06:00
henrypp 73377139c7 move rules for apps into different group 2022-01-07 13:55:51 +06:00
henrypp a4944930f7 add debugger config 2022-01-07 13:27:26 +06:00
henrypp be5affd364 upd _wfp_getenginehandle 2022-01-07 13:26:47 +06:00
henrypp 1f05a075c7 upd project sdk 2022-01-07 13:25:29 +06:00
henrypp d178b10bfd upd network.c 2022-01-07 13:23:40 +06:00
henrypp 992049afc0 Merge pull request #1129 from dsymbol/master
Grammar & typos
2021-12-24 09:43:34 +00:00
henrypp 3ecabfd51a upd funding 2021-12-24 15:35:48 +06:00
henrypp 008272f675 upd .gitignore 2021-12-24 15:35:39 +06:00
henrypp 4b44285ce2 upd .editorconfig 2021-12-24 15:35:25 +06:00
dsymbol 29c5b61abf Grammar & typos 2021-12-24 08:13:07 +00:00
henrypp 9c3b1f564b remove warn when allow sw 2021-12-24 13:01:56 +06:00
henrypp eb935a7c74 upd _app_addapplication 2021-12-23 03:03:39 +06:00
henrypp 704304df32 upd .editorconfig 2021-12-22 02:31:50 +06:00
henrypp 9eddab60ea upd _app_getappdisplayname 2021-12-22 02:30:24 +06:00
henrypp 711a325827 upd _app_message_custdraw 2021-12-22 02:15:43 +06:00
henrypp 7caee8928e upd wfp.c 2021-12-20 18:30:56 +06:00
henrypp f38838b3eb upd profile.c 2021-12-20 18:14:46 +06:00
henrypp 0339306375 upd _FwpmGetAppIdFromFileName1 2021-12-20 18:14:24 +06:00
henrypp aaf27f006c upd profile.c 2021-12-14 23:49:29 +06:00
henrypp 59a8a7e909 upd editor ex styles 2021-12-14 21:02:11 +06:00
henrypp dc4495d4b5 upd profile.c 2021-12-14 18:27:04 +06:00
henrypp f8dfff1061 upd routine files 2021-12-14 17:34:36 +06:00
henrypp a43041c20d remove connect redirect and resource assignment layers 2021-12-14 17:34:06 +06:00
henrypp 756368c8fc upd persian 2021-12-13 04:15:59 +06:00
henrypp 86833fc438 cosmetics 2021-12-13 04:15:51 +06:00
henrypp 483bdbf4ac upd project sdk 2021-12-13 04:15:41 +06:00
henrypp c0691506f7 fix previous commit 2021-12-08 03:20:57 +06:00
henrypp 58d0bd7df8 upd _app_formatip 2021-12-08 03:20:33 +06:00
henrypp 22dbdca578 upd profile import 2021-12-08 00:48:27 +06:00
henrypp 0eec6fc998 upd main.c 2021-12-08 00:36:39 +06:00
henrypp dcfd65ea1b upd network.c 2021-12-08 00:36:05 +06:00
henrypp a07cc68283 upd packages.c 2021-12-08 00:35:39 +06:00
henrypp 56f63e33ed upd profile_internal.sp 2021-12-08 00:30:26 +06:00
henrypp 20ff92b693 upd _app_command_logshow 2021-12-08 00:29:36 +06:00
henrypp 0fbb4ca176 upd _wfp_getenginehandle 2021-12-08 00:28:49 +06:00
henrypp 062099f034 upd _app_profile_load 2021-12-03 18:16:45 +06:00
henrypp 6722ec99b6 fix ext 2021-12-03 18:16:22 +06:00
henrypp ee9ebe8a27 upd ITEM_CONTEXT 2021-12-03 11:03:53 +06:00
henrypp cbf926e8e5 add _app_queue_resolver 2021-12-03 11:03:39 +06:00
henrypp 2c2b73e474 add listview.c 2021-12-03 11:03:16 +06:00
henrypp dd99232313 upd profile.c 2021-12-01 22:57:09 +06:00
henrypp 7b7f108297 upd network.c 2021-12-01 22:34:00 +06:00
henrypp 4f20fedfee refactor helper.c 2021-12-01 22:33:31 +06:00
henrypp f9fbcfd258 add profile2.c into project 2021-11-25 02:03:29 +06:00
henrypp 1ed18d5aa6 upd globals 2021-11-25 02:02:20 +06:00
henrypp 9a3d9ef2fa upd import/export filter 2021-11-25 02:01:14 +06:00
henrypp 96c1fbb99e upd PROFILE_DATA 2021-11-25 02:00:44 +06:00
henrypp 8326c6d9a7 revert profile version 2021-11-25 01:59:30 +06:00
henrypp 2a786f9024 use THREAD_PRIORITY_ABOVE_NORMAL for network 2021-11-25 01:52:09 +06:00
henrypp 8c8a416f17 trim rule tooltip whitespace 2021-11-25 01:03:21 +06:00
henrypp d12469705f upd cleanup callbacks 2021-11-25 01:03:03 +06:00
henrypp 90e02044ae editor cosmetics 2021-11-25 01:02:30 +06:00
henrypp 434eb43ecb upd _app_ruleenable, _app_rulesexpandapps 2021-11-25 01:02:07 +06:00
henrypp 0c0da35e81 use window context 2021-11-24 20:39:45 +06:00
henrypp e836c497cc upd controls.c 2021-11-24 20:15:42 +06:00
henrypp 9269d84be0 upd cleanup callback 2021-11-24 02:38:57 +06:00
henrypp a42c06cd37 upd network.c 2021-11-24 02:35:13 +06:00
henrypp 8aefb7ec48 upd network thread 2021-11-24 02:32:16 +06:00
henrypp f47650ab61 upd network.c 2021-11-24 01:58:07 +06:00
henrypp cb7e038937 upd profile version 2021-11-24 01:23:11 +06:00
henrypp 65230021c4 add _app_profile_initialize, upd _app_loadpackedresource 2021-11-24 01:22:21 +06:00
henrypp 60b0b99301 use _app_profile_initialize 2021-11-24 01:21:12 +06:00
henrypp 315d42b141 upd _r_res_loadresource 2021-11-24 01:20:53 +06:00
henrypp e98c03ff0a upd network.c 2021-11-23 03:13:48 +06:00
henrypp 3604ad35e5 refactor network monitor 2021-11-23 03:05:36 +06:00
henrypp b512b651ce ++version 2021-11-23 02:53:09 +06:00
henrypp 077bba6a4c upd PROFILE_DATA struct 2021-11-23 02:52:26 +06:00
henrypp 0d447569d6 move profile information 2021-11-22 22:38:21 +06:00
henrypp 6201acb779 upd _app_loadpackedresource 2021-11-22 22:37:56 +06:00
henrypp 1e9914edd7 add _app_initializenetworkmonitor 2021-11-22 03:37:41 +06:00
henrypp b4f7a27fe7 use THREAD_PRIORITY_HIGHEST for network 2021-11-22 03:31:46 +06:00
henrypp 2532bec9b5 remove WM_SETTINGCHANGE because it is already in subclass 2021-11-22 03:19:22 +06:00
henrypp c2fb2d134a cosmetics 2021-11-21 00:36:11 +06:00
henrypp c4bb858556 upd routine 2021-11-20 21:34:43 +06:00
henrypp 8599fcae89 upd french 2021-11-15 21:09:49 +06:00
henrypp 16d7bc5faf Merge branch 'master' of github.com:henrypp/simplewall 2021-11-15 21:09:02 +06:00
Henry++ 2bd2f32a06 Merge pull request #1099 from Powsey/patch-1
Update French.ini
2021-11-15 15:08:45 +00:00
Powsey f0d5d4006d Update French.ini
Hello!

Here are the following changes in French:
- correcting the syntax for "!", "?" and ":" as they require a space before
- removing capital letters in the middle of the phrase (never in French unless it is a name but not to talk about things)
- adding the missing translations
- correcting a few grammatical errors
- adjusted some text to reflect what is usually displayed in comparable apps (Remerciements! is Dire merci ! for instance)
- adjusted some elements to harmonize globally (example: "règle de l'utilisateur" or "règle d'utilisateur")

All changes are based on https://github.com/henrypp/simplewall/blob/master/bin/i18n/!example.txt that I used as the English reference (I hope it's the right file for that).

There is one element I can't put my finger on: IDS_LAYER
I can't find in the app where it is. I can't translate it without a bit of context so I don't know for this one. 

In addition, there are a few other mistakes in SimpleWall that can't be corrected here as they combine several of these elements which don't always work correctly in French. 
Maybe this should be dealt on the side. I'll be happy to help if needed. 

Thanks!
Have a good one.
2021-11-15 15:53:16 +01:00
henrypp d19d26495a move blocklist updater into builder 2021-11-15 20:37:14 +06:00
henrypp 4c0d2f7269 add WM_ERASEBKGND 2021-11-15 03:59:39 +06:00
henrypp 26eda587de added clear search with esc for editor 2021-11-15 03:59:03 +06:00
henrypp 08fc245eb7 upd locale 2021-11-14 23:58:15 +06:00
Henry++ eb485c7415 Merge pull request #1098 from Henry2o1o/patch-29
Update german
2021-11-14 17:56:04 +00:00
Henry++ b0355851e2 Merge pull request #1097 from rddim/update-bulgarian-211113
Update Bulgarian localization
2021-11-14 17:54:20 +00:00
Hen Ry 630b4f7fb0 Update german 2021-11-14 16:37:40 +01:00
rddim b0cf092291 Update Bulgarian localization 2021-11-13 23:06:05 +02:00
henrypp 595055dca9 upd bulgarian 2021-11-13 01:00:03 +06:00
Henry++ 7d9d7d5cdd Merge pull request #1091 from rddim/update-bulgarian-211112
Update Bulgarian localization
2021-11-12 18:59:21 +00:00
rddim f2eefbcb1b Update Bulgarian localization 2021-11-12 20:35:59 +02:00
henrypp 84636258fb upd turkish 2021-11-12 13:48:33 +06:00
Henry++ 1577694212 Merge pull request #1087 from Alcazer/patch-1
Update Turkish.ini
2021-11-12 07:47:12 +00:00
Alcazer Barış TÜRKGÜCÜ b997e4d522 Update Turkish.ini 2021-11-12 09:33:01 +03:00
henrypp 551f884667 upd changelog 2021-11-11 19:50:53 +06:00
henrypp 0da7cd16cb ++version 2021-11-11 19:49:50 +06:00
henrypp c17232fa3f use _r_sys_loadlibrary 2021-11-11 18:31:02 +06:00
henrypp c1d0aff3a4 fix #1086 2021-11-11 17:30:01 +06:00
henrypp ec7f513a35 clear search on esc 2021-11-11 16:43:32 +06:00
henrypp c9af943cec upd japanese 2021-11-11 16:39:00 +06:00
henrypp 6f98f0ec29 upd profile init 2021-11-11 16:38:29 +06:00
Henry++ 9c5e4b3dff Merge pull request #1085 from Rukoto/master
Update Japanese.ini
2021-11-11 10:36:47 +00:00
Rukoto 224a5de650 Update Japanese.ini 2021-11-11 12:40:35 +09:00
henrypp 3a6b66f7ce upd korean 2021-11-10 18:20:46 +06:00
henrypp 51f9b8d5fb settings cosmetics 2021-11-10 17:21:29 +06:00
henrypp 7bc93a8e8e upd vs version 2021-11-10 17:05:38 +06:00
henrypp 3a6546c509 upd platform toolset to vs2022 2021-11-10 04:34:25 +06:00
henrypp b9022195e5 cosmetics 2021-11-10 04:33:49 +06:00
henrypp 61731c3c5e fix _app_setsecurityinfoforcallout 2021-11-09 21:12:47 +06:00
henrypp 076872eb05 upd locale 2021-11-09 19:42:30 +06:00
henrypp d342c85b96 upd locale 2021-11-09 19:41:53 +06:00
henrypp f0bf1f3bdc Merge branch 'master' of github.com:henrypp/simplewall 2021-11-09 19:41:34 +06:00
Henry++ 5de584fafa Merge pull request #1079 from Alcazer/patch-1
Update Turkish.ini
2021-11-09 13:40:38 +00:00
Alcazer Barış TÜRKGÜCÜ 4f905506f6 Update Turkish.ini 2021-11-09 16:32:12 +03:00
henrypp 9680bc9727 upd changelog 2021-11-09 19:30:39 +06:00
henrypp 3fdbbcb565 upd readme 2021-11-09 19:28:20 +06:00
henrypp 57bd882f8f add _wfp_logsetoption 2021-11-09 19:09:30 +06:00
henrypp c4f73eae83 move log options into _wfp_logsetoption 2021-11-09 18:58:48 +06:00
henrypp 575bde1938 upd resource string 2021-11-09 18:57:57 +06:00
henrypp 38beed5494 upd locale 2021-11-09 18:57:42 +06:00
henrypp 4f7aeef591 upd log tooltip 2021-11-09 18:57:13 +06:00
henrypp edf607fdca fix searchbar show/hide 2021-11-09 18:31:55 +06:00
henrypp c76da4beb2 move _wfp_getlayername into wfp.c 2021-11-09 18:12:20 +06:00
henrypp b54cef21b4 upd wfp.c 2021-11-09 18:10:59 +06:00
henrypp 17bd678209 upd catalan 2021-11-09 03:26:15 +06:00
Henry++ f97ebe8067 Merge pull request #1078 from eric-l10n/patch-2
Update Catalan localization
2021-11-08 21:24:57 +00:00
eric-l10n ddd871c6c2 Update Catalan localization 2021-11-08 17:16:58 +01:00
henrypp f0b817a456 upd korean 2021-11-08 05:37:14 +06:00
henrypp ebac9d6ddc upd editor.c 2021-11-08 03:22:53 +06:00
henrypp b8544bd36d fix dialog styles 2021-11-08 03:22:25 +06:00
henrypp d666d4ff59 upd faq 2021-11-08 02:45:10 +06:00
henrypp 5285567f41 upd faq 2021-11-08 00:43:10 +06:00
henrypp 818a048c2e upd dutch 2021-11-08 00:04:44 +06:00
henrypp 254f084a72 Merge branch 'master' of github.com:henrypp/simplewall 2021-11-08 00:04:17 +06:00
Henry++ 42f4ed2fbe Merge pull request #1077 from ltGuillaume/master
Dutch
2021-11-07 18:03:09 +00:00
henrypp cf6167cafb upd _wfp_getlayername 2021-11-08 00:01:02 +06:00
henrypp 7828fe8cb6 upd config 2021-11-08 00:00:47 +06:00
ltGuillaume 98ee7aab0a Dutch 2021-11-07 18:48:40 +01:00
henrypp 60f851943c fix _app_setsecurityinfoforcallout 2021-11-07 23:40:42 +06:00
henrypp 2c92b16a89 added seconds iinto log and updated layer names 2021-11-07 21:38:16 +06:00
henrypp d3c9695d00 fix searchbar visibility 2021-11-07 20:51:34 +06:00
henrypp 0981cc4fda adde log tooltip additional info 2021-11-07 20:36:51 +06:00
henrypp fceb0d6825 added layer name for log 2021-11-07 20:36:10 +06:00
henrypp cffd32e12e add _app_setsecurityinfoforcallout 2021-11-07 20:35:40 +06:00
henrypp 03891b358b added search by layer name 2021-11-07 20:34:37 +06:00
henrypp 4c71012709 fix filter name column 2021-11-07 20:34:24 +06:00
henrypp 6764353d08 add _wfp_getlayername 2021-11-07 20:33:32 +06:00
henrypp 64312f6cef add catalan locale 2021-11-07 20:32:24 +06:00
Henry++ efaaf481c9 Merge pull request #1076 from eric-l10n/patch-1
Add Catalan localization
2021-11-07 14:31:42 +00:00
eric-l10n cb5b5084df Catalan localization 2021-11-07 12:49:09 +01:00
henrypp 17b57e9e89 use _app_createfont 2021-11-07 16:56:33 +06:00
henrypp eb232e71ad fixed toolbar font 2021-11-07 16:56:20 +06:00
henrypp 4b91cbce8e upd locale 2021-11-07 16:51:11 +06:00
henrypp aa67bf267b added option to hide searchbar 2021-11-07 16:21:41 +06:00
henrypp b80a1a73c7 upd korean 2021-11-06 18:20:26 +06:00
henrypp 6e50dd1ba6 cosmetics 2021-11-06 18:13:31 +06:00
henrypp f94676d9e4 upd turkish 2021-11-06 15:32:16 +06:00
Henry++ 3783d469e8 Merge pull request #1074 from Alcazer/patch-1
Update Turkish.ini
2021-11-06 09:31:31 +00:00
henrypp c02cd3517b settings cosmetics 2021-11-06 04:09:11 +06:00
henrypp a771748b36 remove timeout on refresh 2021-11-06 04:09:01 +06:00
henrypp 9bf25ecb7f use _r_update_enable 2021-11-06 03:40:05 +06:00
henrypp 15ad548fa3 set APP_UPDATE_PERIOD to 2 2021-11-06 03:39:50 +06:00
henrypp b7dfe3c2ca fixed tray icon dpi 2021-11-06 00:25:58 +06:00
henrypp 11e7616e55 upd profile.c 2021-11-05 19:07:30 +06:00
henrypp 3e5aca8090 upd profile import validation 2021-11-05 17:28:29 +06:00
henrypp 586e4c78f2 upd config 2021-11-05 17:27:36 +06:00
henrypp fd0d5c3316 upd korean 2021-11-05 17:25:43 +06:00
henrypp 7997452329 fix crash 2021-11-05 17:25:31 +06:00
Alcazer Barış TÜRKGÜCÜ 55c67de952 Update Turkish.ini 2021-11-04 22:22:14 +03:00
henrypp aaa8fe9120 cosmetics 2021-11-04 18:05:57 +06:00
henrypp 48285d010a use correct remote address for notification 2021-11-04 03:01:09 +06:00
henrypp f141c8e14d upd strings 2021-11-04 02:50:03 +06:00
henrypp 288e5afa3a use pszMainInstruction for install filter message 2021-11-04 02:49:55 +06:00
henrypp 213ab55865 upd russian locale and cleanup 2021-11-04 02:49:32 +06:00
henrypp 1660875bbb upd csv strings 2021-11-04 02:28:49 +06:00
henrypp 8cc57d0352 removed provider_name 2021-11-04 02:28:03 +06:00
henrypp 13ad5abaff upd _app_dereferencelog 2021-11-04 01:40:06 +06:00
henrypp deba6883a9 upd _app_getloghash 2021-11-04 01:39:57 +06:00
henrypp 6a4b4bf78d rebar cosmetics 2021-11-04 01:39:47 +06:00
henrypp 2c818fbfa4 added WM_THEMECHANGED callback 2021-11-04 01:38:18 +06:00
henrypp 87a83c43b2 upd config 2021-11-04 01:37:46 +06:00
henrypp 0d0944d588 upd LVN_GETDISPINFO callback 2021-11-04 01:37:20 +06:00
henrypp c1f2bd5f0c upd filtering 2021-11-04 01:30:38 +06:00
henrypp 0078622c36 dialog cosmetics 2021-11-04 00:55:40 +06:00
henrypp 1caa36ca9e upd bulgarian 2021-11-03 23:53:42 +06:00
Henry++ 6e734f0a03 Merge pull request #1073 from rddim/update-bulgarian-211103
Update Bulgarian localization
2021-11-03 17:52:48 +00:00
rddim 27582497ed Update Bulgarian localization 2021-11-03 19:45:56 +02:00
henrypp cdfd274b15 upd dutch 2021-11-03 22:29:15 +06:00
Henry++ 9bc474999c Merge pull request #1072 from ltGuillaume/master
Dutch
2021-11-03 16:27:16 +00:00
henrypp 1aabd5c043 upd config 2021-11-03 22:13:24 +06:00
henrypp a52104cfe1 upd notifications.c 2021-11-03 22:13:00 +06:00
henrypp 3e96bbef48 add filtering by protocol name 2021-11-03 22:10:59 +06:00
henrypp 20446f0a05 upd profile.c 2021-11-03 22:08:35 +06:00
henrypp 02b8ed86d8 upd LVN_GETDISPINFO callback 2021-11-03 22:08:22 +06:00
henrypp daa53feb1b improved mt model and cosmetic fixes 2021-11-03 22:06:46 +06:00
henrypp 4bcf456101 upd editor.c 2021-11-03 22:05:23 +06:00
henrypp 2cdcae4666 upd log.c 2021-11-03 22:05:04 +06:00
henrypp f32308a0da upd notification default layout 2021-11-03 21:02:09 +06:00
henrypp 7b4abfedd7 upd _app_getdefaulticons and fix interlocked ops 2021-11-03 19:20:09 +06:00
henrypp e1949b77a3 revert forgotten logging calls 2021-11-03 17:33:21 +06:00
henrypp aaa06f5262 cosmetics 2021-11-03 17:18:23 +06:00
henrypp ac6d246c8f upd project sdk 2021-11-03 15:56:24 +06:00
henrypp fc24fe673d fix previous commit 2021-11-03 14:06:34 +06:00
henrypp a68b796aed upd config 2021-11-03 13:38:21 +06:00
henrypp f0130acaf4 use STATUSBAR_PARTS_COUNT 2021-11-03 13:37:58 +06:00
henrypp ff96c20017 fixed toolbar/listview custdraw 2021-11-03 13:37:27 +06:00
henrypp 20647fc2f8 fixed rebar is enlarged when dpi changed 2021-11-03 13:33:10 +06:00
ltGuillaume 2d9b4a0c86 Dutch 2021-11-03 02:00:44 +01:00
henrypp 00b7a4c47c fixed simultaneous editing (#1071) 2021-11-03 01:14:11 +06:00
henrypp 3702064a42 fix sal 2021-11-03 01:07:22 +06:00
henrypp a2cb24d093 upd struct members 2021-11-02 23:18:17 +06:00
henrypp 059a106044 upd empty string 2021-11-02 23:17:51 +06:00
henrypp cd1e7f60ba upd dpi support 2021-11-02 23:17:34 +06:00
henrypp 9a93855897 upd editor balloons and cosmetics 2021-11-02 23:02:25 +06:00
henrypp b2e84c20b7 upd locale 2021-11-02 20:48:50 +06:00
henrypp 60bbee0ed1 cleanup resource 2021-11-02 20:48:35 +06:00
henrypp 6e33b7ebbb use correct window handle 2021-11-02 16:52:02 +06:00
henrypp adc16c2070 upd locales 2021-11-02 02:57:43 +06:00
henrypp 56107cc288 upd timer balloon 2021-11-02 02:56:59 +06:00
henrypp 9cd47aff9a upd strings and remove print specs 2021-11-02 02:27:58 +06:00
henrypp 5eef0e7709 upd delete message 2021-11-02 02:26:37 +06:00
henrypp aa6912863a upd editor delete message 2021-11-02 02:26:14 +06:00
henrypp ded94bec01 upd notification title 2021-11-02 02:22:50 +06:00
henrypp 276e81a088 set default IsMonitorAllowed to TRUE 2021-11-02 01:50:20 +06:00
henrypp efa6ffac14 upd resource id 2021-11-02 01:48:40 +06:00
henrypp 772ff928e1 added option to confirm allowing applications (fix #1070) 2021-11-02 01:48:32 +06:00
henrypp 96302edb5c upd locale 2021-11-02 01:47:39 +06:00
henrypp 70d8f064d2 added EPT_S_NOT_REGISTERED workaround and fixed net events unsubscription 2021-11-02 00:49:53 +06:00
henrypp 30506b981d upd sal2 2021-11-02 00:34:15 +06:00
henrypp 4acabbdfc7 code cosmetics 2021-11-01 18:09:03 +06:00
henrypp c1be8a97b1 moved message loop into _r_wnd_messageloop 2021-11-01 05:20:30 +06:00
henrypp c4f3e79f5d upd message loop 2021-11-01 04:55:06 +06:00
henrypp feb410a6d9 use _r_wnd_createwindow 2021-11-01 04:38:42 +06:00
henrypp 7c1fe4c1ca upd _wfp_getenginehandle 2021-11-01 04:08:51 +06:00
henrypp 4549aa4284 upd messages.c 2021-11-01 04:04:59 +06:00
henrypp 19c7af32fa set update checking period for 2 days 2021-11-01 04:04:24 +06:00
henrypp 206c1e92b4 upd preprocessor definitions 2021-11-01 04:04:09 +06:00
henrypp 874f99191d fix window initialization 2021-11-01 04:03:36 +06:00
henrypp 94ff6acd2c fix caching 2021-11-01 04:02:49 +06:00
henrypp c7521f36a5 fix previous commit 2021-11-01 04:02:17 +06:00
henrypp c26112bb9b use RM_TRAYICON 2021-11-01 04:01:53 +06:00
henrypp 33e3d578fc upd log subscription 2021-11-01 03:45:48 +06:00
henrypp f415fae79b upd search.c 2021-11-01 00:50:02 +06:00
henrypp f5a3ef177a upd locale timestamp 2021-11-01 00:45:34 +06:00
henrypp ddad8c87cb adds profile versions description and _PROFILE_DATA struct 2021-11-01 00:45:16 +06:00
henrypp 03a271fc6c fix #1064 2021-11-01 00:43:04 +06:00
henrypp d5baf20725 upd messages.c 2021-11-01 00:07:46 +06:00
henrypp 62935f376d upd strings 2021-11-01 00:06:47 +06:00
henrypp 93947dacc0 upd _r_obj_getstringhash 2021-11-01 00:06:11 +06:00
henrypp 16fa0e7dd8 upd locale 2021-11-01 00:05:01 +06:00
henrypp 6cf9085061 cosmetics 2021-10-31 20:58:53 +06:00
henrypp e4a0f4d358 upd 11371 port 2021-10-31 02:52:20 -07:00
henrypp 17957195e1 cosmetics 2021-10-30 22:00:14 -07:00
henrypp ce092dbafb move profile into different struct and adds _app_issystemhash 2021-10-29 18:47:59 +06:00
henrypp f91a31d326 fix editor layout changing 2021-10-29 18:13:12 +06:00
henrypp b6e29b5c0f fixed _app_refreshgroups does not display filtered count right 2021-10-29 18:10:49 +06:00
henrypp 99cdf91215 fixed rebar made invisible when dpi changed 2021-10-29 17:51:21 +06:00
henrypp ba1c43bfa7 upd _r_layout_setoriginalsize 2021-10-29 17:07:50 +06:00
henrypp 5bbab281de set network thread priority to below normal 2021-10-29 16:56:32 +06:00
henrypp 2a68165640 cosmetics 2021-10-27 11:38:16 +06:00
henrypp 64e37df1b5 upd project properties 2021-10-27 11:20:04 +06:00
henrypp a0438805fc upd _r_status_setparts 2021-10-27 10:50:10 +06:00
henrypp c915b8bccf upd notification title 2021-10-27 10:49:56 +06:00
henrypp da6ac789d2 upd _r_sys_createthread 2021-10-26 04:27:13 +06:00
henrypp da28a692f8 code cosmetics 2021-10-25 23:27:44 +06:00
henrypp 09a9ec7043 upd integer types 2021-10-25 21:27:54 +06:00
henrypp cfa891509f code cosmetics 2021-10-25 19:56:20 +06:00
henrypp 250412e1bc upd default icons processing 2021-10-25 19:15:39 +06:00
henrypp 3b4f87e7e4 fixed _app_load_appxmanifest 2021-10-25 18:16:29 +06:00
henrypp 78f3b5efa4 code cosmetics 2021-10-25 18:16:08 +06:00
henrypp ba9023c646 ++version 2021-10-25 05:03:19 +06:00
henrypp 7f5a3c70ea upd controls.c 2021-10-25 04:58:44 +06:00
henrypp 27276234d6 use _app_getlistviewitemcontext 2021-10-25 04:58:17 +06:00
henrypp 1f0ca7992c use _app_createlistviewparam and _app_destroylistviewcontext 2021-10-25 04:56:45 +06:00
henrypp f879f94722 cosmetics 2021-10-25 04:48:15 +06:00
henrypp 293ea8c502 adds _app_load_appxmanifest 2021-10-25 03:28:55 +06:00
henrypp 40dd93ddcb upd locale timestamp 2021-10-25 02:16:06 +06:00
henrypp d2633ebe74 use _r_edit_setselection 2021-10-25 02:15:53 +06:00
henrypp 5fab781b93 upd notifications 2021-10-25 02:15:32 +06:00
henrypp c35b2011db code cosmetics 2021-10-24 21:45:31 +06:00
henrypp 530e2a9403 add search.c 2021-10-24 21:40:13 +06:00
henrypp 3414ab087b upd filtering leaks 2021-10-24 21:40:00 +06:00
henrypp e1c2ac791f use _app_notify_setposition 2021-10-24 20:44:37 +06:00
henrypp 268f62a573 upd notification.c 2021-10-24 20:44:29 +06:00
henrypp 22e279ec10 add editor cue banner and paint 2021-10-24 18:58:19 +06:00
henrypp 18ffcd51d0 editor dialog cosmetics 2021-10-24 18:57:46 +06:00
henrypp d1dc485e60 code cosmetics 2021-10-24 18:57:33 +06:00
henrypp 316851c94e upd main menu 2021-10-24 18:57:15 +06:00
henrypp 9bb2f09921 upd code 2021-10-24 04:41:06 +06:00
henrypp f01e16e5c7 remove WM_ERASEBKGND 2021-10-24 02:14:37 +06:00
henrypp adf3283797 upd main menu layout 2021-10-24 02:13:26 +06:00
henrypp cea41c44f9 notification dialog cosmetics 2021-10-24 01:23:15 +06:00
henrypp 5950b65028 upd notification paint footer 2021-10-24 01:22:54 +06:00
henrypp 8ebd70e4f6 code cosmetics 2021-10-24 00:52:59 +06:00
henrypp ebe6425b87 fixed displaying next notification 2021-10-23 22:02:17 +06:00
henrypp 9ee4922bc9 revert IDS_ACTION_LATER_HINT 2021-10-23 21:47:16 +06:00
henrypp 23657db543 revert notification x button (fix #973) 2021-10-23 21:45:00 +06:00
henrypp 6f87e261ce fix notification redraw and code cosmetics 2021-10-23 21:31:03 +06:00
henrypp 0c191873e1 upd notification dpi support 2021-10-23 20:17:21 +06:00
henrypp e222c170c1 upd _r_sys_loadicon 2021-10-23 03:19:09 +06:00
henrypp c1e5c549e1 upd structs 2021-10-23 00:13:15 +06:00
henrypp d95b8799ad upd main.c 2021-10-23 00:10:32 +06:00
henrypp 001e9e376b use _app_getlistviewitemlparam 2021-10-23 00:05:37 +06:00
henrypp 11b22dcbc4 upd messages.c 2021-10-23 00:05:07 +06:00
henrypp 7aa28be06e add IDP_SEARCH 2021-10-23 00:00:29 +06:00
henrypp e12086ef8d fix 64bit log union 2021-10-22 23:24:14 +06:00
henrypp d43465184d cleanup helper.c 2021-10-22 23:23:33 +06:00
henrypp 9c4ce9f85c upd editor filtering 2021-10-22 23:23:09 +06:00
henrypp fc616a5850 upd global.h 2021-10-22 23:22:48 +06:00
henrypp 4d730ea3ee add IDP_SEARCH 2021-10-22 19:01:06 +06:00
henrypp 19e5aeb772 add search.c into project 2021-10-22 19:00:53 +06:00
henrypp 554ac1827e cosmetics 2021-10-22 02:30:20 +06:00
henrypp d1fa167c68 ++version 2021-10-22 00:03:07 +06:00
henrypp 2526f93567 fix _app_updateitembylparam 2021-10-21 23:59:55 +06:00
henrypp a282dc22d9 upd _app_getrulebyid 2021-10-21 23:59:19 +06:00
henrypp 92ba3ecc6e editor cosmetics 2021-10-21 23:58:56 +06:00
henrypp 8f4e387e5e changed create rule toolbar icon (#723) 2021-10-21 00:15:20 +06:00
henrypp d89500a4d7 add editor apps/rules filtering 2021-10-21 00:12:46 +06:00
henrypp cc61b81f45 added editor list items count mark into tab title 2021-10-20 22:51:32 +06:00
henrypp 76560656a1 upd editor.c 2021-10-20 19:02:26 +06:00
henrypp a9fc330d1a upd routine 2021-10-20 17:29:42 +06:00
henrypp 345861ee35 fix #1036 and upd routine 2021-10-20 17:25:42 +06:00
henrypp a6a0269f8d add "Printer Service" 2021-10-20 17:24:06 +06:00
henrypp bedf0a828d add listview_free_list 2021-10-20 17:23:43 +06:00
henrypp ba3fd6d9a2 upd routine 2021-10-20 17:23:37 +06:00
henrypp 43ebb72a6e upd _r_path_ntpathfromdos 2021-10-20 17:20:29 +06:00
henrypp cce6de929f add filter input (#663), upd hotkeys (#723) 2021-10-20 17:19:05 +06:00
henrypp 263f338a51 upd resource id 2021-10-20 17:17:23 +06:00
henrypp eaf2755a4d upd locale 2021-10-20 17:15:34 +06:00
henrypp 0afa8a6a18 upd _app_getfileversioninfo 2021-10-18 19:28:19 +06:00
henrypp 3cc08b3e90 upd changelog 2021-10-17 23:23:12 +06:00
henrypp 14dbc6ad8b ++version 2021-10-17 23:18:55 +06:00
henrypp 29fbed0e76 fixed using uninitialzed port variable in ip ranges (fix #1055) + fix sal2 2021-10-17 23:18:48 +06:00
henrypp e51936a59d upd wfp.c 2021-10-17 23:10:21 +06:00
henrypp 4ae1790441 upd changelog 2021-10-17 19:41:07 +06:00
henrypp a632168361 use port from range end (#1010) 2021-10-17 19:38:07 +06:00
henrypp c6a64bd5a3 revert ee6e31ec99 2021-10-17 19:35:31 +06:00
henrypp 3bf83cbd33 fixed port can be omited when parsing ip ranges (issue #1010) 2021-10-17 19:25:26 +06:00
henrypp 5026069fa6 fix previous commit 2021-10-17 19:13:51 +06:00
henrypp 5ab325544e fixed remote range replaces local range (issue #1044) 2021-10-17 19:11:06 +06:00
henrypp c29e4b6c69 cosmetics 2021-10-17 19:09:01 +06:00
henrypp ee6e31ec99 remove silent flag when app is enabled 2021-10-17 18:39:21 +06:00
henrypp 088d9c412e optimized 2021-10-17 18:39:02 +06:00
henrypp 28457a18a9 fix sal2 2021-10-17 17:11:19 +06:00
henrypp ebf4b5531e fix leak 2021-10-17 17:06:53 +06:00
henrypp 987895cde7 cosmetics 2021-10-17 17:06:47 +06:00
henrypp 7a012907b5 ++version 2021-10-17 16:59:08 +06:00
henrypp e25a8e90fa improved loading icons 2021-10-17 16:55:37 +06:00
henrypp 5f631f773d fix loading icons at startup 2021-10-17 16:54:45 +06:00
henrypp 4227221155 fix arm64 subsystem 2021-10-17 04:57:45 +06:00
henrypp d4cbfdb66c fix recursion 2021-10-17 03:55:55 +06:00
henrypp 6b8a409afa add _app_getdefaulticon and _app_getdefaulticon_uwp 2021-10-17 03:53:58 +06:00
henrypp 11dc01cd6a fix _app_loadfileicon npe 2021-10-17 03:16:16 +06:00
henrypp f5bf7135f0 upd _app_loadfileicon 2021-10-17 03:13:39 +06:00
henrypp bb13920029 upd wfp.c 2021-10-16 23:53:15 +06:00
henrypp 928fb1f641 upd _wfp_initialize 2021-10-16 23:50:37 +06:00
henrypp 15a6c629ca upd log.c 2021-10-16 23:49:48 +06:00
henrypp 16a48a6761 upd german 2021-10-16 21:50:47 +06:00
henrypp 8dad41e745 remove properties title icon 2021-10-16 21:32:03 +06:00
henrypp c6ab9c5d19 fix gdi handles leak 2021-10-16 21:23:53 +06:00
henrypp 8018908192 adds _app_getfileiconsafe 2021-10-16 21:21:13 +06:00
henrypp ffc37f5e10 upd main.h 2021-10-16 21:21:02 +06:00
henrypp 7c83564a2b upd _app_notifyseticon 2021-10-16 21:20:32 +06:00
henrypp 61da48b715 upd _app_queryfileinformation 2021-10-09 13:05:43 +06:00
henrypp 002bed71e9 upd main.h 2021-10-08 19:31:21 +06:00
henrypp 5780281f9c upd _app_queryfileinformation 2021-10-08 19:29:01 +06:00
henrypp 770f222647 upd initial table size 2021-10-08 17:26:37 +06:00
henrypp 982ca70c57 upd workqueue timeout 2021-10-08 17:22:27 +06:00
henrypp aa05834481 upd _app_addapplication 2021-10-07 22:45:26 +06:00
henrypp 9d6ae56993 upd main.c 2021-10-07 22:44:45 +06:00
henrypp c39a000786 upd _app_settab_id 2021-10-07 22:23:23 +06:00
henrypp 7063e997b3 upd editor.c 2021-10-07 22:22:57 +06:00
henrypp 76738e4f95 upd log.c 2021-10-07 22:22:40 +06:00
henrypp 61f15abb4e upd messages.c 2021-10-07 22:22:16 +06:00
henrypp 4c6f9fd766 upd notification.c 2021-10-07 22:19:00 +06:00
henrypp 164ac28ff0 upd helper.c 2021-10-07 13:29:58 +06:00
henrypp 0bd1beb77f upd changelog 2021-10-06 00:18:06 +06:00
henrypp 83db1c99fd optimized certificates checking 2021-10-05 23:41:03 +06:00
henrypp f9129c314c ++version 2021-10-05 23:06:46 +06:00
henrypp 9cdc722f8f cosmetics 2021-10-05 23:06:20 +06:00
henrypp 6b863ef2ea lock to avoid duplicate checking 2021-10-05 16:55:02 +06:00
henrypp 762f3ce537 fix crash #1033 2021-10-05 16:43:42 +06:00
henrypp d376498217 fix #1037 regression 2021-10-05 16:39:49 +06:00
henrypp 85c0e57aae upd changelog 2021-10-04 21:19:37 +06:00
henrypp bf92e84571 upd _r_mutex_create 2021-10-04 21:12:43 +06:00
henrypp 411070bd68 fix arm64 subsystem version 2021-10-04 21:12:19 +06:00
henrypp 6bc54b483a upd project sdk 2021-10-01 14:43:31 +06:00
henrypp edb41ff394 compress internal profile in resources with lznt1 2021-09-30 17:15:36 +06:00
henrypp 5a8742229a fix 2021-09-28 15:53:28 +06:00
henrypp 2ed97ee022 upd blocklist 2021-09-28 15:53:19 +06:00
henrypp f089969367 upd blocklist 2021-09-27 18:07:02 +06:00
henrypp 850a5a7dea cosmetics 2021-09-26 17:59:39 +06:00
henrypp 3e208f7eb0 add IDX_COLUMN 2021-09-26 15:50:49 +06:00
henrypp 6b78e2142c fix warnings 2021-09-26 15:50:41 +06:00
henrypp a680d3b968 upd messages.c 2021-09-26 15:50:10 +06:00
henrypp aff529421f use _r_listview_getnextselected 2021-09-26 15:48:47 +06:00
henrypp e7ce710a9a ++version 2021-09-26 15:36:20 +06:00
henrypp 9d03f8b3a0 fix warnings 2021-09-26 15:35:57 +06:00
henrypp 19a312dea2 add ballon tip for EN_MAXTEXT (fix #809) 2021-09-26 12:51:46 +06:00
henrypp b9c542540d upd locale 2021-09-26 12:29:40 +06:00
henrypp 3242e2f3a4 partially revert windows defender 2021-09-26 12:29:07 +06:00
henrypp 7b557a24ed fix condition 2021-09-26 12:01:34 +06:00
henrypp 0a0b6763b7 added -help argument 2021-09-20 13:53:05 +06:00
henrypp ab08821a7d fix #1007, fix #1009 and other fixes 2021-09-16 14:52:58 +06:00
henrypp 770908968f cosmetics 2021-09-14 15:00:03 +06:00
henrypp 142e3d2312 upd caching and queue threads safety 2021-09-14 14:43:10 +06:00
henrypp 71f4eaed1c upd process\thread environment and cosmetics 2021-09-14 14:35:36 +06:00
henrypp b28288c6e9 upd enum names 2021-09-14 01:37:05 +06:00
henrypp 8a950ca028 cosmetics 2021-09-14 00:18:48 +06:00
henrypp 697321f4e0 remove fqdn support 2021-09-08 12:35:30 +06:00
henrypp 2e52fc0ed8 upd profile.c 2021-09-07 18:35:45 +06:00
henrypp 29a1e57431 upd struct 2021-09-07 18:33:29 +06:00
henrypp 02fdb65097 fix types 2021-09-07 18:25:36 +06:00
henrypp ec0dd379e6 ren _app_queryfileinformation 2021-09-07 18:25:07 +06:00
henrypp 57991ee9d2 added caching and removed dns resolving 2021-09-07 18:21:58 +06:00
henrypp d051daec4b add cache data types 2021-09-07 17:52:06 +06:00
henrypp a0b01d3ffd use icons from cache 2021-09-07 17:51:30 +06:00
henrypp 51beecbc3f editor.c cosmetics 2021-09-07 17:49:54 +06:00
henrypp 5d07c8b324 upd _app_getapptooltipstring and _app_refreshstatus 2021-09-07 17:48:49 +06:00
henrypp 53d466e9d6 cosmetics 2021-09-07 17:43:21 +06:00
henrypp 804a0aac74 fix #1015 pt.2 2021-09-06 15:53:23 +06:00
henrypp 94b1577674 fix #1015 2021-09-06 14:45:04 +06:00
henrypp ebd4b82b1e upd locale 2021-09-06 02:51:24 +06:00
henrypp f0ab33b269 update utf8 to utf 16, again 2021-09-06 02:51:12 +06:00
Henry++ faedb21ff1 Merge pull request #1014 from Henry2o1o/patch-27
Fix
2021-09-05 20:49:21 +00:00
Hen Ry 4584fc827a Fix 2021-09-05 15:25:57 +02:00
henrypp 4a14603dc4 upd locale 2021-09-05 13:57:40 +06:00
Henry++ 4f5bf617e6 Merge pull request #1013 from Henry2o1o/patch-26
Fix
2021-09-05 07:55:39 +00:00
Hen Ry 4094336067 Fix 2021-09-05 06:51:53 +02:00
henrypp 8546b7d415 fix #1008 2021-08-31 16:44:35 +06:00
henrypp 88f7b7623e upd changelog 2021-08-30 13:09:07 +06:00
henrypp d42324a0d1 ++version 2021-08-30 13:08:55 +06:00
henrypp cdc7e28f7f fix #1003 2021-08-29 15:20:40 +06:00
Henry++ a2f8e2682b Merge pull request #1002 from hho2002/fix-rule-replace
fix rule_local replace rule_remote address.addr4 and address.addr6
2021-08-29 09:12:30 +00:00
hho2002 24aef2248c fix rule_local replace rule_remote address.addr4 and address.addr6 2021-08-29 17:08:03 +08:00
Henry++ 9742986595 Merge pull request #1003 from owerosu/master
Verify code signature from catalog files
2021-08-29 07:38:58 +00:00
owerosu da72fc9e6e Verify code signature from catalog files 2021-08-28 17:58:07 +02:00
henrypp ae22bbfc12 upd changelog 2021-08-24 18:55:09 +06:00
henrypp e47855ea3c add _app_message_displayinfo 2021-08-24 18:22:12 +06:00
henrypp 0f7f807096 fix icon loading 2021-08-24 18:21:45 +06:00
henrypp 95ab994b4e cosmetics 2021-08-24 16:53:42 +06:00
henrypp 579fd572e7 upd _app_getconnectionstatusname 2021-08-24 16:34:42 +06:00
henrypp 00a0115bb2 use _app_message_displayinfo and cleanup 2021-08-24 16:15:14 +06:00
henrypp fd021cfeea profile cosmetics 2021-08-24 16:14:34 +06:00
henrypp 3966e5591d code cosmetics 2021-08-24 15:40:53 +06:00
henrypp 16ea9a64ba moved busy operations into worker thread 2021-08-24 15:39:32 +06:00
henrypp db85ee133c ++version 2021-08-22 23:31:02 +06:00
henrypp 83f6436f00 fix log thread 2021-08-22 23:30:40 +06:00
henrypp a3b43df743 upd config 2021-08-22 14:30:09 +06:00
henrypp 02b6e50283 cosmetics 2021-08-22 14:30:04 +06:00
henrypp 79447ef592 use c array for timer, change thread environment and enable certificate checks by default 2021-08-22 14:28:47 +06:00
henrypp 830754194a fix #945 2021-08-22 14:25:10 +06:00
henrypp ad25eff355 upd locale 2021-08-20 23:00:49 +06:00
Henry++ 5558e46734 Merge pull request #991 from Alcazer/patch-1
Update Turkish.ini
2021-08-20 16:58:29 +00:00
Alcazer Barış TÜRKGÜCÜ 1808cc0954 Update Turkish.ini 2021-08-20 03:02:14 +03:00
henrypp 1c7073af97 upd locale 2021-08-17 12:14:46 +06:00
Henry++ 97454d1950 Merge pull request #984 from Rukoto/master
Update Japanese.ini
2021-08-17 06:09:21 +00:00
Henry++ b4fb3eae5b Merge pull request #982 from rddim/update-bulgarian-210816
Update Bulgarian localization
2021-08-17 06:09:01 +00:00
Rukoto 902053d5ac Update Japanese.ini 2021-08-17 10:50:56 +09:00
rddim dd8af7f5d2 Update Bulgarian localization 2021-08-16 23:40:26 +03:00
henrypp 101638df8d upd issue number 2021-08-15 19:53:08 +06:00
henrypp 6b2ff3b31e upd changelog 2021-08-15 19:46:58 +06:00
henrypp f5e77023b1 cosmetics 2021-08-15 19:22:46 +06:00
henrypp e9ccebf762 use default title 2021-08-15 19:21:48 +06:00
henrypp 02b6f992e3 upd ENUM_TYPE_XML 2021-08-15 19:14:19 +06:00
henrypp 53c661b159 fix profile compat 2021-08-15 19:14:04 +06:00
henrypp 3f320fcabf ++version 2021-08-15 18:44:11 +06:00
henrypp c4fec1404f upd worker threads environment 2021-08-15 18:25:06 +06:00
henrypp abc2d41381 fixed blocklist can does not change action status 2021-08-15 18:21:58 +06:00
henrypp 40ffa04f07 fix #986 2021-08-15 18:20:30 +06:00
henrypp 4eb50e564d upd resource 2021-08-11 18:48:07 +06:00
henrypp 4acd2d916f v34 2021-08-11 18:47:58 +06:00
henrypp 10fca1b5c1 upd system rules 2021-08-11 18:41:04 +06:00
henrypp c3fb73898c upd changelog 2021-08-11 18:40:40 +06:00
henrypp 796bb5405a add rtypes.h 2021-08-11 18:40:18 +06:00
henrypp 7c24430829 ++version 2021-08-11 18:40:08 +06:00
henrypp 10f0b5ef37 upd locale 2021-08-11 18:40:00 +06:00
henrypp 24e1e7d7c2 upd readme 2021-08-11 18:39:30 +06:00
henrypp 96591cc41a note for "advanced" users 2021-07-06 22:44:02 +06:00
henrypp 4dc6446c25 upd changelog 2021-07-05 18:19:39 +06:00
henrypp 48747d3c78 upd vc ver 2021-07-05 18:18:51 +06:00
henrypp 690325a0b0 upd build script 2021-07-05 18:18:39 +06:00
henrypp 8842c1f597 ++version 2021-07-05 18:15:59 +06:00
henrypp 553cc728ff code cosmetics 2021-07-05 18:15:48 +06:00
henrypp 946c61e82f fix array index 2021-07-05 18:15:25 +06:00
henrypp b1ee3e90fa remove unused condition check 2021-07-05 18:10:53 +06:00
henrypp d37b641180 rename build_profile_blocklist 2021-07-04 04:26:17 +06:00
henrypp 6f17ff86fb remove old versions from changelog 2021-07-04 04:21:33 +06:00
henrypp e77b0d204a added registry title 2021-07-04 03:59:43 +06:00
henrypp cf7c3fcf02 upd readme (thx @Chaython) 2021-07-04 03:57:55 +06:00
henrypp ffe5f40eaa remove _r_obj_movereference 2021-07-04 01:39:24 +06:00
henrypp 4d3ccdc949 use _r_sys_querytaginformation 2021-07-04 01:38:09 +06:00
henrypp ab5350c256 use _r_sys_querytagname and _r_sys_isprocessimmersive 2021-07-03 03:13:34 +06:00
henrypp 6d54a89671 upd .gitignore 2021-07-03 02:53:44 +06:00
henrypp 2d6b05fd87 use _r_sys_getcurrenttoken 2021-07-03 02:53:35 +06:00
henrypp 3af4441e66 try to use PVOID_PTR 2021-07-03 02:53:13 +06:00
henrypp bc92189707 use _r_sys_getimagepath 2021-07-01 19:01:57 +06:00
henrypp a0b13d7dc7 use _r_str_isdigit 2021-06-29 20:53:47 +06:00
henrypp ae17242850 upd dpi support 2021-06-29 20:53:34 +06:00
henrypp 6da8e89470 upd _r_obj_addlistitem 2021-06-24 14:58:47 +06:00
henrypp ee920e5029 upd _app_imagelist_init and _app_toolbar_resize 2021-06-23 19:58:28 +06:00
henrypp c8d3b2a4cb fixed bugs 2021-06-23 19:57:33 +06:00
henrypp b3b96483f7 upd project sdk 2021-06-23 19:55:51 +06:00
henrypp 3c163163f5 use _r_math_createguid 2021-06-23 01:58:18 +06:00
henrypp 5757cd6c61 check config first 2021-06-22 17:37:34 +06:00
henrypp 44703decbb add GuardSignedReturns for arm64 2021-06-17 23:33:41 +06:00
henrypp 181949f9be use system dpi icon for tray 2021-06-17 23:33:14 +06:00
henrypp e16059ff8a use _r_app_getname 2021-06-17 23:32:54 +06:00
henrypp 1c513e4a29 upd locale 2021-06-15 23:22:47 +06:00
Henry++ a96924c93c Merge pull request #955 from SINE/master
Fixed grammatical and logical issues in German translation.
2021-06-15 17:22:01 +00:00
SINE bea0439025 Fixed grammatical and logical issues in German translation. 2021-06-15 18:19:48 +02:00
henrypp 59b6512b16 use tray icon guid 2021-06-15 14:40:12 +06:00
henrypp b6d16c97b0 added command line short opts 2021-06-05 19:32:00 +06:00
henrypp 50b81ed0f2 add bulgarian 2021-06-04 00:53:29 +06:00
Henry++ fe47283970 Merge pull request #934 from rddim/add-bulgarian-210524
Add Bulgarian localization
2021-06-03 18:55:22 +00:00
henrypp bfb23d1888 upd changelog 2021-06-04 00:04:13 +06:00
henrypp f7415c09a4 use _r_sys_getopt for arguments 2021-06-03 23:27:05 +06:00
henrypp 5ca32b9a5f ++version 2021-06-03 21:39:17 +06:00
henrypp 82549bc8f6 fix CreateDIBSection 2021-06-03 21:39:08 +06:00
henrypp ee4dc643fc clear session log on system suspend 2021-06-03 21:38:51 +06:00
henrypp bb113c7314 added ocsp system rule 2021-06-02 18:58:54 +06:00
henrypp 07b314eab7 fix 32-bit build 2021-06-02 18:57:28 +06:00
henrypp 04ed66405e upd german 2021-06-01 12:13:10 +06:00
henrypp dffe89a438 Merge branch 'master' of github.com:henrypp/simplewall 2021-06-01 12:12:23 +06:00
Henry++ 8b077518be Merge pull request #940 from Henry2o1o/patch-25
little fix
2021-06-01 06:14:35 +00:00
Hen Ry c4de1ff845 litle fix 2021-05-31 19:41:28 +02:00
henrypp 7fd0135d06 upd dutch 2021-05-30 09:51:19 +06:00
rddim 1879c5d02a Add Bulgarian localization 2021-05-24 23:20:58 +03:00
henrypp 6e3168d099 upd blocklist 2021-05-17 17:37:37 +06:00
henrypp a923ff51c4 locale cleanup unused string 2021-05-17 17:14:13 +06:00
henrypp fac5ffe402 fixed threadpool com+ initialization 2021-05-14 20:54:52 +06:00
henrypp 9fa265d4d1 fix output directory 2021-05-14 15:04:30 +06:00
henrypp b56d60fe05 upd .gitignore for arm64 builds 2021-05-14 15:04:16 +06:00
henrypp 8b49c92d0f Merge branch 'master' of github.com:henrypp/simplewall 2021-05-14 15:00:20 +06:00
Henry++ ce62412c0c Merge pull request #928 from davidebeatrici/arm64-support
Add ARM64 build configuration
2021-05-14 09:01:43 +00:00
Davide Beatrici 72880fb807 Add ARM64 build configuration
The resulting binary was tested on a PiPO W12 and appears to be working fine.
2021-05-14 02:40:46 +02:00
henrypp b5ec33ee8e fix workaround 2021-05-11 14:15:44 +06:00
henrypp 6f66710a68 fixed checking app attributes 2021-05-11 14:11:38 +06:00
henrypp 1f91275052 use ULONG_PTR for hash 2021-05-10 21:09:02 +06:00
henrypp d4629bc12a upd _r_str_findchar 2021-05-05 20:11:16 +06:00
henrypp f02d2562cf upd locale 2021-05-01 17:47:19 +06:00
Henry++ c638fc0ec2 Merge pull request #909 from ltGuillaume/master
Dutch
2021-05-01 11:42:54 +00:00
Henry++ 0e91589ade Merge pull request #910 from Henry2o1o/patch-24
Fix
2021-05-01 11:42:48 +00:00
Hen Ry 824b0a2dca Fix 2021-05-01 13:41:11 +02:00
ltGuillaume e43dc0222c Dutch 2021-05-01 12:57:53 +02:00
henrypp 4647be7670 upd italian 2021-04-30 21:12:54 +06:00
henrypp 2015f4de2b upd changelog 2021-04-29 08:57:33 +06:00
henrypp 163c1e9ab6 upd _app_getversioninfo 2021-04-29 08:53:02 +06:00
henrypp 19b7f6280a upd prepro 2021-04-29 03:52:17 +06:00
henrypp 93172a9243 code cosmetics 2021-04-29 03:52:07 +06:00
henrypp 0fc6974398 ++version 2021-04-29 03:49:11 +06:00
henrypp c2baed858e upd _app_gettooltip 2021-04-29 03:49:05 +06:00
henrypp 5a099da716 added cache spinlocks 2021-04-29 03:48:59 +06:00
henrypp 17d300a1e9 fix cache 2021-04-29 03:48:43 +06:00
henrypp 926bd6d70b cosmetics 2021-04-28 09:04:20 +06:00
henrypp 686205f485 upd _FwpmGetAppIdFromFileName1 2021-04-28 09:02:09 +06:00
henrypp e105bce690 upd _app_notifyshow 2021-04-28 07:31:29 +06:00
henrypp 107b32ab99 upd _wfp_logcallback 2021-04-28 07:25:51 +06:00
henrypp fae4b9cc5a fix interlocked operations 2021-04-27 19:00:06 +06:00
henrypp d21acc95a0 fix warnings 2021-04-27 08:27:03 +06:00
henrypp 75a171ada7 fix 32bit integer 2021-04-27 08:22:23 +06:00
henrypp 1ac5a85b82 upd _FwpmGetAppIdFromFileName1 2021-04-27 08:16:08 +06:00
henrypp 77c7d0768f upd sal2 2021-04-27 08:14:57 +06:00
henrypp 39de8ebd67 fix editor does not apply rules for the app 2021-04-27 08:14:50 +06:00
henrypp b49aa27d88 fix warnings 2021-04-27 08:14:04 +06:00
henrypp d29a877fc8 upd _r_filedialog_initialize 2021-04-27 04:34:33 +06:00
henrypp 277af25dab upd changelog 2021-04-23 18:45:49 +06:00
henrypp e00515001f fix atomic operations 2021-04-23 18:38:24 +06:00
henrypp ad2eb3f69f use _r_config_setstringexpand 2021-04-23 18:38:06 +06:00
henrypp 1f8d74412e add _app_getlogpath and _app_getlogviewer and atomic operations fixes 2021-04-23 18:33:03 +06:00
henrypp 900537af6b upd sal annotation 2021-04-23 18:31:11 +06:00
henrypp 85fe075e67 cosmetics 2021-04-23 02:14:52 +06:00
henrypp a849253c43 upd _r_filedialog_initialize and fix memory leak 2021-04-23 02:14:42 +06:00
henrypp 636a429e2b upd tagLOG_LEVEL 2021-04-22 21:25:19 +06:00
henrypp 07c2e8a265 upd locale 2021-04-22 16:42:43 +06:00
Henry++ e1228cbcc5 Merge pull request #900 from Alcazer/master
Update Turkish.ini
2021-04-22 10:42:55 +00:00
Alcazer Barış TÜRKGÜCÜ 6664da75d9 Update Turkish.ini 2021-04-22 11:14:18 +03:00
henrypp df8ae7962f ++version 2021-04-21 18:53:33 +06:00
henrypp 8d4361ccd4 fixed initialization and other fixes 2021-04-21 18:53:18 +06:00
henrypp 20ad9411f2 added missing spinlocks 2021-04-21 18:42:18 +06:00
henrypp 5d192fd0af upd locale 2021-04-21 18:36:10 +06:00
Henry++ f0db4178ee Merge pull request #893 from Rukoto/master
Update Japanese.ini
2021-04-21 12:35:51 +00:00
Rukoto ea2988ee68 Update Japanese.ini 2021-04-20 10:59:21 +09:00
henrypp 342eafb784 remove codeql 2021-04-19 18:37:32 +06:00
henrypp bf95cfc24c upd locale 2021-04-17 14:05:34 +06:00
henrypp 3a701bff9f fix _r_sys_createprocess filename argument 2021-04-16 21:39:59 +06:00
Henry++ 049f9c334d Create codeql-analysis.yml 2021-04-16 11:23:29 +00:00
henrypp 4d40570eab upd line endings 2021-04-16 17:13:49 +06:00
henrypp 6b7c6d05de upd changelog 2021-04-16 17:12:48 +06:00
henrypp 621ac3c7a2 upd project sdk 2021-04-16 17:11:14 +06:00
henrypp 38f3478955 upd xml library 2021-04-16 14:18:31 +06:00
henrypp e4a8f3e48f fixed net event subscribe on os versions lower than 1607 2021-04-16 14:15:46 +06:00
henrypp 250fea5a28 ++version 2021-04-16 14:14:10 +06:00
henrypp 72f9e04444 define APP_BETA 2021-04-15 22:52:37 +06:00
henrypp bc91e29aa0 upd changelog 2021-04-15 22:50:33 +06:00
henrypp 47a9c11d99 cleanup 2021-04-14 20:04:30 +06:00
henrypp b02dd45dc9 use spinlock 2021-04-09 10:13:16 +06:00
henrypp 446ce9f2fe upd dutch 2021-04-08 20:52:37 +06:00
Henry++ 314bd9da5c Merge pull request #884 from ltGuillaume/master
Dutch
2021-04-08 14:52:43 +00:00
ltGuillaume be5a438588 Dutch 2021-04-08 16:11:11 +02:00
henrypp 09cec7f71b upd build script 2021-04-08 18:20:25 +06:00
henrypp dcced67d12 upd build script 2021-04-08 17:56:13 +06:00
henrypp 4ad5be3494 use build script 2021-04-08 17:45:44 +06:00
henrypp d8fbcf77d3 upd blocklist updater script 2021-04-08 17:42:16 +06:00
henrypp 5943c4f553 upd builder version 2021-04-07 09:19:40 +06:00
henrypp 23e0c25d68 upd editor 2021-04-06 09:42:49 +06:00
henrypp 4039d26476 added python script for update blocklist 2021-04-06 09:40:04 +06:00
henrypp effc00ccb4 cosmetics 2021-04-06 09:37:41 +06:00
henrypp ffa2d2dea4 lock network table 2021-04-06 08:57:57 +06:00
henrypp 5cf3c7fa26 enable eh continuation metadata for x64 2021-04-05 08:02:00 +06:00
henrypp e09d53649e upd crlf 2021-04-01 05:31:38 +06:00
henrypp 13a88891dd cosmetics 2021-04-01 05:30:49 +06:00
henrypp 8a6e755aa0 гзв дщсфдуы 2021-03-31 14:52:22 +06:00
henrypp 0300060646 typo 2021-03-31 14:48:19 +06:00
henrypp 0f399fc4cf updated russian 2021-03-31 14:47:32 +06:00
henrypp 13fb3eb1e2 upd locale 2021-03-31 14:46:25 +06:00
henrypp 1ecd872cf5 do not modify list in disabled mode 2021-03-31 14:13:19 +06:00
henrypp 11c0b7f17a increase displaying items limit 2021-03-31 14:12:33 +06:00
henrypp 0abe3fc270 rename item 2021-03-31 13:10:28 +06:00
henrypp d22d76b78d add _app_setruletoapp 2021-03-31 13:02:15 +06:00
henrypp 904827627c use hwnd 2021-03-31 13:01:27 +06:00
henrypp 23c1d7a62c cosmetics 2021-03-31 10:13:06 +06:00
henrypp 153108e4b0 upd tagITEM_CONTEXT 2021-03-31 10:11:11 +06:00
henrypp 399d5851d1 cosmetics 2021-03-26 21:06:06 +06:00
henrypp 4df1cfaad4 fix warnings 2021-03-26 20:54:41 +06:00
henrypp ebf5f2ed73 upd _app_notifyhide 2021-03-26 20:10:48 +06:00
henrypp 0de5441a4d upd tagITEM_CONTEXT 2021-03-26 20:10:29 +06:00
henrypp df1d5747fb fix npe 2021-03-26 20:10:21 +06:00
henrypp e40b2a868a upd _app_getcount 2021-03-25 14:18:39 +06:00
henrypp 01bf287b5c fix #872 2021-03-22 20:29:58 +06:00
henrypp 58d71a161a upd locale 2021-03-20 15:54:37 +06:00
henrypp d4d362dca1 removed notification ignore button 2021-03-20 15:54:18 +06:00
henrypp 1cb71c23bb fix listview resize and 2021-03-20 15:43:31 +06:00
henrypp 16978621ce resize listview after log cleanup 2021-03-20 15:03:47 +06:00
henrypp bbb1b79709 use _r_obj_initializehashstore 2021-03-20 12:26:23 +06:00
henrypp 761e0bca8f cosmetics 2021-03-19 23:44:58 +06:00
henrypp eb5b276450 upd manifest 2021-03-17 21:48:09 +06:00
henrypp c468917123 do not display ERROR_FILE_NOT_FOUND errors 2021-03-17 21:48:02 +06:00
henrypp 5586e063f9 use SetWindowPos to display listview 2021-03-17 21:47:38 +06:00
henrypp 6b888b74c9 fix previous commit 2021-03-17 04:12:32 +06:00
henrypp b10d7e17d5 remove whitespace 2021-03-17 04:11:05 +06:00
henrypp 35019c5139 cleanup _app_generate_timerscontrol 2021-03-17 04:10:55 +06:00
henrypp 17c191eec1 fix unitialized variable 2021-03-16 22:02:57 +06:00
henrypp 43ed44c1bb upd logger 2021-03-15 23:53:07 +06:00
henrypp 9f474bc2ef cleanup 2021-03-15 23:17:39 +06:00
henrypp 202844fb97 upd resource 2021-03-15 23:16:41 +06:00
henrypp ed56d6eb0e upd main code 2021-03-15 23:16:16 +06:00
henrypp fdf25cfeda upd resource 2021-03-15 23:16:06 +06:00
henrypp 4ec6f47420 upd tagITEM_CONTEXT 2021-03-15 23:08:15 +06:00
henrypp 5d37b1d7de upd eol 2021-03-15 19:15:31 +06:00
henrypp 21dbdbb6bc upd german 2021-03-15 19:13:59 +06:00
henrypp 1a7dfd86cb add lock profile r/w 2021-03-15 19:13:43 +06:00
henrypp 2c21a393b9 upd manifest 2021-03-15 19:12:38 +06:00
henrypp 1f75492e20 upd project sdk 2021-03-15 19:12:27 +06:00
henrypp 4cbf9ded51 upd blocklist 2021-03-12 13:59:12 +06:00
henrypp 046436fe91 resize toolbar after initialize 2021-03-11 07:39:47 +06:00
henrypp 6beae6ddd7 add ITEM_LOG_CALLBACK 2021-03-11 03:21:14 +06:00
henrypp e72e11fefd fix crlf 2021-03-11 03:12:39 +06:00
henrypp afde3aee24 cleanup 2021-03-08 04:38:07 +06:00
henrypp c21b5a14df upd notifications 2021-03-08 03:38:28 +06:00
henrypp e4b154025c upd crlf 2021-03-08 03:33:25 +06:00
henrypp e2ac2f3b56 enable eh continuation metadata (x64) 2021-03-03 02:16:12 +06:00
henrypp 0def33a2c5 upd project sdk 2021-03-03 02:14:58 +06:00
henrypp 8804df9e94 revert _app_command_idtorules and popup cosmetics 2021-03-03 02:14:22 +06:00
henrypp 5219e65806 set limit for rules popup (#692) 2021-03-03 02:11:32 +06:00
henrypp 2c346ef50e upd global.h 2021-03-03 02:10:15 +06:00
henrypp 918eb5f891 revert _app_generate_rulescontrol 2021-02-28 22:37:18 +06:00
henrypp 819acf0f9f revert _app_getappitem 2021-02-28 22:36:41 +06:00
henrypp 3b3d359a77 remove _app_message_resizewindow 2021-02-21 23:20:06 +06:00
henrypp 2525e93863 upd project sdk 2021-02-21 23:19:54 +06:00
henrypp 81c952c539 fix sal 2021-01-31 07:45:17 +06:00
henrypp 06dcd38576 added InfoIsReadonly info 2021-01-31 06:33:29 +06:00
henrypp a17550d81a code cosmetics 2021-01-31 06:23:24 +06:00
henrypp 7b37be5f75 upd sal2 annotations 2021-01-31 06:23:02 +06:00
henrypp 83c2ae114a remove duplicate function calls 2021-01-31 06:22:37 +06:00
henrypp 9b092e89c9 added sal2 annotations 2021-01-31 05:44:48 +06:00
henrypp f0b666adc0 increase speed of service enumeration 2021-01-29 02:36:19 +06:00
henrypp e1dd9d8335 remove text macro 2021-01-29 02:34:09 +06:00
henrypp 0a1ea2ca78 add _app_getruleinfo and _app_getruleinfobyid 2021-01-29 02:33:38 +06:00
henrypp 9487c56ccd upd project sdk 2021-01-29 02:33:13 +06:00
henrypp 312ac063a6 added sal2 annotations 2021-01-29 02:29:04 +06:00
henrypp 82ca4b8b6a upd project sdk 2021-01-23 11:02:18 +06:00
henrypp 3a8aff7e86 upd project sdk 2021-01-20 21:46:30 +06:00
henrypp 1dda1bb6e3 add quic rule (#819) 2021-01-16 21:59:41 +06:00
henrypp 9b7a75bb04 add quic service name (#819) 2021-01-16 20:16:33 +06:00
henrypp 63db7eebd7 improved rule parser and fix #822 2021-01-16 20:13:56 +06:00
henrypp 6bc6821ac6 cosmetics 2021-01-16 20:13:27 +06:00
henrypp 0cc79511f7 fix #774 2021-01-15 09:39:42 +06:00
henrypp c92b773115 upd project sdk 2021-01-15 09:39:06 +06:00
henrypp 449a0b2fa5 fix possible npe 2021-01-12 23:51:17 +06:00
henrypp 693de8d2e8 upd project sdk 2021-01-11 17:15:24 +06:00
henrypp 6b4c75a2fc Revert "cleanup"
This reverts commit 9835d799d7.
2021-01-08 17:13:26 +06:00
henrypp 9835d799d7 cleanup 2021-01-08 04:18:23 +06:00
henrypp 73f48e04d3 upd locale timestamps 2021-01-08 04:17:27 +06:00
henrypp 57cf63dd6e upd readme 2021-01-07 18:00:51 +06:00
henrypp 0740b1ad2a upd readme 2021-01-06 16:29:24 +06:00
henrypp 7bbe1deb2e upd locale 2021-01-04 00:12:03 +06:00
Henry++ f502863ec3 Merge pull request #836 from nkh0472/patch-1
Update Chinese (Simplified).ini
2021-01-03 18:01:23 +00:00
nkh0472 b5672c4293 Update Chinese (Simplified).ini 2021-01-03 23:02:05 +08:00
henrypp afa4dc191f upd project sdk 2021-01-03 00:24:41 +06:00
henrypp 9e4fd69267 upd blocklist 2021-01-03 00:24:18 +06:00
henrypp ed3462c145 strip whitespace 2020-12-31 18:39:28 +06:00
henrypp 4fb3e365d6 upd locale 2020-12-31 18:39:01 +06:00
Henry++ 61d6a60242 Merge pull request #831 from Henry2o1o/patch-22
Fix
2020-12-31 12:37:06 +00:00
Hen Ry b038a2c5f1 Fix 2020-12-28 00:16:51 +01:00
henrypp 7016ba439b do not save unused apps 2020-12-27 22:56:03 +06:00
henrypp 710dced1f4 cleanup 2020-12-27 22:07:54 +06:00
henrypp f3ff8c73e6 fix cache possible overflow 2020-12-27 22:01:37 +06:00
henrypp bdaa05ed9c fix fw policy clsid 2020-12-27 19:26:20 +06:00
henrypp d749886ad3 upd funding 2020-12-27 17:38:20 +06:00
henrypp 125bc7c788 upd locale 2020-12-27 15:52:29 +06:00
Henry++ b9ce0a08e5 Merge pull request #826 from Henry2o1o/patch-21
Update German.ini
2020-12-27 09:50:43 +00:00
henrypp 1fce29113f upd img 2020-12-27 15:50:26 +06:00
henrypp 57637fa39a upd project sdk 2020-12-25 17:30:45 +06:00
henrypp d1aa5e0d7b upd global vars 2020-12-18 11:25:02 +06:00
henrypp 721ac3dc44 cosmetics 2020-12-18 11:24:13 +06:00
henrypp 5dc109c26a add reproducible builds vc option 2020-12-18 11:23:47 +06:00
Hen Ry 17096da820 Update German.ini 2020-12-17 17:24:30 +01:00
henrypp 48f695a812 upd vc project settings 2020-12-11 17:13:04 +06:00
henrypp fe8fc2fd11 upd year and readme cosmetics 2020-12-11 14:38:27 +06:00
henrypp 07bec45063 upd project sdk 2020-12-11 14:36:15 +06:00
henrypp 3bc84f54f5 removed unused graphics 2020-12-11 14:13:49 +06:00
henrypp 07b2dc158b upd messages 2020-12-11 14:13:25 +06:00
henrypp 22d151fe7f cosmetics 2020-11-28 03:20:14 +06:00
henrypp f884294f4e add index column into log listview 2020-11-28 03:19:44 +06:00
henrypp 5dd89aeafd cosmetics 2020-11-28 03:18:42 +06:00
henrypp 4c5fb49a81 upd timer 2020-11-28 03:17:46 +06:00
henrypp 44055752d9 removed pugixml 2020-11-28 03:16:26 +06:00
henrypp 80abb9df21 upd _app_getfileicon 2020-11-24 20:39:17 +06:00
henrypp 6c77725c78 upd resource id 2020-11-24 20:37:08 +06:00
henrypp bea296f550 use threadpool for timers 2020-11-24 20:36:47 +06:00
henrypp 73cbdf6134 upd security 2020-11-24 20:35:04 +06:00
henrypp b6286aaaed upd notifications 2020-11-24 20:34:45 +06:00
henrypp 0b3f1ac0e4 move custdraw proc into messages 2020-11-24 19:59:22 +06:00
henrypp 9ecc225e6d upd log 2020-11-24 18:57:40 +06:00
henrypp 1f9add0a9c upd helper 2020-11-24 18:53:27 +06:00
henrypp 3c42e29943 upd editor 2020-11-24 18:35:41 +06:00
henrypp 69c8862f0e upd controls 2020-11-24 18:33:30 +06:00
henrypp 1c807535b7 upd locale 2020-11-24 18:30:53 +06:00
Henry++ 1b2a18cfcd Merge pull request #818 from ltGuillaume/master
Dutch
2020-11-24 12:22:42 +00:00
ltGuillaume 1e674ae170 Dutch 2020-11-22 20:48:07 +01:00
henrypp 44ffc17dee upd dhcp network rule 2020-11-20 16:16:55 +06:00
henrypp 05fe88c6d3 moved window procedure message processing code into "messages" 2020-11-17 22:55:41 +06:00
henrypp e6154d2ef9 rename .hpp to .h 2020-11-17 22:53:02 +06:00
henrypp 492c7cb201 upd app.h 2020-11-11 14:47:55 +06:00
henrypp 4731677682 add option for single click tray icon 2020-11-11 14:47:33 +06:00
henrypp 89110a1b54 upd locales 2020-11-11 14:47:05 +06:00
henrypp 59eccd4eca upd resources 2020-11-11 14:45:20 +06:00
henrypp d679773499 upd locale 2020-10-24 17:35:25 +06:00
henrypp cb78657ce8 upd locale 2020-10-23 16:00:12 +06:00
henrypp 5138e35042 upd locale 2020-10-20 20:34:45 +06:00
henrypp 5f46fdb497 upd max version tested 2020-10-14 22:45:35 +06:00
henrypp e97b54f368 upd french 2020-10-14 22:45:10 +06:00
henrypp f6fb5a845c add 587 mail port & use all protocols for upnp 2020-10-14 22:45:00 +06:00
henrypp 9163a418df upd builder 2020-10-14 22:43:25 +06:00
Henry++ 7f5320e913 Merge pull request #786 from Janaue/patch-2
correction of typos for french
2020-10-01 20:15:20 +00:00
Janaue a09eeade10 correction of typos for french 2020-09-29 13:12:38 +02:00
henrypp a83a935b37 upd blocklist 2020-09-08 15:44:53 +06:00
henrypp d7f0520784 upd changelog 2020-09-05 20:41:25 +06:00
henrypp fb13a627eb trim service args and quotes 2020-09-05 20:28:48 +06:00
henrypp c2c8fb1234 add NDEBUG for Release builds 2020-09-04 19:38:58 +06:00
henrypp d47397b3b3 upd thread api 2020-09-04 19:38:19 +06:00
henrypp cd6cc63560 remove listview scroll hack 2020-09-04 01:24:57 +06:00
henrypp 781b3112da removed WM_ERASEBKGND 2020-09-04 01:18:15 +06:00
henrypp f05aacf123 notifications cosmetics 2020-09-04 01:17:58 +06:00
henrypp b2c26bbf5b rename param 2020-09-04 00:55:34 +06:00
henrypp f1b9266a49 removed RM_DPICHANGED 2020-09-04 00:55:23 +06:00
henrypp 38832e168b incorrect read-only rules tooltip markup 2020-09-03 22:27:49 +06:00
henrypp ec676903ce removed user service instance from enumeration (win10+)
... and code cosmetics
2020-09-03 20:20:47 +06:00
henrypp 16595bf905 memory leak 2020-09-03 17:57:52 +06:00
henrypp 29929cee7f string cosmetics 2020-09-03 17:57:27 +06:00
henrypp deed40e5de app filter uses incorrect display name 2020-09-03 15:00:40 +06:00
henrypp 58df844788 timer callback displays incorrect name 2020-09-03 15:00:11 +06:00
henrypp 660afeb16d improved rule parsing 2020-09-03 14:31:50 +06:00
henrypp e4ff1b2966 _wfp_createrulefilter are always return "TRUE" (bug) 2020-09-03 14:30:22 +06:00
henrypp dc34c5fca5 add "_app_isruletype" and upd "_app_isrulevalid", "_app_isruleport"... 2020-09-03 14:29:24 +06:00
henrypp d3d88f6982 regroup log viewer option 2020-09-02 20:07:58 +06:00
henrypp e342b59030 _app_profile_load_check_node cosmetics 2020-09-02 19:55:32 +06:00
henrypp e5824a5444 use _r_obj_referencesafe 2020-09-02 19:48:59 +06:00
henrypp 83aea21186 upd thread api 2020-09-02 19:07:18 +06:00
henrypp 36ed895e93 upd _r_str_extract 2020-09-02 19:04:51 +06:00
henrypp ec6fa9e7a1 fix retrieve system attributes 2020-09-02 14:32:30 +06:00
henrypp 050f3f900f use _r_str_expandenvironmentstring and _r_str_unexpandenvironmentstring 2020-09-02 14:08:03 +06:00
henrypp b43df857b7 do not gray-out log viewer option 2020-09-02 10:28:39 +06:00
henrypp 8f67c49c95 compact tagITEM_CONTEXT 2020-09-02 10:20:01 +06:00
henrypp 75f38a1279 upd thread api 2020-09-02 10:00:24 +06:00
henrypp 0be8bb9bb0 remove thread pool 2020-09-02 10:00:00 +06:00
henrypp 1efd87f623 added loglevel for logs 2020-09-01 17:20:05 +06:00
henrypp 2e26dc3e62 remove duplicate checking 2020-09-01 01:39:17 +06:00
henrypp b7e9b1d94f use push_back for vectors 2020-09-01 01:38:54 +06:00
henrypp e1f882a54a upd compiler options 2020-08-30 15:26:50 +06:00
henrypp 70bc3ee890 removed duplicate _r_string_trimtonullterminator 2020-08-30 14:55:27 +06:00
henrypp 0e3cb285b6 cosmetics 2020-08-30 13:26:06 +06:00
henrypp 8a8ab15272 check timer expiration 2020-08-30 13:25:53 +06:00
henrypp b86077ea10 ++version 2020-08-28 11:02:11 +06:00
henrypp 229a28c102 removed unwanted OBJ_NAME_PATH_SEPARATOR 2020-08-28 11:01:58 +06:00
henrypp b9b65ee3e1 upd changelog 2020-08-25 19:52:10 +06:00
henrypp 094bf04ea2 added command line mutex checking (fix #750) 2020-08-25 19:44:01 +06:00
henrypp ccfe0cb0e2 upd profile 2020-08-25 19:16:10 +06:00
henrypp 46fd88f59a highlight system apps 2020-08-25 19:15:35 +06:00
henrypp 2ae7ab527e upd _app_addapplication 2020-08-25 19:12:38 +06:00
henrypp 57745c0427 upd project sdk 2020-08-25 18:32:22 +06:00
henrypp 7d0c5dc26c upd notifications 2020-08-25 16:31:09 +06:00
henrypp dc3cc03e40 upd wfp 2020-08-25 16:30:26 +06:00
henrypp ebde55ec10 upd log 2020-08-25 16:30:08 +06:00
henrypp 4423bd5096 removed unused objects 2020-08-25 16:29:37 +06:00
henrypp 4c6d47b1b0 upd editor 2020-08-25 16:26:01 +06:00
henrypp b24cacdb1a removed unused global objects 2020-08-25 16:25:55 +06:00
henrypp d2be95055e cosmetics: icons view reorder 2020-08-25 16:22:40 +06:00
henrypp 46e952ca4f upd polish 2020-08-25 16:22:19 +06:00
henrypp b3942d0eea upd french (fix #760) 2020-08-25 16:21:52 +06:00
henrypp 4239306928 added ncsi patch (fix #709) 2020-08-24 00:15:35 +06:00
henrypp 7cb1d67e2f removed arpa cache 2020-08-22 13:48:04 +06:00
henrypp a733c63de1 upd japanese 2020-08-22 01:11:21 +06:00
henrypp 1d02f09159 Merge branch 'master' of github.com:henrypp/simplewall into master 2020-08-22 01:10:31 +06:00
Henry++ 0ddabbe3fd Merge pull request #756 from Rukoto/master
Update Japanese.ini
2020-08-21 19:07:37 +00:00
henrypp 79a74e9257 reworked signature cache 2020-08-22 00:34:17 +06:00
henrypp e9259d9388 reworked version string cache 2020-08-22 00:14:26 +06:00
Rukoto Luther 3fb56f4b35 Update Japanese.ini 2020-08-22 00:48:57 +09:00
henrypp 857bec5b05 remove listview empty markup 2020-08-21 17:05:25 +06:00
henrypp de3739ee4f do not highlight connections in log tab 2020-08-21 17:04:21 +06:00
henrypp 01cd9b700c add invalidate file link 2020-08-19 23:58:32 +06:00
henrypp 87acaea32d upd tagITEM_NETWORK 2020-08-18 23:53:28 +06:00
henrypp 4c5333c164 use _r_menu_setitemtextformat 2020-08-18 23:53:14 +06:00
henrypp a007099abc ++version 2020-08-18 20:14:11 +06:00
henrypp 5410cd8618 upd _app_getdisplayname 2020-08-14 00:44:45 +06:00
henrypp 6c1e01bf92 fixed object reference 2020-08-13 21:26:06 +06:00
henrypp 4f6c8b40fa upd blocklist 2020-08-09 09:22:02 +06:00
henrypp 0f5ea88f33 check for provider status before create filters 2020-08-09 09:14:48 +06:00
henrypp 33e50b9ca7 upd _app_gettooltip 2020-08-07 19:54:58 +06:00
henrypp 406645d0a7 use _r_sys_getimagebase 2020-08-06 23:38:33 +06:00
henrypp ecdcc77b5a upd german 2020-08-06 23:37:42 +06:00
henrypp cfdaf3bee8 Merge branch 'master' of github.com:henrypp/simplewall into master 2020-08-06 23:37:12 +06:00
Henry++ 50c56a4d90 Merge pull request #740 from Henry2o1o/patch-20
Update
2020-08-06 17:34:49 +00:00
Hen Ry 0b9cac207a Update 2020-08-05 23:55:36 +02:00
henrypp 82db2f14a5 upd project sdk 2020-08-05 15:40:30 +06:00
henrypp 75b16e65cd fix trim string length 2020-08-03 14:28:58 +06:00
henrypp 75173285cc remove unused argument 2020-08-03 14:28:33 +06:00
henrypp 64a2a65c41 upd turkish 2020-08-03 10:21:34 +06:00
henrypp c9eb7888d9 Merge branch 'master' of github.com:henrypp/simplewall 2020-08-03 10:20:38 +06:00
Henry++ 0be133cfd6 Merge pull request #736 from Alcazer/patch-1
Update Turkish.ini
2020-08-03 04:17:31 +00:00
Alcazer Barış TÜRKGÜCÜ b76c758e65 Update Turkish.ini 2020-08-03 01:07:38 +03:00
henrypp a2a42671b4 upd korean 2020-08-02 00:22:31 +06:00
henrypp ec6e4567ab fix blank window (fix #731) 2020-08-01 14:12:38 +06:00
henrypp 0e66036b44 upd persian 2020-08-01 13:54:24 +06:00
henrypp 0c96ae590c upd changelog 2020-07-29 21:39:27 +06:00
henrypp 456a5f93d2 ++version 2020-07-29 21:39:05 +06:00
henrypp 28e7fed3dc fix #729 2020-07-29 21:37:36 +06:00
henrypp 9392acec28 upd changelog 2020-07-29 20:29:18 +06:00
henrypp 7333c731ee upd dutch 2020-07-29 19:20:14 +06:00
Henry++ 879e40dcbe Merge pull request #728 from ltGuillaume/master
Dutch
2020-07-29 13:17:51 +00:00
ltGuillaume 9808201c5c Dutch 2020-07-29 15:13:13 +02:00
henrypp 6049cf3030 ++version 2020-07-29 17:24:07 +06:00
henrypp b8d5ada305 cleanup code 2020-07-29 16:28:33 +06:00
henrypp cba7a35608 remove unused strings from code 2020-07-29 16:26:28 +06:00
henrypp 3f2f0da492 locale: remove unused strings 2020-07-29 16:26:08 +06:00
henrypp 4a00ed4c3c upd locales 2020-07-29 16:15:45 +06:00
henrypp 62a4e5ab71 added option "Enable silent-mode when full screen app in foreground" 2020-07-29 16:15:29 +06:00
henrypp 0ee1278132 upd editor controls position 2020-07-29 15:51:21 +06:00
henrypp c5dc05b2cc remove LISTVIEW_COLOR_SERVICE and LISTVIEW_COLOR_PACKAGE 2020-07-29 15:50:32 +06:00
henrypp 7d66762169 cosmetics 2020-07-29 15:50:14 +06:00
henrypp 80a40ed769 group apps in network tab 2020-07-29 01:09:44 +06:00
henrypp bcc6a5f0ac fix previous commit 2020-07-28 23:52:22 +06:00
henrypp ffd2dfc7ea highlight valid connections in network tab 2020-07-28 21:42:08 +06:00
henrypp 93ad099772 fix dereferencing null pointer 2020-07-28 21:38:20 +06:00
henrypp 631fa5f378 remove unnecessary union 2020-07-28 21:06:35 +06:00
henrypp 9297d003ce return rule version selection ipv4/ipv6 (issue #723) 2020-07-28 21:05:13 +06:00
henrypp d66adbd5ab use _APP_NO_DEPRECATIONS macro 2020-07-28 18:08:21 +06:00
henrypp 6b2632e09b use _APP_HAVE_DARKTHEME macro 2020-07-28 18:07:35 +06:00
henrypp 7bd2ff7c8e upd resource identifiers 2020-07-28 17:15:25 +06:00
henrypp 640a1550a3 upd _app_parserulestring 2020-07-28 17:15:06 +06:00
henrypp 2b7a4a849f adds FWPM_FILTER_FLAG_CLEAR_ACTION_RIGHT filter flag (fix #689) 2020-07-28 17:14:17 +06:00
henrypp cb5c41e75a upd _wfp_createrulefilter 2020-07-28 17:13:22 +06:00
henrypp cabd3fad0f union tagITEM_ADDRESS 2020-07-28 17:10:31 +06:00
henrypp b42138d1b4 use _r_listview_additemex & _r_listview_setitemex 2020-07-28 17:09:59 +06:00
henrypp 345c38e88f revert "recommended" tag (fix #719) 2020-07-28 12:55:01 +06:00
henrypp b0eede0cb0 use correct swp flags 2020-07-28 12:51:25 +06:00
henrypp e53c67953b added error message for createprocess failure (issue #720) 2020-07-26 22:41:51 +06:00
henrypp a0d603b476 added IIS 2020-07-26 20:03:30 +06:00
henrypp ea6a62ec72 fix rule tooltips (issue #723) 2020-07-26 19:51:07 +06:00
henrypp ab9eeb004a remove "IsHighlightSpecial" option 2020-07-26 19:32:40 +06:00
henrypp 560fff5b15 upd IDS_GROUP_BLOCKED string 2020-07-26 19:28:23 +06:00
henrypp 4b58c70d4c fix igp protocol string 2020-07-26 19:03:53 +06:00
henrypp a482c24ac8 upd project sdk 2020-07-26 17:50:26 +06:00
henrypp 56b350c00b cosmetic fixes 2020-07-20 12:54:28 +06:00
henrypp 983449bdf8 upd korean 2020-07-19 11:13:42 +06:00
155 changed files with 40803 additions and 23303 deletions

No files matched your search

-7
View File
@@ -1,7 +0,0 @@
root=true
[*]
indent_style=tab
end_of_line=crlf
trim_trailing_whitespace=true
insert_final_newline=true
+8 -8
View File
@@ -1,8 +1,8 @@
*.c diff
*.cpp diff
*.h diff
*.rc diff
*.ini diff
*.txt diff
*.xml diff
*.lng diff
*.c diff
*.cpp diff
*.h diff
*.rc diff
*.ini diff
*.txt diff
*.xml diff
*.lng diff
+1 -1
View File
@@ -1 +1 @@
custom: ["https://www.paypal.me/henrypp", "https://blockchain.info/address/1LrRTXPsvHcQWCNZotA9RcwjsGcRghG96c"]
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"]
+66
View File
@@ -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.
+1
View File
@@ -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.
+15
View File
@@ -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>
+78
View File
@@ -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
+41 -36
View File
@@ -1,36 +1,41 @@
.vs/
.vscode/
temp/
bin/32/
bin/64/
x64/
win32/
thumbs.db
ehthumbs.db
desktop.ini
*.cab
*.msi
*.msm
*.msp
*.lnk
*.jpg
*.zip
*.log
*.pdb
*.exp
*.sdf
*.opensdf
*.db
*.opendb
*.suo
*.exp
*.user
*.iobj
*.ipch
*.ipdb
*.ilk
*.obj
*.res
*.tlog
.vs/
.vscode/
temp/
packages/
bin/32/
bin/64/
bin/arm64/
x64/
win32/
arm64/
__pycache__
thumbs.db
ehthumbs.db
desktop.ini
*.cab
*.msi
*.msm
*.msp
*.lnk
*.jpg
*.zip
*.log
*.pdb
*.exp
*.sdf
*.opensdf
*.db
*.opendb
*.suo
*.exp
*.iobj
*.ipch
*.ipdb
*.ilk
*.obj
*.res
*.tlog
*PVS-Studio*
+7 -7
View File
@@ -1,7 +1,7 @@
[submodule "routine"]
path = ../routine
url = https://github.com/henrypp/routine.git
[submodule "builder"]
path = ../builder
url = https://github.com/henrypp/builder.git
[submodule "routine"]
path = ../routine
url = https://github.com/henrypp/routine.git
[submodule "builder"]
path = ../builder
url = https://github.com/henrypp/builder.git
+653 -1335
View File
File diff suppressed because it is too large. Load diff
+1114
View File
File diff suppressed because it is too large. Load diff
+674 -674
View File
File diff suppressed because it is too large. Load diff
+307 -28
View File
@@ -1,32 +1,41 @@
simplewall [![Github All Releases](https://img.shields.io/github/downloads/henrypp/simplewall/total.svg)](https://github.com/henrypp/simplewall/releases) [![GitHub issues](https://img.shields.io/github/issues-raw/henrypp/simplewall.svg)](https://github.com/henrypp/simplewall/issues) [![Donate via PayPal](https://img.shields.io/badge/donate-paypal-red.svg)](https://www.paypal.me/henrypp/15) [![Donate via Bitcoin](https://img.shields.io/badge/donate-bitcoin-red.svg)](https://blockchain.info/address/1LrRTXPsvHcQWCNZotA9RcwjsGcRghG96c) [![Licence](https://img.shields.io/badge/license-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html)
=======
#### Definitely for advanced users.
<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>
-------
[![simplewall](https://www.henrypp.org/images/simplewall.png?gd)](https://github.com/henrypp/simplewall/issues/250)
<p align="center">
<img src="/images/simplewall.png?cache" />
</p>
### Description:
Simple tool to configure Windows Filtering Platform (WFP) which can configure network activity on your computer.
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 Vista and higher operating systems.
You can download either the installer or portable version. For correct working, need administrator rights.
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.
### Command line:
List of arguments for `simplewall.exe`:
- `/install` - enable filtering (you can set `/silent` argument to skip prompt)
- `/uninstall` - remove all installed filters
### Uninstall:
When you uninstall simplewall, all previously installed filters are stay alive in system.
To remove all filters created by simplewall, start simplewall and press "Disable filters" button.
### 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/wiki/Rules-editor) (create your own rules)
- [Internal blocklist](https://github.com/crazy-max/WindowsSpyBlocker/wiki/dataSimplewall) (block Windows spy / telemetry)
- [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 (win10)
- Windows Subsystem for Linux (WSL) support
- Windows Store support (win8+)
- Windows services support
- Free and open source
@@ -37,16 +46,286 @@ To remove all filters created by simplewall, start simplewall and press "Disable
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:
- [Is it safe to use simplewall with Windows Firewall?](https://github.com/henrypp/simplewall/issues/254#issuecomment-447436527)
- [Are internet connections blocked when simplewall is not running?](https://github.com/henrypp/simplewall/issues/119#issuecomment-364003679)
- [How can i disable blocklist entirely?](https://github.com/henrypp/simplewall/issues/243)
- [How to fix Windows Update and Windows Store internet access (temporary solution)](https://github.com/henrypp/simplewall/issues/206#issuecomment-439830634)
- [How to fix IDM Browser Integration](https://github.com/henrypp/simplewall/issues/111)
- [How to remove Windows Security center warnings](https://www.howtogeek.com/244539/how-to-disable-the-action-center-in-windows-10/) [win10 1607+](https://serverfault.com/a/880672)
#### 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)
Website: [www.henrypp.org](https://www.henrypp.org)<br />
Support: support@henrypp.org<br />
<br />
(c) 2016-2020 Henry++
<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++
+3
View File
@@ -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;
+653 -1335
View File
File diff suppressed because it is too large. Load diff
+674 -674
View File
File diff suppressed because it is too large. Load diff
+60 -36
View File
@@ -1,36 +1,60 @@
simplewall
Description:
Simple tool to configure Windows Filtering Platform (WFP) which can configure network activity on your computer.
The lightweight application is less than a megabyte, and it is compatible with Windows Vista and higher operating systems.
You can download either the installer or portable version. For correct working, need administrator rights.
Command line:
List of arguments for simplewall.exe:
- /install - enable filtering (you can set /silent argument to skip prompt)
- /uninstall - remove all installed filters
Uninstall:
When you uninstall simplewall, all previously installed filters are stay alive in system.
To remove all filters created by simplewall, start simplewall and press "Disable filters" button.
Features:
- Simple interface without annoying pop ups
- Rules editor (create your own rules)
- Internal blocklist rules (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 (win10)
- 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".
Website: www.henrypp.org
Support: support@henrypp.org
(c) 2016-2020 Henry++
simplewall
Description:
Simple tool to configure Windows Filtering Platform (WFP) 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.
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 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.
-install - enable filtering (you can set "-silent" argument to skip prompt)
-uninstall - remove all installed filters
Uninstall:
When you uninstall simplewall, all previously installed filters are stay alive in system.
To remove all filters created by simplewall, start simplewall and press "Disable filters" button.
Features:
- Simple interface without annoying pop ups
- Rules editor (create your own rules)
- Internal blocklist rules (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".
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.
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.
Website: https://github.com/henrypp
Support: sforce5@mail.ru
(c) 2016-2026 Henry++
Binary file not shown.
+241
View File
@@ -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.
+240
View File
@@ -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.
+241
View File
@@ -0,0 +1,241 @@
; Bulgarian
; Български превод от Руси Димитров (github.com/rddim)
; Последна редакция - 07.09.2026
[Bulgarian]
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=Пропускане на предупреждението от User Account Control
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
IDS_ENABLEWINDOWSFIREWALL_CHK=Включване на защитната стена на Windows
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=Източник
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 Update
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=входящи мултикаст/бродкаст
IDS_CONNECTIONS_ENABLE=Включване на наблюдение на връзките
IDS_CONNECTIONS_SHOWAITCONNECTIONS=Показване на чакащите връзки
IDS_CONNECTIONS_MEASUREUDPTRAFFIC=Измерване на UDP/QUIC трафика (експериментално, изисква редактиране)
IDS_UDP_ACCOUNTING=UDP (включително QUIC): ETW байтове от началото на наблюдение на този сокет.
IDS_UDP_UNAVAILABLE=Измерването на UDP е недостъпно или непълно. Рестартирайте simplewall за повторен опит. Грешка
IDS_UDP_PENDING=UDP: все още няма проверени измервания. Сокетите, отворени преди началото на наблюдението, трябва да бъдат отворени отново.
+240
View File
@@ -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.
Binary file not shown.
Binary file not shown.
+240
View File
@@ -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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+240
View File
@@ -0,0 +1,240 @@
; <Brazilian Portuguese>
; <ALFA&ÔMEGA>
[Portuguese (Brazil)]
IDS_TITLE_EXCLUDE=Excluir
IDS_FILE=Arquivo
IDS_SETTINGS=Configurações
IDS_EXIT=Fechar o simplewall
IDS_EDIT=Editar
IDS_PURGE_UNUSED=Limpar aplicativos não usados
IDS_PURGE_TIMERS=Limpar cronômetros
IDS_FIND=Localizar
IDS_REFRESH=Atualizar
IDS_VIEW=Exibir
IDS_ICONS=Ícones
IDS_ICONSSMALL=Pequenos
IDS_ICONSLARGE=Grandes
IDS_ICONSISHIDDEN=Ocultar ícones
IDS_LANGUAGE=Idioma
IDS_FONT=Fonte
IDS_HELP=Ajuda
IDS_WEBSITE=Site oficial do simplewall
IDS_CHECKUPDATES=Procurar atualizações
IDS_DONATE=Fazer uma doação!
IDS_ABOUT=Sobre o simpleWall
IDS_TRAY_SHOW=Exibir/Ocultar
IDS_TRAY_START=Habilitar filtragem
IDS_TRAY_STOP=Desabilitar filtragem
IDS_TRAY_RULES=Regras
IDS_TRAY_BLOCKLIST_RULES=Lista de bloqueados
IDS_TRAY_SYSTEM_RULES=Regras do sistema
IDS_TRAY_USER_RULES=Regras personalizadas
IDS_TRAY_LOGERR=Registros de erros
IDS_ADD_FILE=Adicionar executável
IDS_ANY=Qualquer conexão
IDS_DISABLENOTIFICATIONS=Desativar avisos
IDS_OPENRULESEDITOR=Abrir o editor de regras
IDS_TIMER=Cronômetro
IDS_DISABLETIMER=Desativar temporizador
IDS_EXPLORE=Abrir a pasta do executável selecionado
IDS_COPY=Copiar
IDS_SELECT_ALL=Selecionar todos
IDS_CHECK=Marcar selecionados
IDS_UNCHECK=Desmarcar selecionados
IDS_ADD=Adicionar
IDS_EDIT2=Editar
IDS_DELETE=Apagar
IDS_EXPORT=Exportar
IDS_IMPORT=Importar
IDS_RULE_ALLOWLOOPBACK=Permitir conexões loopback para todos
IDS_HIGHLIGHT_INVALID=Arquivo não encontrado
IDS_HIGHLIGHT_NETWORK=Arquivo compartilhado pela rede
IDS_HIGHLIGHT_PICO=Pico (WSL)
IDS_HIGHLIGHT_SIGNED=Aplicativo com assinatura
IDS_HIGHLIGHT_SILENT=Avisos desabilitados
IDS_HIGHLIGHT_SPECIAL=Regras especiais
IDS_HIGHLIGHT_SYSTEM=Aplicativo do sistema
IDS_GROUP_TIMER=Aplicativo de temporização
IDS_EDITOR=Editor de regras
IDS_NAME=Nome
IDS_RULE=Regra (portas ou endereços IP)
IDS_PORTVERSION=Família (apenas para portas)
IDS_PROTOCOL=Protocolo
IDS_DIRECTION=Direção
IDS_ACTION=Ação
IDS_DATE=Data
IDS_FILEPATH=Arquivo
IDS_SIGNATURE=Assinatura
IDS_ADDRESS=Endereço
IDS_FILTER=Filtro
IDS_NOTES=Notas
IDS_ADDED=Adicionado
IDS_TIMELEFT=Tempo restante
IDS_SIGN_SIGNED=Com assinatura
IDS_SIGN_UNSIGNED=Sem assinatura
IDS_GROUP_ALLOWED=Programas permitidos
IDS_GROUP_BLOCKED=Programas bloqueados
IDS_GROUP_ENABLED=Regras habilitadas
IDS_GROUP_DISABLED=Regras desativadas
IDS_DIRECTION_1=Saída
IDS_DIRECTION_2=Entrada
IDS_DIRECTION_3=Ambas (Saída/Entrada)
IDS_ACTION_ALLOW=Permitir
IDS_ACTION_BLOCK=Bloquear
IDS_ENABLE_CHK=Habilitar regra
IDS_WIKI=Ajuda
IDS_SAVE=Aplicar
IDS_CLOSE=Fechar
IDS_SETTINGS_GENERAL=Geral
IDS_TITLE_GENERAL=Configuração geral
IDS_TITLE_LANGUAGE=Idioma
IDS_TITLE_CONFIRMATIONS=Confirmações
IDS_TITLE_INTERFACE=Interface
IDS_TITLE_HIGHLIGHTING=Destaque
IDS_TITLE_LOGGING=Registrando em um arquivo
IDS_TITLE_NOTIFICATIONS=Notificações
IDS_TITLE_ADVANCED=Avançado
IDS_ALWAYSONTOP_CHK=Manter a janela do simplewall sempre no topo
IDS_LOADONSTARTUP_CHK=Abrir o simplewall na inicialização
IDS_STARTMINIMIZED_CHK=Iniciar minimizado
IDS_SHOWFILENAMESONLY_CHK=Mostrar apenas o nome dos arquivos
IDS_AUTOSIZECOLUMNS_CHK=Ajustar colunas automaticamente
IDS_SKIPUACWARNING_CHK=Ignorar notificações do "Controle de Conta de Usuário"
IDS_CHECKUPDATES_CHK=Procurar atualizações periodicamente (recomendado)
IDS_LANGUAGE_HINT=Escolha o idioma:
IDS_USESTEALTHMODE_CHK=Usar o simplewall no modo invisível (stealth-mode)
IDS_USESTEALTHMODE_HINT=Impede a sondagem de portas de TCP/UDP descartando sigilosamente pedidos de conexão via TCP de entrada e de "Destino Inacessível" de ICMP.
IDS_INSTALLBOOTTIMEFILTERS_CHK=Habilitar filtros na inicialização
IDS_INSTALLBOOTTIMEFILTERS_HINT=Impede que vazem dados durante o carregamento do SO, antes mesmo da execução do "Serviço de Filtragem Básico" (BFE, na sigla em inglês).
IDS_USECERTIFICATES_CHK=Verificar aplicativos por assinaturas digitais
IDS_USENETWORKRESOLUTION_CHK=Resolver endereços de rede
IDS_DISABLEWINDOWSFIREWALL_CHK=Desativar Firewall do Windows
IDS_ENABLEWINDOWSFIREWALL_CHK=Ativar Firewall do Windows
IDS_CONFIRMEXIT_CHK=Confirmar fechamento do simplewall
IDS_CONFIRMEXITTIMER_CHK=Exibir caixa de diálogo de confirmação ao sair quando cronômetros estiverem ativos
IDS_CONFIRMLOGCLEAR_CHK=Confirmar remoção do arquivo de registros
IDS_COLORS_HINT=Clique duas vezes em um item para alterá-lo.
IDS_ENABLELOG_CHK=Habilitar gravação em arquivo de pacotes de tráfego descartados
IDS_LOGSHOW=Abrir o arquivo de registros
IDS_LOGCLEAR=Apagar o arquivo de registros
IDS_LOGSIZELIMIT_HINT=Tamanho máximo do arquivo de registros: (kB)
IDS_ENABLENOTIFICATIONS_CHK=Habilitar notificação de descarte de pacotes de tráfego
IDS_NOTIFICATIONSOUND_CHK=Habilitar sons de notificação
IDS_NOTIFICATIONTIMEOUT_HINT=Intervalo entre as mesmas notificações (segs.):
IDS_NOTIFY_TOOLTIP=Cria uma regra especial para permitir o acesso ao endereço e/ou porta para este aplicativo.
IDS_QUESTION=Tem certeza?
IDS_QUESTION_DELETE=Deseja mesmo apagar item(ns)?
IDS_QUESTION_START=Este comando irá bloquear o acesso à rede de aplicativos de acordo com a configuração selecionada! Tem certeza?
IDS_QUESTION_STOP=Este comando irá restaurar o acesso à rede de todos os aplicativos bloqueados! Tem certeza?
IDS_QUESTION_EXIT=Filtros instalados funcionarão mesmo se você sair, continuar?
IDS_QUESTION_TIMER=Cronômetro ativado. Cronômetros funcionam somente com o aplicativo em execução. Sair?
IDS_QUESTION_TIMERS=Excluir todos os cronômetros?
IDS_QUESTION_FLAG_CHK=Não perguntar novamente
IDS_STATUS_EMPTY=Empty.
IDS_STATUS_SYNTAX_ERROR=Erro de sintaxe na regra!
IDS_ADDRESS_LOCAL=Fonte
IDS_ADDRESS_REMOTE=Destino
IDS_UPDATE_ERROR=Erro de conexão com o servidor de atualização.
IDS_UPDATE_DOWNLOAD=Baixando atualização...
IDS_UPDATE_DONE=Download da atualização concluído.
IDS_GROUP_SPECIAL_APPS=Aplicativos com regras do usuário
IDS_RULE_ALLOWLOOPBACK_HINT=Isso permite todo o tráfego de loopback.
IDS_RESET=Redefinir
IDS_EXCLUDESTEALTH_CHK=examinar porta
IDS_EXCLUDEBLOCKLIST_CHK=lista de bloqueio
IDS_UPDATE_INIT=Verificando por novas versões...
IDS_UPDATE_INSTALL=Atualização disponível, deseja instalar agora?
IDS_EXCLUDECUSTOM_CHK=regras do usuário
IDS_EXCLUDECLASSIFYALLOW_CHK=pacotes permitidos
IDS_STATUS_TIMER_DONE=Cronômetro completado!
IDS_ICONSEXTRALARGE=Muito grande
IDS_STATUS_UNUSED_APPS=Aplicativos não usados
IDS_STATUS_TIMER_APPS=Aplicativos com cronômetro
IDS_SECUREFILTERS_CHK=Ativar proteção para filtros instalados
IDS_SECUREFILTERS_HINT=Prevenir aplicativos não autorizados de acessarem os filtros instalados.
IDS_USEREFRESHDEVICES_CHK=Atualizar filtros na chegada do dispositivo
IDS_RULE_ALLOW6TO4=Permitir redirecionamentos de IPv6 (6to4) para todos
IDS_RECOMMENDED=recomendado
IDS_ICONSISTABLEVIEW=Exibir como tabela
IDS_ACTION_ALLOW_HINT=Sempre permite este programa de acessar a Internet
IDS_ACTION_BLOCK_HINT=Sempre bloqueia este programa de acessar a Internet
IDS_ACTION_LATER_HINT=Ignorar e perguntar depois
IDS_RULE_APPLY_2=Aplicar "%s" para aplicativo
IDS_EDITRULES=Editar regras
IDS_TAB_APPS=Aplicativos
IDS_TAB_SERVICES=Serviços
IDS_TAB_PACKAGES=Pacotes
IDS_TAB_NETWORK=Rede
IDS_STATE=Estado
IDS_STATUS_FILTERS_ACTIVE=Filtros ativados
IDS_STATUS_FILTERS_INACTIVE=Filtros desativados!
IDS_STATUS_FILTERS_PROCESSING=Aplicando filtros
IDS_HIGHLIGHT_CONNECTION=Possui conexões de rede
IDS_SHOWINLIST=Exibir na lista
IDS_BLOCKLIST_SPY=Servidores de espionagem e telemetria da Microsoft
IDS_BLOCKLIST_UPDATE=Servidores de atualização da Microsoft
IDS_BLOCKLIST_EXTRA=Servidores de aplicativos da Microsoft
IDS_PORT=Porta
IDS_NOTIFY_TITLE=Alerta de rede
IDS_NOTIFY_HEADER=A conexão de rede foi bloqueada
IDS_DISABLE=Desativar
IDS_TITLE_SECURITY=Segurança
IDS_LOGVIEWER_HINT=Aplicativo de visualização de logs
IDS_NOTIFICATIONONTRAY_CHK=Exibir notificações na Área de Notificação
IDS_NETWORK_CLOSE=Fechar conexão
IDS_RULE_BLOCKOUTBOUND=Bloquear conexões de saída para todos
IDS_RULE_BLOCKINBOUND=Bloquear conexões de entrada para todos
IDS_VIEW_ICON=Ícones
IDS_VIEW_DETAILS=Detalhes
IDS_VIEW_TILE=Blocos
IDS_RULE_HINT=Se você deixar os campos em branco, then rule will be applied for any address and port.
IDS_RULE_APPS_HINT=Se não houver um aplicativo selecionado, então a regra será aplicada para todos os aplicativos.
IDS_STATUS_FILTERS_ACTIVE_TEMP=Os filtros são habilitados até reiniciar.
IDS_INSTALL_PERMANENT=Regras permanentes. As regras funcionam até você desativá-las manualmente.
IDS_INSTALL_TEMPORARY=Regras temporárias. As regras são redefinidas depois da próxima reinicialização.
IDS_ENABLEUILOG_CHK=Ativar interface de registro de pacotes
IDS_NOTIFICATIONFULLSCREENSILENTMODE_CHK=Ativar modo silencioso quando o aplicativo em tela cheia estiver em primeiro plano
IDS_TITLE_TRAY=Ícone na Área de Notificação
IDS_TRAYICONSINGLECLICK_CHK=Clique uma vez no ícone da área de notificação para abrir
IDS_ENABLE_APP_CHK=Ativar acesso à rede
IDS_APP_HINT=Não há razão para definir qualquer regra permissiva para aplicativos com acesso à Internet já habilitado.
IDS_HOST=Servidor
IDS_CONFIRMALLOW_CHK=Confirmar ao permitir aplicativo
IDS_QUESTION_ALLOW=Tem certeza de que deseja ativar o acesso total à Internet para este aplicativo?
IDS_SHOWSEARCHBAR_CHK=Mostrar barra de pesquisa
IDS_LAYER=Camada
IDS_RULE_ALLOWWINDOWSUPDATE=Permitir o Windows Update
IDS_ACTION_TERMINATE_HINT=Finalizar processo
IDS_PROFILE_TYPE=Tipo de perfil
IDS_USEAPPMONITOR_CHK=Monitorar a mudança de aplicativos
IDS_DISABLEREMOVAL=Desativar remoção
IDS_USEHASHES_CHK=Verificar hash SHA-256 em aplicativos
IDS_COMMENT=Comentários
IDS_USEDARKTHEME=Usar tema escuro
IDS_KEEPUNUSED_CHK=Manter aplicativos não usados
IDS_UPDATE_NO=Nenhuma atualização disponível.
IDS_UPDATE_YES=Atualização disponível, baixar e instalar?
IDS_UPDATE_SPEED=Velocidade
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+240
View File
@@ -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.
+240
View File
@@ -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.
Binary file not shown.
+240
View File
@@ -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.
+240
View File
@@ -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.
Binary file not shown.
+240
View File
@@ -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.
Binary file not shown.
Binary file not shown.
+240
View File
@@ -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.
Binary file not shown.
+687 -34
View File
File diff suppressed because it is too large. Load diff
Binary file not shown.
+6 -4
View File
@@ -1,4 +1,6 @@
@echo off
cd ..\builder
build simplewall simplewall 3.2
@echo off
cd ..\builder
call build simplewall 3.9.2 simplewall
pause
+6
View File
@@ -0,0 +1,6 @@
@echo off
cd ..\builder
call build_locale simplewall
pause
-8
View File
@@ -1,8 +0,0 @@
@echo off
php "..\builder\make_resource.php" ".\src\resource.hpp"
php "..\builder\make_locale.php" "simplewall" "simplewall" ".\bin\i18n" ".\src\resource.hpp" ".\src\resource.rc" ".\bin\simplewall.lng"
copy /y ".\bin\simplewall.lng" ".\bin\32\simplewall.lng"
copy /y ".\bin\simplewall.lng" ".\bin\64\simplewall.lng"
pause
+6
View File
@@ -0,0 +1,6 @@
@echo off
cd ..\builder
call build_simplewall_rules update %~dp0bin\profile_internal.xml %~dp0bin\profile_internal.xml
pause
+32
View File
@@ -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
Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

+4
View File
@@ -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>
+11 -8
View File
@@ -1,28 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27130.2010
# 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
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
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {A433DCFD-EECB-43BE-9EB1-DC7D0094F85F}
EndGlobalSection
EndGlobal
+447 -272
View File
@@ -1,273 +1,448 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{7FB76828-A353-4113-82D7-CD728EED81DF}</ProjectGuid>
<RootNamespace>simplewall</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<ProjectName>simplewall</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<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>
<GenerateManifest>false</GenerateManifest>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<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>
<GenerateManifest>false</GenerateManifest>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<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>
<GenerateManifest>false</GenerateManifest>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<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>
<GenerateManifest>false</GenerateManifest>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<IntrinsicFunctions>true</IntrinsicFunctions>
<ControlFlowGuard>Guard</ControlFlowGuard>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PreprocessorDefinitions>_UNICODE;UNICODE;_APP_BETA;_APP_NO_GUEST;_APP_NO_WINXP;_APP_HAVE_AUTORUN;_APP_HAVE_SKIPUAC;_APP_HAVE_TRAY;_APP_HAVE_SETTINGS;_APP_HAVE_UPDATES;_APP_HAVE_MINSIZE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<TreatWarningAsError>true</TreatWarningAsError>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
<CallingConvention>StdCall</CallingConvention>
<IntelJCCErratum>true</IntelJCCErratum>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<SubSystem>Windows</SubSystem>
<MinimumRequiredVersion>6.1</MinimumRequiredVersion>
<AdditionalOptions>/DEPENDENTLOADFLAG:0xA00 %(AdditionalOptions)</AdditionalOptions>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<IntrinsicFunctions>true</IntrinsicFunctions>
<ControlFlowGuard>Guard</ControlFlowGuard>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PreprocessorDefinitions>_UNICODE;UNICODE;_APP_BETA;_APP_NO_GUEST;_APP_NO_WINXP;_APP_HAVE_AUTORUN;_APP_HAVE_SKIPUAC;_APP_HAVE_TRAY;_APP_HAVE_SETTINGS;_APP_HAVE_UPDATES;_APP_HAVE_MINSIZE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<TreatWarningAsError>true</TreatWarningAsError>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
<CallingConvention>StdCall</CallingConvention>
<IntelJCCErratum>true</IntelJCCErratum>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<SubSystem>Windows</SubSystem>
<AdditionalOptions>/DEPENDENTLOADFLAG:0xA00 %(AdditionalOptions)</AdditionalOptions>
<MinimumRequiredVersion>6.1</MinimumRequiredVersion>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<ControlFlowGuard>Guard</ControlFlowGuard>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<PreprocessorDefinitions>_UNICODE;UNICODE;_APP_BETA;_APP_NO_GUEST;_APP_NO_WINXP;_APP_HAVE_AUTORUN;_APP_HAVE_SKIPUAC;_APP_HAVE_TRAY;_APP_HAVE_SETTINGS;_APP_HAVE_UPDATES;_APP_HAVE_MINSIZE;_APP_HAVE_SIZING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<EnableParallelCodeGeneration>
</EnableParallelCodeGeneration>
<TreatWarningAsError>true</TreatWarningAsError>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
<CallingConvention>StdCall</CallingConvention>
<IntelJCCErratum>true</IntelJCCErratum>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<SetChecksum>true</SetChecksum>
<SubSystem>Windows</SubSystem>
<MinimumRequiredVersion>6.1</MinimumRequiredVersion>
<AdditionalOptions>/DEPENDENTLOADFLAG:0xA00 %(AdditionalOptions)</AdditionalOptions>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<ControlFlowGuard>Guard</ControlFlowGuard>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<PreprocessorDefinitions>_UNICODE;UNICODE;_APP_BETA;_APP_NO_GUEST;_APP_NO_WINXP;_APP_HAVE_AUTORUN;_APP_HAVE_SKIPUAC;_APP_HAVE_TRAY;_APP_HAVE_SETTINGS;_APP_HAVE_UPDATES;_APP_HAVE_MINSIZE;_APP_HAVE_SIZING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<EnableParallelCodeGeneration>
</EnableParallelCodeGeneration>
<TreatWarningAsError>true</TreatWarningAsError>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
<CallingConvention>StdCall</CallingConvention>
<IntelJCCErratum>true</IntelJCCErratum>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<SetChecksum>true</SetChecksum>
<SubSystem>Windows</SubSystem>
<AdditionalOptions>/DEPENDENTLOADFLAG:0xA00 %(AdditionalOptions)</AdditionalOptions>
<MinimumRequiredVersion>6.1</MinimumRequiredVersion>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\routine\rapp.cpp" />
<ClCompile Include="..\routine\routine.cpp" />
<ClCompile Include="src\controls.cpp" />
<ClCompile Include="src\editor.cpp" />
<ClCompile Include="src\helper.cpp" />
<ClCompile Include="src\log.cpp" />
<ClCompile Include="src\main.cpp" />
<ClCompile Include="src\notifications.cpp" />
<ClCompile Include="src\profile.cpp" />
<ClCompile Include="src\security.cpp" />
<ClCompile Include="src\timer.cpp" />
<ClCompile Include="src\wfp.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\pugixml\src\pugixml.hpp" />
<ClInclude Include="..\routine\ntapi.hpp" />
<ClInclude Include="..\routine\rapp.hpp" />
<ClInclude Include="..\routine\rconfig.hpp" />
<ClInclude Include="..\routine\routine.hpp" />
<ClInclude Include="src\app.hpp" />
<ClInclude Include="src\controls.hpp" />
<ClInclude Include="src\editor.hpp" />
<ClInclude Include="src\global.hpp" />
<ClInclude Include="src\helper.hpp" />
<ClInclude Include="src\log.hpp" />
<ClInclude Include="src\main.hpp" />
<ClInclude Include="src\notifications.hpp" />
<ClInclude Include="src\profile.hpp" />
<ClInclude Include="src\pugiconfig.hpp" />
<ClInclude Include="src\resource.hpp" />
<ClInclude Include="src\security.hpp" />
<ClInclude Include="src\timer.hpp" />
<ClInclude Include="src\wfp.hpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="src\resource.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<?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>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{7FB76828-A353-4113-82D7-CD728EED81DF}</ProjectGuid>
<RootNamespace>simplewall</RootNamespace>
<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>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v145</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v145</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v145</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v145</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v145</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v145</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<TargetName>$(ProjectName)</TargetName>
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\src\;.\src\include\;.\src\</IncludePath>
<GenerateManifest>false</GenerateManifest>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
<OutDir>$(SolutionDir)bin\$(PlatformArchitecture)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<TargetName>$(ProjectName)</TargetName>
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\src\;.\src\include\;.\src\</IncludePath>
<GenerateManifest>false</GenerateManifest>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
<OutDir>$(SolutionDir)bin\$(PlatformArchitecture)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)bin\$(PlatformArchitecture)\</OutDir>
<TargetName>$(ProjectName)</TargetName>
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\src\;.\src\include\;.\src\</IncludePath>
<GenerateManifest>false</GenerateManifest>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)bin\$(PlatformArchitecture)\</OutDir>
<TargetName>$(ProjectName)</TargetName>
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\src\;.\src\include\;.\src\</IncludePath>
<GenerateManifest>false</GenerateManifest>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)bin\$(PlatformArchitecture)\</OutDir>
<TargetName>$(ProjectName)</TargetName>
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\src\;.\src\include\;.\src\</IncludePath>
<GenerateManifest>false</GenerateManifest>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)bin\$(PlatformArchitecture)\</OutDir>
<TargetName>$(ProjectName)</TargetName>
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);.\..\routine\src\;.\src\include\;.\src\</IncludePath>
<GenerateManifest>false</GenerateManifest>
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<StringPooling>true</StringPooling>
<IntrinsicFunctions>true</IntrinsicFunctions>
<ControlFlowGuard>Guard</ControlFlowGuard>
<FunctionLevelLinking>true</FunctionLevelLinking>
<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>stdclatest</LanguageStandard_C>
<SDLCheck>true</SDLCheck>
<GuardEHContMetadata>true</GuardEHContMetadata>
<UseStandardPreprocessor>true</UseStandardPreprocessor>
<ConformanceMode>true</ConformanceMode>
<OmitFramePointers>true</OmitFramePointers>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<SubSystem>Windows</SubSystem>
<AdditionalOptions>/DEPENDENTLOADFLAG:0x800 /BREPRO %(AdditionalOptions)</AdditionalOptions>
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
<LargeAddressAware>true</LargeAddressAware>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<StringPooling>true</StringPooling>
<IntrinsicFunctions>true</IntrinsicFunctions>
<ControlFlowGuard>Guard</ControlFlowGuard>
<FunctionLevelLinking>true</FunctionLevelLinking>
<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>stdclatest</LanguageStandard_C>
<CallingConvention>StdCall</CallingConvention>
<SDLCheck>true</SDLCheck>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<UseStandardPreprocessor>true</UseStandardPreprocessor>
<ConformanceMode>true</ConformanceMode>
<OmitFramePointers>true</OmitFramePointers>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<SubSystem>Windows</SubSystem>
<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>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<StringPooling>true</StringPooling>
<IntrinsicFunctions>true</IntrinsicFunctions>
<ControlFlowGuard>Guard</ControlFlowGuard>
<FunctionLevelLinking>true</FunctionLevelLinking>
<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>stdclatest</LanguageStandard_C>
<CallingConvention>StdCall</CallingConvention>
<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>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<SubSystem>Windows</SubSystem>
<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>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<ControlFlowGuard>Guard</ControlFlowGuard>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<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>stdclatest</LanguageStandard_C>
<SDLCheck>true</SDLCheck>
<GuardEHContMetadata>true</GuardEHContMetadata>
<UseStandardPreprocessor>true</UseStandardPreprocessor>
<ConformanceMode>true</ConformanceMode>
<OmitFramePointers>true</OmitFramePointers>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<SetChecksum>true</SetChecksum>
<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>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<ControlFlowGuard>Guard</ControlFlowGuard>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<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>stdclatest</LanguageStandard_C>
<CallingConvention>StdCall</CallingConvention>
<SDLCheck>true</SDLCheck>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<UseStandardPreprocessor>true</UseStandardPreprocessor>
<ConformanceMode>true</ConformanceMode>
<OmitFramePointers>true</OmitFramePointers>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<SetChecksum>true</SetChecksum>
<SubSystem>Windows</SubSystem>
<MinimumRequiredVersion>6.1</MinimumRequiredVersion>
<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>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<ControlFlowGuard>Guard</ControlFlowGuard>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<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>stdclatest</LanguageStandard_C>
<CallingConvention>StdCall</CallingConvention>
<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>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<SetChecksum>true</SetChecksum>
<SubSystem>Windows</SubSystem>
<AdditionalOptions>/DEPENDENTLOADFLAG:0x800 /BREPRO %(AdditionalOptions)</AdditionalOptions>
<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\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\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>
+175 -118
View File
@@ -1,119 +1,176 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{3C4265CC-2D78-44DE-BC9F-1C64FB817DA5}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{7B1ACFC7-8801-49F4-9D4D-E3CBFEC33A8D}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{0373C32A-908E-4C0A-8D5B-07C4A21C3725}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\routine\routine.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\routine\rapp.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\wfp.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\profile.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\log.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\notifications.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\timer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\helper.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\editor.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\controls.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\security.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\routine\routine.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\main.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\resource.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\routine\rconfig.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\routine\rapp.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\app.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\pugixml\src\pugixml.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\pugiconfig.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\wfp.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\profile.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\log.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\notifications.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\timer.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\helper.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\global.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\routine\ntapi.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\editor.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\controls.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\security.hpp">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="src\resource.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{3C4265CC-2D78-44DE-BC9F-1C64FB817DA5}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{7B1ACFC7-8801-49F4-9D4D-E3CBFEC33A8D}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{0373C32A-908E-4C0A-8D5B-07C4A21C3725}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\main.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\wfp.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\profile.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\log.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\notifications.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\timer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\helper.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\editor.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\controls.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\messages.c">
<Filter>Source Files</Filter>
</ClCompile>
<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="src\main.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\app.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\wfp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\profile.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\log.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\notifications.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\timer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\global.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\editor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\controls.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\security.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\messages.h">
<Filter>Header Files</Filter>
</ClInclude>
<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>
<ItemGroup>
<ResourceCompile Include="src\resource.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
</Project>
+27
View File
@@ -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>
+13
View File
@@ -0,0 +1,13 @@
// simplewall
// Copyright (c) 2016-2026 Henry++
#pragma once
#define APP_NAME L"simplewall"
#define APP_NAME_SHORT L"simplewall"
#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-2026 " APP_AUTHOR L". All Rights Reversed."
#define APP_BETA
-10
View File
@@ -1,10 +0,0 @@
// simplewall
// Copyright (c) 2016-2020 Henry++
#pragma once
#define APP_NAME L"simplewall"
#define APP_NAME_SHORT L"simplewall"
#define APP_VERSION L"3.2"
#define APP_VERSION_RES 3,2,0,0
#define APP_COPYRIGHT L"(c) 2016-2020 " _APP_AUTHOR L". All Rights Reversed."
+1093
View File
File diff suppressed because it is too large. Load diff
-756
View File
@@ -1,756 +0,0 @@
// simplewall
// Copyright (c) 2016-2020 Henry++
#include "global.hpp"
VOID _app_settab_id (HWND hwnd, INT page_id)
{
if (!page_id || ((INT)_r_tab_getlparam (hwnd, IDC_TAB, INVALID_INT) == page_id && IsWindowVisible (GetDlgItem (hwnd, page_id))))
return;
for (INT i = 0; i < (INT)SendDlgItemMessage (hwnd, IDC_TAB, TCM_GETITEMCOUNT, 0, 0); i++)
{
INT listview_id = (INT)_r_tab_getlparam (hwnd, IDC_TAB, i);
if (listview_id == page_id)
{
_r_tab_selectitem (hwnd, IDC_TAB, i);
return;
}
}
_app_settab_id (hwnd, IDC_APPS_PROFILE);
}
UINT _app_getinterfacestatelocale (ENUM_INSTALL_TYPE install_type)
{
if (install_type == InstallEnabled)
return IDS_STATUS_FILTERS_ACTIVE;
else if (install_type == InstallEnabledTemporary)
return IDS_STATUS_FILTERS_ACTIVE_TEMP;
// InstallDisabled
return IDS_STATUS_FILTERS_INACTIVE;
}
BOOLEAN _app_initinterfacestate (HWND hwnd, BOOLEAN is_forced)
{
if (!hwnd)
return FALSE;
if (is_forced || !!SendDlgItemMessage (config.hrebar, IDC_TOOLBAR, TB_ISBUTTONENABLED, IDM_TRAY_START, 0))
{
SendDlgItemMessage (config.hrebar, IDC_TOOLBAR, TB_ENABLEBUTTON, IDM_TRAY_START, MAKELPARAM (FALSE, 0));
SendDlgItemMessage (config.hrebar, IDC_TOOLBAR, TB_ENABLEBUTTON, IDM_REFRESH, MAKELPARAM (FALSE, 0));
_r_status_settextformat (hwnd, IDC_STATUSBAR, 0, L"%s...", app.LocaleString (IDS_STATUS_FILTERS_PROCESSING));
return TRUE;
}
return FALSE;
}
VOID _app_restoreinterfacestate (HWND hwnd, BOOLEAN is_enabled)
{
if (!is_enabled)
return;
SendDlgItemMessage (config.hrebar, IDC_TOOLBAR, TB_ENABLEBUTTON, IDM_TRAY_START, MAKELPARAM (TRUE, 0));
SendDlgItemMessage (config.hrebar, IDC_TOOLBAR, TB_ENABLEBUTTON, IDM_REFRESH, MAKELPARAM (TRUE, 0));
ENUM_INSTALL_TYPE install_type = _wfp_isfiltersinstalled ();
_r_status_settext (hwnd, IDC_STATUSBAR, 0, app.LocaleString (_app_getinterfacestatelocale (install_type)));
}
VOID _app_setinterfacestate (HWND hwnd)
{
ENUM_INSTALL_TYPE install_type = _wfp_isfiltersinstalled ();
BOOLEAN is_filtersinstalled = (install_type != InstallDisabled);
INT icon_id = is_filtersinstalled ? IDI_ACTIVE : IDI_INACTIVE;
UINT string_id = is_filtersinstalled ? IDS_TRAY_STOP : IDS_TRAY_START;
HICON hico_sm = app.GetSharedImage (app.GetHINSTANCE (), icon_id, _r_dc_getsystemmetrics (hwnd, SM_CXSMICON));
HICON hico_big = app.GetSharedImage (app.GetHINSTANCE (), icon_id, _r_dc_getsystemmetrics (hwnd, SM_CXICON));
SendMessage (hwnd, WM_SETICON, ICON_SMALL, (LPARAM)hico_sm);
SendMessage (hwnd, WM_SETICON, ICON_BIG, (LPARAM)hico_big);
//SendDlgItemMessage (hwnd, IDC_STATUSBAR, SB_SETICON, 0, (LPARAM)hico_sm);
if (!_wfp_isfiltersapplying ())
_r_status_settext (hwnd, IDC_STATUSBAR, 0, app.LocaleString (_app_getinterfacestatelocale (install_type)));
_r_toolbar_setbutton (config.hrebar, IDC_TOOLBAR, IDM_TRAY_START, app.LocaleString (string_id), BTNS_BUTTON | BTNS_AUTOSIZE | BTNS_SHOWTEXT, 0, is_filtersinstalled ? 1 : 0);
_r_tray_setinfo (hwnd, UID, hico_sm, APP_NAME);
}
VOID _app_listviewresize (HWND hwnd, INT listview_id, BOOLEAN is_forced)
{
if (!listview_id || (!is_forced && !app.ConfigGetBoolean (L"AutoSizeColumns", TRUE)))
return;
INT column_count = _r_listview_getcolumncount (hwnd, listview_id);
if (!column_count)
return;
RECT rc_client;
PR_STRING columnText;
PR_STRING itemText;
HWND hlistview;
HWND hheader;
HDC hdc_listview;
HDC hdc_header;
INT column_width;
INT text_width;
INT calculated_width;
INT column_general_id;
INT total_width;
INT max_width;
INT spacing;
BOOLEAN is_tableview;
hlistview = GetDlgItem (hwnd, listview_id);
hheader = (HWND)SendMessage (hlistview, LVM_GETHEADER, 0, 0);
GetClientRect (hlistview, &rc_client);
// get device context and fix font set
hdc_listview = GetDC (hlistview);
hdc_header = GetDC (hheader);
if (hdc_listview)
SelectObject (hdc_listview, (HFONT)SendMessage (hlistview, WM_GETFONT, 0, 0)); // fix
if (hdc_header)
SelectObject (hdc_header, (HFONT)SendMessage (hheader, WM_GETFONT, 0, 0)); // fix
calculated_width = 0;
column_general_id = 0; // set general column id
is_tableview = ((INT)SendMessage (hlistview, LVM_GETVIEW, 0, 0) == LV_VIEW_DETAILS);
total_width = _r_calc_rectwidth (INT, &rc_client);
max_width = _r_dc_getdpi (hwnd, 158);
spacing = _r_dc_getsystemmetrics (hwnd, SM_CXSMICON);
for (INT i = 0; i < column_count; i++)
{
if (i == column_general_id)
continue;
// get column text width
columnText = _r_listview_getcolumntext (hwnd, listview_id, i);
if (!columnText)
continue;
column_width = _r_dc_fontwidth (hdc_header, _r_obj_getstring (columnText), _r_obj_getstringlength (columnText)) + spacing;
if (column_width >= max_width)
{
column_width = max_width;
}
else
{
// calculate max width of listview subitems (only for details view)
if (is_tableview)
{
for (INT j = 0; j < _r_listview_getitemcount (hwnd, listview_id, FALSE); j++)
{
itemText = _r_listview_getitemtext (hwnd, listview_id, j, i);
if (itemText)
{
text_width = _r_dc_fontwidth (hdc_listview, _r_obj_getstring (itemText), _r_obj_getstringlength (itemText)) + spacing;
_r_obj_dereference (itemText);
// do not continue reaching higher and higher values for performance reason!
if (text_width >= max_width)
{
column_width = max_width;
break;
}
if (text_width > column_width)
column_width = text_width;
}
}
}
}
_r_listview_setcolumn (hwnd, listview_id, i, NULL, column_width);
calculated_width += column_width;
_r_obj_dereference (columnText);
}
// set general column width
_r_listview_setcolumn (hwnd, listview_id, column_general_id, NULL, max (total_width - calculated_width, max_width));
if (hdc_listview)
ReleaseDC (hlistview, hdc_listview);
if (hdc_header)
ReleaseDC (hheader, hdc_header);
}
VOID _app_listviewsetview (HWND hwnd, INT listview_id)
{
BOOLEAN is_mainview = (listview_id >= IDC_APPS_PROFILE) && (listview_id <= IDC_RULES_CUSTOM);
INT view_type = is_mainview ? _r_calc_clamp (INT, app.ConfigGetInteger (L"ViewType", LV_VIEW_DETAILS), LV_VIEW_ICON, LV_VIEW_MAX) : LV_VIEW_DETAILS;
INT icons_size = is_mainview ? _r_calc_clamp (INT, app.ConfigGetInteger (L"IconSize", SHIL_SYSSMALL), SHIL_LARGE, SHIL_LAST) : SHIL_SYSSMALL;
HIMAGELIST himg = NULL;
if (listview_id >= IDC_RULES_BLOCKLIST && listview_id <= IDC_RULES_CUSTOM)
{
if (icons_size == SHIL_SMALL || icons_size == SHIL_SYSSMALL)
himg = config.himg_rules_small;
else
himg = config.himg_rules_large;
}
else
{
SHGetImageList (icons_size, IID_IImageList2, (PVOID*)&himg);
}
if (himg)
{
SendDlgItemMessage (hwnd, listview_id, LVM_SETIMAGELIST, LVSIL_NORMAL, (LPARAM)himg);
SendDlgItemMessage (hwnd, listview_id, LVM_SETIMAGELIST, LVSIL_SMALL, (LPARAM)himg);
}
SendDlgItemMessage (hwnd, listview_id, LVM_SETVIEW, (WPARAM)view_type, 0);
SendDlgItemMessage (hwnd, listview_id, LVM_SCROLL, 0, (LPARAM)GetScrollPos (GetDlgItem (hwnd, listview_id), SB_VERT)); // HACK!!!
}
VOID _app_listviewsetfont (HWND hwnd, INT listview_id, BOOLEAN is_redraw)
{
LOGFONT lf = {0};
if (is_redraw || !config.hfont)
{
SAFE_DELETE_OBJECT (config.hfont);
app.ConfigGetFont (L"Font", hwnd, &lf);
config.hfont = CreateFontIndirect (&lf);
}
if (config.hfont)
SendDlgItemMessage (hwnd, listview_id, WM_SETFONT, (WPARAM)config.hfont, TRUE);
}
INT CALLBACK _app_listviewcompare_callback (LPARAM lparam1, LPARAM lparam2, LPARAM lparam)
{
HWND hlistview = (HWND)lparam;
HWND hparent = GetParent (hlistview);
INT listview_id = GetDlgCtrlID (hlistview);
INT item1 = _app_getposition (hparent, listview_id, lparam1);
INT item2 = _app_getposition (hparent, listview_id, lparam2);
if (item1 == INVALID_INT || item2 == INVALID_INT)
return 0;
WCHAR configName[128];
_r_str_printf (configName, RTL_NUMBER_OF (configName), L"listview\\%04" TEXT (PRIX32), listview_id);
INT column_id = app.ConfigGetInteger (L"SortColumn", 0, configName);
BOOLEAN is_descend = app.ConfigGetBoolean (L"SortIsDescending", FALSE, configName);
INT result = 0;
if ((SendMessage (hlistview, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0) & LVS_EX_CHECKBOXES) != 0)
{
BOOLEAN is_checked1 = _r_listview_isitemchecked (hparent, listview_id, item1);
BOOLEAN is_checked2 = _r_listview_isitemchecked (hparent, listview_id, item2);
if (is_checked1 != is_checked2)
{
if (is_checked1 && !is_checked2)
result = is_descend ? 1 : -1;
else if (!is_checked1 && is_checked2)
result = is_descend ? -1 : 1;
}
}
if (!result)
{
// timestamp sorting
if ((listview_id >= IDC_APPS_PROFILE && listview_id <= IDC_APPS_UWP) && column_id == 1)
{
time_t* timestamp1 = (time_t*)_app_getappinfo (lparam1, InfoTimestampPtr);
time_t* timestamp2 = (time_t*)_app_getappinfo (lparam2, InfoTimestampPtr);
if (timestamp1 && timestamp2)
{
if ((*timestamp1) < (*timestamp2))
result = -1;
else if ((*timestamp1) > (*timestamp2))
result = 1;
}
}
}
if (!result)
{
PR_STRING itemText1 = _r_listview_getitemtext (hparent, listview_id, item1, column_id);
PR_STRING itemText2 = _r_listview_getitemtext (hparent, listview_id, item2, column_id);
if (itemText1 && itemText2)
{
result = _r_str_compare_logical (
itemText1->Buffer,
itemText2->Buffer
);
}
if (itemText1)
_r_obj_dereference (itemText1);
if (itemText2)
_r_obj_dereference (itemText2);
}
return is_descend ? -result : result;
}
VOID _app_listviewsort (HWND hwnd, INT listview_id, INT column_id, BOOLEAN is_notifycode)
{
HWND hlistview = GetDlgItem (hwnd, listview_id);
if (!hlistview)
return;
if ((GetWindowLongPtr (hlistview, GWL_STYLE) & (LVS_NOSORTHEADER | LVS_OWNERDATA)) != 0)
return;
INT column_count = _r_listview_getcolumncount (hwnd, listview_id);
if (!column_count)
return;
WCHAR configName[128];
_r_str_printf (configName, RTL_NUMBER_OF (configName), L"listview\\%04" TEXT (PRIX32), listview_id);
BOOLEAN is_descend = app.ConfigGetBoolean (L"SortIsDescending", FALSE, configName);
if (is_notifycode)
is_descend = !is_descend;
if (column_id == INVALID_INT)
column_id = app.ConfigGetInteger (L"SortColumn", 0, configName);
column_id = _r_calc_clamp (INT, column_id, 0, column_count - 1); // set range
if (is_notifycode)
{
app.ConfigSetBoolean (L"SortIsDescending", is_descend, configName);
app.ConfigSetInteger (L"SortColumn", column_id, configName);
}
for (INT i = 0; i < column_count; i++)
_r_listview_setcolumnsortindex (hwnd, listview_id, i, 0);
_r_listview_setcolumnsortindex (hwnd, listview_id, column_id, is_descend ? -1 : 1);
SendMessage (hlistview, LVM_SORTITEMS, (WPARAM)hlistview, (LPARAM)&_app_listviewcompare_callback);
}
VOID _app_refreshgroups (HWND hwnd, INT listview_id)
{
UINT group1_title;
UINT group2_title;
UINT group3_title;
if (!SendDlgItemMessage (hwnd, listview_id, LVM_ISGROUPVIEWENABLED, 0, 0))
return;
if (listview_id >= IDC_APPS_PROFILE && listview_id <= IDC_APPS_UWP)
{
group1_title = IDS_GROUP_ALLOWED;
group2_title = IDS_GROUP_SPECIAL_APPS;
group3_title = IDS_GROUP_BLOCKED;
}
else if (listview_id >= IDC_RULES_BLOCKLIST && listview_id <= IDC_RULES_CUSTOM)
{
group1_title = IDS_GROUP_ENABLED;
group2_title = IDS_GROUP_SPECIAL;
group3_title = IDS_GROUP_DISABLED;
}
else if (listview_id == IDC_RULE_APPS_ID)
{
group1_title = IDS_TAB_APPS;
group2_title = IDS_TAB_SERVICES;
group3_title = IDS_TAB_PACKAGES;
}
else
{
return;
}
INT total_count = _r_listview_getitemcount (hwnd, listview_id, FALSE);
INT group1_count = 0;
INT group2_count = 0;
INT group3_count = 0;
for (INT i = 0; i < total_count; i++)
{
if (listview_id == IDC_RULE_APPS_ID)
{
if (_r_listview_isitemchecked (hwnd, listview_id, i))
{
group1_count = group2_count = group3_count += 1;
}
}
else
{
LVITEM lvi = {0};
lvi.mask = LVIF_GROUPID;
lvi.iItem = i;
if (SendDlgItemMessage (hwnd, listview_id, LVM_GETITEM, 0, (LPARAM)&lvi))
{
if (lvi.iGroupId == 2)
group3_count += 1;
else if (lvi.iGroupId == 1)
group2_count += 1;
else
group1_count += 1;
}
}
}
WCHAR groupString1[128] = {0};
WCHAR groupString2[128] = {0};
WCHAR groupString3[128] = {0};
PR_STRING localizedString = NULL;
if (total_count)
{
_r_str_printf (groupString1, RTL_NUMBER_OF (groupString1), L" (%d/%d)", group1_count, total_count);
_r_str_printf (groupString2, RTL_NUMBER_OF (groupString2), L" (%d/%d)", group2_count, total_count);
_r_str_printf (groupString3, RTL_NUMBER_OF (groupString3), L" (%d/%d)", group3_count, total_count);
}
_r_obj_movereference (&localizedString, _r_format_string (L"%s%s", app.LocaleString (group1_title), groupString1));
_r_listview_setgroup (hwnd, listview_id, 0, _r_obj_getstringorempty (localizedString), 0, 0);
_r_obj_movereference (&localizedString, _r_format_string (L"%s%s", app.LocaleString (group2_title), groupString2));
_r_listview_setgroup (hwnd, listview_id, 1, _r_obj_getstringorempty (localizedString), 0, 0);
_r_obj_movereference (&localizedString, _r_format_string (L"%s%s", app.LocaleString (group3_title), groupString3));
_r_listview_setgroup (hwnd, listview_id, 2, _r_obj_getstringorempty (localizedString), 0, 0);
SAFE_DELETE_REFERENCE (localizedString);
}
VOID _app_refreshstatus (HWND hwnd, INT listview_id)
{
PITEM_STATUS pstatus = (PITEM_STATUS)_r_mem_allocatezero (sizeof (ITEM_STATUS));
_app_getcount (pstatus);
HWND hstatus = GetDlgItem (hwnd, IDC_STATUSBAR);
HDC hdc = GetDC (hstatus);
// item count
if (hdc)
{
SelectObject (hdc, (HFONT)SendMessage (hstatus, WM_GETFONT, 0, 0)); // fix
const INT parts_count = 3;
INT spacing = _r_dc_getdpi (hwnd, 12);
PR_STRING text[parts_count] = {0};
INT parts[parts_count] = {0};
LONG size[parts_count] = {0};
LONG lay = 0;
for (INT i = 0; i < parts_count; i++)
{
switch (i)
{
case 1:
{
if (pstatus)
text[i] = _r_format_string (L"%s: %" TEXT (PR_SIZE_T), app.LocaleString (IDS_STATUS_UNUSED_APPS), pstatus->apps_unused_count);
break;
}
case 2:
{
if (pstatus)
text[i] = _r_format_string (L"%s: %" TEXT (PR_SIZE_T), app.LocaleString (IDS_STATUS_TIMER_APPS), pstatus->apps_timer_count);
break;
}
}
if (i)
{
size[i] = _r_dc_fontwidth (hdc, _r_obj_getstringorempty (text[i]), _r_obj_getstringlength (text[i])) + spacing;
lay += size[i];
}
}
RECT rc_client = {0};
GetClientRect (hstatus, &rc_client);
parts[0] = _r_calc_rectwidth (INT, &rc_client) - lay - _r_dc_getsystemmetrics (hwnd, SM_CXVSCROLL) - (_r_dc_getsystemmetrics (hwnd, SM_CXBORDER) * 2);
parts[1] = parts[0] + size[1];
parts[2] = parts[1] + size[2];
SendMessage (hstatus, SB_SETPARTS, parts_count, (LPARAM)parts);
for (INT i = 1; i < parts_count; i++)
{
if (text[i])
{
_r_status_settext (hwnd, IDC_STATUSBAR, i, _r_obj_getstringorempty (text[i]));
_r_obj_dereference (text[i]);
}
}
ReleaseDC (hstatus, hdc);
}
// group information
if (listview_id)
{
if (listview_id == INVALID_INT)
listview_id = (INT)_r_tab_getlparam (hwnd, IDC_TAB, INVALID_INT);
_app_refreshgroups (hwnd, listview_id);
}
if (pstatus)
_r_mem_free (pstatus);
}
INT _app_getposition (HWND hwnd, INT listview_id, LPARAM lparam)
{
LVFINDINFO lvfi = {0};
lvfi.flags = LVFI_PARAM;
lvfi.lParam = lparam;
return (INT)SendDlgItemMessage (hwnd, listview_id, LVM_FINDITEM, (WPARAM)INVALID_INT, (LPARAM)&lvfi);
}
VOID _app_showitem (HWND hwnd, INT listview_id, INT item, INT scroll_pos)
{
HWND hlistview = GetDlgItem (hwnd, listview_id);
if (!hlistview)
return;
_app_settab_id (hwnd, listview_id);
INT total_count = _r_listview_getitemcount (hwnd, listview_id, FALSE);
if (!total_count)
return;
if (item != INVALID_INT)
{
item = _r_calc_clamp (INT, item, 0, total_count - 1);
PostMessage (hlistview, LVM_ENSUREVISIBLE, (WPARAM)item, TRUE); // ensure item visible
ListView_SetItemState (hlistview, INVALID_INT, 0, LVIS_SELECTED | LVIS_FOCUSED); // deselect all
ListView_SetItemState (hlistview, (WPARAM)item, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); // select item
}
if (scroll_pos > 0)
PostMessage (hlistview, LVM_SCROLL, 0, (LPARAM)scroll_pos); // restore scroll position
}
LONG_PTR _app_nmcustdraw_listview (LPNMLVCUSTOMDRAW lpnmlv)
{
if (!app.ConfigGetBoolean (L"IsEnableHighlighting", TRUE))
return CDRF_DODEFAULT;
switch (lpnmlv->nmcd.dwDrawStage)
{
case CDDS_PREPAINT:
{
return CDRF_NOTIFYITEMDRAW;
}
case CDDS_ITEMPREPAINT:
{
INT view_type = (INT)SendMessage (lpnmlv->nmcd.hdr.hwndFrom, LVM_GETVIEW, 0, 0);
BOOLEAN is_tableview = (view_type == LV_VIEW_DETAILS || view_type == LV_VIEW_SMALLICON || view_type == LV_VIEW_TILE);
INT listview_id = PtrToInt ((PVOID)lpnmlv->nmcd.hdr.idFrom);
if ((listview_id >= IDC_APPS_PROFILE && listview_id <= IDC_APPS_UWP) || listview_id == IDC_RULE_APPS_ID || listview_id == IDC_NETWORK || listview_id == IDC_LOG)
{
SIZE_T app_hash;
if (listview_id == IDC_NETWORK)
{
app_hash = _app_getnetworkapp (lpnmlv->nmcd.lItemlParam); // initialize
}
else if (listview_id == IDC_LOG)
{
app_hash = _app_getlogapp (lpnmlv->nmcd.lItemlParam); // initialize
}
else
{
app_hash = lpnmlv->nmcd.lItemlParam;
}
if (app_hash)
{
COLORREF new_clr = _app_getappcolor (listview_id, app_hash);
if (new_clr)
{
lpnmlv->clrText = _r_dc_getcolorbrightness (new_clr);
lpnmlv->clrTextBk = new_clr;
if (is_tableview)
_r_dc_fillrect (lpnmlv->nmcd.hdc, &lpnmlv->nmcd.rc, new_clr);
return CDRF_NEWFONT;
}
}
}
else if (listview_id >= IDC_RULES_BLOCKLIST && listview_id <= IDC_RULES_CUSTOM)
{
SIZE_T rule_idx = lpnmlv->nmcd.lItemlParam;
COLORREF new_clr = _app_getrulecolor (listview_id, rule_idx);
if (new_clr)
{
lpnmlv->clrText = _r_dc_getcolorbrightness (new_clr);
lpnmlv->clrTextBk = new_clr;
if (is_tableview)
_r_dc_fillrect (lpnmlv->nmcd.hdc, &lpnmlv->nmcd.rc, new_clr);
return CDRF_NEWFONT;
}
}
else if (listview_id == IDC_COLORS)
{
PITEM_COLOR ptr_clr = (PITEM_COLOR)lpnmlv->nmcd.lItemlParam;
if (ptr_clr)
{
COLORREF new_clr = ptr_clr->new_clr ? ptr_clr->new_clr : ptr_clr->default_clr;
if (new_clr)
{
lpnmlv->clrText = _r_dc_getcolorbrightness (new_clr);
lpnmlv->clrTextBk = new_clr;
if (is_tableview)
_r_dc_fillrect (lpnmlv->nmcd.hdc, &lpnmlv->nmcd.rc, lpnmlv->clrTextBk);
return CDRF_NEWFONT;
}
}
}
break;
}
}
return CDRF_DODEFAULT;
}
LONG_PTR _app_nmcustdraw_toolbar (LPNMLVCUSTOMDRAW lpnmlv)
{
switch (lpnmlv->nmcd.dwDrawStage)
{
case CDDS_PREPAINT:
{
return CDRF_NOTIFYITEMDRAW | CDRF_NOTIFYPOSTPAINT;
}
case CDDS_ITEMPREPAINT:
{
TBBUTTONINFO tbi = {0};
tbi.cbSize = sizeof (tbi);
tbi.dwMask = TBIF_STYLE | TBIF_STATE | TBIF_IMAGE;
if ((INT)SendMessage (lpnmlv->nmcd.hdr.hwndFrom, TB_GETBUTTONINFO, (WPARAM)lpnmlv->nmcd.dwItemSpec, (LPARAM)&tbi) == INVALID_INT)
break;
if ((tbi.fsState & TBSTATE_ENABLED) == 0)
{
INT icon_size_x = 0;
INT icon_size_y = 0;
SelectObject (lpnmlv->nmcd.hdc, (HFONT)SendMessage (lpnmlv->nmcd.hdr.hwndFrom, WM_GETFONT, 0, 0)); // fix
SetBkMode (lpnmlv->nmcd.hdc, TRANSPARENT);
SetTextColor (lpnmlv->nmcd.hdc, GetSysColor (COLOR_GRAYTEXT));
if (tbi.iImage != I_IMAGENONE)
{
HIMAGELIST himglist = (HIMAGELIST)SendMessage (lpnmlv->nmcd.hdr.hwndFrom, TB_GETIMAGELIST, 0, 0);
if (himglist)
{
DWORD padding = (DWORD)SendMessage (lpnmlv->nmcd.hdr.hwndFrom, TB_GETPADDING, 0, 0);
UINT rebar_height = (UINT)SendMessage (GetParent (lpnmlv->nmcd.hdr.hwndFrom), RB_GETBARHEIGHT, 0, 0);
ImageList_GetIconSize (himglist, &icon_size_x, &icon_size_y);
IMAGELISTDRAWPARAMS ildp = {0};
ildp.cbSize = sizeof (ildp);
ildp.himl = himglist;
ildp.hdcDst = lpnmlv->nmcd.hdc;
ildp.i = tbi.iImage;
ildp.x = lpnmlv->nmcd.rc.left + (LOWORD (padding) / 2);
ildp.y = (rebar_height / 2) - (icon_size_y / 2);
ildp.fState = ILS_SATURATE; // grayscale
ildp.fStyle = ILD_NORMAL | ILD_ASYNC;
ImageList_DrawIndirect (&ildp);
}
}
if ((tbi.fsStyle & BTNS_SHOWTEXT) == BTNS_SHOWTEXT)
{
WCHAR text[MAX_PATH] = {0};
SendMessage (lpnmlv->nmcd.hdr.hwndFrom, TB_GETBUTTONTEXT, (WPARAM)lpnmlv->nmcd.dwItemSpec, (LPARAM)text);
if (tbi.iImage != I_IMAGENONE)
lpnmlv->nmcd.rc.left += icon_size_x;
DrawTextEx (lpnmlv->nmcd.hdc, text, (INT)_r_str_length (text), &lpnmlv->nmcd.rc, DT_CENTER | DT_VCENTER | DT_SINGLELINE | DT_HIDEPREFIX, NULL);
}
return CDRF_SKIPDEFAULT;
}
break;
}
}
return CDRF_DODEFAULT;
}
+92
View File
@@ -0,0 +1,92 @@
// simplewall
// Copyright (c) 2016-2026 Henry++
#pragma once
EXTERN_C const IID IID_IImageList2;
_Ret_maybenull_
PR_STRING _app_gettooltipbylparam (
_In_ HWND hwnd,
_In_ INT listview_id,
_In_ LONG_PTR lparam
);
BOOLEAN _app_settab_id (
_In_ HWND hwnd,
_In_ INT page_id
);
LPCWSTR _app_getstateaction (
_In_ ENUM_INSTALL_TYPE install_type
);
HBITMAP _app_getstatebitmap (
_In_ ENUM_INSTALL_TYPE install_type
);
LONG _app_getstateicon (
_In_ ENUM_INSTALL_TYPE install_type
);
LPCWSTR _app_getstatelocale (
_In_ ENUM_INSTALL_TYPE install_type
);
BOOLEAN _app_initinterfacestate (
_In_opt_ HWND hwnd,
_In_ BOOLEAN is_forced
);
VOID _app_restoreinterfacestate (
_In_opt_ HWND hwnd,
_In_ BOOLEAN is_enabled
);
VOID _app_setinterfacestate (
_In_ HWND hwnd,
_In_ LONG dpi_value
);
VOID _app_settrayicon (
_In_ HWND hwnd,
_In_ ENUM_INSTALL_TYPE install_type
);
VOID _app_imagelist_init (
_In_opt_ HWND hwnd,
_In_ LONG dpi_value
);
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
);
-30
View File
@@ -1,30 +0,0 @@
// simplewall
// Copyright (c) 2016-2020 Henry++
#pragma once
EXTERN_C const IID IID_IImageList2;
VOID _app_settab_id (HWND hwnd, INT page_id);
UINT _app_getinterfacestatelocale (ENUM_INSTALL_TYPE install_type);
BOOLEAN _app_initinterfacestate (HWND hwnd, BOOLEAN is_forced);
VOID _app_restoreinterfacestate (HWND hwnd, BOOLEAN is_enabled);
VOID _app_setinterfacestate (HWND hwnd);
VOID _app_listviewresize (HWND hwnd, INT listview_id, BOOLEAN is_forced);
VOID _app_listviewsetview (HWND hwnd, INT listview_id);
VOID _app_listviewsetfont (HWND hwnd, INT listview_id, BOOLEAN is_redraw);
INT CALLBACK _app_listviewcompare_callback (LPARAM lparam1, LPARAM lparam2, LPARAM lparam);
VOID _app_listviewsort (HWND hwnd, INT listview_id, INT column_id, BOOLEAN is_notifycode);
VOID _app_refreshgroups (HWND hwnd, INT listview_id);
VOID _app_refreshstatus (HWND hwnd, INT listview_id);
INT _app_getposition (HWND hwnd, INT listview_id, LPARAM lparam);
VOID _app_showitem (HWND hwnd, INT listview_id, INT item, INT scroll_pos);
LONG_PTR _app_nmcustdraw_listview (LPNMLVCUSTOMDRAW lpnmlv);
LONG_PTR _app_nmcustdraw_toolbar (LPNMLVCUSTOMDRAW lpnmlv);
+4299
View File
File diff suppressed because it is too large. Load diff
+212
View File
@@ -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
);
+1888
View File
File diff suppressed because it is too large. Load diff
-1115
View File
File diff suppressed because it is too large. Load diff
+100
View File
@@ -0,0 +1,100 @@
// simplewall
// Copyright (c) 2016-2026 Henry++
#pragma once
typedef struct _EDITOR_CONTEXT
{
R_LAYOUT_MANAGER layout_manager;
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
);
-9
View File
@@ -1,9 +0,0 @@
// simplewall
// Copyright (c) 2016-2020 Henry++
#pragma once
INT_PTR CALLBACK AddRuleProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
INT_PTR CALLBACK EditorPagesProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
INT_PTR CALLBACK EditorProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
+121
View File
@@ -0,0 +1,121 @@
// simplewall
// Copyright (c) 2016-2026 Henry++
#pragma once
#include "routine.h"
#include <winsock2.h>
#include <ws2ipdef.h>
#include <ws2tcpip.h>
#include <windns.h>
#include <mstcpip.h>
#include <iphlpapi.h>
#include <tcpestats.h>
#include <aclapi.h>
#include <dbt.h>
#include <fwpmu.h>
#include <mmsystem.h>
#include <netfw.h>
#include <shlguid.h>
#include <shobjidl.h>
#include <softpub.h>
#include <subauth.h>
#include <mscat.h>
#include <evntrace.h>
#include <evntcons.h>
#include "app.h"
#include "rapp.h"
#include "main.h"
#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_LIST rules_list = NULL;
DECLSPEC_SELECTANY PR_HASHTABLE rules_config = NULL;
DECLSPEC_SELECTANY PR_HASHTABLE log_table = NULL;
DECLSPEC_SELECTANY PR_HASHTABLE cache_information = NULL;
DECLSPEC_SELECTANY PR_HASHTABLE cache_resolution = NULL;
DECLSPEC_SELECTANY PR_HASHTABLE colors_table = NULL;
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_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_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;
DECLSPEC_SELECTANY R_QUEUED_LOCK lock_cache_information = PR_QUEUED_LOCK_INIT;
DECLSPEC_SELECTANY R_QUEUED_LOCK lock_cache_resolution = PR_QUEUED_LOCK_INIT;
DECLSPEC_SELECTANY R_WORKQUEUE file_queue = {0};
DECLSPEC_SELECTANY R_WORKQUEUE log_queue = {0};
DECLSPEC_SELECTANY R_WORKQUEUE resolver_queue = {0};
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 const LONG64 timer_array[] =
{
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+)
#if !defined(FWP_DIRECTION_IN)
#define FWP_DIRECTION_IN 0x00003900L
#endif // !FWP_DIRECTION_IN
#if !defined(FWP_DIRECTION_OUT)
#define FWP_DIRECTION_OUT 0x00003901L
#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"
-84
View File
@@ -1,84 +0,0 @@
// simplewall
// Copyright (c) 2016-2020 Henry++
#pragma once
#include "routine.hpp"
#include <winsock2.h>
#include <ws2ipdef.h>
#include <ws2tcpip.h>
#include <windns.h>
#include <mstcpip.h>
#include <iphlpapi.h>
#include <aclapi.h>
#include <dbt.h>
#include <fwpmu.h>
#include <mmsystem.h>
#include <netfw.h>
#include <shlguid.h>
#include <shobjidl.h>
#include <softpub.h>
#include <subauth.h>
#include <wincodec.h>
#include "app.hpp"
#include "rapp.hpp"
#include "main.hpp"
#include "controls.hpp"
#include "editor.hpp"
#include "helper.hpp"
#include "log.hpp"
#include "notifications.hpp"
#include "profile.hpp"
#include "security.hpp"
#include "timer.hpp"
#include "wfp.hpp"
#include "pugiconfig.hpp"
#include "..\..\pugixml\src\pugixml.hpp"
#include "resource.hpp"
inline rapp app;
inline STATIC_DATA config;
inline OBJECTS_APP_MAP apps;
inline OBJECTS_APP_HELPER_MAP apps_helper;
inline OBJECTS_RULE_VECTOR rules_arr;
inline OBJECTS_RULE_CONFIG_MAP rules_config;
inline OBJECTS_NETWORK_MAP network_map;
inline OBJECTS_LOG_VECTOR log_arr;
inline OBJECTS_STRINGS_MAP cache_arpa;
inline OBJECTS_STRINGS_MAP cache_signatures;
inline OBJECTS_STRINGS_MAP cache_versions;
inline OBJECTS_STRINGS_MAP cache_dns;
inline OBJECTS_STRINGS_MAP cache_hosts;
inline TYPES_MAP cache_types;
inline THREADS_VEC threads_pool;
inline std::vector<PITEM_COLOR> colors;
inline std::vector<time_t> timers;
inline GUIDS_VEC filter_ids;
inline ITEM_LIST_HEAD log_stack;
inline _R_FASTLOCK lock_apply;
inline _R_FASTLOCK lock_checkbox;
inline _R_FASTLOCK lock_logbusy;
inline _R_FASTLOCK lock_logthread;
inline _R_FASTLOCK lock_transaction;
// dropped events callback subscription (win7+)
#ifndef FWP_DIRECTION_IN
#define FWP_DIRECTION_IN 0x00003900L
#endif
#ifndef FWP_DIRECTION_OUT
#define FWP_DIRECTION_OUT 0x00003901L
#endif
+2095
View File
File diff suppressed because it is too large. Load diff
-3180
View File
File diff suppressed because it is too large. Load diff
+243
View File
@@ -0,0 +1,243 @@
// simplewall
// 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_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_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_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
);
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_
PR_STRING _app_getappdisplayname (
_In_ PITEM_APP ptr_app,
_In_ BOOLEAN is_shortened
);
_Ret_maybenull_
PR_STRING _app_getapppath (
_In_ PITEM_APP ptr_app
);
VOID _app_getfileicon (
_Inout_ PITEM_APP_INFO ptr_app_info
);
VOID _app_getfilesignatureinfo (
_Inout_ PITEM_APP_INFO ptr_app_info,
_In_ HANDLE hfile
);
VOID _app_getfileversioninfo (
_Inout_ PITEM_APP_INFO ptr_app_info
);
_Ret_maybenull_
PR_STRING _app_getfilehashinfo (
_In_ HANDLE hfile,
_In_ ULONG app_hash
);
ULONG _app_addcolor (
_In_ ULONG locale_id,
_In_ LPCWSTR config_name,
_In_ LPCWSTR config_value,
_In_ COLORREF default_clr,
_In_ BOOLEAN is_enabled
);
_Success_ (return != 0)
COLORREF _app_getcolorvalue (
_In_ ULONG color_hash
);
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_ PCR_STRINGREF network_string,
_Inout_ PITEM_ADDRESS address
);
_Success_ (return)
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_interlocked (
_In_ volatile PVOID_PTR string,
_In_ ADDRESS_FAMILY af,
_In_ LPCVOID address,
_In_ BOOLEAN is_resolutionenabled
);
VOID _app_fileloggingenable ();
VOID NTAPI _app_timercallback (
_In_opt_ PVOID context
);
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
);
-63
View File
@@ -1,63 +0,0 @@
// simplewall
// Copyright (c) 2016-2020 Henry++
#pragma once
#define FMTADDR_AS_ARPA 0x0001
#define FMTADDR_AS_RULE 0x0002
#define FMTADDR_USE_PROTOCOL 0x0004
#define FMTADDR_RESOLVE_HOST 0x0008
VOID NTAPI _app_dereferenceapp (PVOID pdata);
VOID NTAPI _app_dereferenceappshelper (PVOID pdata);
VOID NTAPI _app_dereferencelog (PVOID pdata);
VOID NTAPI _app_dereferencenetwork (PVOID pdata);
VOID NTAPI _app_dereferencerule (PVOID pdata);
VOID NTAPI _app_dereferenceruleconfig (PVOID pdata);
PR_STRING _app_resolveaddress (ADDRESS_FAMILY af, LPCVOID paddr);
PR_STRING _app_formataddress (ADDRESS_FAMILY af, UINT8 proto, LPCVOID paddr, UINT16 port, DWORD flags);
BOOLEAN _app_formatip (ADDRESS_FAMILY af, LPCVOID paddr, LPWSTR out_buffer, ULONG buffer_size, BOOLEAN is_checkempty);
PR_STRING _app_formatport (UINT16 port, BOOLEAN is_noempty);
VOID _app_freestrings_map (OBJECTS_STRINGS_MAP* ptr_map, SIZE_T max_size);
VOID _app_freeapps_map (OBJECTS_APP_MAP* ptr_map);
VOID _app_freeappshelper_map (OBJECTS_APP_HELPER_MAP* ptr_map);
VOID _app_freerulesconfig_map (OBJECTS_RULE_CONFIG_MAP* ptr_map);
VOID _app_freeapps_vec (OBJECTS_APP_VECTOR* ptr_vec);
VOID _app_freerules_vec (OBJECTS_RULE_VECTOR* ptr_vec);
VOID _app_freelogobjects_vec (OBJECTS_LOG_VECTOR* ptr_vec);
VOID _app_freethreadpool (THREADS_VEC* ptr_vec);
VOID _app_freelogstack ();
VOID _app_getappicon (const PITEM_APP ptr_app, BOOLEAN is_small, PINT picon_id, HICON* picon);
PR_STRING _app_getdisplayname (SIZE_T app_hash, PITEM_APP ptr_app);
BOOLEAN _app_getfileicon (LPCWSTR path, BOOLEAN is_small, PINT picon_id, HICON* picon);
PR_STRING _app_getsignatureinfo (SIZE_T app_hash, const PITEM_APP ptr_app);
PR_STRING _app_getversioninfo (SIZE_T app_hash, const PITEM_APP ptr_app);
LPCWSTR _app_getservicename (UINT16 port, LPCWSTR default_value);
LPCWSTR _app_getprotoname (UINT8 proto, ADDRESS_FAMILY af, LPCWSTR default_value);
LPCWSTR _app_getconnectionstatusname (DWORD state, LPCWSTR default_value);
PR_STRING _app_getdirectionname (FWP_DIRECTION direction, BOOLEAN is_loopback, BOOLEAN is_localized);
COLORREF _app_getcolorvalue (SIZE_T color_hash);
VOID _app_generate_connections (OBJECTS_NETWORK_MAP* ptr_map, HASHER_MAP* checker_map);
VOID _app_generate_packages ();
VOID _app_generate_services ();
VOID _app_generate_rulesmenu (HMENU hsubmenu, SIZE_T app_hash);
VOID _app_generate_timermenu (HMENU hsubmenu, SIZE_T app_hash);
BOOLEAN _app_item_get (ENUM_TYPE_DATA type, SIZE_T app_hash, PR_STRING* displayName, PR_STRING* realPath, time_t* ptime, PVOID* lpdata);
PR_STRING _app_parsehostaddress_dns (LPCWSTR hostname, USHORT port);
BOOLEAN _app_parsenetworkstring (LPCWSTR network_string, NET_ADDRESS_FORMAT* format_ptr, PUSHORT port_ptr, FWP_V4_ADDR_AND_MASK* paddr4, FWP_V6_ADDR_AND_MASK* paddr6, LPWSTR dnsString, SIZE_T dnsLength);
BOOLEAN _app_parserulestring (PR_STRING rule, PITEM_ADDRESS ptr_addr);
INT _app_getlistview_id (ENUM_TYPE_DATA type);
HBITMAP _app_bitmapfromico (HICON hicon, INT icon_size);
HBITMAP _app_bitmapfrompng (HINSTANCE hinst, LPCWSTR name, INT icon_size);
VOID _app_load_appxmanifest (PITEM_APP_HELPER ptr_app_item);
+207
View File
@@ -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);
}
+38
View File
@@ -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
);
+1082
View File
File diff suppressed because it is too large. Load diff
+198
View File
@@ -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
);
+1391
View File
File diff suppressed because it is too large. Load diff
-960
View File
@@ -1,960 +0,0 @@
// simplewall
// Copyright (c) 2016-2020 Henry++
#include "global.hpp"
PR_STRING _app_getlogviewer ()
{
LPCWSTR result = app.ConfigGetString (L"LogViewer", LOG_VIEWER_DEFAULT);
if (_r_str_isempty (result))
return _r_path_expand (LOG_VIEWER_DEFAULT);
return _r_path_expand (result);
}
VOID _app_loginit (BOOLEAN is_install)
{
// dropped packets logging (win7+)
if (!config.hnetevent)
return;
// reset log handle
SAFE_DELETE_HANDLE (config.hlogfile);
if (!is_install || !app.ConfigGetBoolean (L"IsLogEnabled", FALSE))
return; // already closed or not enabled
PR_STRING logPath = _r_path_expand (app.ConfigGetString (L"LogPath", LOG_PATH_DEFAULT));
if (!logPath)
return;
config.hlogfile = CreateFile (logPath->Buffer, GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (_r_fs_isvalidhandle (config.hlogfile))
{
if (GetLastError () != ERROR_ALREADY_EXISTS)
{
ULONG written;
BYTE bom[] = {0xFF, 0xFE};
WriteFile (config.hlogfile, bom, sizeof (bom), &written, NULL); // write utf-16 le byte order mask
}
else
{
_r_fs_setpos (config.hlogfile, 0, FILE_END);
}
_r_obj_dereference (logPath);
}
}
VOID _app_logwrite (PITEM_LOG ptr_log)
{
PR_STRING path = NULL;
WCHAR dateString[256];
PR_STRING localAddressString;
PR_STRING localPortString;
PR_STRING remoteAddressString;
PR_STRING remotePortString;
PR_STRING directionString;
PR_STRING buffer;
// parse path
{
PITEM_APP ptr_app = _app_getappitem (ptr_log->app_hash);
if (ptr_app)
{
if (ptr_app->type == DataAppUWP || ptr_app->type == DataAppService)
{
if (!_r_str_isempty (ptr_app->real_path))
{
path = _r_obj_reference (ptr_app->real_path);
}
else if (!_r_str_isempty (ptr_app->display_name))
{
path = _r_obj_reference (ptr_app->display_name);
}
}
else if (!_r_str_isempty (ptr_app->original_path))
{
path = _r_obj_reference (ptr_app->original_path);
}
_r_obj_dereference (ptr_app);
}
}
_r_format_dateex (dateString, RTL_NUMBER_OF (dateString), ptr_log->timestamp, FDTF_SHORTDATE | FDTF_SHORTTIME);
localAddressString = _app_formataddress (ptr_log->af, 0, &ptr_log->local_addr, 0, FMTADDR_RESOLVE_HOST);
remoteAddressString = _app_formataddress (ptr_log->af, 0, &ptr_log->remote_addr, 0, FMTADDR_RESOLVE_HOST);
localPortString = _app_formatport (ptr_log->local_port, TRUE);
remotePortString = _app_formatport (ptr_log->remote_port, TRUE);
directionString = _app_getdirectionname (ptr_log->direction, ptr_log->is_loopback, FALSE);
buffer = _r_format_string (SZ_LOG_BODY,
dateString,
_r_obj_getstringordefault (ptr_log->username, SZ_EMPTY),
_r_obj_getstringordefault (path, SZ_EMPTY),
_r_obj_getstringordefault (localAddressString, SZ_EMPTY),
_r_obj_getstringordefault (localPortString, SZ_EMPTY),
_r_obj_getstringordefault (remoteAddressString, SZ_EMPTY),
_r_obj_getstringordefault (remotePortString, SZ_EMPTY),
_app_getprotoname (ptr_log->protocol, ptr_log->af, SZ_UNKNOWN),
_r_obj_getstringorempty (ptr_log->provider_name),
_r_obj_getstringorempty (ptr_log->filter_name),
ptr_log->filter_id,
_r_obj_getstringordefault (directionString, SZ_EMPTY),
(ptr_log->is_allow ? SZ_STATE_ALLOW : SZ_STATE_BLOCK)
);
if (_app_logislimitreached ())
_app_logclear ();
ULONG written;
if (_r_fs_size (config.hlogfile) == 2)
WriteFile (config.hlogfile, SZ_LOG_TITLE, (ULONG)(_r_str_length (SZ_LOG_TITLE) * sizeof (WCHAR)), &written, NULL); // adds csv header
WriteFile (config.hlogfile, buffer->Buffer, (ULONG)buffer->Length, &written, NULL);
SAFE_DELETE_REFERENCE (localAddressString);
SAFE_DELETE_REFERENCE (localPortString);
SAFE_DELETE_REFERENCE (remoteAddressString);
SAFE_DELETE_REFERENCE (remotePortString);
SAFE_DELETE_REFERENCE (directionString);
SAFE_DELETE_REFERENCE (path);
_r_obj_dereference (buffer);
}
BOOLEAN _app_logisexists (HWND hwnd, PITEM_LOG ptr_log_new)
{
BOOLEAN is_duplicate_found = FALSE;
for (auto it = log_arr.begin (); it != log_arr.end (); ++it)
{
if (!*it)
continue;
PITEM_LOG ptr_log = (PITEM_LOG)_r_obj_reference (*it);
if (
ptr_log->is_allow == ptr_log_new->is_allow &&
ptr_log->af == ptr_log_new->af &&
ptr_log->direction == ptr_log_new->direction &&
ptr_log->protocol == ptr_log_new->protocol &&
ptr_log->remote_port == ptr_log_new->remote_port &&
ptr_log->local_port == ptr_log_new->local_port
)
{
if (ptr_log->af == AF_INET)
{
if (
ptr_log->remote_addr.S_un.S_addr == ptr_log_new->remote_addr.S_un.S_addr &&
ptr_log->local_addr.S_un.S_addr == ptr_log_new->local_addr.S_un.S_addr
)
{
is_duplicate_found = TRUE;
}
}
else if (ptr_log->af == AF_INET6)
{
if (
RtlEqualMemory (ptr_log->remote_addr6.u.Byte, ptr_log_new->remote_addr6.u.Byte, FWP_V6_ADDR_SIZE) &&
RtlEqualMemory (ptr_log->local_addr6.u.Byte, ptr_log_new->local_addr6.u.Byte, FWP_V6_ADDR_SIZE)
)
{
is_duplicate_found = TRUE;
}
}
if (is_duplicate_found)
{
ptr_log_new->timestamp = ptr_log->timestamp; // upd date
_r_obj_dereference (ptr_log);
return TRUE;
}
}
_r_obj_dereference (ptr_log);
}
return FALSE;
}
VOID _app_logwrite_ui (HWND hwnd, PITEM_LOG ptr_log)
{
INT listview_id;
SIZE_T index;
INT icon_id;
INT item_id;
LPCWSTR display_name;
PR_STRING localAddressString;
PR_STRING localPortString;
PR_STRING remoteAddressString;
PR_STRING remotePortString;
PR_STRING directionString;
if (_app_logisexists (hwnd, ptr_log))
return;
listview_id = IDC_LOG;
index = log_arr.size ();
log_arr.emplace_back ((PITEM_LOG)_r_obj_reference (ptr_log));
icon_id = (INT)_app_getappinfo (ptr_log->app_hash, InfoIconId);
if (!icon_id)
icon_id = config.icon_id;
display_name = (LPCWSTR)_app_getappinfo (ptr_log->app_hash, InfoName);
if (!display_name && !_r_str_isempty (ptr_log->path))
display_name = ptr_log->path->Buffer;
localAddressString = _app_formataddress (ptr_log->af, 0, &ptr_log->local_addr, 0, 0);
remoteAddressString = _app_formataddress (ptr_log->af, 0, &ptr_log->remote_addr, 0, 0);
localPortString = _app_formatport (ptr_log->local_port, TRUE);
remotePortString = _app_formatport (ptr_log->remote_port, TRUE);
directionString = _app_getdirectionname (ptr_log->direction, ptr_log->is_loopback, FALSE);
item_id = _r_listview_getitemcount (hwnd, listview_id, FALSE);
_r_listview_additem (hwnd, listview_id, item_id, 0, !_r_str_isempty (display_name) ? display_name : SZ_EMPTY, icon_id, I_GROUPIDNONE, index);
_r_listview_setitem (hwnd, listview_id, item_id, 1, _r_obj_getstringordefault (localAddressString, SZ_EMPTY));
_r_listview_setitem (hwnd, listview_id, item_id, 3, _r_obj_getstringordefault (remoteAddressString, SZ_EMPTY));
_r_listview_setitem (hwnd, listview_id, item_id, 5, _app_getprotoname (ptr_log->protocol, ptr_log->af, SZ_EMPTY));
if (localPortString)
_r_listview_setitem (hwnd, listview_id, item_id, 2, _r_obj_getstringorempty (localPortString));
if (remotePortString)
_r_listview_setitem (hwnd, listview_id, item_id, 4, _r_obj_getstringorempty (remotePortString));
_r_listview_setitem (hwnd, listview_id, item_id, 6, _r_obj_getstringordefault (ptr_log->filter_name, SZ_EMPTY));
_r_listview_setitem (hwnd, listview_id, item_id, 7, _r_obj_getstringorempty (directionString));
_r_listview_setitem (hwnd, listview_id, item_id, 8, ptr_log->is_allow ? SZ_STATE_ALLOW : SZ_STATE_BLOCK);
SAFE_DELETE_REFERENCE (localAddressString);
SAFE_DELETE_REFERENCE (remoteAddressString);
SAFE_DELETE_REFERENCE (localPortString);
SAFE_DELETE_REFERENCE (remotePortString);
SAFE_DELETE_REFERENCE (directionString);
if (listview_id == (INT)_r_tab_getlparam (hwnd, IDC_TAB, INVALID_INT))
{
_app_listviewresize (hwnd, listview_id, FALSE);
_app_listviewsort (hwnd, listview_id, INVALID_INT, FALSE);
}
}
BOOLEAN _app_logislimitreached ()
{
ULONG limit = app.ConfigGetUlong (L"LogSizeLimitKb", LOG_SIZE_LIMIT_DEFAULT);
if (!limit || !_r_fs_isvalidhandle (config.hlogfile))
return FALSE;
return (_r_fs_size (config.hlogfile) >= (_r_calc_kilobytes2bytes (LONG64, limit)));
}
VOID _app_logclear ()
{
if (_r_fs_isvalidhandle (config.hlogfile))
{
_r_fs_setpos (config.hlogfile, 2, FILE_BEGIN);
SetEndOfFile (config.hlogfile);
FlushFileBuffers (config.hlogfile);
}
else
{
PR_STRING logPath = _r_path_expand (app.ConfigGetString (L"LogPath", LOG_PATH_DEFAULT));
if (logPath)
{
_r_fs_remove (logPath->Buffer, _R_FLAG_REMOVE_FORCE);
_r_obj_dereference (logPath);
}
}
}
VOID _app_logclear_ui (HWND hwnd)
{
SendDlgItemMessage (hwnd, IDC_LOG, LVM_DELETEALLITEMS, 0, 0);
//SendDlgItemMessage (hwnd, IDC_LOG, LVM_SETITEMCOUNT, 0, 0);
_app_freelogobjects_vec (&log_arr);
}
VOID _wfp_logsubscribe (HANDLE hengine)
{
if (config.hnetevent)
return; // already subscribed
HMODULE hlib = LoadLibraryEx (L"fwpuclnt.dll", NULL, LOAD_LIBRARY_SEARCH_USER_DIRS | LOAD_LIBRARY_SEARCH_SYSTEM32);
if (hlib)
{
typedef ULONG (WINAPI *FWPMNES4)(HANDLE engineHandle, const FWPM_NET_EVENT_SUBSCRIPTION0* subscription, FWPM_NET_EVENT_CALLBACK4 callback, void* context, HANDLE* eventsHandle); // win10rs5+
typedef ULONG (WINAPI *FWPMNES3)(HANDLE engineHandle, const FWPM_NET_EVENT_SUBSCRIPTION0* subscription, FWPM_NET_EVENT_CALLBACK3 callback, void* context, HANDLE* eventsHandle); // win10rs4+
typedef ULONG (WINAPI *FWPMNES2)(HANDLE engineHandle, const FWPM_NET_EVENT_SUBSCRIPTION0* subscription, FWPM_NET_EVENT_CALLBACK2 callback, void* context, HANDLE* eventsHandle); // win10rs1+
typedef ULONG (WINAPI *FWPMNES1)(HANDLE engineHandle, const FWPM_NET_EVENT_SUBSCRIPTION0* subscription, FWPM_NET_EVENT_CALLBACK1 callback, void* context, HANDLE* eventsHandle); // win8+
typedef ULONG (WINAPI *FWPMNES0)(HANDLE engineHandle, const FWPM_NET_EVENT_SUBSCRIPTION0* subscription, FWPM_NET_EVENT_CALLBACK0 callback, void* context, HANDLE* eventsHandle); // win7+
const FWPMNES4 _FwpmNetEventSubscribe4 = (FWPMNES4)GetProcAddress (hlib, "FwpmNetEventSubscribe4");
const FWPMNES3 _FwpmNetEventSubscribe3 = (FWPMNES3)GetProcAddress (hlib, "FwpmNetEventSubscribe3");
const FWPMNES2 _FwpmNetEventSubscribe2 = (FWPMNES2)GetProcAddress (hlib, "FwpmNetEventSubscribe2");
const FWPMNES1 _FwpmNetEventSubscribe1 = (FWPMNES1)GetProcAddress (hlib, "FwpmNetEventSubscribe1");
const FWPMNES0 _FwpmNetEventSubscribe0 = (FWPMNES0)GetProcAddress (hlib, "FwpmNetEventSubscribe0");
if (_FwpmNetEventSubscribe4 || _FwpmNetEventSubscribe3 || _FwpmNetEventSubscribe2 || _FwpmNetEventSubscribe1 || _FwpmNetEventSubscribe0)
{
FWPM_NET_EVENT_SUBSCRIPTION subscription;
FWPM_NET_EVENT_ENUM_TEMPLATE enum_template;
RtlSecureZeroMemory (&subscription, sizeof (subscription));
RtlSecureZeroMemory (&enum_template, sizeof (enum_template));
//enum_template.numFilterConditions = 0; // get events for all conditions
subscription.enumTemplate = &enum_template;
ULONG code;
if (_FwpmNetEventSubscribe4)
code = _FwpmNetEventSubscribe4 (hengine, &subscription, &_wfp_logcallback4, NULL, &config.hnetevent); // win10rs5+
else if (_FwpmNetEventSubscribe3)
code = _FwpmNetEventSubscribe3 (hengine, &subscription, &_wfp_logcallback3, NULL, &config.hnetevent); // win10rs4+
else if (_FwpmNetEventSubscribe2)
code = _FwpmNetEventSubscribe2 (hengine, &subscription, &_wfp_logcallback2, NULL, &config.hnetevent); // win10rs1+
else if (_FwpmNetEventSubscribe1)
code = _FwpmNetEventSubscribe1 (hengine, &subscription, &_wfp_logcallback1, NULL, &config.hnetevent); // win8+
else if (_FwpmNetEventSubscribe0)
code = _FwpmNetEventSubscribe0 (hengine, &subscription, &_wfp_logcallback0, NULL, &config.hnetevent); // win7+
else
code = ERROR_INVALID_FUNCTION;
if (code != ERROR_SUCCESS)
{
app.LogError (0, L"FwpmNetEventSubscribe", code, NULL);
}
else
{
_app_loginit (TRUE); // create log file
}
}
FreeLibrary (hlib);
}
}
VOID _wfp_logunsubscribe (HANDLE hengine)
{
if (config.hnetevent)
{
_app_loginit (FALSE); // destroy log file handle if present
ULONG code = FwpmNetEventUnsubscribe (hengine, config.hnetevent);
if (code == ERROR_SUCCESS)
config.hnetevent = NULL;
}
}
VOID CALLBACK _wfp_logcallback (UINT32 flags, FILETIME const* pft, UINT8 const* app_id, SID* package_id, SID* user_id, UINT8 proto, FWP_IP_VERSION ipver, UINT32 remote_addr4, FWP_BYTE_ARRAY16 const* remote_addr6, UINT16 remote_port, UINT32 local_addr4, FWP_BYTE_ARRAY16 const* local_addr6, UINT16 local_port, UINT16 layer_id, UINT64 filter_id, UINT32 direction, BOOLEAN is_allow, BOOLEAN is_loopback)
{
HANDLE hengine = _wfp_getenginehandle ();
if (!hengine || !filter_id || !layer_id || _wfp_isfiltersapplying () || (is_allow && app.ConfigGetBoolean (L"IsExcludeClassifyAllow", TRUE)))
return;
// set allowed directions
switch (direction)
{
case FWP_DIRECTION_IN:
case FWP_DIRECTION_INBOUND:
case FWP_DIRECTION_OUT:
case FWP_DIRECTION_OUTBOUND:
{
break;
}
default:
{
return;
}
}
// do not parse when tcp connection has been established, or when non-tcp traffic has been authorized
{
FWPM_LAYER *layer = NULL;
if (FwpmLayerGetById (hengine, layer_id, &layer) == ERROR_SUCCESS && layer)
{
if (RtlEqualMemory (&layer->layerKey, &FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4, sizeof (GUID)) || RtlEqualMemory (&layer->layerKey, &FWPM_LAYER_ALE_FLOW_ESTABLISHED_V6, sizeof (GUID)))
{
FwpmFreeMemory ((PVOID*)&layer);
return;
}
else if (RtlEqualMemory (&layer->layerKey, &FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4, sizeof (GUID)) || RtlEqualMemory (&layer->layerKey, &FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V6, sizeof (GUID)))
{
direction = FWP_DIRECTION_INBOUND; // HACK!!! (issue #581)
}
FwpmFreeMemory ((PVOID*)&layer);
}
}
// get filter information
BOOLEAN is_myprovider = FALSE;
PR_STRING filterName = NULL;
PR_STRING providerName = NULL;
UINT8 filter_weight = 0;
{
FWPM_FILTER *ptr_filter = NULL;
FWPM_PROVIDER *ptr_provider = NULL;
if (FwpmFilterGetById (hengine, filter_id, &ptr_filter) == ERROR_SUCCESS && ptr_filter)
{
if (!_r_str_isempty (ptr_filter->displayData.description))
filterName = _r_obj_createstring (ptr_filter->displayData.description);
else if (!_r_str_isempty (ptr_filter->displayData.name))
filterName = _r_obj_createstring (ptr_filter->displayData.name);
if (ptr_filter->weight.type == FWP_UINT8)
filter_weight = ptr_filter->weight.uint8;
if (ptr_filter->providerKey)
{
if (RtlEqualMemory (ptr_filter->providerKey, &GUID_WfpProvider, sizeof (GUID)))
is_myprovider = TRUE;
if (FwpmProviderGetByKey (hengine, ptr_filter->providerKey, &ptr_provider) == ERROR_SUCCESS && ptr_provider)
{
if (!_r_str_isempty (ptr_provider->displayData.name))
providerName = _r_obj_createstring (ptr_provider->displayData.name);
else if (!_r_str_isempty (ptr_provider->displayData.description))
providerName = _r_obj_createstring (ptr_provider->displayData.description);
}
}
}
if (ptr_filter)
FwpmFreeMemory ((PVOID*)&ptr_filter);
if (ptr_provider)
FwpmFreeMemory ((PVOID*)&ptr_provider);
// prevent filter "not found" items
if (!filterName && !providerName)
return;
}
PITEM_LOG_LISTENTRY ptr_entry = (PITEM_LOG_LISTENTRY)_aligned_malloc (sizeof (ITEM_LOG_LISTENTRY), MEMORY_ALLOCATION_ALIGNMENT);
if (!ptr_entry)
return;
PITEM_LOG ptr_log = (PITEM_LOG)_r_obj_allocateex (sizeof (ITEM_LOG), &_app_dereferencelog);
// get package id (win8+)
PR_STRING sidString = NULL;
if ((flags & FWPM_NET_EVENT_FLAG_PACKAGE_ID_SET) != 0 && package_id)
{
sidString = _r_str_fromsid (package_id);
if (sidString)
{
if (!_app_item_get (DataAppUWP, _r_str_hash (sidString), NULL, NULL, NULL, NULL))
_r_obj_clearreference (&sidString);
}
}
// copy converted nt device path into win32
if ((flags & FWPM_NET_EVENT_FLAG_PACKAGE_ID_SET) != 0 && sidString)
{
_r_obj_movereference (&ptr_log->path, sidString);
ptr_log->app_hash = _r_str_hash (ptr_log->path);
sidString = NULL;
}
else if ((flags & FWPM_NET_EVENT_FLAG_APP_ID_SET) != 0 && app_id)
{
PR_STRING path = _r_path_dospathfromnt ((LPCWSTR)app_id);
if (path)
{
_r_obj_movereference (&ptr_log->path, path);
ptr_log->app_hash = _r_str_hash (ptr_log->path);
}
}
else
{
ptr_log->app_hash = 0;
}
if (sidString)
_r_obj_clearreference (&sidString);
// copy date and time
if (pft)
ptr_log->timestamp = _r_unixtime_from_filetime (pft);
// get username information
if ((flags & FWPM_NET_EVENT_FLAG_USER_ID_SET) != 0 && user_id)
ptr_log->username = _r_sys_getusernamefromsid (user_id);
// indicates the direction of the packet transmission
switch (direction)
{
case FWP_DIRECTION_IN:
case FWP_DIRECTION_INBOUND:
{
ptr_log->direction = FWP_DIRECTION_INBOUND;
break;
}
case FWP_DIRECTION_OUT:
case FWP_DIRECTION_OUTBOUND:
{
ptr_log->direction = FWP_DIRECTION_OUTBOUND;
break;
}
}
// destination
if ((flags & FWPM_NET_EVENT_FLAG_IP_VERSION_SET) != 0)
{
if (ipver == FWP_IP_VERSION_V4)
{
ptr_log->af = AF_INET;
// remote address
if ((flags & FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET) != 0 && remote_addr4)
ptr_log->remote_addr.S_un.S_addr = _r_byteswap_ulong (remote_addr4);
// local address
if ((flags & FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET) != 0 && local_addr4)
ptr_log->local_addr.S_un.S_addr = _r_byteswap_ulong (local_addr4);
}
else if (ipver == FWP_IP_VERSION_V6)
{
ptr_log->af = AF_INET6;
// remote address
if ((flags & FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET) != 0 && remote_addr6)
RtlCopyMemory (ptr_log->remote_addr6.u.Byte, remote_addr6->byteArray16, FWP_V6_ADDR_SIZE);
// local address
if ((flags & FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET) != 0 && local_addr6)
RtlCopyMemory (ptr_log->local_addr6.u.Byte, local_addr6->byteArray16, FWP_V6_ADDR_SIZE);
}
if ((flags & FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET) != 0 && remote_port)
ptr_log->remote_port = remote_port;
if ((flags & FWPM_NET_EVENT_FLAG_LOCAL_PORT_SET) != 0 && local_port)
ptr_log->local_port = local_port;
}
// protocol
if ((flags & FWPM_NET_EVENT_FLAG_IP_PROTOCOL_SET) != 0)
ptr_log->protocol = proto;
// indicates FWPM_NET_EVENT_TYPE_CLASSIFY_ALLOW state
ptr_log->is_allow = is_allow;
// indicates whether the packet originated from (or was heading to) the loopback adapter
ptr_log->is_loopback = is_loopback;
// set filter information
ptr_log->filter_id = filter_id;
ptr_log->is_myprovider = is_myprovider;
_r_obj_movereference (&ptr_log->filter_name, filterName);
_r_obj_movereference (&ptr_log->provider_name, providerName);
ptr_log->is_blocklist = (filter_weight == FILTER_WEIGHT_BLOCKLIST);
ptr_log->is_system = (filter_weight == FILTER_WEIGHT_HIGHEST) || (filter_weight == FILTER_WEIGHT_HIGHEST_IMPORTANT);
ptr_log->is_custom = (filter_weight == FILTER_WEIGHT_CUSTOM) || (filter_weight == FILTER_WEIGHT_CUSTOM_BLOCK);
// push into a slist
{
ptr_entry->Body = ptr_log;
RtlInterlockedPushEntrySList (&log_stack.ListHead, &ptr_entry->ListEntry);
InterlockedIncrement (&log_stack.item_count);
// check if thread has been terminated
LONG thread_count = InterlockedCompareExchange (&log_stack.thread_count, 0, 0);
if (!thread_count || !_r_fastlock_islocked (&lock_logthread))
{
_app_freethreadpool (&threads_pool);
HANDLE hthread = _r_sys_createthreadex (&LogThread, app.GetHWND (), TRUE, THREAD_PRIORITY_HIGHEST);
if (hthread)
{
InterlockedIncrement (&log_stack.thread_count);
threads_pool.emplace_back (hthread);
NtResumeThread (hthread, NULL);
}
}
}
}
// win7+ callback
VOID CALLBACK _wfp_logcallback0 (PVOID pContext, const FWPM_NET_EVENT1* pEvent)
{
UINT16 layer_id;
UINT64 filter_id;
UINT32 direction;
BOOLEAN is_loopback;
if (pEvent->type == FWPM_NET_EVENT_TYPE_CLASSIFY_DROP && pEvent->classifyDrop)
{
layer_id = pEvent->classifyDrop->layerId;
filter_id = pEvent->classifyDrop->filterId;
direction = pEvent->classifyDrop->msFwpDirection;
is_loopback = !!pEvent->classifyDrop->isLoopback;
}
else if (pEvent->type == FWPM_NET_EVENT_TYPE_IPSEC_KERNEL_DROP && pEvent->ipsecDrop)
{
layer_id = pEvent->ipsecDrop->layerId;
filter_id = pEvent->ipsecDrop->filterId;
direction = pEvent->ipsecDrop->direction;
is_loopback = FALSE;
}
else
{
return;
}
_wfp_logcallback (pEvent->header.flags, &pEvent->header.timeStamp, pEvent->header.appId.data, NULL, pEvent->header.userId, pEvent->header.ipProtocol, pEvent->header.ipVersion, pEvent->header.remoteAddrV4, &pEvent->header.remoteAddrV6, pEvent->header.remotePort, pEvent->header.localAddrV4, &pEvent->header.localAddrV6, pEvent->header.localPort, layer_id, filter_id, direction, FALSE, is_loopback);
}
// win8+ callback
VOID CALLBACK _wfp_logcallback1 (PVOID pContext, const FWPM_NET_EVENT2* pEvent)
{
UINT16 layer_id;
UINT64 filter_id;
UINT32 direction;
BOOLEAN is_loopback;
BOOLEAN is_allow = FALSE;
if (pEvent->type == FWPM_NET_EVENT_TYPE_CLASSIFY_DROP && pEvent->classifyDrop)
{
layer_id = pEvent->classifyDrop->layerId;
filter_id = pEvent->classifyDrop->filterId;
direction = pEvent->classifyDrop->msFwpDirection;
is_loopback = !!pEvent->classifyDrop->isLoopback;
}
else if (pEvent->type == FWPM_NET_EVENT_TYPE_IPSEC_KERNEL_DROP && pEvent->ipsecDrop)
{
layer_id = pEvent->ipsecDrop->layerId;
filter_id = pEvent->ipsecDrop->filterId;
direction = pEvent->ipsecDrop->direction;
is_loopback = FALSE;
}
else if (pEvent->type == FWPM_NET_EVENT_TYPE_CLASSIFY_ALLOW && pEvent->classifyAllow)
{
layer_id = pEvent->classifyAllow->layerId;
filter_id = pEvent->classifyAllow->filterId;
direction = pEvent->classifyAllow->msFwpDirection;
is_loopback = !!pEvent->classifyAllow->isLoopback;
is_allow = TRUE;
}
else if (pEvent->type == FWPM_NET_EVENT_TYPE_CLASSIFY_DROP_MAC && pEvent->classifyDropMac)
{
layer_id = pEvent->classifyDropMac->layerId;
filter_id = pEvent->classifyDropMac->filterId;
direction = pEvent->classifyDropMac->msFwpDirection;
is_loopback = !!pEvent->classifyDropMac->isLoopback;
}
else
{
return;
}
_wfp_logcallback (pEvent->header.flags, &pEvent->header.timeStamp, pEvent->header.appId.data, pEvent->header.packageSid, pEvent->header.userId, pEvent->header.ipProtocol, pEvent->header.ipVersion, pEvent->header.remoteAddrV4, &pEvent->header.remoteAddrV6, pEvent->header.remotePort, pEvent->header.localAddrV4, &pEvent->header.localAddrV6, pEvent->header.localPort, layer_id, filter_id, direction, is_allow, is_loopback);
}
// win10rs1+ callback
VOID CALLBACK _wfp_logcallback2 (PVOID pContext, const FWPM_NET_EVENT3* pEvent)
{
UINT16 layer_id;
UINT64 filter_id;
UINT32 direction;
BOOLEAN is_loopback;
BOOLEAN is_allow = FALSE;
if (pEvent->type == FWPM_NET_EVENT_TYPE_CLASSIFY_DROP && pEvent->classifyDrop)
{
layer_id = pEvent->classifyDrop->layerId;
filter_id = pEvent->classifyDrop->filterId;
direction = pEvent->classifyDrop->msFwpDirection;
is_loopback = !!pEvent->classifyDrop->isLoopback;
}
else if (pEvent->type == FWPM_NET_EVENT_TYPE_IPSEC_KERNEL_DROP && pEvent->ipsecDrop)
{
layer_id = pEvent->ipsecDrop->layerId;
filter_id = pEvent->ipsecDrop->filterId;
direction = pEvent->ipsecDrop->direction;
is_loopback = FALSE;
}
else if (pEvent->type == FWPM_NET_EVENT_TYPE_CLASSIFY_ALLOW && pEvent->classifyAllow)
{
layer_id = pEvent->classifyAllow->layerId;
filter_id = pEvent->classifyAllow->filterId;
direction = pEvent->classifyAllow->msFwpDirection;
is_loopback = !!pEvent->classifyAllow->isLoopback;
is_allow = TRUE;
}
else if (pEvent->type == FWPM_NET_EVENT_TYPE_CLASSIFY_DROP_MAC && pEvent->classifyDropMac)
{
layer_id = pEvent->classifyDropMac->layerId;
filter_id = pEvent->classifyDropMac->filterId;
direction = pEvent->classifyDropMac->msFwpDirection;
is_loopback = !!pEvent->classifyDropMac->isLoopback;
}
else
{
return;
}
_wfp_logcallback (pEvent->header.flags, &pEvent->header.timeStamp, pEvent->header.appId.data, pEvent->header.packageSid, pEvent->header.userId, pEvent->header.ipProtocol, pEvent->header.ipVersion, pEvent->header.remoteAddrV4, &pEvent->header.remoteAddrV6, pEvent->header.remotePort, pEvent->header.localAddrV4, &pEvent->header.localAddrV6, pEvent->header.localPort, layer_id, filter_id, direction, is_allow, is_loopback);
}
// win10rs4+ callback
VOID CALLBACK _wfp_logcallback3 (PVOID pContext, const FWPM_NET_EVENT4* pEvent)
{
UINT16 layer_id;
UINT64 filter_id;
UINT32 direction;
BOOLEAN is_loopback;
BOOLEAN is_allow = FALSE;
if (pEvent->type == FWPM_NET_EVENT_TYPE_CLASSIFY_DROP && pEvent->classifyDrop)
{
layer_id = pEvent->classifyDrop->layerId;
filter_id = pEvent->classifyDrop->filterId;
direction = pEvent->classifyDrop->msFwpDirection;
is_loopback = !!pEvent->classifyDrop->isLoopback;
}
else if (pEvent->type == FWPM_NET_EVENT_TYPE_IPSEC_KERNEL_DROP && pEvent->ipsecDrop)
{
layer_id = pEvent->ipsecDrop->layerId;
filter_id = pEvent->ipsecDrop->filterId;
direction = pEvent->ipsecDrop->direction;
is_loopback = FALSE;
}
else if (pEvent->type == FWPM_NET_EVENT_TYPE_CLASSIFY_ALLOW && pEvent->classifyAllow)
{
layer_id = pEvent->classifyAllow->layerId;
filter_id = pEvent->classifyAllow->filterId;
direction = pEvent->classifyAllow->msFwpDirection;
is_loopback = !!pEvent->classifyAllow->isLoopback;
is_allow = TRUE;
}
else if (pEvent->type == FWPM_NET_EVENT_TYPE_CLASSIFY_DROP_MAC && pEvent->classifyDropMac)
{
layer_id = pEvent->classifyDropMac->layerId;
filter_id = pEvent->classifyDropMac->filterId;
direction = pEvent->classifyDropMac->msFwpDirection;
is_loopback = !!pEvent->classifyDropMac->isLoopback;
}
else
{
return;
}
_wfp_logcallback (pEvent->header.flags, &pEvent->header.timeStamp, pEvent->header.appId.data, pEvent->header.packageSid, pEvent->header.userId, pEvent->header.ipProtocol, pEvent->header.ipVersion, pEvent->header.remoteAddrV4, &pEvent->header.remoteAddrV6, pEvent->header.remotePort, pEvent->header.localAddrV4, &pEvent->header.localAddrV6, pEvent->header.localPort, layer_id, filter_id, direction, is_allow, is_loopback);
}
// win10rs5+ callback
VOID CALLBACK _wfp_logcallback4 (PVOID pContext, const FWPM_NET_EVENT5* pEvent)
{
UINT16 layer_id;
UINT64 filter_id;
UINT32 direction;
BOOLEAN is_loopback;
BOOLEAN is_allow = FALSE;
if (pEvent->type == FWPM_NET_EVENT_TYPE_CLASSIFY_DROP && pEvent->classifyDrop)
{
layer_id = pEvent->classifyDrop->layerId;
filter_id = pEvent->classifyDrop->filterId;
direction = pEvent->classifyDrop->msFwpDirection;
is_loopback = !!pEvent->classifyDrop->isLoopback;
}
else if (pEvent->type == FWPM_NET_EVENT_TYPE_IPSEC_KERNEL_DROP && pEvent->ipsecDrop)
{
layer_id = pEvent->ipsecDrop->layerId;
filter_id = pEvent->ipsecDrop->filterId;
direction = pEvent->ipsecDrop->direction;
is_loopback = FALSE;
}
else if (pEvent->type == FWPM_NET_EVENT_TYPE_CLASSIFY_ALLOW && pEvent->classifyAllow)
{
layer_id = pEvent->classifyAllow->layerId;
filter_id = pEvent->classifyAllow->filterId;
direction = pEvent->classifyAllow->msFwpDirection;
is_loopback = !!pEvent->classifyAllow->isLoopback;
is_allow = TRUE;
}
else if (pEvent->type == FWPM_NET_EVENT_TYPE_CLASSIFY_DROP_MAC && pEvent->classifyDropMac)
{
layer_id = pEvent->classifyDropMac->layerId;
filter_id = pEvent->classifyDropMac->filterId;
direction = pEvent->classifyDropMac->msFwpDirection;
is_loopback = !!pEvent->classifyDropMac->isLoopback;
}
else
{
return;
}
_wfp_logcallback (pEvent->header.flags, &pEvent->header.timeStamp, pEvent->header.appId.data, pEvent->header.packageSid, pEvent->header.userId, pEvent->header.ipProtocol, pEvent->header.ipVersion, pEvent->header.remoteAddrV4, &pEvent->header.remoteAddrV6, pEvent->header.remotePort, pEvent->header.localAddrV4, &pEvent->header.localAddrV6, pEvent->header.localPort, layer_id, filter_id, direction, is_allow, is_loopback);
}
THREAD_FN LogThread (PVOID lparam)
{
HWND hwnd = (HWND)lparam;
_r_fastlock_acquireshared (&lock_logthread);
while (TRUE)
{
PSLIST_ENTRY listEntry = RtlInterlockedPopEntrySList (&log_stack.ListHead);
if (!listEntry)
break;
InterlockedDecrement (&log_stack.item_count);
PITEM_LOG_LISTENTRY ptr_entry = CONTAINING_RECORD (listEntry, ITEM_LOG_LISTENTRY, ListEntry);
PITEM_LOG ptr_log = (PITEM_LOG)ptr_entry->Body;
_aligned_free (ptr_entry);
if (!ptr_log)
continue;
BOOLEAN is_logenabled = app.ConfigGetBoolean (L"IsLogEnabled", FALSE);
BOOLEAN is_loguienabled = app.ConfigGetBoolean (L"IsLogUiEnabled", FALSE);
BOOLEAN is_notificationenabled = app.ConfigGetBoolean (L"IsNotificationsEnabled", TRUE);
BOOLEAN is_exludestealth = !(ptr_log->is_system && app.ConfigGetBoolean (L"IsExcludeStealth", TRUE));
// apps collector
BOOLEAN is_notexist = ptr_log->app_hash && !_r_str_isempty (ptr_log->path) && !ptr_log->is_allow && !_app_isappfound (ptr_log->app_hash);
if (is_notexist)
{
_r_fastlock_acquireshared (&lock_logbusy);
ptr_log->app_hash = _app_addapplication (hwnd, ptr_log->path->Buffer, 0, 0, 0, FALSE, FALSE);
_r_fastlock_releaseshared (&lock_logbusy);
INT app_listview_id = (INT)_app_getappinfo (ptr_log->app_hash, InfoListviewId);
if (app_listview_id && app_listview_id == (INT)_r_tab_getlparam (hwnd, IDC_TAB, INVALID_INT))
{
_app_listviewsort (hwnd, app_listview_id, INVALID_INT, FALSE);
_app_refreshstatus (hwnd, app_listview_id);
}
_app_profile_save ();
}
// made network name resolution
{
_r_fastlock_acquireshared (&lock_logbusy);
PR_STRING addressFormat;
addressFormat = _app_formataddress (ptr_log->af, ptr_log->protocol, &ptr_log->remote_addr, 0, FMTADDR_RESOLVE_HOST);
SAFE_DELETE_REFERENCE (addressFormat);
addressFormat = _app_formataddress (ptr_log->af, ptr_log->protocol, &ptr_log->local_addr, 0, FMTADDR_RESOLVE_HOST);
SAFE_DELETE_REFERENCE (addressFormat);
_r_fastlock_releaseshared (&lock_logbusy);
}
if ((is_logenabled || is_loguienabled || is_notificationenabled) && is_exludestealth)
{
// write log to a file
if (is_logenabled)
_app_logwrite (ptr_log);
// only for my own provider
if (ptr_log->is_myprovider)
{
// write log to a ui
if (is_loguienabled)
_app_logwrite_ui (hwnd, ptr_log);
// display notification
if (is_notificationenabled && ptr_log->app_hash && !ptr_log->is_allow)
{
if (!(ptr_log->is_blocklist && app.ConfigGetBoolean (L"IsExcludeBlocklist", TRUE)) && !(ptr_log->is_custom && app.ConfigGetBoolean (L"IsExcludeCustomRules", TRUE)))
{
PITEM_APP ptr_app = _app_getappitem (ptr_log->app_hash);
if (ptr_app)
{
if (!ptr_app->is_silent)
_app_notifyadd (config.hnotification, (PITEM_LOG)_r_obj_reference (ptr_log), ptr_app);
_r_obj_dereference (ptr_app);
}
}
}
}
}
_r_obj_dereference (ptr_log);
}
_r_fastlock_releaseshared (&lock_logthread);
InterlockedDecrement (&log_stack.thread_count);
return _r_sys_endthread (ERROR_SUCCESS);
}
+134
View File
@@ -0,0 +1,134 @@
// simplewall
// Copyright (c) 2016-2026 Henry++
#pragma once
// 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
);
// 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
);
// 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
);
// 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_loginit (
_In_ BOOLEAN is_install
);
VOID _app_loginitfile (
_In_ HANDLE hfile
);
ULONG _app_getloghash (
_In_ PITEM_LOG ptr_log
);
_Ret_maybenull_
PR_STRING _app_getlogpath ();
_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
);
-27
View File
@@ -1,27 +0,0 @@
// simplewall
// Copyright (c) 2016-2020 Henry++
#pragma once
PR_STRING _app_getlogviewer ();
VOID _app_loginit (BOOLEAN is_install);
VOID _app_logwrite (PITEM_LOG ptr_log);
BOOLEAN _app_logisexists (HWND hwnd, PITEM_LOG ptr_log_new);
VOID _app_logwrite_ui (HWND hwnd, PITEM_LOG ptr_log);
BOOLEAN _app_logislimitreached ();
VOID _app_logclear ();
VOID _app_logclear_ui (HWND hwnd);
VOID _wfp_logsubscribe (HANDLE hengine);
VOID _wfp_logunsubscribe (HANDLE hengine);
VOID CALLBACK _wfp_logcallback (UINT32 flags, FILETIME const* pft, UINT8 const* app_id, SID* package_id, SID* user_id, UINT8 proto, FWP_IP_VERSION ipver, UINT32 remote_addr4, FWP_BYTE_ARRAY16 const* remote_addr6, UINT16 remote_port, UINT32 local_addr4, FWP_BYTE_ARRAY16 const* local_addr6, UINT16 local_port, UINT16 layer_id, UINT64 filter_id, UINT32 direction, BOOLEAN is_allow, BOOLEAN is_loopback);
VOID CALLBACK _wfp_logcallback0 (PVOID pContext, const FWPM_NET_EVENT1* pEvent);
VOID CALLBACK _wfp_logcallback1 (PVOID pContext, const FWPM_NET_EVENT2* pEvent);
VOID CALLBACK _wfp_logcallback2 (PVOID pContext, const FWPM_NET_EVENT3* pEvent);
VOID CALLBACK _wfp_logcallback3 (PVOID pContext, const FWPM_NET_EVENT4* pEvent);
VOID CALLBACK _wfp_logcallback4 (PVOID pContext, const FWPM_NET_EVENT5* pEvent);
THREAD_FN LogThread (PVOID lparam);
+3648
View File
File diff suppressed because it is too large. Load diff
-5158
View File
File diff suppressed because it is too large. Load diff
+620
View File
@@ -0,0 +1,620 @@
// simplewall
// Copyright (c) 2016-2026 Henry++
#pragma once
#include "routine.h"
#include "resource.h"
#include "app.h"
#include "global.h"
// libs
#pragma comment(lib, "msimg32.lib")
#pragma comment(lib, "crypt32.lib")
#pragma comment(lib, "dnsapi.lib")
#pragma comment(lib, "fwpuclnt.lib")
#pragma comment(lib, "iphlpapi.lib")
#pragma comment(lib, "rpcrt4.lib")
#pragma comment(lib, "version.lib")
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "winmm.lib")
#pragma comment(lib, "wintrust.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);
// enums
typedef enum _ENUM_TYPE_DATA
{
DATA_UNKNOWN = 0,
DATA_APP_REGULAR,
DATA_APP_DEVICE,
DATA_APP_NETWORK,
DATA_APP_SERVICE,
DATA_APP_UWP, // win8+
DATA_APP_PICO, // win10+
DATA_RULE_BLOCKLIST,
DATA_RULE_SYSTEM,
DATA_RULE_SYSTEM_USER,
DATA_RULE_USER,
DATA_RULE_CONFIG,
DATA_TYPE_PORT,
DATA_TYPE_IP,
DATA_FILTER_GENERAL,
DATA_LISTVIEW_CURRENT,
} ENUM_TYPE_DATA;
typedef enum _ENUM_INSTALL_TYPE
{
INSTALL_DISABLED = 0,
INSTALL_ENABLED,
INSTALL_ENABLED_TEMPORARY,
} ENUM_INSTALL_TYPE;
typedef enum _ENUM_INFO_DATA
{
INFO_PATH = 1,
INFO_BYTES_DATA,
INFO_DISPLAY_NAME,
INFO_COMMENT,
INFO_HASH,
INFO_TIMESTAMP,
INFO_TIMER,
INFO_LISTVIEW_ID,
INFO_DISABLE,
INFO_IS_ENABLED,
INFO_IS_READONLY,
INFO_IS_SILENT,
INFO_IS_UNDELETABLE,
} ENUM_INFO_DATA;
typedef enum _ENUM_INFO_DATA2
{
INFO_ICON_ID = 0,
INFO_SIGNATURE_STRING, // dereference required
INFO_VERSION_STRING, // dereference required
} ENUM_INFO_DATA2;
#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)
#define PROC_WAITING_PID 0
#define PROC_WAITING_NAME L"Waiting connections"
#define PROC_SYSTEM_PID 4
#define PROC_SYSTEM_NAME L"System"
#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 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_STATE_ALLOW L"Allowed"
#define SZ_STATE_BLOCK L"Blocked"
#define SZ_DIRECTION_IN L"Inbound"
#define SZ_DIRECTION_OUT L"Outbound"
#define SZ_DIRECTION_ANY L"Any"
#define SZ_DIRECTION_LOOPBACK L"Loopback"
#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 SZ_LOG_BODY L"\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\"," \
L"\"%s\",\"%s\",\"#%" TEXT (PRIu64) L"\",\"%s\",\"%s\"" SZ_CRLF
#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
// 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_TIMEOUT 900
#define NOTIFY_TIMEOUT_DEFAULT 60 // sec.
#define NOTIFY_SOUND_NAME L"MailBeep"
// default colors
#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 0x0040 // 64
#define RULE_RULE_CCH_MAX 0x0400 // 1024
typedef struct _STATIC_DATA
{
R_STRINGREF windows_dir;
GUID session_key;
PR_STRING search_string;
PR_STRING ntoskrnl_path;
PR_STRING svchost_path;
PR_STRING system_path;
PR_STRING wusvc_path;
PR_STRING my_path;
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;
HIMAGELIST himg_rules_small;
HIMAGELIST himg_rules_large;
HIMAGELIST himg_toolbar;
HBITMAP hbmp_disable;
HBITMAP hbmp_enable;
HBITMAP hbmp_allow;
HBITMAP hbmp_block;
HANDLE hmonitor_thread;
HANDLE hnotify_evt;
HFONT wnd_font;
HFONT hfont;
HWND hsearchbar;
HWND htoolbar;
HWND hrebar;
PSID builtin_current_sid;
PSID builtin_netops_sid;
PSID builtin_admins_sid;
volatile HWND hnotification;
volatile HANDLE hnetevent;
volatile HANDLE hlogfile;
volatile LONG log_id;
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;
} 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
{
IN6_ADDR remote_addr6;
IN_ADDR remote_addr;
} DUMMYUNIONNAME;
union
{
IN6_ADDR local_addr6;
IN_ADDR local_addr;
} DUMMYUNIONNAME2;
PR_STRING protocol_str;
PR_STRING filter_name;
PR_STRING layer_name;
PR_STRING username;
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 app_hash;
volatile LONG log_id;
FWP_DIRECTION direction;
ADDRESS_FAMILY af;
UINT16 remote_port;
UINT16 local_port;
UINT8 protocol;
BOOLEAN is_myprovider;
BOOLEAN is_blocklist;
BOOLEAN is_loopback;
BOOLEAN is_custom;
BOOLEAN is_system;
BOOLEAN is_allow;
} ITEM_LOG, *PITEM_LOG;
typedef struct _ITEM_APP
{
PR_ARRAY guids;
PR_STRING original_path;
PR_STRING display_name;
PR_STRING short_name;
PR_STRING real_path;
PR_STRING comment;
PR_STRING hash;
PITEM_LOG notification;
PR_BYTE bytes; // service - PSECURITY_DESCRIPTOR / uwp - PSID (win8+)
PTP_TIMER htimer;
LONG64 last_notify;
LONG64 timestamp;
LONG64 timer;
ULONG app_hash;
ENUM_TYPE_DATA type;
UINT8 profile; // reserved ffu!
struct
{
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 signature_info;
PR_STRING version_info;
PR_STRING path;
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
{
FWP_DIRECTION direction;
UINT8 protocol;
ADDRESS_FAMILY af;
} ITEM_FILTER_CONFIG, *PITEM_FILTER_CONFIG;
typedef struct _ITEM_RULE
{
PR_HASHTABLE apps;
PR_ARRAY guids;
PR_STRING protocol_str;
PR_STRING rule_remote;
PR_STRING rule_local;
PR_STRING comment;
PR_STRING name;
union
{
ITEM_FILTER_CONFIG config;
struct
{
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;
typedef struct _ITEM_RULE_CONFIG
{
PR_STRING name;
PR_STRING apps;
BOOLEAN is_enabled;
} ITEM_RULE_CONFIG, *PITEM_RULE_CONFIG;
typedef struct _ITEM_NETWORK
{
union
{
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;
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
{
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
{
HWND hwnd;
INT listview_id;
union
{
struct
{
PVOID base_address;
LPARAM lparam;
} DUMMYSTRUCTNAME;
ULONG_PTR is_install;
} DUMMYUNIONNAME;
} ITEM_CONTEXT, *PITEM_CONTEXT;
typedef struct _ITEM_COLOR
{
PR_STRING config_value;
PR_STRING config_name;
COLORREF default_clr;
COLORREF new_clr;
ULONG locale_id;
BOOLEAN is_enabled;
} ITEM_COLOR, *PITEM_COLOR;
typedef struct _ITEM_ADDRESS
{
WCHAR range_start[LEN_IP_MAX];
WCHAR range_end[LEN_IP_MAX];
union
{
FWP_V4_ADDR_AND_MASK addr4;
FWP_V6_ADDR_AND_MASK addr6;
struct
{
FWP_RANGE0 range;
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;
BOOLEAN is_range;
} ITEM_ADDRESS, *PITEM_ADDRESS;
typedef struct _ITEM_LOG_CALLBACK
{
union
{
const FWP_BYTE_ARRAY16 *remote_addr6;
ULONG remote_addr4;
} DUMMYUNIONNAME;
union
{
const FWP_BYTE_ARRAY16 *local_addr6;
ULONG local_addr4;
} DUMMYUNIONNAME2;
FILETIME timestamp;
PUINT8 app_id;
PSID package_id;
PSID user_id;
UINT64 filter_id;
FWP_IP_VERSION version;
UINT32 direction;
UINT32 flags;
UINT16 remote_port;
UINT16 local_port;
UINT16 layer_id;
UINT8 protocol;
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;
-512
View File
@@ -1,512 +0,0 @@
// simplewall
// Copyright (c) 2016-2020 Henry++
#pragma once
#include "routine.hpp"
#include "resource.hpp"
#include "app.hpp"
#include "global.hpp"
// libs
#pragma comment(lib, "msimg32.lib")
#pragma comment(lib, "crypt32.lib")
#pragma comment(lib, "dnsapi.lib")
#pragma comment(lib, "fwpuclnt.lib")
#pragma comment(lib, "iphlpapi.lib")
#pragma comment(lib, "rpcrt4.lib")
#pragma comment(lib, "version.lib")
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "winmm.lib")
#pragma comment(lib, "wintrust.lib")
#pragma comment(lib, "windowscodecs.lib")
// guids
EXTERN_C static const GUID GUID_WfpProvider = {0xb0d553e2, 0xc6a0, 0x4a9a, {0xae, 0xb8, 0xc7, 0x52, 0x48, 0x3e, 0xd6, 0x2f}};
EXTERN_C static const GUID GUID_WfpSublayer = {0x9fee6f59, 0xb951, 0x4f9a, {0xb5, 0x2f, 0x13, 0x3d, 0xcf, 0x7a, 0x42, 0x79}};
// deprecated and not used, but need for compatibility
EXTERN_C static GUID GUID_WfpOutboundCallout4_DEPRECATED = {0xf1251f1a, 0xab09, 0x4ce7, {0xba, 0xe3, 0x6c, 0xcc, 0xce, 0xf2, 0xc8, 0xca}};
EXTERN_C static GUID GUID_WfpOutboundCallout6_DEPRECATED = {0xfd497f2e, 0x46f5, 0x486d, {0xb0, 0xc, 0x3f, 0x7f, 0xe0, 0x7a, 0x94, 0xa6}};
EXTERN_C static GUID GUID_WfpInboundCallout4_DEPRECATED = {0xefc879ce, 0x3066, 0x45bb, {0x8a, 0x70, 0x17, 0xfe, 0x29, 0x78, 0x53, 0xc0}};
EXTERN_C static GUID GUID_WfpInboundCallout6_DEPRECATED = {0xd0420299, 0x52d8, 0x4f18, {0xbc, 0x80, 0x47, 0x3a, 0x24, 0x93, 0xf2, 0x69}};
EXTERN_C static GUID GUID_WfpListenCallout4_DEPRECATED = {0x51fa679d, 0x578b, 0x4835, {0xa6, 0x3e, 0xca, 0xd7, 0x68, 0x7f, 0x74, 0x95}};
EXTERN_C static GUID GUID_WfpListenCallout6_DEPRECATED = {0xa02187ca, 0xe655, 0x4adb, {0xa1, 0xf2, 0x47, 0xa2, 0xc9, 0x78, 0xf9, 0xce}};
// enums
typedef enum _ENUM_TYPE_DATA
{
DataUnknown,
DataAppRegular,
DataAppDevice,
DataAppNetwork,
DataAppPico, // win10+
DataAppService,
DataAppUWP, // win8+
DataRuleBlocklist,
DataRuleSystem,
DataRuleCustom,
DataRulesConfig,
DataTypePort,
DataTypeIp,
DataTypeHost,
} ENUM_TYPE_DATA;
typedef enum _ENUM_TYPE_XML
{
XmlApps = 0,
XmlRules = 1,
XmlRulesConfig = 2,
XmlProfileV3 = 3,
XmlProfileInternalV3 = 4,
} ENUM_TYPE_XML;
typedef enum _ENUM_INFO_DATA
{
InfoName = 0,
InfoPath = 1,
InfoTimestampPtr = 2,
InfoTimerPtr = 3,
InfoIconId = 4,
InfoListviewId = 5,
InfoIsSilent = 6,
InfoIsUndeletable = 7,
} ENUM_INFO_DATA;
typedef enum _ENUM_INSTALL_TYPE
{
InstallDisabled = 0,
InstallEnabled = 1,
InstallEnabledTemporary = 2,
} ENUM_INSTALL_TYPE;
// config
#define LANG_MENU 6
#define UID 1984 // if you want to keep a secret, you must also hide it from yourself.
#define XML_PROFILE_VER_3 3
#define XML_PROFILE_VER_CURRENT XML_PROFILE_VER_3
#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_VIEWER_DEFAULT L"%SystemRoot%\\notepad.exe"
#define LOG_SIZE_LIMIT_DEFAULT _r_calc_kilobytes2bytes (DWORD, 1)
#define PROC_WAITING_PID 0
#define PROC_WAITING_NAME L"Waiting connections"
#define PROC_SYSTEM_PID 4
#define PROC_SYSTEM_NAME L"System"
#define PATH_NTOSKRNL L"%SystemRoot%\\system32\\ntoskrnl.exe"
#define PATH_SVCHOST L"%SystemRoot%\\system32\\svchost.exe"
#define PATH_SHELL32 L"%SystemRoot%\\system32\\shell32.dll"
#define PATH_WINSTORE L"%SystemRoot%\\system32\\wsreset.exe"
#define WINDOWSSPYBLOCKER_URL L"https://github.com/crazy-max/WindowsSpyBlocker"
#define BOOTTIME_FILTER_NAME L"Boot-time filter"
#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_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_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"
#define SZ_DIRECTION_OUT L"Outbound"
#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 UI_FONT L"Segoe UI"
#define BACKUP_HOURS_PERIOD _r_calc_hours2seconds (time_t, 4) // make backup every X hour(s) (default)
#define LEN_IP_MAX 68
#define MAP_CACHE_MAX 500 // half of thousand limit for unordered_map
#define FILTERS_TIMEOUT 9000
#define TRANSACTION_TIMEOUT 6000
#define NETWORK_TIMEOUT 3500
// notifications
#define NOTIFY_GRADIENT_1 RGB (0, 68, 112)
#define NOTIFY_GRADIENT_2 RGB (7, 111, 95)
#define NOTIFY_TIMER_SAFETY_ID 666
#define NOTIFY_TIMER_SAFETY_TIMEOUT 600
#define NOTIFY_TIMEOUT_DEFAULT 30LL // sec.
#define NOTIFY_LIMIT_POOL_SIZE 128
#define NOTIFY_LIMIT_THREAD_COUNT 2
#define NOTIFY_LIMIT_THREAD_MAX 4
// pugixml document configuration
#define PUGIXML_LOAD_FLAGS (pugi::parse_escapes)
#define PUGIXML_LOAD_ENCODING (pugi::encoding_auto)
#define PUGIXML_SAVE_FLAGS (pugi::format_indent | pugi::format_write_bom)
#define PUGIXML_SAVE_ENCODING (pugi::encoding_wchar)
// 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_SILENT RGB (201, 201, 201)
#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_SERVICE RGB (207, 189, 255)
#define LISTVIEW_COLOR_PACKAGE RGB(134, 227, 227)
#define LISTVIEW_COLOR_CONNECTION RGB(255, 168, 242)
// filter weights
#define FILTER_WEIGHT_HIGHEST_IMPORTANT 0x0F
#define FILTER_WEIGHT_HIGHEST 0x0E
#define FILTER_WEIGHT_BLOCKLIST 0x0D
#define FILTER_WEIGHT_CUSTOM_BLOCK 0x0C
#define FILTER_WEIGHT_CUSTOM 0x0B
#define FILTER_WEIGHT_SYSTEM 0x0A
#define FILTER_WEIGHT_APPLICATION 0x09
#define FILTER_WEIGHT_LOWEST 0x08
// memory limitation for 1 rule
#define RULE_NAME_CCH_MAX 64
#define RULE_RULE_CCH_MAX 256
typedef std::vector<HANDLE> THREADS_VEC;
typedef std::vector<GUID> GUIDS_VEC;
typedef std::vector<SIZE_T> HASH_VEC;
typedef std::unordered_map<SIZE_T, ENUM_TYPE_DATA> TYPES_MAP;
typedef std::unordered_map<SIZE_T, BOOLEAN> HASHER_MAP;
typedef struct tagSTATIC_DATA
{
WCHAR profile_path[MAX_PATH] = {0};
WCHAR profile_path_backup[MAX_PATH] = {0};
WCHAR profile_internal_path[MAX_PATH] = {0};
WCHAR windows_dir[MAX_PATH] = {0};
WCHAR search_string[128] = {0};
PR_STRING ntoskrnl_path = NULL;
PR_STRING svchost_path = NULL;
PR_STRING shell32_path = NULL;
PR_STRING winstore_path = NULL;
PSID pbuiltin_current_sid = NULL;
PSID pbuiltin_world_sid = NULL;
PSID pbuiltin_localservice_sid = NULL;
PSID pbuiltin_admins_sid = NULL;
PSID pbuiltin_netops_sid = NULL;
PSID pservice_mpssvc_sid = NULL;
PSID pservice_nlasvc_sid = NULL;
PSID pservice_policyagent_sid = NULL;
PSID pservice_rpcss_sid = NULL;
PSID pservice_wdiservicehost_sid = NULL;
HIMAGELIST himg_toolbar = NULL;
HIMAGELIST himg_rules_small = NULL;
HIMAGELIST himg_rules_large = NULL;
HBITMAP hbmp_enable = NULL;
HBITMAP hbmp_disable = NULL;
HBITMAP hbmp_allow = NULL;
HBITMAP hbmp_block = NULL;
HBITMAP hbmp_cross = NULL;
HBITMAP hbmp_rules = NULL;
HBITMAP hbmp_checked = NULL;
HBITMAP hbmp_unchecked = NULL;
HANDLE hlogfile = NULL;
HANDLE hnetevent = NULL;
HANDLE done_evt = NULL;
HANDLE htimer = NULL;
HFONT hfont = NULL;
HICON hicon_large = NULL;
HICON hicon_small = NULL;
HICON hicon_uwp = NULL;
HWND hnotification = NULL;
HWND hrebar = NULL;
HWND hfind = NULL;
time_t profile_internal_timestamp = 0;
SIZE_T ntoskrnl_hash = 0;
SIZE_T svchost_hash = 0;
SIZE_T my_hash = 0;
SIZE_T wd_length = 0;
INT icon_id = 0;
INT icon_service_id = 0;
INT icon_uwp_id = 0;
BOOLEAN is_notifytimeout = FALSE;
BOOLEAN is_notifymouse = FALSE;
BOOLEAN is_neteventset = FALSE;
BOOLEAN is_filterstemporary = FALSE;
} STATIC_DATA, *PSTATIC_DATA;
typedef struct tagITEM_LOG
{
union
{
IN_ADDR remote_addr;
IN6_ADDR remote_addr6;
};
union
{
IN_ADDR local_addr;
IN6_ADDR local_addr6;
};
PR_STRING path;
PR_STRING provider_name;
PR_STRING filter_name;
PR_STRING username;
HICON hicon;
time_t timestamp;
UINT64 filter_id;
SIZE_T app_hash;
FWP_DIRECTION direction;
ADDRESS_FAMILY af;
UINT16 remote_port;
UINT16 local_port;
UINT8 protocol;
BOOLEAN is_allow;
BOOLEAN is_loopback;
BOOLEAN is_blocklist;
BOOLEAN is_custom;
BOOLEAN is_system;
BOOLEAN is_myprovider;
} ITEM_LOG, *PITEM_LOG;
typedef struct tagITEM_APP
{
GUIDS_VEC* guids;
PR_STRING display_name;
PR_STRING original_path;
PR_STRING real_path;
PITEM_LOG pnotification;
HANDLE htimer;
time_t timestamp;
time_t timer;
time_t last_notify;
INT icon_id;
ENUM_TYPE_DATA type;
UINT8 profile; // reserved ffu!
BOOLEAN is_enabled;
BOOLEAN is_haveerrors;
BOOLEAN is_system;
BOOLEAN is_silent;
BOOLEAN is_signed;
BOOLEAN is_undeletable;
} ITEM_APP, *PITEM_APP;
typedef struct tagITEM_APP_HELPER
{
PR_STRING display_name;
PR_STRING real_path;
PR_STRING internal_name;
PVOID pdata; // service - PSECURITY_DESCRIPTOR / uwp - PSID (win8+)
time_t timestamp;
ENUM_TYPE_DATA type;
} ITEM_APP_HELPER, *PITEM_APP_HELPER;
typedef struct tagITEM_RULE
{
HASHER_MAP* apps;
GUIDS_VEC* guids;
PR_STRING name;
PR_STRING rule_remote;
PR_STRING rule_local;
ADDRESS_FAMILY af;
FWP_DIRECTION direction;
UINT8 profile; // reserved ffu!
UINT8 weight;
UINT8 protocol;
ENUM_TYPE_DATA type;
BOOLEAN is_haveerrors;
BOOLEAN is_forservices;
BOOLEAN is_readonly;
BOOLEAN is_enabled;
BOOLEAN is_enabled_default;
BOOLEAN is_block;
} ITEM_RULE, *PITEM_RULE;
typedef struct tagITEM_RULE_CONFIG
{
PR_STRING name;
PR_STRING apps;
BOOLEAN is_enabled;
} ITEM_RULE_CONFIG, *PITEM_RULE_CONFIG;
typedef struct tagITEM_NETWORK
{
union
{
IN_ADDR remote_addr;
IN6_ADDR remote_addr6;
};
union
{
IN_ADDR local_addr;
IN6_ADDR local_addr6;
};
PR_STRING path;
SIZE_T app_hash;
FWP_DIRECTION direction;
ADDRESS_FAMILY af;
DWORD state;
INT icon_id;
UINT16 remote_port;
UINT16 local_port;
UINT8 protocol;
BOOLEAN is_connection;
} ITEM_NETWORK, *PITEM_NETWORK;
typedef struct tagITEM_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;
} ITEM_STATUS, *PITEM_STATUS;
typedef struct tagITEM_CONTEXT
{
HWND hwnd;
INT listview_id;
INT item_id;
BOOLEAN is_install;
} ITEM_CONTEXT, *PITEM_CONTEXT;
typedef struct tagITEM_COLOR
{
PR_STRING configName;
PR_STRING configValue;
SIZE_T hash;
COLORREF default_clr;
COLORREF new_clr;
UINT locale_id;
BOOLEAN is_enabled;
} ITEM_COLOR, *PITEM_COLOR;
typedef struct tagITEM_ADDRESS
{
WCHAR host[NI_MAXHOST];
FWP_V4_ADDR_AND_MASK* paddr4;
FWP_V6_ADDR_AND_MASK* paddr6;
FWP_RANGE* prange;
ENUM_TYPE_DATA type;
NET_ADDRESS_FORMAT format;
UINT16 port;
BOOLEAN is_range;
} ITEM_ADDRESS, *PITEM_ADDRESS;
typedef struct tagITEM_LIST_HEAD
{
SLIST_HEADER ListHead;
volatile LONG item_count;
volatile LONG thread_count;
} ITEM_LIST_HEAD, *PITEM_LIST_HEAD;
typedef struct tagITEM_LOG_LISTENTRY
{
SLIST_ENTRY ListEntry;
#ifndef _WIN64
ULONG_PTR Reserved;
#endif // _WIN64
PITEM_LOG Body;
//SLIST_ENTRY ListEntry;
//QUAD_PTR Body;
} ITEM_LOG_LISTENTRY, *PITEM_LOG_LISTENTRY;
C_ASSERT (FIELD_OFFSET (ITEM_LOG_LISTENTRY, ListEntry) == 0x00);
C_ASSERT (FIELD_OFFSET (ITEM_LOG_LISTENTRY, Body) == MEMORY_ALLOCATION_ALIGNMENT);
typedef std::unordered_map<SIZE_T, PITEM_APP> OBJECTS_APP_MAP;
typedef std::unordered_map<SIZE_T, PITEM_APP_HELPER> OBJECTS_APP_HELPER_MAP;
typedef std::unordered_map<SIZE_T, PITEM_RULE_CONFIG> OBJECTS_RULE_CONFIG_MAP;
typedef std::unordered_map<SIZE_T, PITEM_NETWORK> OBJECTS_NETWORK_MAP;
typedef std::unordered_map<SIZE_T, PR_STRING> OBJECTS_STRINGS_MAP;
typedef std::vector<PITEM_APP> OBJECTS_APP_VECTOR;
typedef std::vector<PITEM_RULE> OBJECTS_RULE_VECTOR;
typedef std::vector<PITEM_LOG> OBJECTS_LOG_VECTOR;
+2978
View File
File diff suppressed because it is too large. Load diff
+133
View File
@@ -0,0 +1,133 @@
// simplewall
// Copyright (c) 2021-2026 Henry++
#pragma once
VOID _app_message_initialize (
_In_ HWND hwnd
);
FORCEINLINE VOID _app_message_uninitialize (
_In_ HWND hwnd
)
{
_r_tray_destroy (hwnd, &GUID_TrayIcon);
}
VOID _app_message_localize (
_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_generate_rulescontrol (
_In_ HMENU hsubmenu,
_In_ ULONG app_hash,
_In_opt_ PITEM_LOG ptr_log
);
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
);
+974
View File
@@ -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);
}
+87
View File
@@ -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
);
Loaded 100 of 155 files, more files were not shown because too many files have changed in this diff. Show more