510-autoupdater-wifi-fallback 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. uci:commit('autoupdater-wifi-fallback')
  28. uci:commit('network')
  29. uci:commit('wireless')
  30. local minute = tonumber(fs.readfile('/usr/lib/micron.d/autoupdater'):match('^([0-9][0-9]?)%s'))
  31. minute = (minute + 10) % 60
  32. local f = io.open('/usr/lib/micron.d/autoupdater-wifi-fallback', 'w')
  33. f:write(string.format('%i * * * * /usr/sbin/autoupdater-wifi-fallback\n', minute))
  34. f:close()