diff --git a/net/udpxy/Makefile b/net/udpxy/Makefile new file mode 100644 index 0000000000..78661cf8a5 --- /dev/null +++ b/net/udpxy/Makefile @@ -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 + +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 index 0000000000..22c9079ad6 --- /dev/null +++ b/net/udpxy/files/udpxy.conf @@ -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 index 0000000000..183a20045c --- /dev/null +++ b/net/udpxy/files/udpxy.init @@ -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 +}