udpxy: Import 1.0.23-9 from packages, add config and use procd.
authorÁlvaro Fernández Rojas <noltari@gmail.com>
Tue, 10 Jun 2014 14:37:12 +0000 (16:37 +0200)
committerÁlvaro Fernández Rojas <noltari@gmail.com>
Tue, 10 Jun 2014 14:37:12 +0000 (16:37 +0200)
net/udpxy/Makefile [new file with mode: 0644]
net/udpxy/files/udpxy.conf [new file with mode: 0644]
net/udpxy/files/udpxy.init [new file with mode: 0644]

diff --git a/net/udpxy/Makefile b/net/udpxy/Makefile
new file mode 100644 (file)
index 0000000..78661cf
--- /dev/null
@@ -0,0 +1,59 @@
+#
+# Copyright (C) 2006-2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=udpxy
+PKG_REV:=1.0.23
+PKG_TAG:=9
+PKG_VERSION:=$(PKG_REV)-$(PKG_TAG)
+PKG_RELEASE:=3
+
+PKG_SOURCE:=$(PKG_NAME).$(PKG_REV)-$(patsubst %,%-prod,$(PKG_TAG)).tar.gz
+PKG_SOURCE_URL:=http://www.udpxy.com/download/1_23
+PKG_MD5SUM:=0c953f7dd80329c1a062997afb9b6744
+PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/udpxy
+  SECTION:=net
+  CATEGORY:=Network
+  TITLE:=Convert UDP IPTV streams into HTTP streams
+  URL:=http://www.udpxy.com/index-en.html
+endef
+
+define Package/udpxy/description
+       udproxy makes it possible to convert UDP IPTV streams into HTTP
+       streams which can be viewed even over WLANs. HTTP streams do
+       not generate huge amounts of multicast traffic, so a sd stream
+       only takes about 300k. Interesting for peoply who have IPTV at
+       home and do not want to rent multiple decoders from their
+       provider but just use their own streaming client (for example
+       popcornhour/mediatomb/vlc).
+endef
+
+define Package/udpxy/conffiles
+/etc/config/udpxy
+endef
+
+MAKE_FLAGS += \
+       INSTALLROOT="$(PKG_INSTALL_DIR)/usr" \
+       ALL_CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)"
+
+define Package/udpxy/install
+       $(INSTALL_DIR) $(1)/etc/init.d $(1)/etc/config
+       $(INSTALL_CONF) ./files/udpxy.conf $(1)/etc/config/udpxy
+       $(INSTALL_BIN) ./files/udpxy.init $(1)/etc/init.d/udpxy
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/udpxy $(1)/usr/bin/
+       ln -sf udpxy $(1)/usr/bin/udpxrec
+endef
+
+$(eval $(call BuildPackage,udpxy))
diff --git a/net/udpxy/files/udpxy.conf b/net/udpxy/files/udpxy.conf
new file mode 100644 (file)
index 0000000..22c9079
--- /dev/null
@@ -0,0 +1,13 @@
+config udpxy
+       option verbose '0'
+       option status '1'
+       option bind '0.0.0.0'
+       option port '4022'
+       option source '0.0.0.0'
+       option max_clients '3'
+       option log_file '/var/log/udpxy'
+       option buffer_size '2048'
+       option buffer_messages '1'
+       option buffer_time '1'
+       option nice_increment '0'
+       option mcsub_renew '0'
diff --git a/net/udpxy/files/udpxy.init b/net/udpxy/files/udpxy.init
new file mode 100644 (file)
index 0000000..183a200
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006-2014 OpenWrt.org
+
+START=50
+USE_PROCD=1
+
+udpxy_parse() {
+       local cfg="$1"
+
+       local cfg_verbose
+       local cfg_status
+       local cfg_mcsub_renew
+       local cfg_bind
+       local cfg_port
+       local cfg_source
+       local cfg_max_clients
+       local cfg_log_file
+       local cfg_buffer_size
+       local cfg_buffer_messages
+       local cfg_buffer_time
+       local cfg_nice_increment
+       local cfg_mcsub_renew
+
+       config_get_bool cfg_verbose $cfg 'verbose' 0
+       config_get_bool cfg_status $cfg 'status' 1
+       config_get cfg_bind $cfg 'bind' '0.0.0.0'
+       config_get cfg_port $cfg 'port' '4022'
+       config_get cfg_source $cfg 'source' '0.0.0.0'
+       config_get cfg_max_clients $cfg 'max_clients' '3'
+       config_get cfg_log_file $cfg 'log_file' '/var/log/udpxy'
+       config_get cfg_buffer_size $cfg 'buffer_size' '2048'
+       config_get cfg_buffer_messages $cfg 'buffer_messages' '1'
+       config_get cfg_buffer_time $cfg 'buffer_time' '1'
+       config_get cfg_nice_increment $cfg 'nice_increment' '0'
+       config_get cfg_mcsub_renew $cfg 'mcsub_renew' 0
+
+       procd_open_instance
+
+       procd_set_param command /usr/bin/udpxy
+       procd_append_param command -T
+       [ "$cfg_verbose" -eq 1 ] && procd_append_param command -v
+       [ "$cfg_status" -eq 1 ] && procd_append_param command -S
+       procd_append_param command -a $cfg_bind
+       procd_append_param command -p $cfg_port
+       procd_append_param command -m $cfg_source
+       procd_append_param command -c $cfg_max_clients
+       procd_append_param command -l $cfg_log_file
+       [ "$cfg_nice_increment" -ge 4096 ] && procd_append_param command -B $cfg_buffer_size
+       procd_append_param command -R $cfg_buffer_messages
+       procd_append_param command -H $cfg_buffer_time
+       [ "$cfg_nice_increment" -ne 0 ] && procd_append_param command -n $cfg_nice_increment
+       procd_append_param command -M $cfg_mcsub_renew
+
+       procd_set_param respawn
+       procd_close_instance
+}
+
+start_service() {
+       config_load udpxy
+       config_foreach udpxy_parse udpxy
+}