Skip to content

Commit 54b82ca

Browse files
committed
Release for 0.4.0.
Updated the readme for installation and usage of 0.4.0. The default startup type at installation is now Automatic and the option has been changed to 'ManualStartup'. Fixed the descriptions for the parameters for the install script.
1 parent 237cd70 commit 54b82ca

File tree

7 files changed

+41
-21
lines changed

7 files changed

+41
-21
lines changed

README.md

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,29 @@
11
# Moo.FuckScreenConnect-rs
22

33
Moo.FuckScreenConnect is a tool to make the privacy screen for ScreenConnect Client (and Remote Utilities) semi-transparent, allowing you to see what a scammer is doing while they think their actions are secret.\
4-
Support for remote desktop software (e.g., AnyDesk) that does not use a standard window for its privacy screen is outside the scope of this project, but may be supported in a separate project in the future.
4+
Support for remote desktop software (e.g., AnyDesk) that does not use a standard window for its privacy screen is outside the scope of this project.
55

66
This is a port of the original formerly private program written in C# to Rust, made simpler and easier to understand and maintain. Now with support for Remote Utilities!
77

8-
Feature requests are welcome, but please file an issue here on GitHub rather than making a direct request elsewhere.
8+
Feature requests are welcome, but please file an issue here on GitHub rather than making a direct request elsewhere.
9+
10+
## Installation
11+
The easiest way to install or uninstall FSC is to download the [latest release](https://github.com/RobotsOnDrugs/Moo.FuckScreenConnect-rs/releases) and use the included PowerShell script `install.ps1`. This script must be run as an administrator from the command line. You may need to set PowerShell's execution policy to allow the script to run.
12+
```powershell
13+
Set-ExecutionPolicy -ExecutionPolicy Bypass
14+
```
15+
or, for only the script:
16+
```powershell
17+
Unblock-File '.\install.ps1'
18+
```
19+
If updating from version 0.3.x or earlier, it is highly advised to uninstall using the installation script from that release before installing version 0.4.
20+
21+
### install.ps1 Optional Parameters
22+
- `ApplicationPath [custom\path\here]` - Specifies an alternate installation directory. Note: when uninstalling, this parameter must be set to the directory specified during installation.
23+
- `Type [Install|Uninstall]` - Specifies whether to install or uninstall FSC. By default, it will install.
24+
- `ServiceName [Name]` - Specifies a custom name for the service which will appear in places where services are displayed such as Task Manager or the Services application. When uninstalling, this parameter must be set to the name specified during installation.
25+
- `ManualStartup` - Specifies whether to start the service automatically at boot or only when started manually. If set, it will not start automatically at boot and must be started manually.
26+
- `ShowDebugMessages` - Shows extra information that is intended for aiding development. The messages that are displayed are subject to change.
27+
28+
## Usage
29+
FSC runs as a Windows service. Once installed, it will run in the background and requires no additional interaction if set to automatic startup. It can be stopped and started in the same manner as any other Windows service.

fsc_common/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "fsc_common"
3-
version = "0.4.0-beta3"
3+
version = "0.4.0"
44
edition = "2024"
55

66
[dependencies]

fsc_core/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "fsc_core"
3-
version = "0.4.0-beta3"
3+
version = "0.4.0"
44
edition = "2024"
55

66
[dependencies]

fsc_core/build.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ fn main()
1212
embed_manifest(manifest_builder).expect("Couldn't embed manifest.");
1313

1414
let mut res = WindowsResource::new();
15-
let file_description = std::env::var("BINARY_FILE_DESCRIPTION");
15+
let file_description = env::var("BINARY_FILE_DESCRIPTION");
1616
let git_version = env::var("GIT_VERSION");
1717
if let Ok(ref desc) = file_description
1818
{

fsc_service/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "fsc_service"
3-
version = "0.4.0-beta3"
3+
version = "0.4.0"
44
edition = "2024"
55

66
[dependencies]

install.ps1

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,24 @@
44
.DESCRIPTION
55
Installs FuckScreenConnect either from the current directory or a specified path.
66
If there is an error, regardless of any options specified, the script will immediately halt and any issues must then be resolved manually.
7-
.PARAMETER ApplicationPath
8-
Optional; the current directory is used by default. Specifies the directory containing fsc_service.exe and fsc_core.exe.
7+
.PARAMETER ApplicationPath [Path to custom directory]
8+
Optional; defaults to the Program Files directory. If set, it will install to the custom directory specified.
99
.PARAMETER Type [Install | Uninstall]
1010
Optional; defaults to Install. Installs or uninstalls the service.
11-
.PARAMETER ServiceName
12-
Optional; "FSC Service" by default. Specifies the name of the FSC service that will appear in e.g., the Services application or Task Manager.
13-
.PARAMETER AutomaticStartup
14-
Optional; false by default. If set, the service will be set to automatically start at boot. If unset, the service will not and can be started manually.
11+
.PARAMETER ServiceName [Name]
12+
Optional; defaults to "FSC Service". Specifies the name of the FSC service that will appear in e.g., the Services application or Task Manager.
13+
.PARAMETER ManualStartup
14+
Optional. If set, the service must be started or stopped manually. Otherwise, the service will start automatically at boot.
1515
.PARAMETER ShowDebugMessages
16-
Optional; unset by default. If set, debug messages are shown. Primarily meant for troubleshooting and developer use, and the messages shown are subject to change.
16+
Optional. If set, debug messages are shown. Primarily meant for troubleshooting and developer use, and the messages shown are subject to change.
1717
#>
1818

1919
param
2020
(
2121
[string]$ApplicationPath = "$env:PROGRAMFILES\FSC Service",
2222
[string][ValidateSet('Install','Uninstall')]$Type = 'Install',
2323
[string]$ServiceName = 'FSC Service',
24-
[Switch]$AutomaticStartup,
24+
[Switch]$ManualStartup,
2525
[Switch]$ShowDebugMessages
2626
)
2727

@@ -39,13 +39,13 @@ Write-Log -Level INFO -Message 'Starting.'
3939

4040
$is_absolute = [System.IO.Path]::IsPathRooted($ApplicationPath);
4141
if (!$is_absolute) { $ApplicationPath = "$PWD", "$ApplicationPath" -join '\' }
42-
if (-not $AutomaticStartup) { $AutomaticStartup = $false }
42+
if ($ManualStartup) { $ManualStartup = $true }
4343
switch ($Type)
4444
{
4545
'Install'
4646
{
4747
Write-Log -Level INFO -Message 'Installing FSC.'
48-
Set-Installation "$ServiceName" $AutomaticStartup "$ApplicationPath"
48+
Set-Installation "$ServiceName" $ManualStartup "$ApplicationPath"
4949
break
5050
}
5151
'Uninstall'

install_modules/fsc_functions.ps1

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,22 @@ function Get-InstallationStatus
1919

2020
function Set-Installation
2121
{
22-
param([string]$service_name, [bool]$is_automatic, [string]$path)
22+
param([string]$service_name, [bool]$is_manual, [string]$path)
2323
$clean = ((Get-InstallationStatus "$service_name") -eq [ExistingInstallationStatus]::None)
2424
if (!$clean) { Remove-Installation "$service_name" "$path" }
2525
Write-Log -Level INFO -Message "Installing $service_name."
26-
if ($is_automatic) { $start_type = 'AutomaticDelayedStart' }
27-
else { $start_type = 'Manual' }
26+
if ($is_manual) { $start_type = 'Manual' }
27+
else { $start_type = 'Automatic' }
2828
New-Item -ItemType Directory -Path "$path" -Force | Out-Null
2929
Copy-Item '.\fsc_service.exe' "$path"
3030
Copy-Item '.\fsc_core.exe' "$path"
3131
$service_path = "$path", '\fsc_service.exe' -join ''
3232
New-Service -Name "$service_name" -BinaryPathName "`"$service_path`" `"$service_name`"" -DisplayName "$service_name" -StartupType $start_type | Out-Null
3333
$status = (Get-InstallationStatus $service_name)
3434
if ($status -ne [ExistingInstallationStatus]::Normal) { Stop-ScriptWithError -ErrorMessage "Could not create service $service_name." }
35-
Start-Service -Name "$service_name" | Out-Null
35+
if (-not $is_manual) { Start-Service -Name "$service_name" | Out-Null }
3636
$start_status = (Get-Service -Name "$service_name").Status
3737
Write-Log -Level DEBUG "Start status: $start_status"
38-
if (!$start_status.Equals([System.ServiceProcess.ServiceControllerStatus]::Running)) { Stop-ScriptWithError -ErrorMessage "Could not start service $service_name." }
3938

4039
return Get-InstallationStatus $service_name
4140
}

0 commit comments

Comments
 (0)