diff --git a/net/autossh/Makefile b/net/autossh/Makefile index 8cbb8bd81..97bc12414 100644 --- a/net/autossh/Makefile +++ b/net/autossh/Makefile @@ -38,6 +38,10 @@ endef define Package/autossh/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/autossh $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/autossh.init $(1)/etc/init.d/autossh + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_DATA) ./files/autossh.config $(1)/etc/config/autossh endef $(eval $(call BuildPackage,autossh)) diff --git a/net/autossh/files/autossh.config b/net/autossh/files/autossh.config new file mode 100644 index 000000000..2e430a0d5 --- /dev/null +++ b/net/autossh/files/autossh.config @@ -0,0 +1,4 @@ +config autossh + option ssh '-i /etc/dropbear/id_rsa -N -T -R 2222:localhost:22 user@host' + option monitorport '20000' + option poll '600' diff --git a/net/autossh/files/autossh.init b/net/autossh/files/autossh.init new file mode 100644 index 000000000..faca1c349 --- /dev/null +++ b/net/autossh/files/autossh.init @@ -0,0 +1,26 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2007 OpenWrt.org +START=80 + +start_service () { + local section="$1" + config_get ssh "$section" ssh + config_get monitorport "$section" monitorport + config_get poll "$section" poll + + AUTOSSH_POLL=${poll:-"600"} autossh -M ${monitorport:-"20000"} -f ${ssh} +} + +start() { + config_load "autossh" + config_foreach start_service autossh +} + +stop() { + killall autossh +} + +restart() { + stop + start +}