System prostej konfiguracji
Ostatnia zmiana: 2020-03-17 06:48

Dawno temu powstał projekt "Szybka konfiguracja" którego celem miała być prosta konfiguracja podstawowych elementów systemu. Projekt ten został porzucony dawno temu; następstwem eksperymentów z własnym system był kolejny projekt "Dysk bezprzewodowy" który automatyzował większość czynności związanych z połączeniem internetowym. Obecnie projekty te zostały zastąpione programem easyconfig którego celem jest to samo co poprzednich projektów - konfiguracja podstawowych elementów systemu. Easyconfig w postaci obrazów MiFi używany jest przeze mnie z powodzeniem na małych/mobilnych routerach których zadaniem jest udostępnienie internetu np. przez modem komórkowy na USB, gdzie priorytetem jest szybkość i łatwość konfiguracji takiego połączenia internetowego.

Easyconfig może być jedynym środowiskiem graficznym (gui) zainstalowanym na routerze, ale może także współistnieć także wraz z innymi GUI (jak LuCI czy Gargoyle). Wykorzystuje większość elementów dostępnych standardowo w OpenWrt/LEDE.

Dostęp do systemu:
- jeżeli jest jedynym gui: http://ip-lub-nazwa-routera, np: http://192.168.1.1
- jeżeli jest dodatkowym elementem systemu: http://ip-lub-nazwa-routera/easyconfig.html, np. http://192.168.1.1/easyconfig.html

Jeżeli serwer http pracuje na innym porcie należy odpowiednio dostosować adres wywołania.

Easyconfig do działania wymaga serwera uhttpd i korzysta z wywołań rpc/ubus. Napisany został z wykorzystaniem frameworka bootstrap, ale z powodu przyjętych założeń (minimalna wielkość pakietu) jest to wersja pozbawiona niektórych elementów, nie korzysta także z jquery.

Obsługa

Po wczytaniu strony pojawi się ekran logowania. Aby zalogować się do systemu należy podać hasło użytkownika root. System podzielony jest na kilka podstron, do których dostęp możliwy przez wybranie odpowiednich opcji z menu. Poszczególne elementy na stronach podzielone są tematycznie w sekcje których opisy można znaleźć poniżej. System został zaprojektowany do obsługi na małych ekranach (np. smartfonów), z tego też powodu wykorzystane zostały duże elementy wyboru czy przełączania opcji. Odświeżenie strony powoduje wylogowanie i konieczność ponownego zalogowania się. Czas bezczynności sesji po której użytkownik musi się ponownie zalogować wynosi 5 minut. Interfejs dostępny jest tylko w języku polskim.
Niektóre elementy interfejsu wyświetlane są na niebiesko, kliknięcie ich powoduje wykonanie określonej czynności w zależności od kontekstu - przejście do szczegółów, sortowanie lub wyświetlenie hasła. Elementy wyświetlane na czerwono są ostrzeżeniami.





Przykładowy wygląd stron na urządzeniu mobilnym

Wygląd stron zależy od wielkości ekranu urządzenia.
Poniższy opis dotyczy najnowszej dostępnej wersji (patrz: historię zmian). Dostępność niektórych opcji zależy od instalacji dodatkowych programów.

Zakładka "Status"

Modem

Wyświetla podstawowe informacje o parametrach modemu komórkowego: nazwa operatora, poziom sygnału, technologia połączenia oraz status karty SIM. Sekcja wyświetlana jest w przypadku wybrania połączenia internetowego "Modem USB" typu "RAS", "QMI" lub "NCM".



Słupkowy wskaźnik poziomu podzielony jest na pięć części odpowiadających odpowiednio 0 do 20%, do 40%, do 60%, do 80% oraz do 100% sygnału.
Jeżeli z modemu zostały odczytane identyfikatory polskiej stacji bazowej to zostanie także wyświetlony link do serwisu BTSearch z możliwością wyszukania lokalizacji BTSu.

Internet

Ogólne parametry połączenia internetowego: ile razy wznowiono połączenie z internetem, czas trwania sesji, ilość danych wysłanych i pobranych w ramach bieżącego połączenia, uzyskany adres IP, aktywność VPN. Sekcja wyświetlana tylko w przypadku wyboru jakiegoś połączenia internetowego.



Liczba uruchomień połączenia z internetem pozwala na prostą diagnostykę jakości połączenia. Kliknięcie powoduje wyświetlenie listy czasów wznowień.
Kliknięcie na dane wysłane lub pobrane powoduje wyświetlenie okna z bieżącym transferem na połączeniu internetowym.
Kliknięcie na adres IP umożliwia wyświetlenie przybliżonej lokalizacji połączania wykorzystując bazę Geolocation API, a także pokazuje faktyczny adres IP z jakim urządzenie jest widoczne w internecie. Jeżeli nie jest możliwe sprawdzenie lokalizacji i używana jest blokada domen to należy dodać domenę ip-api.com do białej listy.
Dla połączenia internetowego "Modem USB" typu "RAS", "QMI" lub "NCM" liczniki danych wysłanych i pobranych mogą się resetować co 4GB.

Wi-Fi

Zawiera informację o aktualnie wykorzystywanych kanałach radiowych (głównym oraz zakresie zajmowanych kanałów) oraz liczbie połączonych klientów bezprzewodowych. Kliknięcie na liczbę powoduje przejście do zakładki wyświetlającej szczegółową listę połączeń.



System

Podstawowe bieżące informacje o systemie: obciążenie (1m / 5m / 15m), czas działania systemu oraz bieżąca data i czas (o ile urządzenie zsynchronizowało czas).



Zakładka "Ustawienia"

Internet

