NiceShaper jest programem działającym w środowisku routera z systemem Linux. Wykorzystuje sprawdzony algorytm podziału łącza HTB. Umożliwia efektywniejsze dzielenie pasma niż to utworzone z przypisaniem użytkownikom stałych przepustowości. Stale monitorując pakiety przepływające przez router, w odpowiedzi na zmieniające się obciążenie, dynamicznie dostosowuje przepustowość działających klas do poziomu umożliwiającego możliwie najpełniejsze wykorzystanie łącza. Jednocześnie nie dopuszcza do powstania przeciążeń, gwarantując pełną wygodę użytkowania usług interaktywnych.

NiceShaper poza ochroną pasm wszystkich użytkowników rozsądnie korzystających z przepustowości łącza, oferuje quotę na ilość pobranych/wysłanych danych oraz automatyczną zmianę wybranych parametrów klas o wskazanych porach dnia. Zautomatyzowaną obsługę IMQ i markowania pakietów w celu zapewnienia obsługi wielu łącz oraz współpracy z Source NATem prywatnych adresacji IP. Wygodny - również zdalny - monitoring online (statystyki pracy). Zgodnie z ustanowionym interwałem automatyczne zapisywanie statystyk do wskazanego pliku chociażby w celu udostępnienia przez serwis www. Ważnym celem projektu jest przejrzystość i intuicyjność konfiguracji, by opanowanie NiceShapera było możliwie łatwe i szybkie. Informowanie o błędach w konfiguracji oraz napotkanych w trakcie działania problemach możliwie dokładne.

Oto wykres MRTG prezentujący efekt działania NiceShapera w sieci, w której użytkownicy bardzo intensywnie wykorzystują oprogramowanie P2P, wymagające udostępniania zasobów. Jest to zabójcze dla łącz asymetrycznych charakteryzujących się małym pasmem wychodzącym jak InternetDSL z TPSA. Na zielono download, upload - niebieska linia, obydwa kierunki przepływu danych praktycznie zawsze w pełni obciążone, jednocześnie każdy użytkownik ma zagwarantowane wygodne surfowanie, pracę lub grę online. Konfiguracja statyczna praktycznie wyklucza tak skuteczne wysycenie pasma w obydwu kierunkach, wymuszając kompromis pomiędzy udostępnianą szerokością pasma wychodzącego a przychodzącego tak by nadmiernie wysycony upload nie zablokował downloadu.

## [04.07.2013]

W odróżnieniu od wersji 0.6 która nigdy nie uzyskała oficjalnie statusu stabilnej, linia 1.0 doczekała się tylko jednego Release Candidate a na dodatek lista poprawek jest niezwykle skromna. Zatem - zapraszam do pobierania!

## [04.05.2013]

W udostępnionej dwa dni temu wersji 1.0pre4, pojawił się błąd uniemożliwiający uruchomienie w systemach z architekturą AMD64. Z racji tego że powód błędu był banalny a nową wersję zdążono pobrać tylko kilkanaście razy. Zdecydowałem na przepakowanie pakietu bez zmiany wersji. Zapraszam do ponownego pobierania.

## [23.03.2013]

W niedawno udostępnionej wersji 1.0pre3, wykryto problem uniemożliwiający w pewnych konfiguracjach poprawną inicjalizację tabel iptables. Błąd został już namierzony i usunięty a poprawka znajdzie się w kolejnej wersji NiceShapera. Nie ma powodu do instalacji poprzedniej wersji, by tymczasowo obejść problem wystarczy użyć dyrektywy fallback iptables.
Druga informacja - umieściłem dziś uaktualnioną wersję tutoriala.

## [09.02.2013]

Zapraszam do testowania kolejnej wersji pre release linii 1.0. Wersja ta - konkretnie 1.0pre2 - wprowadza nową ciekawą funkcjonalność w postaci wyzwalaczy. Pozwalających na wprowadzenie quoty dla klas oraz alternatywnych wartości konfiguracyjnych o określonych porach doby.
Pojawiają się również poprawki kilku problemów.
Pełna lista zmian jak zwykle w changelogu. Pakiet źródlowy do pobrania w dziale "Pobierz", w którym również postaram się umieścić pakiety .deb dla Squeeze oraz .rpm dla Centos 5 i 6.

## [01.06.2012]

Witam Was. Cóż rzec:) Z dniem wczorajszym udostępniłem pierwszą wersje PreRelease NiceShapera 1.0.
Skąd taki przeskok wersji? Zmiany nie każdy z Was oceni jako rewolucyjne ale w ustabilizowanym projekcie nie ma miejsca na ciągłe rewolucyjne przemeblowania koncepcji.
Powiem wprost. Filozofia wielu projektów OpenSource, polegająca na wiecznym nieosiąganiu wersji 1.0, zaczyna mnie trochę drażnić a przynajmniej jej nie rozumiem. Ale spokojnie, nie zamierzam iść drogą Mozilla Foundation, takich skrajności tym bardziej nie lubię;)
To co najważniejsze w nowym NS to wyeliminowanie uruchamiania komendy systemowej tc, NiceShaper rozmawia bezpośrednio z kernelem więc dodawanie/usuwanie/modyfikowanie klas i filtrów HTB jest teraz piekielnie szybkie i tym większy zysk z tej zmiany im więcej operacji wykonywanych w jednym cyklu. Wreszcie usunięte zostało to ciążące od początku istnienia projektu wąskie gardło wydajności.

## [28.05.2012]

UWAGA!! W najnowszej wersji Iproute2 tj. 3.4 snapshot 20120521 pojawił się problem uniemożliwiający współpracę tc z HTB, zalecam nie aktualizowanie do tej wersji a po fakcie downgrade do wersji 3.3 snapshot 20120319 w której problem nie występuje.