udpxy: Import 1.0.23-9 from packages, add config and use procd.

This commit is contained in:
Álvaro Fernández Rojas 2014-06-10 16:37:12 +02:00
parent a27c76ba56
commit 55ed66e192
3 changed files with 133 additions and 0 deletions

59
net/udpxy/Makefile Normal file
View File

@ -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))

View File

@ -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'

View File

@ -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
}