Umożliwia wybranie typu połączenia internetowego. Liczba opcji uzależniona jest od wykrytych interfejsów przewodowych i podłączonego modelu modemu na USB:
- brak (bez połączenia internetowego)
- port WAN - dynamiczny adres IP (dane uzyskane z DHCP)
- port WAN - statyczny adres IP (dane wprowadzone ręcznie)
- modem USB - typ połączenia z wykorzystaniem protokołu ppp
- modem USB - typ połączenia z wykorzystaniem protokołu QMI
- modem USB - typ połączenia z wykorzystaniem protokołu NCM
- modem USB - typu HiLink lub RNDIS


Przykładowa zawartość sekcji dla typu połączenia Modem USB (QMI)

W przypadku wybrania połączenia typu "Modem USB (HiLink lub RNDIS)" i obecności modemu typu Huawei lub ZTE pojawi się link do jego dashboardu.

Jedna z opcji umożliwia automatyczne wykrycie typu połączenia. Po jej wybraniu następuje próba sprawdzenia dostępnych typów, w tym czasie połączenie z internetem może nie być dostępne. Dla modemów USB może istnieć potrzeba wprowadzenia poprawnego interfejsu komunikacyjnego.

Dla typów połączenia "Modem USB (RAS)", "Modem USB (QMI)" lub "Modem USB (NCM)" możliwy jest wybór technologii połączenia:
- wg ustawień modemu - do modemu nie są wysyłane żadne polecenia zmiany technologii
- wybór automatyczny 4G/3G/2G - do modemu wysyłane jest polecenie automatycznego wyboru technologii
- tylko 4G (LTE) - do modemu wysyłane jest polecenie wyboru wyłącznie technologii 4G
- tylko 3G (HSPA/UMTS) - do modemu wysyłane jest polecenie wyboru wyłącznie technologii 3G
- tylko 2G (EDGE/GSM) - do modemu wysyłane jest polecenie wyboru wyłącznie technologii 2G
Nie każdy typ modemu pozwala na przełączenie rodzaju technologii. Niektóre modemy mogą wymagać restartu urządzenia po zmianie technologii.

Dla niektórych typów połączenia możliwe jest ustawienie innych serwerów DNS - własnych lub wybranie jednego z dostawców. W chwili obecnej dostępne są następujące predefiniowane serwisy:
- AdGuard DNS Default/Family protection
- Comodo Secure DNS
- Cloudflare
- Google
- OpenDNS /FamilyShield
- Quad 9
- Yandex.DNS Basic/Safe/Family
Wybranie jednego z w/w serwerów może wiązać się z automatycznym blokowaniem niektórych domen.

Jeżeli został zainstalowany pakiet stubby to na liście pojawi się dodatkowa opcja do wyboru - DNS over TLS, szyfrowane połączenia z DNS (domyślnie Cloudflare).

W przypadku wybrania konkretnego typu połączenia istnieje możliwość określenia adresu urządzenia w strefie DMZ (na którego zostaną przekierowane wszystkie porty wejściowe). Dla połączeń internetowych z wykorzystaniem modemu USB wymagane jest wykupienie odpowiedniej usługi w planie abonamentowym aby działało przekierowanie portów.



Sieć lokalna

Adresacja wewnętrzna urządzenia, możliwość włączenia/wyłączenia serwera DHCP w sieci lokalnej (wykorzystywanego do przydzielania adresów IP dla połączonych klientów), przechwytywanie zapytań DNS oraz włączenie logowania zapytań DNS (patrz zakładkę "Zapytania DNS").



Włączenie opcji "Przechwytywanie zapytań DNS" powoduje przekierowanie całego ruchu DNS na router.

W przypadku gdy urządzenie ma fizyczny port ethernet oznaczony jako "WAN" oraz został wybrany typ połączenia z internetem który nie wykorzystuje połączenia kablowego, pojawia się dodatkowa opcja pozwalająca na zastosowanie go jako dodatkowego portu sieci lokalnej.



Zamiana adresu IP nie powoduje automatycznej zmiany statycznych adresów IP klientów.

Wi-Fi

Daje możliwość włączenia Wi-Fi, ustawienia mocy nadawania, nazwy sieci, kanału, sposobu zabezpieczenia sieci oraz włączenia izolacji klientów bezprzewodowych. Ilość sekcji uzależniona jest od ilości wykrytych interfejsów; dla routerów dwupasmowych wyświetlane są sekcje dla obu pasm. Obsługiwany jest tylko tryb AP.



Wybranie kanału na "automatyczny" uniemożliwia ustawienie mocy nadawania.

System

Daje możliwość zmiany hasła oraz ustawienia nazwy systemu.



Dodatkowo, jeżeli został zainstalowany pakiet ekooneplstat, pojawia się możliwości włączenia wysyłania statystyki oraz link do jego podglądu dla danego routera.



Dla niektórych modeli routerów można także zdefiniować akcję wykonywaną po naciśnięciu fizycznego przycisku na obudowie. Dostępne są następujące akcje:
- włącz/wyłącz diody LED: umożliwia włączenie lub wyłączenie diod LED (o ile router posiada możliwość sterowania diodami)
- włącz/wyłącz Wi-Fi: umożliwia włączenie lub wyłączenie interfejsów radiowych (o ile router takie posiada)
- włącz/wyłącz VPN: umożliwia włączenie lub wyłączenie tunelu VPN (o ile zainstalowane są dodatkowe pakiety oraz skonfigurowane jest połączenie z serwerem VPN)



Zakładka "System"

Modem

W przypadku wybrania połączenia z internetem typu "Modem USB (RAS)", "Modem USB (QMI)" lub "Modem USB (NCM)" możliwe jest odczytanie parametrów modemu: producent, model, wersja modemu (lub oprogramowania, zależy od modemu), numer IMEI modemu oraz numer karty SIM (ICCID).



