luci.yggdrasil 713 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/bin/sh
  2. . /usr/share/libubox/jshn.sh
  3. case "$1" in
  4. list)
  5. json_init
  6. json_add_object "generateKeyPair"
  7. json_close_object
  8. json_add_object "getPeers"
  9. json_add_string "interface"
  10. json_close_object
  11. json_dump
  12. ;;
  13. call)
  14. case "$2" in
  15. generateKeyPair)
  16. json_load "$(yggdrasil -genconf -json)"
  17. json_get_vars PrivateKey
  18. json_cleanup
  19. json_init
  20. json_add_object "keys"
  21. json_add_string "priv" "$PrivateKey"
  22. json_add_string "pub" "${PrivateKey:64}"
  23. json_close_object
  24. json_dump
  25. ;;
  26. getPeers)
  27. read -r input
  28. json_load "$input"
  29. json_get_vars interface
  30. yggdrasilctl -endpoint="unix:///tmp/yggdrasil/${interface}.sock" -json getPeers
  31. ;;
  32. esac
  33. ;;
  34. esac