Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
net/rathole: Add init/rc.d-script and pkg-message
PR: 274176
- Loading branch information
Showing
2 changed files
with
80 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
[ | ||
{ type: install | ||
message: <<EOM | ||
To enable %%NAME%% at startup, add the following line to your 'rc.conf': | ||
%%NAME%%_enable="YES" | ||
|
||
Configure %%NAME%% by editing '%%ETCDIR%%/%%NAME%%.conf'. | ||
Example configurations can be found here: | ||
https://github.com/rapiz1/rathole/tree/main/examples | ||
|
||
Run | ||
service %%NAME%% rcvar | ||
to learn about existing rc script parameters and their defaults. | ||
|
||
Note that there are two operating modes for %%NAME%%: server or | ||
client. | ||
|
||
Note that the rc script runs %%NAME%% as user 'nobody' by default. | ||
This might lead to permission problems since the user is not | ||
allowed to open ports below 1024. | ||
If you really need %%NAME%% to react on a port below 1024, you | ||
could configure your firewall to redirect traffic to a higher | ||
port (e.g. redirect port 80 to port 8080 where %%NAME%% listens). | ||
|
||
EOM | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
#!/bin/sh | ||
|
||
# PROVIDE: %%NAME%% | ||
# REQUIRE: DAEMON NETWORKING | ||
# KEYWORD: shutdown | ||
|
||
# Add the following lines to /etc/rc.conf to enable `%%NAME%%': | ||
# | ||
# %%NAME%%_enable (bool): Set to "NO" by default. | ||
# Set it to "YES" to enable %%NAME%% | ||
# %%NAME%%_conf_file (str): Path to config file. | ||
# Set to "%%ETCDIR%%/%%NAME%%.conf" by default. | ||
# %%NAME%%_mode (str): Mode %%NAME%% runs in. | ||
# Set to "server" by default. | ||
# Set it to "client" to run in client-mode. | ||
# %%NAME%%_user (str): User that runs %%NAME%%. | ||
# Set to "nobody" by default. | ||
# | ||
|
||
. /etc/rc.subr | ||
|
||
name="%%NAME%%" | ||
rcvar=%%NAME%%_enable | ||
desc="rc script to start/stop %%NAME%%" | ||
|
||
set_rcvar %%NAME%%_conf_file "%%ETCDIR%%/${name}.conf" "Path to config file" | ||
set_rcvar %%NAME%%_mode "server" "Mode %%NAME%% runs in (either 'server' or 'client')" | ||
set_rcvar %%NAME%%_user "nobody" "User that runs %%NAME%%" | ||
|
||
load_rc_config "$name" | ||
|
||
pidfile="%%PIDDIR%%/${name}.pid" | ||
logfile="%%LOGDIR%%/${name}.log" | ||
run_mode_param=--server | ||
|
||
command=/usr/sbin/daemon | ||
actual_command="%%PREFIX%%/bin/%%NAME%%" | ||
start_precmd=%%NAME%%_prestart | ||
command_args="-H -P \${pidfile} -t \${name} -u \${%%NAME%%_user} -o \${logfile} ${actual_command} \${run_mode_param} \${%%NAME%%_conf_file}" | ||
|
||
%%NAME%%_prestart() | ||
{ | ||
case $%%NAME%%_mode in | ||
client) | ||
run_mode_param="--client" | ||
;; | ||
*) | ||
run_mode_param="--server" | ||
;; | ||
esac | ||
} | ||
|
||
run_rc_command "$1" |