Wybranie linku "polecenia AT" pozwala na wysyłanie poleceń do modemu:



System

Podstawowe informacje o systemie: model routera, wersja oprogramowania systemowego oraz możliwość zrestartowania urządzenia.



Interfejs użytkownika

Wersja GUI (easyconfig) oraz możliwość włączenia trybu ciemnego.



Tryb ciemny ustawiany jest tylko dla określonej przeglądarki.

Aktualizacja

Dla obrazów MiFi dostępna jest także opcja sprawdzenia online dostępności nowej wersji i aktualizacji oprogramowania.



Pomoc

Zakładka zawiera linki do poniższego opisu oraz forum tej witryny.

Pozostałe zakładki

Monitor połączenia

Tester połączenia bazujący na metodzie badania pingów do podanego adresu. Należy podać opóźnienie po starcie systemu przed uruchomieniem monitora, adres IP lub nazwę domenową urządzenia które ma być monitorowane, okres sprawdzania, liczbę nieudanych sprawdzeń przed wykonaniem akcji oraz wykonywaną akcję w przypadku problemów z połączeniem. Monitor połączenia może być aktywowany tylko jeżeli ustawione jest połączenie z internetem.



Monitor cyklicznie (co podany "Okres sprawdzenia" w przedziałach minutowych) robi kilka pingów do adresu określonego w polu "Adres lub nazwa". Jeżeli nie będzie odpowiedzi z tego adresu i powtórzyło się to tyle razy ile mamy określone w polu "Liczba nieudanych sprawdzeń" to nastąpi wykonanie czynności podanej w polu "Akcja" - ponownie nawiązanie połączenia z internetem lub restart całego urządzenia. Zaleca się użycie adresu domenowego zamiast adresu IP - gdyż umożliwia to także monitorowanie poprawności działania dnsów. Pole "Opóźnienie na starcie systemu" określa po jakim czasie zaczyna działać monitor połączenia - przydatne jeżeli nawiązanie połączenia z internetem wymaga dłuższego okresu czasu.

Przykłady ustawień:

  • chcemy monitorować co minutę dostępność połączenia internetowego i resetować urządzenie natychmiast jeżeli nie ma tego połączenia. Ustawiamy:
- "Opóźnienie przy starcie systemu": 3
- "Adres lub nazwa": google.com
- "Okres sprawdzania": 1
- "Liczba nieudanych sprawdzeń": 1
- "Akcja": "Ponowne uruchomienie urządzenia"
W tym przypadku pingowany jest adres "google.com" co minutę. Jeżeli nie będzie odpowiedzi od google to nastąpi restart całego urządzenia.


  • mamy słabe łącze komórkowe które często "przerywa" pingi i chcemy wznowić połączenie jeżeli nie ma dostępu do internetu przez co najmniej 10 minut. Ustawiamy:
- "Opóźnienie przy starcie systemu": 3
- "Adres lub nazwa": google.com
- "Okres sprawdzania": 1
- "Liczba nieudanych sprawdzeń": 10
- "Akcja": "Restart połączenia z internetem"
W tym przypadku pingowany jest adres "google.com" co minutę. Jeżeli nie będzie odpowiedzi od google przez 10 kolejnych sprawdzeń to nastąpi próba ponownego nawiązania połączenia z internetem.

Sieci Wi-Fi

Pozwala na wyświetlenie listy dostępnych sieci bezprzewodowych; wynik skanowania można posortować po kilku parametrach oraz przefiltrować wg pasma.



Skan sieci wykonywany jest na wszystkich dostępnych interfejsach bezprzewodowych. Pokazywane są sieci Wi-Fi widoczne w ciągu ostatnich 3 minut. Moduł wykrywa inne AP o takiej samej nazwie jaka jest ustawiona w systemie i wyświetla stosowane ostrzeżenie.



Lista sieci Wi-Fi wykorzystywana jest także do pokazania wykresów prezentujących sieci na kanałach radiowych.



Czerwony numer kanału oznacza aktualnie wykorzystywany kanał. W niektórych przypadkach (ustawienie wybrania kanału automatycznie, kanał z DFS) może być niemożliwe wykonanie skanowania sieci. Dla sieci 5 GHz wykres podzielony jest na zakresy kanałów 36 - 64, 100 - 144 oraz 149 - 173.

Klienci

Podaje informacje o połączonych klientach bezprzewodowych, przybliżoną ilość danych wysłanych i pobranych w ramach bieżącego połączenia oraz procentowy udział w ruchu, który wyliczany jest na podstawie sumy transferów aktualnie połączonych klientów bezprzewodowych.



Klikając na nazwę urządzenia można zmienić jego nazwę na bardziej czytelną (np. z android-72e5ac2b2e022bdf na tablet służbowy - zmieniany jest tylko opis, nie nazwa hosta w sieci).

Dostępne jest także menu "akcje" zawierające pozycje:
- "informacje" wyświetla dodatkowe dane związane z połączonym klientem.



Obok siły sygnału wyświetlana jest teoretyczna odległość klienta od routera (w metrach).

- "zmiana nazwy" wykonuje to samo co kliknięcie na nazwę urządzenia - pozwala na jego zmianę.
- "blokady" umożliwia zablokowanie dostępu do internetu dla wskazanego klienta. Blokada zakładana jest na podstawie adresu MAC urządzenia, może być stała lub uzależniona czasowo.



- "limity" służy do ustawienia limitów pobierania i wysyłania dla danego klienta (opcja zależna od instalacji dodatkowych komponentów). Ustawienie limitu powoduje także ustawienie statycznego adresu IP.



