510-autoupdater-wifi-fallback 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/lua
  2. local uci = require 'luci.model.uci'.cursor()
  3. local util = require 'gluon.util'
  4. local fs = require('nixio.fs')
  5. local enabled = uci:get('autoupdater','settings','enabled')
  6. if uci:get('autoupdater-wifi-fallback', 'settings') then
  7. enabled = uci:get_bool('autoupdater-wifi-fallback', 'settings', 'enabled') and 1 or 0
  8. uci:delete('autoupdater-wifi-fallback', 'settings')
  9. end
  10. uci:section('autoupdater-wifi-fallback','autoupdater-wifi-fallback','settings',
  11. {
  12. enabled = enabled,
  13. }
  14. )
  15. uci:delete('wireless', 'fallback')
  16. uci:delete('network','fallback')
  17. uci:section('network', 'interface', 'fallback',
  18. {
  19. proto = 'dhcpv6',
  20. peerdns = 1,
  21. sourcefilter = 0,
  22. }
  23. )
  24. uci:save('autoupdater-wifi-fallback')
  25. uci:save('network')
  26. uci:save('wireless')
  27. local minute = tonumber(fs.readfile('/usr/lib/micron.d/autoupdater'):match('^([0-9][0-9]?)%s'))
  28. minute = (minute + 10) % 60
  29. local f = io.open('/usr/lib/micron.d/autoupdater-wifi-fallback', 'w')
  30. f:write(string.format('%i * * * * /usr/sbin/autoupdater-wifi-fallback\n', minute))
  31. f:close()