website
[mirrors/Programs.git] / bash / gtk-gnutella-upnp / gtk-gnutella-upnp.sh
CommitLineData
e96e0fec 1#!/bin/bash
0730b8e5
H
2gtk-gnutella-listen-port() {
3 grep listen_port ~/.gtk-gnutella/config_gnet | grep -o [0-9]* | head -n 1;
4}
5
6gtk-gnutella-upnpc() {
7 upnpc="$(which upnpc)";
8 test "$(echo $@ | grep -o [0-9]* | head -n 1)" -gt 1 || upnpc=true;
9 "$upnpc" $@ > ~/.gtk-gnutella/upnpc.log;
10}
11
12gtk-gnutella-upnp-daemon() {
13 sleep 1;
14 echo ======= gtk-gnutella-upnp-daemon started ========
15 while pgrep -x gtk-gnutella -u "$UID" >/dev/null; do
16 gnet_port="$(gtk-gnutella-listen-port)";
17 gtk-gnutella-upnpc -r "$gnet_port" TCP "$gnet_port" UDP;
18 sleep 60;
19 done;
20 echo Shutting down gtk-gnutella-upnp-daemon...
21 gnet_port="$(gtk-gnutella-listen-port)";
22 gtk-gnutella-upnpc -d "$gnet_port" TCP "$gnet_port" UDP;
23 echo ======= gtk-gnutella-upnp-daemon exited ========
24}
25
26gtk-gnutella-upnp-daemon &
27gtk-gnutella $@; echo;
28pkill -x sleep -P $!;
29wait $!;
This page took 0.118209 seconds and 4 git commands to generate.