- "statyczny adres IP" wymusza ustawienie adresu IP dla danego klienta. Usunięcie statycznego adresu powoduje usunięcie limitów dla danego adresu IP (o ile były ustawione).



Easyconfig nie sprawdza czy dany adres nie został już przypisany do innego klienta, co umożliwia przypisanie tego samego adresu IP do różnych kart sieciowych.

Zakładka zawiera także informacje o połączeniach i rozłączeniach klientów. Dane pobierane są z logu systemowego i wyświetlane są od uruchomienia routera.



Log może zawierać błędne czasy połączenia klientów jeżeli router nie ma zsynchronizowanego czasu. Wskazanie myszką na nazwę zdarzenia wyświetli pasmo i nazwę sieci Wi-Fi w której dane zdarzenie nastąpiło. Wpisy dzielone są po 10 pozycji; odpowiednie odnośniki na dole spisu umożliwiają przełączanie się pomiędzy zestawami logów.

Zapytania DNS

Wyświetla listę domen (nie kompletnych adresów URL!) o które został odpytany serwer nazw. Wyświetlane tylko jeżeli została włączona opcja "Logowanie zapytań DNS" w sekcji "Sieć lokalna" zakładki "Ustawienia". Dane pobierane są z logu systemowego.



Wskazanie domeny wyświetla menu, z którego możliwe jest przeniesienie domeny do własnej listy (o ile dostępna jest "Blokada domen" - wymagane jest dalsze potwierdzenie przez użytkownika). Jeżeli nazwa domeny jest niewłaściwa, nie ma takiej domeny lub jest ona zablokowana przez adblocka to jest ona wyświetlana na szaro.

Zakładka prezentuje dwa liczniki - liczbę zapytań oraz liczbę zapytań o nieistniejące (lub zablokowane) domeny oraz procentowy współczynnik zapytań.

Transfer

Liczniki transferu łącznego z i do internetu.



Wyświetlane są następujące podsumowania:
- ilość przetransferowanych danych w bieżącym dniu
- ilość przetransferowanych danych w poprzednim dniu
- ilość przetransferowanych danych w ciągu ostatnich 7 dni (bez dnia bieżącego)
- ilość przetransferowanych danych w ciągu ostatnich 30 dni (bez dnia bieżącego)
- łączna ilość przetransferowanych danych
- ilość przetransferowanych danych w bieżącym okresie rozliczeniowym (łącznie z dniem rozpoczęcia okresu oraz dniem bieżącym)
- ilość dni pozostałych do końca okresu rozliczeniowego
- ilość przetransferowanych danych w poprzednim okresie rozliczeniowym

Kliknięcie na dane z dnia bieżącego pokazuje podział na dane wysłane i pobrane.

Ustawienia obejmują możliwość włączenia/wyłączenia zbierania statystyk transferu, ustawienia okresu co jaki czas dane będą zapisywane do pamięci routera oraz możliwość wyboru początku dnia okresu rozliczeniowego.



Wyliczenia transferu mogą różnić się od wskazań operatora.
Wyłączenie urządzenia może powodować utratę bieżących danych.
Dane odczytywane są raz na minutę z interfejsu wan. Przechowywane są w pamięci ram a co określony czas są kompresowane i kopiowane do pamięci flash routera. Zbyt częste zapisywanie danych może prowadzić do nadmiernego zużycia pamięci flash routera.

Możliwe jest także włączenie ostrzeżenia na dzień lub cały okres rozliczeniowy. Przekroczenie ustawionego limitu sygnalizowane jest czerwonym napisem w danym podsumowaniu transferu.



Włączenie ostrzeżenia powoduje wyświetlenie paska postępu zużycia transferu.



Kliknięcie na dane z dnia bieżącego powoduje wyświetlenie okna z podziałem na dane wysłane i pobrane.

USSD / SMS

(opcja zależna od instalacji dodatkowych komponentów)
Zakładka wyświetlana jest tylko jeżeli jest zainstalowany pakiet sms-tool oraz w przypadku wybrania połączenia internetowego "Modem USB" typu "RAS", "QMI" lub "NCM". Pozwala na:
- wysłanie kodu USSD i odczyt wyniku
- wysłanie wiadomości SMS
- usunięcie wybranej wiadomości



- odczyt wiadomości SMS



Numer telefonu w wysyłanej wiadomości SMS musi być poprzedzony prefiksem kraju (dla Polski: 48), bez znaku "+". Jeżeli numer jest 5, 4 lub 3 znakowy to jest on traktowany jako "krótki" i nie należy go poprzedzać prefiksem kraju. Tekst wiadomości nie może być dłuższy niż 80 do 160 znaków (zależy od używanych znaków specjalnych). Z powodu ograniczeń zastosowanego narzędzia do wysyłania SMSów polskie znaki narodowe są zamieniane na ich odpowiedniki ASCII. Można wysłać wiadomość tylko do jednego odbiorcy na raz. Usługa działa tylko z modemami wyposażonymi w interfejs szeregowy (nie Hilink). Lista kodów USSD wyświetlania jest tylko w przypadku jej zdefiniowana przez użytkownika.

VPN

(opcja zależna od instalacji dodatkowych komponentów)

Umożliwia połączenie routera jako klient ze zdalnym serwerem VPN wykorzystując protokół pptp.

Do działania wymagana jest instalacja dodatkowego pakietu ppp-mod-pptp. Zakładka umożliwia sprawdzenie statusu połączenia, włączenie lub wyłączenie połączenia oraz konfigurację niezbędnych parametrów: aktywację tunelu po starcie routera, nazwę serwera vpn, nazwę użytkownika oraz hasło, szyfrowanie MPPE. Zapisane parametry można później można wybrać z listy, co umożliwia zdefiniowane wielu profili. Zapisanie powoduje aktualizację danych w profilu o danej nazwie lub utworzenie nowego oraz ustawienie go domyślnym.
Możliwe jest także ręcznie włączenie i wyłączenie tunelu.




