Kraftig CLI og Web GUI for administrasjon av domener, DNS og videresendinger via Domeneshop API
Funksjoner · Hurtigstart · CLI-bruk · Web GUI · Sikkerhet
|
|
- Python 3.9+
- API-token fra Domeneshop
git clone https://github.com/OfficialLexthor/Domeneshop-CLI.git
cd Domeneshop-CLI
pip install -r requirements.txt| macOS | Linux | Windows |
./domeneshop.command |
./domeneshop.sh |
domeneshop.bat |
Første gang opprettes virtuelt miljø og avhengigheter installeres automatisk.
# Interaktiv konfigurasjon (lagres i system keychain)
domeneshop configure
# Sjekk status
domeneshop configure --status
# Migrer fra fil til keychain
domeneshop configure --migrate-to-keychainAlternativ: Miljøvariabler
export DOMENESHOP_TOKEN='din-token'
export DOMENESHOP_SECRET='din-hemmelighet'# List alle kontoer
domeneshop accounts list
# Legg til konto
domeneshop accounts add "Firma" --token xxx --secret yyy
# Bruk spesifikk konto
domeneshop --account "Firma" domains list
# Test tilkobling
domeneshop accounts test "Firma"domeneshop domains list # List alle domener
domeneshop domains list --filter .no # Filtrer på TLD
domeneshop domains show 12345 # Vis detaljer
domeneshop domains list --json # JSON-output# List poster
domeneshop dns list 12345
domeneshop dns list 12345 --type A
# Opprett poster
domeneshop dns add 12345 --type A --host www --data 192.168.1.1
domeneshop dns add 12345 --type MX --host @ --data mx.example.com --priority 10
domeneshop dns add 12345 --type TXT --host @ --data "v=spf1 include:_spf.domeneshop.no ~all"
# Oppdater og slett
domeneshop dns update 12345 67890 --data 192.168.1.2
domeneshop dns delete 12345 67890 --yesdomeneshop forwards list 12345
domeneshop forwards add 12345 --host www --url https://example.com
domeneshop forwards delete 12345 wwwdomeneshop invoices list # Alle fakturaer
domeneshop invoices list --status unpaid # Kun ubetaltedomeneshop ddns www.example.com # Bruk din IP
domeneshop ddns www.example.com --ip 192.168.1.1 # Spesifikk IPStart web-grensesnittet:
python domeneshop_gui.pyÅpne http://localhost:5050 i nettleseren.
| Funksjon | Beskrivelse |
|---|---|
| Domeneoversikt | Paginert liste med søk og filtrering |
| Domenedetaljer | Statistikk, DNS og forwards i faner |
| Inline-redigering | Hover for rediger/slett-knapper |
| Multi-konto | Bytt mellom kontoer i innstillinger |
| Responsivt | Optimalisert for mobil og desktop |
Skjermbilder
Web GUI inkluderer:
- Sidebar-navigasjon med domeneliste
- Domenedetalj-side med faner (Oversikt, DNS, Videresendinger)
- Skeleton loading states
- Breadcrumb-navigasjon
| Funksjon | Beskrivelse |
|---|---|
| Keychain | Kryptert lagring via OS keychain (macOS/Windows/Linux) |
| CSRF | Token-validering for alle modifiserende operasjoner |
| Rate limiting | Beskyttelse mot brute-force på auth-endepunkter |
| Audit logging | Logger sikkerhetshendelser til ~/.domeneshop-audit.log |
| Sikre sessions | HttpOnly, SameSite, Secure cookies |
Se SECURITY.md for fullstendig dokumentasjon.
- System keychain (anbefalt for desktop)
- Miljøvariabler (anbefalt for CI/CD)
- Fil-basert (
~/.domeneshop-credentialsmed 600-rettigheter)
| Problem | Løsning |
|---|---|
| Autentisering feilet | domeneshop configure |
| Mangler credentials | domeneshop configure --status |
| Keychain utilgjengelig | pip install keyring |
| API-feil | Bruk --json for detaljert feilmelding |
domeneshop-cli/
├── domeneshop_cli.py # CLI-applikasjon
├── domeneshop_gui.py # Flask Web GUI
├── credentials.py # Credential-håndtering
├── audit.py # Audit logging
├── templates/
│ ├── index.html # Hoved-UI
│ └── settings.html # Innstillinger
├── domeneshop.sh # Linux/macOS launcher
├── domeneshop.command # macOS launcher
└── domeneshop.bat # Windows launcher
Bidrag er velkomne! Se CONTRIBUTING.md for retningslinjer.
# Fork og klon
git clone https://github.com/YOUR_USERNAME/Domeneshop-CLI.git
# Opprett feature branch
git checkout -b feature/ny-funksjon
# Commit og push
git commit -m 'Legg til ny funksjon'
git push origin feature/ny-funksjonDette er et uoffisielt prosjekt og er ikke tilknyttet Domeneshop AS. Prosjektet bruker Domeneshop sitt offentlige API.
Distribuert under MIT-lisensen. Se LICENSE for mer informasjon.
Domeneshop API-dokumentasjon · Domeneshop
Utviklet av Martin Clausen