genconfig.sh 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/bin/sh
  2. set -e
  3. FIREWALL_ALL='[{"port": "any", "proto": "any", "host": "any"}]'
  4. if [ "$STATIC_HOSTS" ] || [ "$LIGHTHOUSES" ]
  5. then
  6. echo "static_host_map:"
  7. echo "$STATIC_HOSTS" | while read -r NEBULA_IP STATIC
  8. do
  9. [ -z "$NEBULA_IP" ] || echo " '$NEBULA_IP': ['$STATIC']"
  10. done
  11. echo "$LIGHTHOUSES" | while read -r NEBULA_IP STATIC
  12. do
  13. [ -z "$NEBULA_IP" ] || echo " '$NEBULA_IP': ['$STATIC']"
  14. done
  15. echo
  16. fi
  17. lighthouse_hosts() {
  18. if [ "$LIGHTHOUSES" ]
  19. then
  20. echo
  21. echo "$LIGHTHOUSES" | while read -r NEBULA_IP STATIC
  22. do
  23. echo " - '$NEBULA_IP'"
  24. done
  25. else
  26. echo "[]"
  27. fi
  28. }
  29. cat <<EOF
  30. pki:
  31. ca: ca.crt
  32. cert: ${HOST}.crt
  33. key: ${HOST}.key
  34. lighthouse:
  35. am_lighthouse: ${AM_LIGHTHOUSE:-false}
  36. hosts: $(lighthouse_hosts)
  37. remote_allow_list: ${REMOTE_ALLOW_LIST}
  38. listen:
  39. host: 0.0.0.0
  40. port: ${LISTEN_PORT:-4242}
  41. tun:
  42. dev: ${TUN_DEV:-tun0}
  43. firewall:
  44. inbound_action: reject
  45. outbound_action: reject
  46. outbound: ${OUTBOUND:-$FIREWALL_ALL}
  47. inbound: ${INBOUND:-$FIREWALL_ALL}
  48. $(test -t 0 || cat)
  49. EOF