Opcja "LED wskazująca połączenie" umożliwia wybór jednej z dostępnych diod LED jako wskaźnika nawiązania połączenia z serwerem VPN (opcja wspólna dla wszystkich profili).

Kliknięcie na adres IP umożliwia wyświetlenie przybliżonej lokalizacji połączania wykorzystując bazę IP Geolocation API, dzięki czemu można sprawdzić w jakim kraju wychodzimy z serwera VPN. Jeżeli nie jest możliwe sprawdzenie lokalizacji i używana jest blokada domen to należy dodać domenę ip-api.com do białej listy.



Blokada domen

(opcja zależna od instalacji dodatkowych komponentów)
Wymagana jest instalacja pakietu adblock. Umożliwia realizację blokady domen (nie adresów URL!), czyli adblocka o ile router używany jest jako podstawowy serwer DNS. Zakładka umożliwia włączenie blokowania, wymuszenie przekierowania DNSów oraz włączenie/wyłączenie źródeł zdefiniowanych w konfiguracji programu adblock.




Możliwe jest także sprawdzenie domeny czy jest blokowana oraz dodawanie do własnej listy blokowanych lub dozwolonych domen.



Tryb nocny

Zawiera przyciski pozwalające na tymczasowe włączenie i wyłączenie Wi-Fi oraz diod LED.



Wyłączenie/włączenie jest tymczasowe, nie jest to zapisywane na stałe w systemie. Restart urządzenia lub zapis konfiguracji może przywrócić poprzednie ustawienia.

Dodatkowo (opcja zależna od instalacji dodatkowych komponentów) po instalacji pakietu sunwait możliwe jest automatyczne włączenie/wyłączenie diod LED wraz ze wschodem i zachodem słońca.



Przycisk "Sprawdź" umożliwia pobranie lokalizacji operatora połączenia wykorzystując bazę IP Geolocation API. Jeżeli lokalizacja nie jest prawidłowa, należy ręcznie wprowadzić poprawne koordynaty.

Instalacja pakietu

Dostępne są gotowe obrazy MiFi dla wybranych modeli routerów zawierające m.in pakiet easyconfig. Link do pobrania obrazów: https://dl.eko.one.pl/mifi/

Sam pakiet dostępny jest w moim repozytorium OpenWrt. Wymagane jest ok 350KB wolnej przestrzeni flash oraz miejsce na niezbędne zależności jeżeli nie ma ich jeszcze w systemie. Instalację wykonuje się przez ssh po podłączeniu do routera (patrz faq).
Instalacja (jeżeli używane są moje obrazy OpenWrt 18.06 lub OpenWrt 19.07):


    # opkg update
    # opkg install easyconfig

Dla innych obrazów pakiet i jego zależności można pobrać i zainstalować ręcznie.
Pliki instalowane są m.in. w katalogach /www oraz /www/easyconfig. Do działania niezbędny jest także serwer uhttpd (jeżeli nie został zainstalowany wcześniej):


    # opkg install uhttpd
    # /etc/init.d/uhttpd enable

Należy upewnić się, że w konfiguracji serwera uhttpd znajduje się opcja ubus_prefix oraz że serwer udostępnia pliki z katalogu /www, np:


    # uci set uhttpd.main.ubus_prefix=/ubus
    # uci set uhttpd.main.home='/www'
    # uci commit uhttpd

przy założeniu że udostępnianiem stron www zajmuje się demon z sekcji main. Po instalacji należy zrestartować odpowiednie programy systemowe:


    # /etc/init.d/rpcd restart
    # /etc/init.d/uhttpd restart

Do obsługi modemów USB potrzebne są odpowiednie sterowniki:


    # opkg install chat comgt-ncm comgt uqmi usb-modeswitch
    # opkg install kmod-usb-net-cdc-ether kmod-usb-net-cdc-ncm kmod-usb-net-huawei-cdc-ncm
    # opkg install kmod-usb-net-qmi-wwan kmod-usb-net-sierrawireless kmod-usb-net-rndis
    # opkg install kmod-usb-serial-wwan kmod-usb-serial
    # opkg install kmod-usb-serial-option kmod-usb-serial-qualcomm kmod-usb-serial-sierrawireless

Jeżeli używany jest tylko jeden modem to można zainstalować tylko pakiety niezbędne do obsługi tego modemu.
Do obsługi kodów USSD i wiadomości SMS niezbędny jest pakiet sms-tool:


    # opkg install sms-tool

Do obsługi statystyk routera niezbędny jest pakiet ekooneplstat:


    # opkg install ekooneplstat

Do obsługi klienta VPN PPTP niezbędny jest pakiet ppp-mod-pptp:


    # opkg install ppp-mod-pptp kmod-nf-nathelper-extra
    # echo "net.netfilter.nf_conntrack_helper = 1" >> /etc/sysctl.d/local.conf

Do obsługi blokowania domen niezbędny jest pakiet adblock oraz jedno narzędzi umożliwiających pobieranie ze źródeł https, np. pełna wersja wget, curl lub biblioteka libustream dla ufetch-client:


    # opkg install adblock libustream-mbedtls ca-bundle
    # /etc/init.d/adblock enable

Do obsługi limitowania transferu klientów niezbędny jest pakiet nft-qos


    # opkg install nft-qos
    # /etc/init.d/nft-qos enable

