diff --git a/.github/ISSUE_TEMPLATE/Bug-report.yml b/.github/ISSUE_TEMPLATE/Bug-report.yml index 9ffb792e0..f417733bf 100644 --- a/.github/ISSUE_TEMPLATE/Bug-report.yml +++ b/.github/ISSUE_TEMPLATE/Bug-report.yml @@ -42,7 +42,6 @@ body: - docker-linux/arm/v7 - docker-linux/arm64 - generic (with latest .NET runtime) - - generic-netf (with latest Mono runtime) - linux-arm - linux-arm64 - linux-x64 diff --git a/ArchiSteamFarm/overlay/variant-specific/generic-netf/ArchiSteamFarm-Service.sh b/ArchiSteamFarm/overlay/variant-specific/generic-netf/ArchiSteamFarm-Service.sh deleted file mode 100755 index 5d06cdb79..000000000 --- a/ArchiSteamFarm/overlay/variant-specific/generic-netf/ArchiSteamFarm-Service.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env sh -set -eu - -CONFIG_PATH="config/ASF.json" -OS_TYPE="$(uname -s)" - -case "$OS_TYPE" in - "Darwin") SCRIPT_PATH="$(readlink "$0")" ;; - "FreeBSD") SCRIPT_PATH="$(readlink -f "$0")" ;; - "Linux") SCRIPT_PATH="$(readlink -f "$0")" ;; - *) echo "ERROR: Unknown OS type: ${OS_TYPE}. If you believe that our script should work on your machine, please let us know."; exit 1 -esac - -SCRIPT_DIR="$(dirname "$SCRIPT_PATH")" -BINARY="${SCRIPT_DIR}/ArchiSteamFarm.exe" - -if [ ! -f "$BINARY" ]; then - echo "ERROR: $BINARY could not be found!" - exit 1 -fi - -cd "$SCRIPT_DIR" - -PATH_NEXT=0 -SERVICE=0 - -PARSE_ARG() { - case "$1" in - --path) PATH_NEXT=1 ;; - --path=*) - if [ "$PATH_NEXT" -eq 1 ]; then - PATH_NEXT=0 - cd "$1" - else - cd "$(echo "$1" | cut -d '=' -f 2-)" - fi - ;; - --service) SERVICE=1 ;; - *) - if [ "$PATH_NEXT" -eq 1 ]; then - PATH_NEXT=0 - cd "$1" - fi - esac -} - -if [ -n "${ASF_PATH-}" ]; then - cd "$ASF_PATH" -fi - -if [ -n "${ASF_ARGS-}" ]; then - for ARG in $ASF_ARGS; do - if [ -n "$ARG" ]; then - PARSE_ARG "$ARG" - fi - done -fi - -for ARG in "$@"; do - if [ -n "$ARG" ]; then - PARSE_ARG "$ARG" - fi -done - -BINARY_PREFIX="" - -if [ -n "${ASF_USER-}" ] && [ "$(id -u)" -eq 0 ] && id -u "$ASF_USER" >/dev/null 2>&1 && [ "$(id -u "$ASF_USER")" -gt 0 ]; then - # Fix permissions first to ensure ASF has read/write access to the directory specified by --path and its own - chown -hR "${ASF_USER}:${ASF_USER}" . "$SCRIPT_DIR" || true - - BINARY_PREFIX="su ${ASF_USER} -c" -fi - -CONFIG_PATH="$(pwd)/${CONFIG_PATH}" - -# Kill underlying ASF process on shell process exit -trap "trap - TERM && kill -- -$$" INT TERM - -if ! command -v mono >/dev/null; then - echo "ERROR: mono is not installed!" - exit 1 -fi - -mono --version - -while :; do - if [ "$SERVICE" -eq 1 ] || ([ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"); then - # We're running ASF in headless mode so we don't need STDIN - # Start ASF in the background, trap will work properly due to non-blocking call - if [ -n "$BINARY_PREFIX" ]; then - $BINARY_PREFIX "mono ${MONO_ARGS-} $BINARY $*" & - else - mono ${MONO_ARGS-} "$BINARY" "$@" & - fi - - # This will forward mono error code, set -e will abort the script if it's non-zero - wait $! - else - # We're running ASF in non-headless mode, so we need STDIN to be operative - # Start ASF in the foreground, trap won't work until process exit - if [ -n "$BINARY_PREFIX" ]; then - $BINARY_PREFIX "mono ${MONO_ARGS-} $BINARY $*" - else - mono ${MONO_ARGS-} "$BINARY" "$@" - fi - fi - - sleep 1 -done diff --git a/ArchiSteamFarm/overlay/variant-specific/generic-netf/ArchiSteamFarm.desktop b/ArchiSteamFarm/overlay/variant-specific/generic-netf/ArchiSteamFarm.desktop deleted file mode 100755 index 0dd380218..000000000 --- a/ArchiSteamFarm/overlay/variant-specific/generic-netf/ArchiSteamFarm.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Type=Application -Name=ArchiSteamFarm -Comment=C# application with primary purpose of farming Steam cards from multiple accounts simultaneously. -Icon=system-run-symbolic -Exec=/usr/bin/env sh -eu -c "exec mono \\"\\$(dirname \\"\\$(readlink -f \\"\\$0\\")\\")/ArchiSteamFarm.exe\\"" %k -Terminal=true -Categories=Game; diff --git a/ArchiSteamFarm/overlay/variant-specific/generic-netf/ArchiSteamFarm.sh b/ArchiSteamFarm/overlay/variant-specific/generic-netf/ArchiSteamFarm.sh deleted file mode 100755 index 2b7e843df..000000000 --- a/ArchiSteamFarm/overlay/variant-specific/generic-netf/ArchiSteamFarm.sh +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env sh -set -eu - -CONFIG_PATH="config/ASF.json" -OS_TYPE="$(uname -s)" - -case "$OS_TYPE" in - "Darwin") SCRIPT_PATH="$(readlink "$0")" ;; - "FreeBSD") SCRIPT_PATH="$(readlink -f "$0")" ;; - "Linux") SCRIPT_PATH="$(readlink -f "$0")" ;; - *) echo "ERROR: Unknown OS type: ${OS_TYPE}. If you believe that our script should work on your machine, please let us know."; exit 1 -esac - -SCRIPT_DIR="$(dirname "$SCRIPT_PATH")" -BINARY="${SCRIPT_DIR}/ArchiSteamFarm.exe" - -if [ ! -f "$BINARY" ]; then - echo "ERROR: $BINARY could not be found!" - exit 1 -fi - -cd "$SCRIPT_DIR" - -PATH_NEXT=0 -SERVICE=0 - -PARSE_ARG() { - case "$1" in - --path) PATH_NEXT=1 ;; - --path=*) - if [ "$PATH_NEXT" -eq 1 ]; then - PATH_NEXT=0 - cd "$1" - else - cd "$(echo "$1" | cut -d '=' -f 2-)" - fi - ;; - --service) SERVICE=1 ;; - *) - if [ "$PATH_NEXT" -eq 1 ]; then - PATH_NEXT=0 - cd "$1" - fi - esac -} - -if [ -n "${ASF_PATH-}" ]; then - cd "$ASF_PATH" -fi - -if [ -n "${ASF_ARGS-}" ]; then - for ARG in $ASF_ARGS; do - if [ -n "$ARG" ]; then - PARSE_ARG "$ARG" - fi - done -fi - -for ARG in "$@"; do - if [ -n "$ARG" ]; then - PARSE_ARG "$ARG" - fi -done - -BINARY_PREFIX="" - -if [ -n "${ASF_USER-}" ] && [ "$(id -u)" -eq 0 ] && id -u "$ASF_USER" >/dev/null 2>&1 && [ "$(id -u "$ASF_USER")" -gt 0 ]; then - # Fix permissions first to ensure ASF has read/write access to the directory specified by --path and its own - chown -hR "${ASF_USER}:${ASF_USER}" . "$SCRIPT_DIR" || true - - BINARY_PREFIX="su ${ASF_USER} -c" -fi - -CONFIG_PATH="$(pwd)/${CONFIG_PATH}" - -# Kill underlying ASF process on shell process exit -trap "trap - TERM && kill -- -$$" INT TERM - -if ! command -v mono >/dev/null; then - echo "ERROR: mono is not installed!" - exit 1 -fi - -mono --version - -if [ "$SERVICE" -eq 1 ] || ([ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"); then - # We're running ASF in headless mode so we don't need STDIN - # Start ASF in the background, trap will work properly due to non-blocking call - if [ -n "$BINARY_PREFIX" ]; then - $BINARY_PREFIX "mono ${MONO_ARGS-} $BINARY $*" & - else - mono ${MONO_ARGS-} "$BINARY" "$@" & - fi - - # This will forward mono error code, set -e will abort the script if it's non-zero - wait $! -else - # We're running ASF in non-headless mode, so we need STDIN to be operative - # Start ASF in the foreground, trap won't work until process exit - if [ -n "$BINARY_PREFIX" ]; then - $BINARY_PREFIX "mono ${MONO_ARGS-} $BINARY $*" - else - mono ${MONO_ARGS-} "$BINARY" "$@" - fi -fi diff --git a/ArchiSteamFarm/overlay/variant-specific/generic-netf/ArchiSteamFarm@.service b/ArchiSteamFarm/overlay/variant-specific/generic-netf/ArchiSteamFarm@.service deleted file mode 100644 index 189d3e89e..000000000 --- a/ArchiSteamFarm/overlay/variant-specific/generic-netf/ArchiSteamFarm@.service +++ /dev/null @@ -1,46 +0,0 @@ -[Install] -WantedBy=multi-user.target - -[Service] -EnvironmentFile=-/etc/asf/%i -ExecStart=mono /home/%i/ArchiSteamFarm/ArchiSteamFarm.exe --no-restart --process-required --service --system-required -Restart=on-success -RestartSec=1s -SyslogIdentifier=asf-%i -User=%i - -# ASF security hardening, all of the below entries are optional, but their existence improves security of your system -CapabilityBoundingSet= -DevicePolicy=closed -LockPersonality=yes -NoNewPrivileges=yes -PrivateDevices=yes -PrivateIPC=yes -PrivateMounts=yes -PrivateUsers=yes -ProcSubset=pid -ProtectClock=yes -ProtectControlGroups=yes -ProtectHome=read-only -ProtectHostname=yes -ProtectKernelLogs=yes -ProtectKernelModules=yes -ProtectKernelTunables=yes -ProtectProc=invisible -ProtectSystem=strict -ReadWritePaths=/home/%i/ArchiSteamFarm /tmp -RemoveIPC=yes -RestrictAddressFamilies=AF_INET AF_INET6 AF_NETLINK AF_UNIX -RestrictNamespaces=yes -RestrictRealtime=yes -RestrictSUIDSGID=yes -SecureBits=noroot-locked -SystemCallArchitectures=native -SystemCallFilter=@system-service -SystemCallFilter=~@privileged -UMask=0077 - -[Unit] -After=network.target -Description=ArchiSteamFarm Service (on %I) -Documentation=https://github.com/JustArchiNET/ArchiSteamFarm/wiki