mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 07:28:39 +01:00
xray-core: add init script
Add init script so the users could run it with their configs quickly. Signed-off-by: Tianling Shen <cnsztl@project-openwrt.eu.org>
This commit is contained in:
Executable
+51
@@ -0,0 +1,51 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
USE_PROCD=1
|
||||
START=99
|
||||
|
||||
CONF="xray"
|
||||
PROG="/usr/bin/xray"
|
||||
CAPA_FILE="/etc/capabilities/xray.json"
|
||||
|
||||
start_instance() {
|
||||
config_load "$CONF"
|
||||
|
||||
local enabled
|
||||
config_get enabled "enabled" "enabled" "0"
|
||||
[ "$enabled" -eq "0" ] && exit 1
|
||||
|
||||
local confdir
|
||||
local conffiles
|
||||
local datadir
|
||||
local format
|
||||
|
||||
config_get confdir "config" "confdir"
|
||||
config_get conffiles "config" "conffiles"
|
||||
config_get datadir "config" "datadir" "/usr/share/xray"
|
||||
config_get format "config" "format" "json"
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command "$PROG" run
|
||||
[ -n "$confdir" ] && procd_append_param command -confdir "$confdir"
|
||||
[ -n "$conffiles" ] && {
|
||||
for i in $conffiles
|
||||
do
|
||||
procd_append_param command -config "$i"
|
||||
done
|
||||
}
|
||||
procd_append_param command -format "$format"
|
||||
procd_set_param env XRAY_LOCATION_ASSET="$datadir"
|
||||
procd_set_param file $conffiles
|
||||
|
||||
procd_set_param stdout 1
|
||||
procd_set_param stderr 1
|
||||
procd_set_param respawn
|
||||
|
||||
[ -x "/sbin/ujail" -a -e "$CAPA_FILE" ] && {
|
||||
procd_add_jail xray
|
||||
procd_set_param capabilities "$CAPA_FILE"
|
||||
procd_set_param user nobody
|
||||
procd_set_param no_new_privs 1
|
||||
}
|
||||
procd_close_instance
|
||||
}
|
||||
Reference in New Issue
Block a user