Pakiet ten dostępny jest tylko moim repozytorium OpenWrt 18.06 lub w wydaniu OpenWrt 19.07 i późniejszym.
Do obsługi szyfrowania połączenia DNS (DNS over TLS) niezbędny jest pakiet stubby


    # opkg install stubby
    # /etc/init.d/stubby enable

Do obsługi automatycznego włączania/wyłączania LED niezbędny jest pakiet sunwait


    # opkg install sunwait

Pakiet ten dostępny jest tylko moim repozytorium OpenWrt 18.06 lub OpenWrt 19.07.
Do obsługi szyfrowania WPA3 Personal wymagany jest pakiet wpad-openssl (lub inny zawierający obsługę SAE)


    # opkg install wpad-openssl


Dane ze statystykami transferu przechowywane są w pliku /usr/lib/easyconfig/easyconfig_traffic.txt.gz.

Ustawienia

Większość z ustawień własnych easyconfig zawarta jest w pliku /etc/config/easyconfig. Niektóre z nich nie są dostępne do ustawienia z gui i modyfikują zachowanie dodatkowych programów współpracujących z easyconfig.

Odczyt danych z modemu

Odczytem parametrów pracy modemu zajmuje się program 3ginfo-lite będący częścią projektu 3ginfo. Jeżeli używamy modemu obsługiwanego przez protokół QMI możliwe jest wymuszenie odczytu parametrów korzystając z programu uqmi. Wykonuje się to poleceniem:


    # uci set easyconfig.modem.force_qmi='1'

Niektóre modemy źle wyświetlają nazwę operatora. Aby wymusić odczyt operatora z danych programu 3ginfo-lite należy użyć polecenia:


    # uci set easyconfig.modem.force_plmn='1'

Interfejs szeregowy z którego odczytywane są dane jest wykrywany automatycznie przez wspomniany program 3ginfo-lite. Jest on także używany do wysyłania kodów USSD i obsługi wiadomości SMS. Jeżeli z jakiegoś powodu istnieje potrzeba zmiany interfejsu (mamy inne modemy, automatyczna detekcja nie zadziałała lub modem ma kilka interfejsów i chcemy użyć innego) można to wymusić poleceniem:


    # uci set 3ginfo.@3ginfo[0].device=/dev/ttyUSB1

Podając konkretny interfejs dostępny w systemie.
Po zmianie parametrów należy zapisać zmiany:


    # uci commit

USSD

W zależności od zastosowanego modemu USB może zaistnieć potrzeba wymuszenia wysyłania kodów USSD czystym tekstem lub odbieranie wyników bez dekodowania PDU. Decydują o tym dwie opcje.


    # uci set easyconfig.ussd.raw_input='1'

Wymusza wysyłanie kodu USSD do modemu czystym tekstem bez przekodowywania na format PDU.


    # uci set easyconfig.ussd.raw_output='1'

Wymusza wyświetlanie wyniku w postaci jakiej został odebrany z modemu, bez dekodowania z formatu PDU.

Easyconfig potrafi wyświetlić listę kodów zdefiniowanych przez użytkownika. Listę tworzy się poleceniami:


    # uci add easyconfig ussd
    # uci set easyconfig.@ussd[-1].code='*101#'
    # uci set easyconfig.@ussd[-1].description='Play - Stan konta'
    # uci add easyconfig ussd
    # uci set easyconfig.@ussd[-1].code='*121#'
    # uci set easyconfig.@ussd[-1].description='Play - Sprawdź swój numer'
    # itd.

Po zmianie parametrów należy zapisać zmiany:


    # uci commit

SMS

Zmiana domyślnego obszaru odczytu wiadomości SMS możliwa jest poleceniem:


    # uci set easyconfig.sms.storage='SM'

gdzie zwykle 'SM' - to karta SIM, 'ME' - modem USB. Easyconfig nie wymusza żadnego obszaru pamięci i domyślnie używany jest ten wskazany przez modem.
Po zmianie parametrów należy zapisać zmiany:


    # uci commit

Producenci

Easyconfig potrafi wyświetlić producenta (vendora) sprzętu na podstawie adresu mac (dotyczy danych wyświetlanych w zakładkach "Sieci Wi-Fi" oraz "Klienci") korzystając z odpowiedniego pliku. Jednakże nie jest on domyślnie dołączony do pakietu z powodu jego wielkości (prawie 1MB). Jeżeli w routerze zostało dużo wolnej pamięci flash to można pobrać właściwy plik poleceniami:


    # opkg update
    # opkg install libustream-mbedtls
    # rm /www/easyconfig/manuf.js
    # wget https://raw.githubusercontent.com/obsy/packages/master/easyconfig/addon/manuf.js -O /www/easyconfig/manuf.js
    # opkg remove libustream-mbedtls # opcjonalnie

Następnie należy odświeżyć stronę w przeglądarce.

Serwery DNS

Lista predefiniowanych serwerów DNS zawarta jest w pliku /www/easyconfig/dns.js. Jeżeli ktoś ma potrzebę może samodzielnie zmodyfikować plik i dodać własne serwery.

Ograniczenia

Easyconfig nie obsługuje wszystkich możliwych ustawień, konfiguracji i dowolności nazw w systemie. Zakłada istnienie:
- sekcji o nazwie "lan" która dotyczy sieci lokalnej
- sekcji o nazwie "wan" która dotyczy połączenia z internetem
- obsługiwany jest tylko tryb AP sieci bezprzewodowej (o ile w ogóle wifi jest dostępne) dla sieci "lan"
- obsługiwane są maksymalnie dwa fizyczne interfejsy bezprzewodowe, może to być sieć 2.4GHz i/lub 5GHz w dowolnej kombinacji
- obsługiwana jest tylko jedna sekcja konfiguracyjna sieci Wi-Fi (bez VAP)
- możliwe jest ustawienie szyfrowania Wi-Fi tylko WPA Personal, WPA2 Personal lub WPA3 Personal
- samodzielnie wykrywa modemy USB i typy połączenia ale wymaga ręcznego wybrania odpowiedniego interfejsu

