genconfig.sh 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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:-nebula1}
  43. multiport:
  44. tx_enabled: ${MULTIPORT_TX:-false}
  45. rx_enabled: ${MULTIPORT_RX:-false}
  46. tx_handshake: ${MULTIPORT_HANDSHAKE:-false}
  47. firewall:
  48. inbound_action: reject
  49. outbound_action: reject
  50. outbound: ${OUTBOUND:-$FIREWALL_ALL}
  51. inbound: ${INBOUND:-$FIREWALL_ALL}
  52. $(test -t 0 || cat)
  53. EOF