Skip to content
Snippets Groups Projects
Select Git revision
  • 01f9174614921f8e6358d41981061b2acfaa0696
  • experimental default protected
  • v2023.2.5-ffs
  • nrb/ex400-remove-wps
  • nrb/airmax-test
  • v2023.2.4-ffs
  • nrb/ar9344-reset-sequence
  • autinerd/experimental-openwrt-24.10
  • v2023.2.3-ffs
  • v2023.2.2-ffs
  • v2023.2-ffs
  • v2023.1-ffs
  • v2022.1.4-ffs
  • feature/addMikrotikwAP
  • v2022.1.3-ffs
  • v2021.1.2-ffs
  • v2022.1.1-ffs
  • master protected
  • v2021.1.1-ffs
  • nrb/gluon-master-cpe510
  • v2021.1-ffs
  • experimental-2025-08-04
  • experimental-2025-08-04-base
  • experimental-2025-07-31
  • experimental-2025-07-31-base
  • experimental-2025-07-29
  • experimental-2025-07-29-base
  • experimental-2025-07-28
  • experimental-2025-07-28-base
  • experimental-2025-07-26
  • experimental-2025-07-26-base
  • experimental-2025-07-24
  • experimental-2025-07-24-base
  • experimental-2025-07-22
  • experimental-2025-07-22-base
  • experimental-2025-07-21
  • experimental-2025-07-21-base
  • experimental-2025-07-20
  • experimental-2025-07-20-base
  • experimental-2025-07-19
  • experimental-2025-07-19-base
41 results

push_pkg.sh

Blame
  • gluon-check-connection 840 B
    #!/usr/bin/lua
    
    local unistd = require 'posix.unistd'
    local util = require 'gluon.util'
    local site = require 'gluon.site'
    
    local offline_flag_file = "/tmp/gluon_offline"
    local is_offline = true
    
    -- Check if domain-switch is scheduled
    if site.domain_switch() == nil then
    	-- Switch not applicable for current domain
    	os.exit(0)
    end
    
    -- Check reachability of pre-defined targets
    for _, ip in ipairs(site.domain_switch.connection_check_targets()) do
    	local exit_code = os.execute("ping -c 1 -w 10 " .. ip)
    	if exit_code == 0 then
    		is_offline = false
    		break
    	end
    end
    
    if is_offline then
    	-- Check if we were previously offline
    	if unistd.access(offline_flag_file) then
    		os.exit(0)
    	end
    	-- Create offline flag
    	local f = io.open(offline_flag_file, "w")
    	f:write(tostring(util.get_uptime()))
    	f:close()
    else
    	os.remove(offline_flag_file)
    end