Easyconfig korzysta z logu systemowego (logread) do wyświetlania danych o zapytaniach DNS oraz logowaniach klientów. Mały rozmiar logu i duży ruch w sieci może powodować stopniowe zanikanie wyświetlanych informacji.

Historia zmian

  • Wersja rozwojowa
- poprawa wyświetlania wykresów Wi-Fi
- poprawa wyświetlania szczegółów podłączonego klienta bezprzewodowego
- dodanie możliwości kopiowania parametrów z pierwszej sieci Wi-Fi
- dodanie wsparcia dla nowej wersji pakietu adblock
- dodanie wykresu szybkości bieżącego połączenia z internetem

  • Wersja 20200207
- dodanie możliwości filtrowania sieci Wi-Fi wg pasma za zakładce "Sieci Wi-Fi"
- weryfikacja długości nazwy sieci Wi-Fi
- wyświetlanie wszystkich zajmowanych kanałów Wi-Fi na zakładce "Status"

  • Wersja 20200108
- wyświetlanie numeru standardu Wi-Fi na zakładce "Sieci Wi-Fi"
- możliwość włączenia trybu ciemnego interfejsu
- stronicowanie logów klientów
- zastąpienie wykresu zajętości kanałów Wi-Fi wykresem sieci
- możliwość ustawienia kanału na "automatyczny"
- wyświetlanie szybkości bieżącego połączenia z internetem

  • Wersja 20191214
- dodanie listy dla maski sieci
- dodanie liczników do "Zapytania DNS"
- poprawki projektu

  • Wersja 20191010
- dodanie białej listy do zakładki blokady domen
- naprawa obsługi pakietu stubby (DNS over TLS)

  • Wersja 20190907
- wyświetlanie komunikatu przed wykonaniem restartu urządzenia
- dodanie obsługi szyfrowania WPA3 Personal
- różne optymalizacje projektu

  • Wersja 20190821
- dodanie akcji sterowania LED dla przycisku na obudowie
- różne optymalizacje projektu

  • Wersja 20190705
- możliwość zdefiniowania różnych akcji po naciśnięciu fizycznego przycisku na obudowie (dostępne dla niektórych modeli routerów)
- możliwość zdefiniowania wielu różnych profili VPN

  • Wersja 20190619
- zmiany kosmetycznie kodu

  • Wersja 20190613
- wskazanie myszką zdarzenia w logach klienta powoduje wyświetlenie informacji o paśmie i nazwie sieci w której dane zdarzenie nastąpiło
- dodanie możliwości wysyłania poleceń AT do modemu (System -> polecenia AT)
- dodanie obsługi pakietu stubby (DNS over TLS)
- dodanie przycisków do włączenie/wyłączenia Wi-Fi oraz diod LED (tryb nocny)
- dodanie automatycznego włączenia/wyłączenia LED bazując na wschodzie/zachodzie słońca (wymaga instalacji pakietu sunwait)
- dodanie ikon do pozycji w menu oraz niektórych akcji

  • Wersja 20190429
- dodanie możliwości blokady czasowej klienta

  • Wersja 20190418
- wyświetlanie listy kodów USSD zdefiniowanych przez użytkownika
- wyświetlanie ostrzeżenia przy standardowym haśle do routera
- lista logów połączeń klientów ograniczona tylko do klientów bezprzewodowych
- poprawa skanowania sieci Wi-Fi
- wykres zajętości kanałów Wi-Fi pokazuje faktycznie zajęte kanały bazując na szerokości kanałów
- dekodowanie nazw UTF-8 w liście sieci Wi-Fi

  • Wersja 20190131
- możliwość ustawienia mocy nadawania dla Wi-Fi
- możliwość przeniesienia domeny z "Zapytań DNS" do własnej listy blokowanych domen
- utworzenie menu klienta z dodatkowymi opcjami
- wyświetlanie teoretycznej odległości klienta Wi-Fi w metrach w informacjach o kliencie
- możliwość ustawienia limitu wysyłania i pobierania dla danego klienta
- możliwość ustawienia statycznego adresu IP

  • Wersja 20181122
- dodanie linku do serwisu BTSearch z możliwością wyszukania lokalizacji stacji bazowej
- dodanie listy wznowień podłączenia z internetem.
- zmiana sposobu blokowania klienta

  • Wersja 20181017
- dodanie możliwości wyboru diody LED jako wskaźnika połączenia VPN
- lista połączeń klientów bezprzewodowych wyświetlania jest od uruchomienia routera
- wyświetlanie aktywności VPN na stronie statusu

  • Wersja 20180818
- zmiany w sposobie odczytu SMS

  • Wersja 20180717
- wyświetlanie informacji o nieistniejących lub blokowanych domenach na zakładnie "Blokowanie domen"

  • Wersja 20180704
- dodanie możliwości połączenia fizycznego portu WAN do sieci lokalnej po wybraniu określonych typów połączeń z internetem
- dodanie możliwości blokowania domen (zakładka "Blokowanie domen")

  • Wersja 20180611
- dodanie wyświetlanie informacji o modelu modemu, wersji, numerze IMEI oraz numerze karty SIM (ICCID)
- dodanie klienta pptp (zakładka "VPN pptp").
- dodanie lokalizacji połączenia z wykorzystaniem Geolocation API
- zmiany kosmetycznie w wyglądzie interfejsu

  • Wersja 20180419
