Skrypt w Bashu do tworzenia voucherów hotspotowych za pomocą API kontrolera UniFi. Rezultat to plik vouchers.html gotowy do wydruku, w pełni konfigurowalny przez arkusz style.css.
- Dostęp do kontrolera UniFi (adres URL, użytkownik i hasło z uprawnieniami do tworzenia voucherów).
- Środowisko zgodne z POSIX (Linux/macOS) z dostępem do poleceń
curl,awkised. - Możliwość nawiązania połączenia HTTPS z kontrolerem z maszyny uruchamiającej skrypt.
- Sklonuj repozytorium:
git clone https://github.com/davidmaitland/unifi-voucher-generator.git cd unifi-voucher-generator - Uzupełnij dane dostępowe do kontrolera w pliku
unifi-api.shlub przez zmienne środowiskowe w plikuunifi_sh_env(domyślnie wczytywany podczas startu):export username="twoj_uzytkownik" export password="twoje_haslo" export baseurl="https://adres_kontrolera:8443" export site="default"
Plik gen.sh zawiera podstawowe ustawienia voucherów i treści na wydruku:
time– ważność vouchera w minutach (np.60).amount– liczba generowanych kodów (np.15).note– dodatkowa notatka zapisywana w kontrolerze.line1,line2– tekst nagłówków na wydruku, można je dowolnie zmienić.
Możesz też dostosować wygląd drukowanych voucherów edytując arkusz style.css.
- Upewnij się, że pliki
gen.shorazunifi-api.shsą wykonywalne:chmod +x gen.sh unifi-api.sh
- Uruchom generator:
./gen.sh
- Wygenerowany plik
vouchers.htmlotwórz w przeglądarce i wydrukuj. Plik tymczasowyvouchers.tmpjest usuwany po zakończeniu pracy.
- Arkusz CSS znajduje się w
style.cssi definiuje układ, kolory oraz marginesy wydruków. - Skrypt tworzy nowe vouchery poprzez komendy API
create-voucheristat/voucher; w logice możesz dodać własne ograniczenia przepustowości, liczbę danych itp. modyfikując funkcjęunifi_create_voucherwunifi-api.sh. - Jeśli korzystasz z samopodpisanego certyfikatu na kontrolerze, skrypt używa opcji
--insecurewcurl, dzięki czemu połączenie zostanie nawiązane mimo braku zaufanego certyfikatu.
Projekt dostępny jest na licencji MIT.