secure_relay_secret_with_db_redis.sh 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/sh
  2. #
  3. # This is an example how to start a TURN Server in
  4. # secure 'dynamic' 'secret' mode (see TURNServerRESTAPI.pdf)
  5. # with Redis database for users information
  6. # with the long-term credentials mechanism.
  7. #
  8. # We start here a TURN Server listening on IPv4 address
  9. # 127.0.0.1 and on IPv6 address ::1. We use 127.0.0.1 as
  10. # IPv4 relay address, and we use ::1 as IPv6 relay address.
  11. #
  12. # Other options:
  13. #
  14. # 1) set bandwidth limit on client session 3000000 bytes per second (--max-bps).
  15. # 2) use fingerprints (-f)
  16. # 3) use 3 relay threads (-m 3)
  17. # 4) use min UDP relay port 32355 and max UDP relay port 65535
  18. # 5) --use-auth-secret means that we are using 'secret' authentication mode.
  19. # Absense of --static-auth-secret value means that we will be taking the secret value
  20. # from the database ('dynamic' mode).
  21. # 6) --realm=north.gov sets realm value as "north.gov".
  22. # 7) --redis-userdb="ip=127.0.0.1 dbname=2 password=turn connect_timeout=30"
  23. # means that local Redis database 0 will be used, with database
  24. # password "turn", and connection timeout 30 seconds.
  25. # 8) "--cert=example_turn_server_cert.pem" sets the OpenSSL certificate file name.
  26. # 9) "--pkey=example_turn_server_pkey.pem" sets the OpenSSL private key name.
  27. # 10) "--log-file=stdout" means that all log output will go to the stdout.
  28. # 11) --cipher-list=ALL means that we support all OpenSSL ciphers
  29. # 12) --cli-password=secret means that cli password set to "secret"
  30. # Other parameters (config file name, etc) are default.
  31. if [ -d examples ] ; then
  32. cd examples
  33. fi
  34. export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib/:/usr/local/mysql/lib/
  35. export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/usr/local/lib/:/usr/local/mysql/lib/
  36. PATH="./bin/:../bin/:../../bin/:${PATH}" turnserver -v --syslog -a -L 127.0.0.1 -L ::1 -E 127.0.0.1 -E ::1 --allow-loopback-peers --max-bps=3000000 -f -m 3 --min-port=32355 --max-port=65535 --use-auth-secret --realm=north.gov --redis-userdb="ip=127.0.0.1 dbname=2 password=turn connect_timeout=30" --cert=turn_server_cert.pem --pkey=turn_server_pkey.pem --log-file=stdout --redis-statsdb="ip=127.0.0.1 dbname=3 password=turn connect_timeout=30" --cipher-list=ALL --cli-password=secret $@