Skip to content

Releases: kprzybys/ksef-cli

ksef v0.1.4

Choose a tag to compare

@github-actions github-actions released this 31 Oct 23:59

Co nowego

macOS. Binarki dla Apple Silicon (osx-arm64) i Intela (osx-x64), macOS 12 lub nowszy. Bez Homebrew i bez pakietów — kryptografia, ICU i libxslt (podgląd show) są w systemie.

v=0.1.4 a=osx-arm64   # Intel: osx-x64
curl -LO https://github.com/kprzybys/ksef-cli/releases/download/v$v/ksef-$v-$a.tar.gz{,.sha256}
shasum -a 256 -c ksef-$v-$a.tar.gz.sha256 && tar -xzf ksef-$v-$a.tar.gz
mkdir -p ~/.local/bin && install -m755 ksef-$v-$a/ksef ~/.local/bin/ksef
  • Binarka nie jest jeszcze notaryzowana przez Apple: pobrana przez curl działa od razu, pobrana przeglądarką zostaje zablokowana (zsh: killed) — wtedy xattr -d com.apple.quarantine ~/.local/bin/ksef.
  • Sesje na macOS w $TMPDIR/ksef/ (prywatny katalog użytkownika).
  • Logowanie kluczem z karty/tokenu (PKCS#11) na razie tylko na Linuksie; na macOS: certyfikat z pliku, token KSeF albo podpis zewnętrzny (--request/--signed, np. Profil Zaufany).

Szczegóły: docs/INSTALL.md#macos.

Podpisany SBOM. Każde archiwum ma listę składników (CycloneDX: biblioteka MF, pakiety NuGet, środowisko .NET wkompilowane w binarkę) z podpisem — skanerem luk (np. grype) sprawdzisz, czy nowa podatność w zależności dotyczy ksef.

gh attestation verify ksef-$v-$a.tar.gz --repo kprzybys/ksef-cli \
  --predicate-type https://cyclonedx.org/bom --bundle ksef-$v-$a.tar.gz.cdx.json.sigstore.json

Projekt

  • Odznaka OpenSSF Best Practices (passing), wynik OpenSSF Scorecard w README.
  • Przegląd zależności w każdym PR; instalator .NET w scripts/install-deps.sh przypięty commitem i skrótem SHA-256.

Na Linuksie program działa tak samo jak w 0.1.3.

Instalacja (Linux)

v=0.1.4 a=linux-x64   # arm64: linux-arm64
curl -LO https://github.com/kprzybys/ksef-cli/releases/download/v$v/ksef-$v-$a.tar.gz{,.sha256,.sigstore.json}
sha256sum -c ksef-$v-$a.tar.gz.sha256 && tar -xzf ksef-$v-$a.tar.gz
install -Dm755 ksef-$v-$a/ksef ~/.local/bin/ksef
gh attestation verify ksef-$v-$a.tar.gz --repo kprzybys/ksef-cli --bundle ksef-$v-$a.tar.gz.sigstore.json

Pełna lista zmian: v0.1.3...v0.1.4

ksef v0.1.3

Choose a tag to compare

@github-actions github-actions released this 31 Oct 11:12

Co nowego

Podpisane binarki. Każde archiwum ma teraz podpis pochodzenia (atestacja SLSA w otwartym standardzie Sigstore) — dowód, że plik zbudował workflow wydań z tego repozytorium, a nie ktoś inny. Plik podpisu ….tar.gz.sigstore.json jest w wydaniu obok archiwum, więc sprawdzenie nie wymaga GitHuba.

v=0.1.3 a=linux-x64   # arm64: linux-arm64
curl -LO https://github.com/kprzybys/ksef-cli/releases/download/v$v/ksef-$v-$a.tar.gz{,.sha256,.sigstore.json}
sha256sum -c ksef-$v-$a.tar.gz.sha256
gh attestation verify ksef-$v-$a.tar.gz --repo kprzybys/ksef-cli --bundle ksef-$v-$a.tar.gz.sigstore.json

Niezależna weryfikacja przez cosign: docs/INSTALL.md.

Projekt

  • Formularze zgłoszeń błędów i propozycji (z ostrzeżeniem, żeby nie wklejać tokenów, faktur ani prawdziwych NIP-ów), CONTRIBUTING.md.
  • Automatyczne aktualizacje zależności (także biblioteki MF), akcje GitHub przypięte do konkretnych wersji, analiza bezpieczeństwa kodu CodeQL.

Program ksef działa tak samo jak w 0.1.2 — zmiany dotyczą sposobu wydawania i weryfikacji.

Instalacja

tar -xzf ksef-$v-$a.tar.gz
install -Dm755 ksef-$v-$a/ksef ~/.local/bin/ksef

Pełna lista zmian: v0.1.2...v0.1.3

ksef v0.1.2

Choose a tag to compare

@github-actions github-actions released this 31 Oct 10:05

Co nowego

send nie gubi numerów już wysłanych faktur przy awariach

  • Gdy po kodzie 21184 nie da się otworzyć nowej sesji: przyjęte faktury są dalej sprawdzane i podawane z numerem KSeF, pozostałe oznaczone „nie wysłano”.
  • Ctrl+C / SIGTERM (np. timeout w cronie): ksef kończy wysyłkę, wypisuje stan każdej faktury (numery referencyjne wysłanych), zamyka sesje i kończy kodem 130.
  • Błąd bramy 408/5xx bez kodu KSeF (np. 504) nie jest już traktowany jak pewne odrzucenie — ksef szuka faktury w sesji po skrócie SHA-256.
  • Faktura, której stanu nie da się ustalić, ma na stderr „STATUS NIEZNANY” z numerem referencyjnym, a w --json pole statusUnknown — przed ponowną wysyłką sprawdź ją, bo może już być wystawiona.

Bezpieczeństwo

  • KSEF_API_URL (adres symulatora w testach) jest przyjmowany tylko na tym komputerze — zapomniana albo podstawiona zmienna nie wyśle tokenu ani faktur na obcy serwer.

Dokumentacja

  • README: czym ksef jest i czym nie, ścieżka „prawdziwa firma” z ostrzeżeniem o produkcji; COMMANDS: stany wyniku send i kod 130; poprawione linki.

Instalacja

v=0.1.2 a=linux-x64   # arm64: linux-arm64
curl -LO https://github.com/kprzybys/ksef-cli/releases/download/v$v/ksef-$v-$a.tar.gz{,.sha256}
sha256sum -c ksef-$v-$a.tar.gz.sha256 && tar -xzf ksef-$v-$a.tar.gz
install -Dm755 ksef-$v-$a/ksef ~/.local/bin/ksef

Pełna lista zmian: v0.1.1...v0.1.2

ksef v0.1.1

Choose a tag to compare

@github-actions github-actions released this 31 Oct 09:21

Co nowego

Pierwsze uruchomienie bez czytania dokumentacji

  • ksef bez komendy pokazuje trzy środowiska MF opisane słowami — produkcja (prawdziwe faktury), demo (próba generalna), test (piaskownica) — i pierwsze kroki.
  • Zmienna KSEF_ENV zamiast -e w każdej komendzie (np. export KSEF_ENV=prod); jawne -e ma pierwszeństwo, bez obu nadal test.
  • Brak sesji: ksef wskazuje sesję w innym środowisku (dodaj -e prod albo ustaw KSEF_ENV=prod) albo podaje gotową komendę logowania.
  • Token odrzucony kodem 450 poza produkcją: podpowiedź, że token z Aplikacji Podatnika działa tylko na produkcji.
  • ksef session bez -e pokazuje sesje ze wszystkich środowisk, z opisem.
  • send na produkcji zostawia na stderr jedną linię śladu (PRODUKCJA, NIP …: wysyłam N faktur).

Poprawki

  • --key-via engine na OpenSSL 4 (który nie ma engine'ów): jasny komunikat „użyj providera” zamiast mylącego „zły PIN”.

Dokumentacja

  • docs/COMMANDS.md: nowa sekcja „Środowiska”; docs/ROADMAP.md: plan kolejnych wersji.

Instalacja

v=0.1.1 a=linux-x64   # arm64: linux-arm64
curl -LO https://github.com/kprzybys/ksef-cli/releases/download/v$v/ksef-$v-$a.tar.gz{,.sha256}
sha256sum -c ksef-$v-$a.tar.gz.sha256 && tar -xzf ksef-$v-$a.tar.gz
install -Dm755 ksef-$v-$a/ksef ~/.local/bin/ksef

Pełna lista zmian: v0.1.0...v0.1.1