Ver código fonte

Add package shadowsocks-client

Signed-off-by: Zhao, Gang <gang.zhao.42@gmail.com>
Zhao, Gang 10 anos atrás
pai
commit
e294483b40

+ 39
- 0
net/shadowsocks-client/Makefile Ver arquivo

@@ -0,0 +1,39 @@
1
+include $(TOPDIR)/rules.mk
2
+
3
+PKG_NAME:=shadowsocks-client
4
+PKG_VERSION:=0.5
5
+PKG_RELEASE=$(PKG_SOURCE_VERSION)
6
+
7
+PKG_SOURCE_PROTO:=git
8
+PKG_SOURCE_URL:=http://github.com/zhao-gang/shadowsocks-tiny.git
9
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
10
+PKG_SOURCE_VERSION:=d8ef02715f40de0fb7ba0f7267d3f8260f38ba80
11
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
12
+PKG_MAINTAINER:=Zhao, Gang <gang.zhao.42@gmail.com>
13
+
14
+PKG_LICENSE:=MIT
15
+PKG_LICENSE_FILES:=COPYING
16
+
17
+PKG_BUILD_PARALLEL:=1
18
+
19
+include $(INCLUDE_DIR)/package.mk
20
+
21
+define Package/shadowsocks-client
22
+  SECTION:=net
23
+  CATEGORY:=Network
24
+  SUBMENU:=Web Servers/Proxies
25
+  TITLE:=shadowsocks client for router
26
+  URL:=https://github.com/zhao-gang/shadowsocks-tiny
27
+  DEPENDS:=+libopenssl
28
+endef
29
+
30
+define Package/shadowsocks-client/install
31
+	$(INSTALL_DIR) $(1)/usr/bin
32
+	$(INSTALL_BIN) $(PKG_BUILD_DIR)/sslocal $(1)/usr/bin/
33
+	$(INSTALL_DIR) $(1)/etc/config
34
+	$(INSTALL_DATA) ./files/sslocal.config $(1)/etc/config/sslocal
35
+	$(INSTALL_DIR) $(1)/etc/init.d
36
+	$(INSTALL_BIN) ./files/sslocal.init $(1)/etc/init.d/sslocal
37
+endef
38
+
39
+$(eval $(call BuildPackage,shadowsocks-client))

+ 7
- 0
net/shadowsocks-client/files/sslocal.config Ver arquivo

@@ -0,0 +1,7 @@
1
+config sslocal
2
+       option server_addr ''
3
+       option server_port ''
4
+       option local_addr ''
5
+       option local_port ''
6
+       option password ''
7
+       option method ''

+ 52
- 0
net/shadowsocks-client/files/sslocal.init Ver arquivo

@@ -0,0 +1,52 @@
1
+#!/bin/sh /etc/rc.common
2
+# Copyright (C) 2006-2012 OpenWrt.org
3
+# Copyright (C) 2014 Zhao, Gang <gang.zhao.42@gmail.com>
4
+
5
+START=99
6
+
7
+USE_PROCD=1
8
+PROG=/usr/bin/sslocal
9
+
10
+validate_section_sslocal() {
11
+	uci_validate_section sslocal sslocal "${1}" \
12
+		'server_addr:host' \
13
+		'server_port:port' \
14
+		'local_addr:host' \
15
+		'local_port:port' \
16
+		'password:string' \
17
+		'method:string' \
18
+		'log_level:range(0,7):5'
19
+
20
+	return $?
21
+}
22
+
23
+sslocal_instance() {
24
+	local server_addr server_port local_addr local_port
25
+	local password method log_level
26
+
27
+	validate_section_sslocal "${1}" || {
28
+		echo "validation failed"
29
+		return 1
30
+	}
31
+
32
+	procd_open_instance
33
+	procd_set_param command "$PROG"
34
+	procd_append_param command -s "${server_addr}" -p "${server_port}"
35
+	procd_append_param command -u "${local_addr}" -b "${local_port}"
36
+	procd_append_param command -k "${password}" -m "${method}"
37
+	procd_append_param command -l "${log_level}"
38
+	procd_set_param respawn
39
+	procd_close_instance
40
+}
41
+
42
+start_service() {
43
+	config_load sslocal
44
+
45
+	config_foreach sslocal_instance sslocal
46
+}
47
+
48
+service_triggers()
49
+{
50
+	procd_add_reload_trigger "sslocal"
51
+	procd_add_validation validate_section_sslocal
52
+}