RusRoute firewall research project is flexible software IPv4 and IPv6 router and firewall, Internet gateway for Windows, it is the ideal solution for making Internet gateway for local area network (LAN) of small company, the users' traffic encountering and restricting, protection against of network attacks with functions of NAT, redirect, dynamic TCP shaper with conditional expressions, VPN server/client, transparent proxy with port numbers saving, LAN to VPN Bridge, DHCP servers, FTP servers, multicast UDP proxies, HTTP caches, HTTP to HTTP proxy converter, captive portal feature, timed action and Splitters for rules, with advanced routing possibilities.
The next functions are not supported: Captive Portal for https connections, multicast routing, https caching, content filtering, IPv6 VPN, VPN multicast.
New in version: + Application level servers: multicast UDP proxies and FTP servers. + Comparison of Russian utf8 strings when sorting in most cases is carried out according to the rules of the Russian language, and not only by comparing character codes (the letter 'Ё' follows 'E'), with small time overhead. + Minor speed optimizations: most hash tables now use non-virtual hash functions; adapter names are hashed to match between the adapter name and its number and structure; the search is hashed by the adapter number of its name. + Before overwriting the configuration file, a copy of it is made. If, when the service starts, the configuration file cannot be loaded either from rr.xml or from a copy, the service terminates abnormally.
New in version: - Fixed a bug in the self-signed driver of the previous version. The current version of the self-signed driver is 2.07-144 (see screenshot). + Work with xml documents has been accelerated: for identically equal strings (node names, attribute names and some values), only the values of their pointers are compared, which should lead to faster work with the configuration file, which stores all parameters and settings. This should lead to faster analysis of firewall rules when passing the first packets of connections, and to a higher frequency of processing of TCP/UDP connections. But frequency tests were not carried out, there are no comparative data, for TCP the frequency depends greatly on system factors.
New in version: + Minor optimization of the program: some doubly linked lists have been replaced with singly linked ones, including for IPv4/IPv6 routing tables and connection enumeration (working with singly linked lists is a little faster and the code is shorter), the number of calls to hash tables has been reduced, and work with xml documents has been slightly accelerated. * Traffic data is now retrieved from the driver every second, so user balances and log information are updated more dynamically. * The version of the self-signed driver has been updated. * The amount of data transferred from the driver to the RusRoute firewall service (about traffic) and to the graphical application has been reduced (to display the data transfer speed of network adapters, only incremental data is now received with every second update). But this optimization was made only for the new version of the self-signed driver. For the old version of the signed driver, compatibility is maintained (programs work without this acceleration and transfer more data). * Other minor changes to applications and driver.
New in version: * Changed the multi-threaded configuration of the ToolsLib library. The global mutex of the library is made into a standard Win32 mutex. At the same time, the traffic graph has become smooth, the RusRoute firewall can handle a load of 1000+ Internet connections (500+ for every two IP addresses of the same server). The remaining library mutexes are fast mutexes and are used to synchronize relatively short operations (short-term access to global objects, in allocators). * Some minor improvements and code optimizations. RusRoute firewall 2.7.5RusRoute firewall 2.7.5
New in version: * The stress test showed that with the number of constantly downloading connections over 500, the role of fast mutexes in RusRoute is leveled, on the contrary, due to the active waiting cycle of an atomic variable, they consume more (many) processor resources, which with an increased priority of the main processes RRSvc64.exe and RRGui64.exe lead to the degradation of the Windows operating system, the OS ceases to be responsive to user actions. Therefore, in this version, fast mutexes were left to be used only inside the ToolsLib library, and user code uses standard Win32 mutexes. But with this approach, the VPN speed decreased by about 25% (with fast mutexes, the speed was more than 200-250 mbps, with standard mutexes now - a little over 150-180 mbps). Stress test was done with 500-800 Internet connections (Internet connection 100 mbps). The VPN test was performed on a 1 gbps Ethernet local network, between two PCs with an Intel Core I7-7700K CPU, Intel Z270 chipsets. - Previous versions <= 2.7.3 can be used if you limit the maximum number of TCP connections in rules 6, 8, 11 according to the CPU performance of your PC.