- dodanie wyświetlania ilości danych wysłanych i pobranych dla dnia bieżącego na zakładce "Transfer"
- dodatkowe DNSy do wyboru: Cloudflare, Yandex

  • Wersja 20180315
- przeniesienie nazw urządzeń z /etc/config/dhcp do /etc/config/easyconfig
- usunięcie problemu z odczytywaniem danych statystycznych z interfejsu wan
- dodanie informacji o ilości pozostałych dni w okresie rozliczeniowym na zakładce "Transfer"
- dodanie możliwości aktualizacji systemu na zakładce "System" (opcja dostępna tylko dla obrazów MiFi)

  • Wersja 20180209
- dodanie listy predefiniowanych serwerów DNS
- dodanie możliwości wyboru typu technologi połączenia dla modemów w trybie RAS, QMI lub NCM
- kilka zmian w wyglądzie gui

  • Wersja 20171230
- zachowanie innych opcji sekcji wan podczas zapisu konfiguracji

  • Wersja 20171228
- dodano opcję wymuszenia używania routera jako serwera DNS
- dodano opcję wymuszenia wyświetlania nazwy operatora sieci komórkowej z pliku zamiast danych dostarczonych przez modem
- zmiana nazwy opcji use_uqmi na force_qmi
- zwiększenie szybkości odczytu wiadomości SMS
- poprawki w odczycie komunikatów USSD

  • Wersja 20171206
- dodano link do GUI modemu dla modemów typu Huawei HiLink
- zmiana precyzji wyświetlania jednostek GiB i TiB
- wyświetlanie bieżącego adresu IP połączenia z internetem w zakładce statusu
- wyświetlanie dodatkowych informacji o podłączonym kliencie - poziom sygnału, czas połączenia
- zapis danych o transferze (o ile jest włączony) przy restartowaniu routera przyciskiem z GUI
- różne optymalizacje interfejsu
- (opcjonalnie) wyświetlanie producentów sprzętu na zakładkach "Sieci Wi-Fi" oraz "Klienci"

  • Wersja 20171110
- ukrywanie sekcji powiązanych z Wi-Fi dla urządzeń bez interfejsów radiowych
- oznaczanie wrogich AP przy skanowaniu sieci Wi-Fi (sieci o takiej samej nazwie jak ustawiona w systemie)
- zmiana organizacji kolumn dla małych ekranów na zakładce "Zapytania DNS"
- dodanie wyświetlania czasu systemowego na zakładce statusu

  • Wersja 20171023
- dodanie licznika wznowień połączenia z internetem

  • Wersja 20170927
- dodanie historii bieżących połączeń klientów do Wi-Fi
- dodanie automatycznego wykrywania typu połączenia z internetem

  • Wersja 20170914
- słupkowy wskaźnik sygnału modemu USB
- inny sposób wyświetlania wskaźnika zużycia transferu
- pokazanie procentowego udziału w ruchu klientów bezprzewodowych
- wykres zajętości kanałów przy skanowaniu sieci Wi-Fi
- wyświetlanie większej ilości informacji o skanowanych sieciach Wi-Fi

  • Wersja 20170831
- automatycznie wylogowanie po przekroczeniu czasu sesji
- dodanie wskaźnika postępu zużycia transferu

  • Wersja 20170825
- wyświetlanie listy sieci Wi-Fi widocznych przez ostatnie 3 minuty
- dodanie liczby nieudanych sprawdzeń przed wykonaniem akcji do monitora połączenia
- naprawa błędu przy ustawieniu wanu jako "Statyczny IP"

  • Wersja 20170818
- dodanie zakładki "USSD / SMS"
- dodanie linku do podglądu statystyk routera
- dodanie przełącznika "Logowanie zapytań DNS"
- odczyt informacji przez uqmi jest opcjonalny i sterowany przez opcję konfiguracyjną

  • Wersja 20170809
- możliwość ustawienia ostrzeżenia o przekroczeniu limitu transferu na dzień lub okres rozliczeniowy
- możliwość włączenia statystyk eko.one.pl (o ile zainstalowany jest odpowiedni pakiet)

  • Wersja 20170720
- dodanie informacji o statusie karty SIM (połączenie do sieci operatora)
- naprawa działania na wbudowanych przeglądarkach w starszych wersjach Androida
- obsługa tylko pierwszego interfejsu radiowego związanego z siecią lokalną
- dla typu połączenia QMI odczytywanie informacji o modemie przez protokół qmi
- różne poprawki i usprawnienia projektu

  • Wersja 20170531
- inny ekran logowania (wymagane tylko hasło)
- dodanie opcji izolacji klientów bezprzewodowych
- wyświetlanie większej ilości informacji o kliencie przy oknie blokowania
- dodanie liczników transferu - zakładka "Transfer"

  • Wersja 20170407
- zmiany kosmetyczne kodu

  • Wersja 20170401
- dodanie zakładki "Zapytania DNS"

  • Wersja 20170326
- dodanie możliwości blokowania klienta bezprzewodowego
- dodanie możliwości zmiany nazwy klienta bezprzewodowego

  • Wersja 20170317
- dodanie listy klientów bezprzewodowych - zakładka "Klienci"
- możliwość wyświetlenia wprowadzonych haseł

  • Wersja 20170308
- dodanie menu wysuwanego z lewej strony ekranu
- dodanie zakładki "System" z opcją restartu urządzenia
- dodanie zakładki "Monitor podłączenia"
- dodanie zakładki "Sieci Wi-Fi"
- dodanie możliwości ustawienia hosta DMZ przy aktywnym połączeniu internetowym

  • Wersja 20170212
- pierwsza wersja dostępna publicznie