| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #!/usr/bin/env bash
- set -euo pipefail
- PREFIX="${1:-/opt/mynetspeeder}"
- BIN_PATH="/usr/local/bin/mynetspeeder"
- PYTHON_BIN="${PYTHON_BIN:-$(command -v python3 || true)}"
- PACKAGE_PARENT="$(dirname "$PREFIX")"
- PACKAGE_NAME="$(basename "$PREFIX")"
- if [[ $EUID -ne 0 ]]; then
- echo "need root"
- exit 1
- fi
- if [[ -z "$PYTHON_BIN" ]]; then
- echo "python3 not found"
- exit 1
- fi
- if ! command -v rsync >/dev/null 2>&1; then
- echo "rsync not found"
- exit 1
- fi
- mkdir -p "$PREFIX"
- rsync -a --delete /home/mynetspeeder/ "$PREFIX/"
- find "$PREFIX" -name '__pycache__' -type d -prune -exec rm -rf {} +
- cat > "$BIN_PATH" <<EOF
- #!/usr/bin/env bash
- set -euo pipefail
- export PYTHONPATH="$PACKAGE_PARENT\${PYTHONPATH:+:\$PYTHONPATH}"
- cd "$PACKAGE_PARENT"
- exec "$PYTHON_BIN" -m "$PACKAGE_NAME" "\$@"
- EOF
- chmod +x "$BIN_PATH"
- chmod +x "$PREFIX/scripts/start-transparent.sh" "$PREFIX/scripts/stop-transparent.sh" "$PREFIX/scripts/install.sh"
- [[ -f "$PREFIX/scripts/start-relay.sh" ]] && chmod +x "$PREFIX/scripts/start-relay.sh"
- [[ -f "$PREFIX/scripts/stop-relay.sh" ]] && chmod +x "$PREFIX/scripts/stop-relay.sh"
- echo "installed to $PREFIX"
- echo "package parent: $PACKAGE_PARENT"
- echo "command: $BIN_PATH"
- echo "test: mynetspeeder --help"
|