diff options
author | Yixun Lan <dlan@gentoo.org> | 2016-01-08 10:47:00 +0800 |
---|---|---|
committer | Yixun Lan <dlan@gentoo.org> | 2016-01-08 10:47:00 +0800 |
commit | 3f35a7ae49c6d6e95b64ed4e5f585e8f200b6448 (patch) | |
tree | 9693ce14d4557ae4fd7870c48bf3aa7bd4a954df /net-proxy | |
parent | app-text/liblangtag: Version bump (diff) | |
download | gentoo-3f35a7ae49c6d6e95b64ed4e5f585e8f200b6448.tar.gz gentoo-3f35a7ae49c6d6e95b64ed4e5f585e8f200b6448.tar.bz2 gentoo-3f35a7ae49c6d6e95b64ed4e5f585e8f200b6448.zip |
net-proxy/shadowsocks-libev: systemd support added
thanks 'Jiajun Wang' for contribution
Package-Manager: portage-2.2.26
Diffstat (limited to 'net-proxy')
6 files changed, 114 insertions, 1 deletions
diff --git a/net-proxy/shadowsocks-libev/files/shadowsocks-libev-local_at.service b/net-proxy/shadowsocks-libev/files/shadowsocks-libev-local_at.service new file mode 100644 index 000000000000..af137178380f --- /dev/null +++ b/net-proxy/shadowsocks-libev/files/shadowsocks-libev-local_at.service @@ -0,0 +1,11 @@ +[Unit] +Description=Shadowsocks-Libev Client Service for %I +After=network.target + +[Service] +Type=simple +CapabilityBoundingSet=CAP_NET_BIND_SERVICE +ExecStart=/usr/bin/ss-local -c /etc/shadowsocks-libev/%i.json + +[Install] +WantedBy=multi-user.target diff --git a/net-proxy/shadowsocks-libev/files/shadowsocks-libev-redir_at.service b/net-proxy/shadowsocks-libev/files/shadowsocks-libev-redir_at.service new file mode 100644 index 000000000000..1ced8f454408 --- /dev/null +++ b/net-proxy/shadowsocks-libev/files/shadowsocks-libev-redir_at.service @@ -0,0 +1,11 @@ +[Unit] +Description=Shadowsocks-Libev Client Service Redir Mode for %I +After=network.target + +[Service] +Type=simple +CapabilityBoundingSet=CAP_NET_BIND_SERVICE +ExecStart=/usr/bin/ss-redir -c /etc/shadowsocks-libev/%i.json + +[Install] +WantedBy=multi-user.target diff --git a/net-proxy/shadowsocks-libev/files/shadowsocks-libev-server_at.service b/net-proxy/shadowsocks-libev/files/shadowsocks-libev-server_at.service new file mode 100644 index 000000000000..58d934bdb1d1 --- /dev/null +++ b/net-proxy/shadowsocks-libev/files/shadowsocks-libev-server_at.service @@ -0,0 +1,11 @@ +[Unit] +Description=Shadowsocks-Libev Server Service for %I +After=network.target + +[Service] +Type=simple +CapabilityBoundingSet=CAP_NET_BIND_SERVICE +ExecStart=/usr/bin/ss-server -c /etc/shadowsocks-libev/%i.json + +[Install] +WantedBy=multi-user.target diff --git a/net-proxy/shadowsocks-libev/files/shadowsocks-libev-tunnel_at.service b/net-proxy/shadowsocks-libev/files/shadowsocks-libev-tunnel_at.service new file mode 100644 index 000000000000..24b31d5a1cd9 --- /dev/null +++ b/net-proxy/shadowsocks-libev/files/shadowsocks-libev-tunnel_at.service @@ -0,0 +1,11 @@ +[Unit] +Description=Shadowsocks-Libev Client Service Tunnel Mode for %I +After=network.target + +[Service] +Type=simple +CapabilityBoundingSet=CAP_NET_BIND_SERVICE +ExecStart=/usr/bin/ss-tunnel -c /etc/shadowsocks-libev/%i.json + +[Install] +WantedBy=multi-user.target diff --git a/net-proxy/shadowsocks-libev/files/shadowsocks.initd b/net-proxy/shadowsocks-libev/files/shadowsocks.initd index d32e6df9a915..f6a8067eca99 100644 --- a/net-proxy/shadowsocks-libev/files/shadowsocks.initd +++ b/net-proxy/shadowsocks-libev/files/shadowsocks.initd @@ -3,7 +3,7 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ -SS_CONFIG="/etc/shadowsocks.json" +SS_CONFIG="/etc/shadowsocks-libev/shadowsocks.json" SS_PIDFILE="/run/shadowsocks.pid" @@ -26,10 +26,20 @@ checkconfig() { SS_COMMAND="/usr/bin/ss-server" return 0 ;; + redir) + SS_COMMAND="/usr/bin/ss-redir" + return 0 + ;; + tunnel) + SS_COMMAND="/usr/bin/ss-tunnel" + return 0 + ;; *) eerror "please choose to run as server or client mode" eerror " server: rc-update add shadowsocks.server default" eerror " client: rc-update add shadowsocks.client default" + eerror " client: rc-update add shadowsocks.redir default" + eerror " client: rc-update add shadowsocks.tunnel default" return 1 ;; esac diff --git a/net-proxy/shadowsocks-libev/shadowsocks-libev-2.4.3-r1.ebuild b/net-proxy/shadowsocks-libev/shadowsocks-libev-2.4.3-r1.ebuild new file mode 100644 index 000000000000..eba9c379403b --- /dev/null +++ b/net-proxy/shadowsocks-libev/shadowsocks-libev-2.4.3-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils systemd + +DESCRIPTION="A lightweight secured scoks5 proxy for embedded devices and low end boxes" +HOMEPAGE="https://github.com/shadowsocks/shadowsocks-libev" + +MY_PV="v${PV}" +SRC_URI="https://github.com/shadowsocks/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug +openssl polarssl" + +DEPEND="openssl? ( dev-libs/openssl:= ) + polarssl? ( net-libs/polarssl ) + " +RDEPEND="${DEPEND}" + +REQUIRED_USE=" ^^ ( openssl polarssl )" + +src_configure() { + econf \ + $(use_enable debug assert) \ + --with-crypto-library=$(usex openssl openssl polarssl) +} + +src_install() { + default + prune_libtool_files --all + + dodir "/etc/${PN}" + insinto "/etc/${PN}" + newins "${FILESDIR}/shadowsocks.json" shadowsocks.json + + newinitd "${FILESDIR}/shadowsocks.initd" shadowsocks + dosym /etc/init.d/shadowsocks /etc/init.d/shadowsocks.server + dosym /etc/init.d/shadowsocks /etc/init.d/shadowsocks.client + dosym /etc/init.d/shadowsocks /etc/init.d/shadowsocks.redir + dosym /etc/init.d/shadowsocks /etc/init.d/shadowsocks.tunnel + + systemd_newunit "${FILESDIR}/${PN}-local_at.service" "${PN}-local@.service" + systemd_newunit "${FILESDIR}/${PN}-server_at.service" "${PN}-server@.service" + systemd_newunit "${FILESDIR}/${PN}-redir_at.service" "${PN}-redir@.service" + systemd_newunit "${FILESDIR}/${PN}-tunnel_at.service" "${PN}-tunnel@.service" +} + +pkg_setup() { + elog "You need to choose the mode" + elog " server: rc-update add shadowsocks.server default" + elog " client: rc-update add shadowsocks.client default" + elog " redir: rc-update add shadowsocks.redir default" + elog " tunnel: rc-update add shadowsocks.tunnel default" +} |