Add package shadowsocks-client
Signed-off-by: Zhao, Gang <gang.zhao.42@gmail.com>
This commit is contained in:
parent
d49fd62acd
commit
e294483b40
3 changed files with 98 additions and 0 deletions
39
net/shadowsocks-client/Makefile
Normal file
39
net/shadowsocks-client/Makefile
Normal file
|
@ -0,0 +1,39 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=shadowsocks-client
|
||||
PKG_VERSION:=0.5
|
||||
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=http://github.com/zhao-gang/shadowsocks-tiny.git
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_SOURCE_VERSION:=d8ef02715f40de0fb7ba0f7267d3f8260f38ba80
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||
PKG_MAINTAINER:=Zhao, Gang <gang.zhao.42@gmail.com>
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/shadowsocks-client
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
SUBMENU:=Web Servers/Proxies
|
||||
TITLE:=shadowsocks client for router
|
||||
URL:=https://github.com/zhao-gang/shadowsocks-tiny
|
||||
DEPENDS:=+libopenssl
|
||||
endef
|
||||
|
||||
define Package/shadowsocks-client/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/sslocal $(1)/usr/bin/
|
||||
$(INSTALL_DIR) $(1)/etc/config
|
||||
$(INSTALL_DATA) ./files/sslocal.config $(1)/etc/config/sslocal
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/sslocal.init $(1)/etc/init.d/sslocal
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,shadowsocks-client))
|
7
net/shadowsocks-client/files/sslocal.config
Normal file
7
net/shadowsocks-client/files/sslocal.config
Normal file
|
@ -0,0 +1,7 @@
|
|||
config sslocal
|
||||
option server_addr ''
|
||||
option server_port ''
|
||||
option local_addr ''
|
||||
option local_port ''
|
||||
option password ''
|
||||
option method ''
|
52
net/shadowsocks-client/files/sslocal.init
Executable file
52
net/shadowsocks-client/files/sslocal.init
Executable file
|
@ -0,0 +1,52 @@
|
|||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2006-2012 OpenWrt.org
|
||||
# Copyright (C) 2014 Zhao, Gang <gang.zhao.42@gmail.com>
|
||||
|
||||
START=99
|
||||
|
||||
USE_PROCD=1
|
||||
PROG=/usr/bin/sslocal
|
||||
|
||||
validate_section_sslocal() {
|
||||
uci_validate_section sslocal sslocal "${1}" \
|
||||
'server_addr:host' \
|
||||
'server_port:port' \
|
||||
'local_addr:host' \
|
||||
'local_port:port' \
|
||||
'password:string' \
|
||||
'method:string' \
|
||||
'log_level:range(0,7):5'
|
||||
|
||||
return $?
|
||||
}
|
||||
|
||||
sslocal_instance() {
|
||||
local server_addr server_port local_addr local_port
|
||||
local password method log_level
|
||||
|
||||
validate_section_sslocal "${1}" || {
|
||||
echo "validation failed"
|
||||
return 1
|
||||
}
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command "$PROG"
|
||||
procd_append_param command -s "${server_addr}" -p "${server_port}"
|
||||
procd_append_param command -u "${local_addr}" -b "${local_port}"
|
||||
procd_append_param command -k "${password}" -m "${method}"
|
||||
procd_append_param command -l "${log_level}"
|
||||
procd_set_param respawn
|
||||
procd_close_instance
|
||||
}
|
||||
|
||||
start_service() {
|
||||
config_load sslocal
|
||||
|
||||
config_foreach sslocal_instance sslocal
|
||||
}
|
||||
|
||||
service_triggers()
|
||||
{
|
||||
procd_add_reload_trigger "sslocal"
|
||||
procd_add_validation validate_section_sslocal
|
||||
}
|
Loading…
Reference in a new issue