Internet :: Firewalls, Internet :: Security, Internet :: Network Tools, Internet :: Tools & Utilities, Internet :: Monitoring, Utilities :: Network Utilities, Utilities :: System Utilities, Utilities :: Drivers
Win7 x32, Win7 x64, Windows 8, Windows 10, Windows 11, WinServer, WinOther
Windows 7..11, Server 2008 R2..2019, with routing and connection sharing roles are disabled
Commercial mode: 30-days trial with 15 concurrent user's+firewall IP, licenses: 10, 25, 50, 100, 250 IP
Ключевые слова: IPv4, IPv6, маршрутизатор, фаервол, программный маршрутизатор, программный фаервол, NAT, VPN сервер, VPN мост, DHCP, HTTP кеш, подсчёт трафика, монитор скорости и соединений, Интернет, Интернет кафе
RusRoute фаервол - мощный программный фаервол и IPv4/IPv6 маршрутизатор, Интернет шлюз для Windows, это - отличное решение для выхода локальной сети LAN организации в Интернет, подсчёта и ограничения трафика пользователей, HTTP 1.1 блокировки по имени домена и маске url, защиты от сетевых атак с функциями NAT, редирект, динамические TCP шейперы с условными выражениями, VPN сервер, прокси, мост LAN в VPN, DHCP серверы, FTP серверы, мультикаст UDP прокси, HTTP кеши, HTTP/1.1 в HTTP прокси конвертером, монитором скорости и соединений TCP, UDP, HTTP, FTP, DNS, HTTP captive portal, с временем действия и сплиттерами для правил, с дополнительными возможностями маршрутизации.
RusRoute firewall is a powerful 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 firm, the traffic of users accounting and restriction, HTTP 1.1 blocks by domain name and url masks, protection against of network attacks with functions of NAT, redirect, dynamic shaper with conditional expressions, VPN server, proxy, LAN to VPN Bridge, DHCP servers, FTP servers, multicast UDP proxies, HTTP caches, HTTP to HTTP proxy converter, TCP, UDP, HTTP, FTP, DNS speed and connections monitoring, HTTP captive portal feature, timed action and Splitters for rules, with advanced routing possibilities.
+ Minimal changes: minor bug fixes, minor GUI changes, improved socket timers, minor internal changes to working with text strings.
+ 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 related hashing.
- 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.
+ 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.
* 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.
* 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 power of your PC.
* Internal optimizations, more safer code in terms of exceptions, changed work with string constants. + Speeding up the firewall by increasing the size of buffers up to 128 KB and reducing the call time of the send data function from receive function. + Additional standalone code in the string formation functions in the library. - Minor bugs сorrection.
* Updated some classes and containers, for example, those working with MAC addresses and socket priority queues. * Some functions and methods have been modified and/or marked as noexcept. * In some functions and methods, the generation of exceptions is suppressed. - A fix has been made at the library level, without which there were long delays before processing the web api. * Small changes in the self-signed driver.
* Changes in the installer. + Pure 64-bit installer to reduce antivirus false actions. + Detection of Windows versions using the RtlGetVersion() function. + Detection of Windows 10 x64 to install the latest versions of self-signed drivers directly from the installer. - The installer also contains 32-bit components. To install on a 32-bit OS, you can use WinRAR to unpack the SFX-archive to the C:\RusRoute directory and run "installer.exe /install".
+ Fixed bug in HTTP caching. + Increased the limit for the maximum allowed value of max-age HTTP caching to 365 days (previously this limit was 24 hours). + Now, when increasing the size of the HTTP cache file, the file is not cleared (objects remain in the cache).
+ Fixed several bugs in HTTP caching. + Ability to cache large files over HTTP, up to almost 2^63 bytes long. You can, for example, cache the download of the official image of Windows 10, and then quickly download it again from the cache, at a speed of more than 1 Gbits / s. + Better compliance with HTTP caching standards, caching is enabled not only by the If-Modified-Since: field, but also when the Cache-Control: max-age=NNNNN option is active, etc. * In the properties of the adapters, the display of graphs of speeds with a scale of 1 Mbits / s = 1000 Kbits / s (previously the coefficients were the powers of 1024). + Speedup of working with synchronization objects (mutexes).
+ Small changes in the libraries used. + 2.6.119 version of self-signed 2023' year driver in Data\2023-self_signed_2.6.119_win10x64 for manual install. - 32 bits drivers will be not, we are preparing for making only x64 setups, for Windows 10 and later.
+ Increase to 10 the maximum number of TCP connections working in one thread. + Many small changes in the ToolsLib library, mainly for other projects, but speeding up the firewall slightly too.
+ Support for a new version of RusRoute dynamic DNS. + A lot of small changes in the ToolsLib library, slightly speeding up the work of library classes and functions and making working with them safer, bringing the source code of the library to greater compliance with the C++ standard. + Buffer sizes are reduced to 64 KB.
- Fixed a bug of version 2.5.10 of extremely high CPU usage when working with TCP shapers.
+ ToolsLib library classes that work with sockets have been rewritten to minimize the number of system calls. The API compatibility has been preserved.
+ More softer parameters for fast mutex spinlocks before switching to another thread. + Acceleration of the RusRoute firewall service function, which receives information about TCP connections for monitoring in a graphical application. + New global options "Global number of TCP connections limit" and "Global number of TCP connections per IP limit". + Many minor changes in the used ToolsLib library - cleaned up the code, made it more compliant with the C++ standard. + Successfully tested the program with 3000+ simultaneous Internet connections. + Other minor changes.
+ Fast mutexes based on std::atomic similar to win32 critical sections with spinlocks. - Minor fixes in mail protocol filters.
+ Involvement of several IP API ban lists: 0th - RusRoute Auth, 1st - FTP Auth, 2nd - SMTP Auth, 3rd - POP3, IMAP4. + New IMAP4 filter. - Fixed bug in SMTP filter. It now allows STARTTLS to pass through.
+ New http web API functions: IpListAdd and IpListAddEx. + Cosmetic improvements of build-in http web server working on port 10000.
+ Some optimization by speed performed. Single-threaded IP packet handler. + Increase the VPN speed by 2 times.
+ Caching of a linear search for objects in the lists of the configuration. + Xml and strings classes updates. +Small bug fixes.
+ Minor optimization of the speed of work with synchronization objects, visible in the profiler and under the debugger.
- Bug fixed: reject of incoming UDP/UDP6 packets with "TTL expired in ip packet" error, because TTL was decreased not for routed but for received packets too, the result was all incoming udp packets with TTL=1 were rejected.
- Erroneous "deny connection" log messages after "reject connection" are removed while working "reject" tcp/udp rules. + Sending of Port unreachable Icmp messages for reject udp rules. + Destination unreachable Icmp messages of intermediate routers for udp packets mapping into nat-network. Linux users behind the RusRoute firewall can see route to external hosts by traceroute command now.
+ Router Advertisement and DHCPv6 servers are added. * Basic IPv6 functionality is done in this version.
+ Small bug fixes and improvements for IPv6 functionality: user login from 127.0.0.1 and ::1 is authorized all IPv4 and IPv6 addresses of NIC, RRClient.exe can connect to IPv6 for authorization, updates checking and black lists loading are able to connect to IPv6 server's addresses.
- Infinite loop bug fixed on IPv6 Neighbor Discovery options handling. - If UDP checksum is 0 (not calculated), then RusRoute redirects and NAT are not updating this field now. + Background loading IP list files option in the Settings page. + Hash functions optimization of self-signed driver.
+ "Default NATs mode" settings. + Generation of port mapping rules of Wizard is improved. - Anonymous IP cache is cleaning on config applying (bug fixed). + Redirect to 127.0.0.2 and ::2 are redirecting to source IP. - Bug fixed of read access violation while formatting IPv6 DNS address string.
+ Support of IPv6 with limitations. - Most likely, IPv6 does not work on WAN adapter. - IPv4/IPv6 TCP WSAECONNREFUSED handling fixed. + Speedup of functions "Top 100 connections", "Top 500 HTTP requests". + The latest unsigned driver is included. + More changes related to IPv4 and IPv6.
- EXCEPTION_ACCESS_VIOLATION error of some log messages formatting is fixed. Is was existed in all latest versions. - Compilation by the new Microsoft Visual Studio 2022.
+ Assembler code for +, -, * functions for long integers, speeding up asymmetric conversions for the x86_64 architecture by about 2 times. + Small code optimization (custom allocators for some structures, etc.). + Minor improvements. +/- Additional unsigned version of the updated driver.
- Error "DoTcpConnect(): catch(int: 5)" is fixed. It was appeared when TCP reuse ports recently closed connections (when applications are opening too many small lived connections). + Small improvements.
+ Filters for displaying TCP and UDP connections. + Killing connections showing or hiding by filters. + Small improvements.
+ User manual (help) is opened from https://rusroute.com site. - Temporarily IPv6 defragmentator/fragmentator is not called now, IPv6 packets are not logged. - Small bugs fixed. + Small improvements.
+ Optimization by speed and by memory usage, decreasing of buffers size. + Advantage of VPN system: 4096 bits public key, the ability of working VPN clients behind of NAT with out of router's port mapping, the ability of direct packets transfer between VPN clients not through the server, bug fixed.
+ Optimization by speed of program by program code optimization and making the best buffers of connections. + Compillation by Visual Studio 2019, C++ compiller with the newest standard (draft) of C++. Some bugs are fixed as a result of it. + Getting and displaying IPv6 network parameters of PC.
+ Licence policy update.
- FastCGI related errors are fixed.
- Fixes and improvements of FastCGI library (app is started on 127.0.0.1 address, address is reused). - Passing into FastCGI application both QUERY_STRING and POST DATA when it is needed. - RRSvcHlp.exe helper service start type is changed to Demand start.
+ Support of FastCGI applications. + Support of php started as fastcgi. + Web API for account's add balance, etc.
+ The ability of downloading black lists manually and by a cron tab. + The ability of using exception file for Roscomnadzor black list (dump_skip.txt). + Some optimization. + New Year build.
+ Significant speedup of displaying TCP and UDP connections pages. + The further performance improvements. + The CharLowerBuffW() function is used for lowercase strings transformation, what is more good for international languages. - More strict DNS packets parsing according to RFC1035.
+ Safe apply config option. + Installer is updated. (For more convenient of setting up by RDP)
+ Settings for user's time limit for limiting user's Internet access time, etc. - Bug fixed in the RRClient.exe utility. + New cron tab tasks for setting up to 4 different time limits per user. + The ability to use RusRoute firewall for the Internet cafe or for a child control.
Freeware for home non-comercial using, 'Keep a live beyond the active time' for time option of rule, default is off.
Freeware for home non-comercial using, independend mutex in ToolsLib library to speedup, bug in transferring some HTTP files with Transfer-Encoding: chunked is fixed for some HTTP servers.
support of Windows 7/8/8.1/10/ Server 2008 R2 and later, multiply IPs per interface, Basic HTTP proxy authorization, UDP 'dynamics' page.
Разрешения на распространение: Distribution is free of charge, no modification of program code or distributive is allowed.
END USER LICENCE AGREEMENT
The present licence agreement is a public offer and consists of all main conditions of Your (hereinafter referred to as «User») use of “RusRoute firewall” program (hereinafter referred to as «Program») for computer.
The Author - citizen of the Russian Federation, Moiseenko Andrey Alekseevitch (hereinafter referred to as «Right holder»), in accordance with current agreement, is the holder of exclusive material copyright for “RusRoute firewall” program, including User manual for it in hardcopy and/or electronic copy and is obligated to allow User (direct or through authorized third hand) unexceptional right for using Program, with restrictions of installation rights and starting Program in accordance of set up by current rules and conditions of Licence agreement (the simple unexceptional licence). Order of offer acceptance (Licence agreement)
The current offer (licence agreement) is considered to be accepted by User through the following conditions:
1) Through clicking the «Accept» button while setting up the Program and pressing «Install», the User agrees unquestionably to User agreement with current agreement rules. 2) Through order, payment or receive by User of unexceptional rights for using Program on the currently offered confitions (agreement) from Rightholder or authorized third hand people it means unquestioning the User agreement with conditions of current licence agreement.
Transferring order and costs of unexceptional rights
In accordance to current Licence agreement, User must give in 30 days from offer acceptance from Rightholder (in direct way of through authorized third hand people) unexceptional rights for using Program. The moment of transferring to User unexceptional rights is considered the moment of Rightholder's (or third hand people making right transfer) hand on a document in accordance statement. The user must pay a fixed fee for rights; the amount of fee is defined by conditions of Licence agreement with the party, agreeing upon rights transfer. In case of User cancellation (not to giving rights in the specified time) the current Licence agreement is considered not to have ended.
User has the right to use Program in the any country of world in accordance with conditions of current Licence agreement as long as usage is in accordance with the following rules:
1. Recompilation and/or modification of Program is prohibited. 2. To lease or rent, temporary use of Program for others is prohibited. 3. To split Program by parts to use it on different computers is prohibited. 4. Using the Program with the purpose to create malicious program data or codes is strictly prohibited. 5. Using the Program in a way that conflicts with the laws of the Russian Federation is strictly prohibited.
User’s rights To use Program for evaluation purpose in 30 days from its first start (install). To Make copy of program under condition that the copy is aimed for archiving goals and to replace legally obtained distribution if the original is lost, removed, or stand unsuitable for using. The copy mentioned in this paragraph cannot be used for other purposes and must be removed if the using of Program by User ceases to be rightful.
Rights disclaimer Right holder does not guarantee the usability of Program while breaking conditions described in User manual, and in the case of violation of User the conditions of current Licence agreement. User takes upon themselves the risk of accordance of Program by his wishes and needs, as soon as risk of accordance the conditions and value of giving rights by his wishes and needs. Right holder and/or his pairs are not to account for any damage or loss of profit, independently of appearance causes, (including, and not restricted by this, special, fortuitous, incidental or indirect damage, profit loss, interrupting commercial or production activity, business information loss, negligence, or any other loss), that appears when using Program or impossibility to use it.
Final rules Validity period of current offer conditions (Licence agreement) are from June 20, 2020, to June 20, 2025. In case of infringement on the author's rights for the Program, the violator is solely responsible for conduct that could constitute a criminal offense, give rise to civil liability and administrative responsibility or otherwise violate any applicable law or regulation of the Russian Federation or any other local, state, national or international laws.
Program site: http://rusroute.com Support at e-mail: email@example.com