No description
  • Rust 74%
  • Nix 25.2%
  • Shell 0.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Renovate Bot 0ef10fb3fe
All checks were successful
/ build (pull_request) Successful in 3s
/ checks (x86_64-linux, clippy) (pull_request) Successful in 3s
/ checks (x86_64-linux, deny) (pull_request) Successful in 3s
/ checks (x86_64-linux, module-ipv4-test) (pull_request) Successful in 7s
/ checks (x86_64-linux, module-ipv4-only-test) (pull_request) Successful in 7s
/ checks (x86_64-linux, module-ipv6-test) (pull_request) Successful in 7s
/ checks (x86_64-linux, module-ipv6-only-test) (pull_request) Successful in 7s
/ checks (x86_64-linux, nextest) (pull_request) Successful in 3s
/ checks (x86_64-linux, module-nginx-test) (pull_request) Successful in 6s
/ checks (x86_64-linux, treefmt) (pull_request) Successful in 4s
/ report-size (pull_request) Successful in 28s
/ trigger-release (pull_request) Successful in 53s
/ build (push) Successful in 2s
/ checks (x86_64-linux, deny) (push) Successful in 1s
/ checks (x86_64-linux, clippy) (push) Successful in 2s
/ checks (x86_64-linux, module-ipv4-test) (push) Successful in 2s
/ checks (x86_64-linux, module-ipv6-only-test) (push) Successful in 1s
/ checks (x86_64-linux, module-ipv4-only-test) (push) Successful in 7s
/ checks (x86_64-linux, module-ipv6-test) (push) Successful in 6s
/ checks (x86_64-linux, nextest) (push) Successful in 3s
/ checks (x86_64-linux, module-nginx-test) (push) Successful in 6s
/ checks (x86_64-linux, treefmt) (push) Successful in 2s
/ report-size (push) Successful in 2s
/ trigger-release (push) Successful in 31s
chore(deps): update dtolnay/rust-toolchain digest to 4360b52
2026-08-05 06:40:59 +02:00
.cargo ci: configure release-plz 2025-08-29 01:07:31 +02:00
.forgejo/workflows chore(deps): update https://git.salame.cl/actions/checkout digest 2026-07-21 06:10:56 +02:00
.github/workflows chore(deps): update dtolnay/rust-toolchain digest to 4360b52 2026-08-05 06:40:59 +02:00
flake-modules chore(deps): lock file maintenance 2026-04-01 15:55:59 -03:00
scripts ci(release): refactor release-script 2026-01-20 21:32:48 +01:00
src fix(clippy): new warnings on latest nightly 2026-07-15 09:28:21 +02:00
.editorconfig refactor: setup renovate to manage dependencies 2024-12-28 10:08:11 +01:00
.envrc [feat] flake.nix: add envrc to run nix develop 2024-06-02 15:49:28 +02:00
.gitignore [feat] flake.nix: add envrc to run nix develop 2024-06-02 15:49:28 +02:00
.release-plz.toml ci(release): change changelog configuration 2026-01-20 20:26:53 +01:00
.rustfmt.toml chore(rust): configure rustfmt to split each import out 2025-09-06 17:55:43 +02:00
Cargo.lock chore(deps): lock file maintenance 2026-08-03 00:01:55 +02:00
Cargo.toml fix(deps): update rust crate base64 to 0.23.0 2026-07-23 16:20:57 +02:00
CHANGELOG.md chore: release v0.4.4 2026-02-11 04:26:45 +01:00
common-args.nix fix(meta): add myself as a maintainer 2025-11-30 16:49:17 +01:00
default.nix fix(test): nextest tests were not being run 2025-09-22 22:36:16 +02:00
deny.toml ci: run cargo-deny to ensure I agree to all license terms 2025-07-13 19:26:40 +02:00
flake.lock chore(deps): lock file maintenance 2026-08-03 00:01:55 +02:00
flake.nix feat: use rust-overlay to get the rust binaries 2025-05-16 18:36:44 +02:00
justfile chore(release): prepare for 0.3.5 (docs) 2025-01-23 22:49:09 +01:00
LICENSE webnsupdate: Init at version 0.1.0 2024-05-08 21:37:19 +02:00
module.nix refactor(config)!: change config format to support multiple domains 2025-09-18 22:08:36 +02:00
README.md docs(README): link to Fritz!BOX's docs on DynDNS 2026-01-28 17:32:19 +01:00
renovate.json ci(renovate): reduce maintenance to a weekly schedule 2025-11-18 21:23:38 +01:00

Web NS update

A webserver API for nsupdate. This is only intended for my usecase, so feel free to take inspiration, but don't expect this to be useful to you.

Usage

Note

This was made because I needed it. It probably wont fit your usecase.

Using a flake NixOS configuration add these lines:

{
  inputs.webnsupdate.url = "github:jalil-salame/webnsupdate";
  # inputs.webnsupdate.inputs.nixpkgs.follows = "nixpkgs"; # deduplicate nixpkgs

  # ...
  outputs = {
    nixpkgs,
    webnsupdate,
    ...
  }: {
    # ...
    nixosConfigurations.hostname = let
      system = "...";
      pkgs = import nixpkgs {
        inherit system;
        # IMPORTANT -----------v
        overlays = [webnsupdate.overlays.default];
      };
    in {
      inherit system pkgs;
      modules = [
        webnsupdate.nixosModules.default
        {
          services.webnsupdate = {
            enable = true;
            # ...
          };
        }
      ];
    };
    # ...
  };
}

Update URL format

Follow the Fritz!BOX format for update URLs: https://fritzhelp.avm.de/help/en/FRITZ-Box-7530-AX/avm/024p2/hilfe_dyndns_update_url_bauen