Closed dougg0k closed 1 month ago
I was looking through the code, it seems the 256 char limit are intentional, just not sure for what reason.
Can you increase to how much anyone want to add in rules?
In my example there were almost 8000 IP characters.
In profile.c
, editor.c
and helper.c
there were some code that seemed to be related, a bunch of arrays or stringbuilder with straight 256 number. Who knows if they have anything in common (rules and profile seem related to the issue), but just by not having anything to give meaning to the value or choice of the value, seems like bad code.
Simplewall are still the best option to use, it would be nice to have this fixed / changed.
First I thought it was related to windows 260 limit, but then the limit were exactly 256, and windows was already enabled to go beyond the limit.
This seem like it could it could be rewritten in Rust, to have a much less complex codebase to be better maintainable as to easily add new features or make changes. It would probably get more popular too because of it, if you were to be interested and able to.
@henrypp
It seems that Windows Firewall has a 10_000 ip range entries limit per rule.
Adding long IP lists, such as simplewall's own blocker lists used to do (I don't know if it still does this) is no good for the WFP. It grinds Windows networking to a slog, I assume having to do something with DNS.
That's why PeerBlock used custom driver to effectively handle huge IP lists.
I've influenced by it to implement the Fort Firewall.
If it's not good for perf, why would they make it possible with windows firewall?
If I had to answer my own question, it would be because it's not that bad or ms doesnt care.
Regardless, in the case that I needed for, it wouldnt be tons of requests happening, once you connect to a server, you would be good for a good amount of time.
They make it possible but there's no default rule that behaves like this. All default rules are tightly defined. But a couple of third-party programs will define big IP ranges, usually against Windows telemetry.
It's not about whether a lot of these IPs get accessed; just having a long list in there is enough. Windows Networking has to parse this list whenever you input a URL into the browser, and suddenly requests take 20x as long.
I wonder if this would work better being set in a router directly. It's also possible it will work better for you than it did for me. YMMV.
It should only take that long in a browser if the executable associated with the rules were the browser(s). Not the case.
I don't want to allow svchost without IPs condition. Currently, only a certain number of IPs or no DNS names are allowed.
How can I allow all Windows Update 200 IPs/DNS?
@crazyyzarc u 0iq? to allow windows updates u dont need ip list,only allow windows update in menu
@crazyyzarc u 0iq? to allow windows updates u dont need ip list,only allow windows update in menu
This requires that I whitelist svchost.exe. Isn't that right?
@crazyyzarc svchost not needed for WU
@crazyyzarc svchost not needed for WU
In english: “We were unable to establish a connection with the update service. We will try again later. Alternatively, you can try now. Check your internet connection if it is still not working.”
After I deleted the log and clicked in Windows Update Window Reload, the Simplewall block log is displayed:
I have Windows 10 22H2 and I have blocked svchost.exe
@crazyyzarc as i say it is complete 0iq
Checklist
App version
3.7.2
Windows version
11 22H2
Steps to reproduce
Expected behavior
To include every single IP in the rule.
Actual behavior
It only included very few of them. When I tried to add more manually, I was also not able to, I could not even edit the last addition to add one more number, it was like there was a character limit to the total amount of rules.
I've been trying to use geofence rules that involve big amount of ip blocking, but not only there are missing features, there is also limits to the amount you can do, even by batching it. Only some of the first ones were blocked.
Last one that was able to be added was
34.157.64.0/20
but if you see in the screenshot, the 0 was not allowed due to the hard limit.Logs
No response
I requested this https://github.com/henrypp/simplewall/issues/1548 before, but the way it is, not even this would work due to the hard limit.