diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index c9236ed05..f2c1f4cca 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -5,28 +5,28 @@ There are no real formal contribution guidelines right now, they will maybe come ## Repository Structure -- [core](core) - Shared core classes of the X-Pipe Java API, X-Pipe extensions, and the X-Pipe daemon implementation -- [beacon](beacon) - The X-Pipe beacon component is responsible for handling all communications between the X-Pipe +- [core](core) - Shared core classes of the XPipe Java API, XPipe extensions, and the XPipe daemon implementation +- [beacon](beacon) - The XPipe beacon component is responsible for handling all communications between the XPipe daemon and the client applications, for example the various programming language APIs and the CLI -- [app](app) - Contains the X-Pipe daemon implementation, the X-Pipe desktop application, and an - API to create all different kinds of extensions for the X-Pipe platform -- [dist](dist) - Tools to create a distributable package of X-Pipe -- [ext](ext) - Available X-Pipe extensions. Essentially every feature is implemented as an extension +- [app](app) - Contains the XPipe daemon implementation, the XPipe desktop application, and an + API to create all different kinds of extensions for the XPipe platform +- [dist](dist) - Tools to create a distributable package of XPipe +- [ext](ext) - Available XPipe extensions. Essentially every feature is implemented as an extension ### Open source model -X-Pipe utilizes an open core model, which essentially means that +XPipe utilizes an open core model, which essentially means that the main application is open source while certain other components are not. Select parts are not open source yet, but may be added to this repository in the future. Some tests and especially test environments and that run on private servers are also not included in this repository (Don't want to leak server information). Finally, scripts and workflows to create and publish installers and packages -are also not included to prevent attackers from easily impersonating the X-Pipe application. +are also not included to prevent attackers from easily impersonating the XPipe application. ## Modularity -All X-Pipe components target [JDK 19](https://openjdk.java.net/projects/jdk/19/) and make full use of the Java Module System (JPMS). +All XPipe components target [JDK 19](https://openjdk.java.net/projects/jdk/19/) and make full use of the Java Module System (JPMS). All components are modularized, including all their dependencies. In case a dependency is (sadly) not modularized yet, module information is manually added using [moditect](https://github.com/moditect/moditect-gradle-plugin). Further, note that as this is a pretty complicated Java project that fully utilizes modularity, @@ -36,10 +36,10 @@ The tested and recommended IDE is IntelliJ. ## Setup -You need to have an up-to-date version of X-Pipe installed on your local system in order to properly -run X-Pipe in a development environment. +You need to have an up-to-date version of XPipe installed on your local system in order to properly +run XPipe in a development environment. This is due to the fact that some components are only included in the release version and not in this repository. -X-Pipe is able to automatically detect your local installation and fetch the required +XPipe is able to automatically detect your local installation and fetch the required components from it when it is run in a development environment. ## Building and Running @@ -54,5 +54,5 @@ You are also able to properly debug the built production application through two - The `app/scripts/xpiped_debug_attach` script attaches a debugger with the help of [AttachMe](https://plugins.jetbrains.com/plugin/13263-attachme). Just make sure that the attachme process is running within IntelliJ, and the debugger should launch automatically once you start up the application. -Note that when any unit test is run using a debugger, the X-Pipe daemon process that is started will also attempt +Note that when any unit test is run using a debugger, the XPipe daemon process that is started will also attempt to connect to that debugger through [AttachMe](https://plugins.jetbrains.com/plugin/13263-attachme) as well. diff --git a/FAQ.md b/FAQ.md index ec8f1478e..bebc2e227 100644 --- a/FAQ.md +++ b/FAQ.md @@ -6,13 +6,13 @@ Compared to other existing tools, the fundamental approach of how to connect and how to communicate with the remote system differs. Other tools utilize the established protocol-based approach, i.e. connect and communicate with a server via a certain protocol like SSH, SFTP, and many more. -X-Pipe utilizes a shell-based approach that works on top of command-line programs. +XPipe utilizes a shell-based approach that works on top of command-line programs. Let's use the example of SSH. Protocol-based programs come with an included SSH library that allows them to interact with a remote system via SSH. This requires an SSH server implementation to be running on the remote system. -X-Pipe does not ship with any sort of SSH library or similar. -Instead, X-Pipe creates a new process using your local `ssh` executable, which is usually the OpenSSH client. +XPipe does not ship with any sort of SSH library or similar. +Instead, XPipe creates a new process using your local `ssh` executable, which is usually the OpenSSH client. I.e. it launches the process `ssh user@host` in the background and communicates with the opened remote shell through the stdout, stderr, stdin of the process. From there, it detects what kind of server and environment, @@ -20,13 +20,13 @@ e.g. shell type, os, etc. you have logged into with that shell connection, and adjusts how it talks to the remote system from there. It effectively delegates everything protocol and connection related to your external programs. -As a result of this approach, you can do stuff with X-Pipe that you can't do with other tools. +As a result of this approach, you can do stuff with XPipe that you can't do with other tools. One example would be connecting and accessing files on a docker container as there's no real protocol to formally connect here by default. -X-Pipe can simply execute `docker exec -i sh` to open a shell into the container +XPipe can simply execute `docker exec -i sh` to open a shell into the container and handle this shell exactly the same way as any other shell connection. -More broadly, X-Pipe can work on any shell connection, regardless of how it is established. +More broadly, XPipe can work on any shell connection, regardless of how it is established. From its perspective, there's no visible difference between a remote ssh connection and a shell to a local docker container. @@ -37,32 +37,32 @@ Windows/Linux/macOS system that has been released in the last ten years. ## What else do I need to use this? -As mentioned previously, X-Pipe itself does not ship with any sort of libraries for connection handling +As mentioned previously, XPipe itself does not ship with any sort of libraries for connection handling and instead delegates this to your existing command-line tools. For this approach to work however, you need to have the required tools installed. -For example, if you want to connect to a remote system via SSH with X-Pipe, +For example, if you want to connect to a remote system via SSH with XPipe, you need to have an `ssh` client installed and added to your PATH. The exact vendor and version of this `ssh` command-line tool doesn't matter as long as the standard options are supported. -If a required program is attempted to be used but can not be found, X-Pipe will notify you. +If a required program is attempted to be used but can not be found, XPipe will notify you. ## Is this secure / Can I entrust my sensitive information to this? -Due to its nature, X-Pipe has to handle a lot of sensitive information like passwords, keys, and more. +Due to its nature, XPipe has to handle a lot of sensitive information like passwords, keys, and more. As security plays a very important role here, there exists a dedicated [security page](/SECURITY.md) that should contain all relevant information for you to make your decision. -## How does X-Pipe handle privacy? +## How does XPipe handle privacy? -X-Pipe does not collect any sort of data like usage or tracking data. +XPipe does not collect any sort of data like usage or tracking data. The only case in which some sort of data is collected is when you choose to use the built-in error reporter to submit a report. This report data is limited to general system and error information, no sensitive information is submitted. For those people who like to read legalese, there's the [privacy policy](/PRIVACY.md). -## How does X-Pipe handle updates? +## How does XPipe handle updates? Especially in its early development stage, it can be pretty important to frequently distribute new releases. How exactly the update process is handled depends on your distribution: @@ -87,9 +87,9 @@ So you can assume that the code is tested and the release is automated! There are several to reach out, so you can choose whatever you like best: -- [X-Pipe Discord Server](https://discord.gg/8y89vS8cRb) -- [X-Pipe Slack Server](https://join.slack.com/t/x-pipe/shared_invite/zt-1awjq0t5j-5i4UjNJfNe1VN4b_auu6Cg) -- [X-Pipe Issue Tracker](https://github.com/xpipe-io/xpipe/issues) +- [XPipe Discord Server](https://discord.gg/8y89vS8cRb) +- [XPipe Slack Server](https://join.slack.com/t/XPipe/shared_invite/zt-1awjq0t5j-5i4UjNJfNe1VN4b_auu6Cg) +- [XPipe Issue Tracker](https://github.com/xpipe-io/xpipe/issues) ## I want to be the first to test use new features. How can I do that? diff --git a/PRIVACY.md b/PRIVACY.md index d367af5c5..df82c77ac 100644 --- a/PRIVACY.md +++ b/PRIVACY.md @@ -2,12 +2,12 @@ **Last updated April 21, 2023** -This privacy notice for X-Pipe, in which ("**we**," "**us**," or "**our**") refers to Christopher Schnick, describes how +This privacy notice for XPipe, in which ("**we**," "**us**," or "**our**") refers to Christopher Schnick, describes how and why we might collect, store, use, and/or share ("**process**") your information when you use our services ("**Services**"), such as when you: -* Download and use our application (X-Pipe), or any other application of ours that links to this privacy notice +* Download and use our application (XPipe), or any other application of ours that links to this privacy notice **Questions or concerns?** Reading this privacy notice will help you understand your privacy rights and choices. If you do not agree with our policies and practices, please do not use our Services. If you still have any questions or diff --git a/README.md b/README.md index 5b7f84a47..13224f0cf 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ### A flexible connection manager and remote file explorer -X-Pipe is a brand-new type of connection manager and remote file explorer that works by only interacting with command-line +XPipe is a brand-new type of connection manager and remote file explorer that works by only interacting with command-line tools on local and remote shell connections. This approach makes it much more flexible as it doesn't have to deal with file system APIs or remote file handling protocols at all. @@ -16,7 +16,7 @@ It currently supports: - Any other custom remote connection methods that works through the command-line - Arbitrary types of proxies to establish connections -Furthermore, X-Pipe integrates with your existing tools and workflows +Furthermore, XPipe integrates with your existing tools and workflows by outsourcing as many tasks as possible to your favourite text/code editors, terminals, shells, command-line tools and more. The platform is designed to be extensible, allowing anyone @@ -61,11 +61,11 @@ Head over to the [releases page](https://github.com/xpipe-io/xpipe/releases/late In case you're interested in development, check out the [development page](/DEVELOPMENT.md). -For information about the security model of X-Pipe, see the [security page](/SECURITY.md). +For information about the security model of XPipe, see the [security page](/SECURITY.md). -For information about the privacy policy of X-Pipe, see the [privacy page](/PRIVACY.md). +For information about the privacy policy of XPipe, see the [privacy page](/PRIVACY.md). If you want to talk you can also join: -- The [X-Pipe Discord Server](https://discord.gg/8y89vS8cRb) -- The [X-Pipe Slack Server](https://join.slack.com/t/x-pipe/shared_invite/zt-1awjq0t5j-5i4UjNJfNe1VN4b_auu6Cg) +- The [XPipe Discord Server](https://discord.gg/8y89vS8cRb) +- The [XPipe Slack Server](https://join.slack.com/t/XPipe/shared_invite/zt-1awjq0t5j-5i4UjNJfNe1VN4b_auu6Cg) diff --git a/SECURITY.md b/SECURITY.md index 5522c327d..714c4b1b6 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,63 +1,63 @@ # Security -Due to its nature, X-Pipe has to handle a lot of sensitive information. +Due to its nature, XPipe has to handle a lot of sensitive information. This can range from passwords for all kinds of servers, to SSH keys, and more. -Therefore, the security model of X-Pipe plays a very important role. +Therefore, the security model of XPipe plays a very important role. -This document summarizes the approach of X-Pipe when it comes to the security of your sensitive information. +This document summarizes the approach of XPipe when it comes to the security of your sensitive information. If any of your questions are left unanswered by this document, feel free to file an issue report so your question can be answered individually and can also potentially be included in this document. ## Reporting a security vulnerability -If you believe that you found a security vulnerability in X-Pipe, +If you believe that you found a security vulnerability in XPipe, you can make use of the [private security report feature](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability) of GitHub. ## Security assumptions -The general assumption is that the system on which X-Pipe runs on is not badly infected. -This refers to your local system on which you installed X-Pipe, not any remote systems that you then connect to. +The general assumption is that the system on which XPipe runs on is not badly infected. +This refers to your local system on which you installed XPipe, not any remote systems that you then connect to. If your local system is infected to an extent where malicious programs can modify the -file system and other installed programs like X-Pipe, -then there is no technical way of preventing malicious programs to also infect X-Pipe and the connected systems as well. +file system and other installed programs like XPipe, +then there is no technical way of preventing malicious programs to also infect XPipe and the connected systems as well. ## Reliance on other programs -X-Pipe essentially outsources any form of connection and shell handling to your existing command-line tools. +XPipe essentially outsources any form of connection and shell handling to your existing command-line tools. It does not come with any remote handling capabilities of its own. Therefore, any used command-line program should be secure. If for example your `ssh` command-line program or its connections are susceptible to MITM attacks or -vulnerable in any other way, there is no way for X-Pipe to keep the sensitive information secure. +vulnerable in any other way, there is no way for XPipe to keep the sensitive information secure. It is your responsibility to use the programs in a secure environment and keep them up to date with security patches and more. -X-Pipe can only be as secure as your underlying command-line tools itself. +XPipe can only be as secure as your underlying command-line tools itself. -X-Pipe calls these programs almost exactly as you would do manually in your terminal +XPipe calls these programs almost exactly as you would do manually in your terminal with some a few additional parameters to automatically pass login information and adapt the environment to make it work properly. The called program therefore automatically uses your system configuration for it, e.g. your system SSH configs. -X-Pipe does not perform any validation or version checking for the programs it calls. -For example, when establishing an ssh connection through X-Pipe, it will straight up call `ssh user@host `. +XPipe does not perform any validation or version checking for the programs it calls. +For example, when establishing an ssh connection through XPipe, it will straight up call `ssh user@host `. It is assumed that this `ssh` executable is secure and the one that you actually want to use. ## Data security and privacy -The general approach of X-Pipe can be summarized as follows: +The general approach of XPipe can be summarized as follows: - Any sensitive information should be kept as secure as possible exclusively on your local machine, - both while X-Pipe is running and also not running -- When sensitive information is required on another remote system that is connected through X-Pipe, that information + both while XPipe is running and also not running +- When sensitive information is required on another remote system that is connected through XPipe, that information should be transferred and remain there as briefly and securely as possible - No sensitive information should be sent to any other server outside your network of trusted connections ### Storage of sensitive information -All X-Pipe data is exclusively stored on your local machine at `~/.xpipe/storage`. +All XPipe data is exclusively stored on your local machine at `~/.xpipe/storage`. You can choose to change this storage location in the settings menu. All sensitive information is encrypted when it is saved to disk on your local machine using AES @@ -82,7 +82,7 @@ Then the passed sensitive information is just written into the stdin of the prog or file system. When a program only accepts password input via an environment variable or an askpass program, -a self deleting password supplier script file is generated by X-Pipe. +a self deleting password supplier script file is generated by XPipe. This script contains the encrypted password and will supply the password to the target program exactly once when invoked and immediately deletes itself afterwards. This behavior ensures that there is no leftover password script after an operation is performed. @@ -94,7 +94,7 @@ up in any kind of shell history or on any file system. ### The purpose of shell scripts -Whenever you open a remote connection in a terminal from X-Pipe, you will notice that your terminal shows +Whenever you open a remote connection in a terminal from XPipe, you will notice that your terminal shows the name of a script located in your temp directory in the title bar to indicate that you're currently executing it. The naming scheme of these scripts is usually something like `xpipe/exec-.(bat|sh|ps1)` This is intended as these scripts contain all commands that are required @@ -111,21 +111,21 @@ instantly so any attacker doesn't obtain any sensitive information from it. ### Logging -By default, X-Pipe creates log files located in `~/.xpipe/logs`. +By default, XPipe creates log files located in `~/.xpipe/logs`. Under normal conditions these log files do not contain any sensitive information. -If you choose to alter the log level in the settings menu or launch X-Pipe in debug mode, +If you choose to alter the log level in the settings menu or launch XPipe in debug mode, these log files will contain a lot more and finer grained information, some of which might be sensitive. ### Issue reports -Whenever an error occurs within X-Pipe or you choose to open the error reporter dialog, +Whenever an error occurs within XPipe or you choose to open the error reporter dialog, you have the option to automatically send an error report with optional feedback and attachments. This error report does not contain any sensitive information unless you explicitly choose to attach debug mode log files (See above). ## Isolation -Any infected remote system should be isolated enough such that any infection can't spread through X-Pipe. +Any infected remote system should be isolated enough such that any infection can't spread through XPipe. ### User isolation @@ -135,22 +135,22 @@ Any other user on a system can't read or write them unless they have root/Admini ### Isolation of remote systems -When you add a remote system as a host within X-Pipe, it is implicitly assumed that you trust this system. +When you add a remote system as a host within XPipe, it is implicitly assumed that you trust this system. Any required login information is sent to and handled on that remote host when required, so it would be possible for malicious program with sufficient privileges to obtain any information sent to that host. This would require an attacker to be able to access files of the user that is used to log into the remote system. It should however not be possible for any malicious program on the remote host to obtain -other information stored by X-Pipe that is not explicitly sent to that host. +other information stored by XPipe that is not explicitly sent to that host. ## Antivirus programs ### Windows It may occasionally happen that Windows Defender warns and -even sometimes deletes X-Pipe due to it identifying the application as malware. +even sometimes deletes XPipe due to it identifying the application as malware. The reason for this is simple: The application is not signed with an EV code signing -certificate as this would require a company for X-Pipe to be set up and would also cost around 600$+ per year. -If X-Pipe was signed with such a certificate, as are most Windows applications distributed by companies, all warnings +certificate as this would require a company for XPipe to be set up and would also cost around 600$+ per year. +If XPipe was signed with such a certificate, as are most Windows applications distributed by companies, all warnings would go away automatically. The Windows Defender / Windows SmartScreen system is essentially pay-to-win here. Just paying the appropriate amount will automatically whitelist your application (even it is unsafe / essentially @@ -166,7 +166,7 @@ In summary, don't rely on Windows Defender to be accurate when it comes to false All artifacts of every release are automatically analyzed on VirusTotal and you can find the results linked at the bottom of every release. From there you should be able to get a better overview over the actual -threat level of X-Pipe instead of purely relying on Windows Defender. +threat level of XPipe instead of purely relying on Windows Defender. ### macOS diff --git a/api/README.md b/api/README.md index 1cad0bb15..62ecdec88 100644 --- a/api/README.md +++ b/api/README.md @@ -1,9 +1,9 @@ [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.xpipe/xpipe-api/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.xpipe/xpipe-api) [![javadoc](https://javadoc.io/badge2/io.xpipe/xpipe-api/javadoc.svg)](https://javadoc.io/doc/io.xpipe/xpipe-api) -## X-Pipe Java API +## XPipe Java API -The X-Pipe API for Java allows you to use most of the X-Pipe functionality from Java applications: +The XPipe API for Java allows you to use most of the XPipe functionality from Java applications: - Create data stores and data sources - Query and work with the contents of data sources diff --git a/api/publish.gradle b/api/publish.gradle index c9183dd90..bcea7f779 100644 --- a/api/publish.gradle +++ b/api/publish.gradle @@ -13,8 +13,8 @@ publishing { } pom { - name = 'X-Pipe Java API' - description = 'Contains everything necessary to interact with X-Pipe from Java applications.' + name = 'XPipe Java API' + description = 'Contains everything necessary to interact with XPipe from Java applications.' url = 'https://github.com/xpipe-io/xpipe/api' licenses { license { diff --git a/api/src/main/java/io/xpipe/api/DataSource.java b/api/src/main/java/io/xpipe/api/DataSource.java index 0d2bf1984..6ee3b73c2 100644 --- a/api/src/main/java/io/xpipe/api/DataSource.java +++ b/api/src/main/java/io/xpipe/api/DataSource.java @@ -14,13 +14,13 @@ import java.nio.file.Files; import java.nio.file.Path; /** - * Represents a reference to a data source that is managed by X-Pipe. + * Represents a reference to a data source that is managed by XPipe. *

* The actual data is only queried when required and is not cached. * Therefore, the queried data is always up-to-date at the point of calling a method that queries the data. *

* As soon a data source reference is created, the data source is locked - * within X-Pipe to prevent concurrent modification and the problems that can arise from it. + * within XPipe to prevent concurrent modification and the problems that can arise from it. * By default, the lock is held until the calling program terminates and prevents * other applications from modifying the data source in any way. * To unlock the data source earlier, you can make use the {@link #unlock()} method. diff --git a/app/build.gradle b/app/build.gradle index 6493dae33..f49668c7e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -108,7 +108,7 @@ List jvmRunArgs = [ "--enable-preview", // "-XX:+ExitOnOutOfMemoryError", "-Dfile.encoding=UTF-8", - "-Dvisualvm.display.name=X-Pipe" + "-Dvisualvm.display.name=XPipe" ] diff --git a/app/src/main/java/io/xpipe/app/comp/about/BrowseDirectoryComp.java b/app/src/main/java/io/xpipe/app/comp/about/BrowseDirectoryComp.java index 91e8fb68e..07dd81eef 100644 --- a/app/src/main/java/io/xpipe/app/comp/about/BrowseDirectoryComp.java +++ b/app/src/main/java/io/xpipe/app/comp/about/BrowseDirectoryComp.java @@ -52,7 +52,7 @@ public class BrowseDirectoryComp extends SimpleComp { if (sc.getOsType().equals(OsType.WINDOWS)) { sc.executeSimpleCommand(ScriptHelper.createDetachCommand(sc, "\"" + script + "\"")); } else { - TerminalHelper.open("X-Pipe Debug", "\"" + script + "\""); + TerminalHelper.open("XPipe Debug", "\"" + script + "\""); } } }); diff --git a/app/src/main/java/io/xpipe/app/core/App.java b/app/src/main/java/io/xpipe/app/core/App.java index 5ed92e934..64715be54 100644 --- a/app/src/main/java/io/xpipe/app/core/App.java +++ b/app/src/main/java/io/xpipe/app/core/App.java @@ -37,7 +37,7 @@ public class App extends Application { icon = AppImages.image("logo.png"); // Set dock icon explicitly on mac - // This is necessary in case X-Pipe was started through a script as it will have no icon otherwise + // This is necessary in case XPipe was started through a script as it will have no icon otherwise if (OsType.getLocal().equals(OsType.MACOS)) { try { var iconUrl = Main.class.getResourceAsStream("resources/img/logo.png"); diff --git a/app/src/main/java/io/xpipe/app/core/AppExtensionManager.java b/app/src/main/java/io/xpipe/app/core/AppExtensionManager.java index e259d0d95..d11630208 100644 --- a/app/src/main/java/io/xpipe/app/core/AppExtensionManager.java +++ b/app/src/main/java/io/xpipe/app/core/AppExtensionManager.java @@ -69,7 +69,7 @@ public class AppExtensionManager { Path p = Path.of(localInstallation); if (!Files.exists(p)) { throw new IllegalStateException( - "Required local X-Pipe installation was not found but is required for development"); + "Required local XPipe installation was not found but is required for development"); } var extensions = XPipeInstallation.getLocalExtensionsDirectory(p); diff --git a/app/src/main/java/io/xpipe/app/core/AppTray.java b/app/src/main/java/io/xpipe/app/core/AppTray.java index 9872599dc..d489a9596 100644 --- a/app/src/main/java/io/xpipe/app/core/AppTray.java +++ b/app/src/main/java/io/xpipe/app/core/AppTray.java @@ -41,7 +41,7 @@ public class AppTray { .menuItem(AppI18n.get("quit"), e -> { OperationMode.close(); }) - .toolTip("X-Pipe") + .toolTip("XPipe") .build(); this.errorHandler = new TrayErrorHandler(); } diff --git a/app/src/main/java/io/xpipe/app/launcher/LauncherCommand.java b/app/src/main/java/io/xpipe/app/launcher/LauncherCommand.java index 317e8def5..b3a5fcb51 100644 --- a/app/src/main/java/io/xpipe/app/launcher/LauncherCommand.java +++ b/app/src/main/java/io/xpipe/app/launcher/LauncherCommand.java @@ -21,7 +21,7 @@ import java.util.List; import java.util.concurrent.Callable; @CommandLine.Command( - header = "Launches the X-Pipe daemon.", + header = "Launches the XPipe daemon.", sortOptions = false, showEndOfOptionsDelimiterInUsageHelp = true) public class LauncherCommand implements Callable { diff --git a/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java b/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java index e70b23a82..d402d822d 100644 --- a/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java +++ b/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java @@ -110,7 +110,7 @@ public interface ExternalTerminalType extends PrefsChoiceValue { @Override protected String toCommand(String name, String file) { // Note for later: When debugging konsole launches, it will always open as a child process of - // IntelliJ/X-Pipe even though we try to detach it. + // IntelliJ/XPipe even though we try to detach it. // This is not the case for production where it works as expected return "--new-tab -e \"" + file + "\""; } diff --git a/app/src/main/java/io/xpipe/app/update/AppInstaller.java b/app/src/main/java/io/xpipe/app/update/AppInstaller.java index ba287fa50..6ca9f4468 100644 --- a/app/src/main/java/io/xpipe/app/update/AppInstaller.java +++ b/app/src/main/java/io/xpipe/app/update/AppInstaller.java @@ -204,7 +204,7 @@ public class AppInstaller { exec || read -rsp "Update failed ..."$'\\n' -n 1 key """, file, file)); - TerminalHelper.open("X-Pipe Updater", command); + TerminalHelper.open("XPipe Updater", command); } } @@ -241,7 +241,7 @@ public class AppInstaller { exec || read -rsp "Update failed ..."$'\\n' -n 1 key """, file, file)); - TerminalHelper.open("X-Pipe Updater", command); + TerminalHelper.open("XPipe Updater", command); } } @@ -279,7 +279,7 @@ public class AppInstaller { exec || read -rsp "Update failed ..."$'\\n' -n 1 key """, file, file)); - TerminalHelper.open("X-Pipe Updater", command); + TerminalHelper.open("XPipe Updater", command); } } } diff --git a/app/src/main/java/io/xpipe/app/util/DesktopShortcuts.java b/app/src/main/java/io/xpipe/app/util/DesktopShortcuts.java index 1581eef52..7f688f6cb 100644 --- a/app/src/main/java/io/xpipe/app/util/DesktopShortcuts.java +++ b/app/src/main/java/io/xpipe/app/util/DesktopShortcuts.java @@ -32,7 +32,7 @@ public class DesktopShortcuts { [Desktop Entry] Type=Application Name=%s - Comment=Open with X-Pipe + Comment=Open with XPipe Exec="%s" open %s Icon=%s Terminal=false diff --git a/app/src/main/java/io/xpipe/app/util/Hyperlinks.java b/app/src/main/java/io/xpipe/app/util/Hyperlinks.java index 6f2f5fddb..26a2488af 100644 --- a/app/src/main/java/io/xpipe/app/util/Hyperlinks.java +++ b/app/src/main/java/io/xpipe/app/util/Hyperlinks.java @@ -11,7 +11,7 @@ public class Hyperlinks { public static final String SECURITY = "https://github.com/xpipe-io/xpipe/blob/master/SECURITY.md"; public static final String DISCORD = "https://discord.gg/8y89vS8cRb"; public static final String SLACK = - "https://join.slack.com/t/x-pipe/shared_invite/zt-1awjq0t5j-5i4UjNJfNe1VN4b_auu6Cg"; + "https://join.slack.com/t/XPipe/shared_invite/zt-1awjq0t5j-5i4UjNJfNe1VN4b_auu6Cg"; public static final String DOCS_PRIVACY = "https://xpipe.io/docs/privacy"; static final String[] browsers = { diff --git a/app/src/main/java/io/xpipe/app/util/XPipeSession.java b/app/src/main/java/io/xpipe/app/util/XPipeSession.java index 783a1bd34..d59771979 100644 --- a/app/src/main/java/io/xpipe/app/util/XPipeSession.java +++ b/app/src/main/java/io/xpipe/app/util/XPipeSession.java @@ -19,12 +19,12 @@ public class XPipeSession { boolean isNewBuildSession; /** - * Unique identifier that resets on every X-Pipe restart. + * Unique identifier that resets on every XPipe restart. */ UUID sessionId; /** - * Unique identifier that resets on every X-Pipe update. + * Unique identifier that resets on every XPipe update. */ UUID buildSessionId; diff --git a/app/src/main/resources/io/xpipe/app/resources/lang/intro_en.properties b/app/src/main/resources/io/xpipe/app/resources/lang/intro_en.properties index 3cca043d6..09fc42d5f 100644 --- a/app/src/main/resources/io/xpipe/app/resources/lang/intro_en.properties +++ b/app/src/main/resources/io/xpipe/app/resources/lang/intro_en.properties @@ -2,11 +2,11 @@ introTitle=Data sources introDescription=Pipe, manage, and store many different types of data. introCollection=Data source collections allow you to store and\norganize all your data sources for later use. introPipe=Pipe data from any origin to any destination\nacross formats while maintaining compatibility. -introDocumentation=In case you prefer a more structured approach to\nfamiliarizing yourself with X-Pipe, check out the documentation: +introDocumentation=In case you prefer a more structured approach to\nfamiliarizing yourself with XPipe, check out the documentation: introEntry=Once you have done that, you can add a new data source to it.\nThere are different types of data sources to choose from: introTableDataSource=Tabular data sources, for example a database table, an excel sheet, or a csv file. dataSourceIntroTitle=Categories of Data Sources -dataSourceIntroDescription=The next step is to add a data sources to this collection (See above). X-Pipe\ndifferentiates between several categories of data sources for different purposes. +dataSourceIntroDescription=The next step is to add a data sources to this collection (See above). XPipe\ndifferentiates between several categories of data sources for different purposes. dataSourceIntroTable=Tabular data sources contain data represented by some kind of table.\nExamples are database tables, Excel sheets, or .csv files. dataSourceIntroStructure=Structure data sources contain some form of object structure.\nExamples are .json files, .xml files, or certain types of NoSQL databases. dataSourceIntroText=Text data sources contain readable text that can\ncome in a variety of different encodings and simple formats. @@ -18,4 +18,4 @@ storeStreamDescription=Stream connections produce raw byte data\nthat can be use storeMachineDescription=You can quickly search for available remote connections automatically.\nAlternatively, you can also of course add them manually. detectConnections=Search for connections storeDatabaseDescription=Database connections allow you to connect to\na database server and interact with its contained data. -storeDocumentation=In case you prefer a more structured approach to\nfamiliarizing yourself with X-Pipe, check out the documentation: +storeDocumentation=In case you prefer a more structured approach to\nfamiliarizing yourself with XPipe, check out the documentation: diff --git a/app/src/main/resources/io/xpipe/app/resources/lang/preferences_en.properties b/app/src/main/resources/io/xpipe/app/resources/lang/preferences_en.properties index 2d4f4ccec..493b83fd4 100644 --- a/app/src/main/resources/io/xpipe/app/resources/lang/preferences_en.properties +++ b/app/src/main/resources/io/xpipe/app/resources/lang/preferences_en.properties @@ -8,8 +8,8 @@ useSystemFont=Use system font updates=Updates advanced=Advanced workspaceLock=Workspace lock -workspaceLockDescription=Sets a custom password to encrypt your stored information in X-Pipe. This results in increased security as it provides an additional layer of encryption for your stored sensitive information. You will then be prompted to enter the password when X-Pipe starts. -useSystemFontDescription=Controls whether to use your system font or the default font used by X-Pipe (Roboto). +workspaceLockDescription=Sets a custom password to encrypt your stored information in XPipe. This results in increased security as it provides an additional layer of encryption for your stored sensitive information. You will then be prompted to enter the password when XPipe starts. +useSystemFontDescription=Controls whether to use your system font or the default font used by XPipe (Roboto). tooltipDelay=Tooltip delay tooltipDelayDescription=The amount of milliseconds to wait until a tooltip is displayed. fontSize=Font size @@ -23,19 +23,19 @@ updateToPrereleasesDescription=When enabled, the update check will also look for storage=Storage runOnStartup=Run on startup closeBehaviour=Close behaviour -closeBehaviourDescription=Controls how X-Pipe should proceed upon closing its main window. +closeBehaviourDescription=Controls how XPipe should proceed upon closing its main window. language=Language lightTheme=Light Theme darkTheme=Dark Theme -exit=Quit X-Pipe +exit=Quit XPipe continueInBackground=Continue in background minimizeToTray=Minimize to tray closeBehaviourAlertTitle=Set closing behaviour closeBehaviourAlertTitleHeader=Select what should happen when closing the window. externalStartupBehaviour=External startup behaviour -externalStartupBehaviourDescription=Controls the behavior of the desktop application when X-Pipe is started from for example the CLI or an API. +externalStartupBehaviourDescription=Controls the behavior of the desktop application when XPipe is started from for example the CLI or an API. clearCachesAlertTitle=Clean Cache -clearCachesAlertTitleHeader=Do you want to clean all X-Pipe caches? +clearCachesAlertTitleHeader=Do you want to clean all XPipe caches? clearCachesAlertTitleContent=Note that this will delete all the data that is stored to improve the user experience, for example file usage histories. startGui=Start GUI startInTray=Start in tray @@ -48,11 +48,11 @@ notAnAbsolutePath=Not an absolute path notADirectory=Not a directory notAnEmptyDirectory=Not an empty directory automaticallyUpdate=Check for updates -automaticallyUpdateDescription=When enabled, new release information is automatically fetched in the background while X-Pipe is running. +automaticallyUpdateDescription=When enabled, new release information is automatically fetched in the background while XPipe is running. sendAnonymousErrorReports=Send anonymous error reports sendUsageStatistics=Send anonymous usage statistics storageDirectory=Storage directory -storageDirectoryDescription=The location where X-Pipe should store all connection and data source information. +storageDirectoryDescription=The location where XPipe should store all connection and data source information. logLevel=Log level appBehaviour=Application behaviour logLevelDescription=The log level that should be used when writing log files. @@ -79,7 +79,7 @@ developerShowHiddenEntriesDescription=When enabled, hidden and internal data sou developerShowHiddenProviders=Show hidden providers developerShowHiddenProvidersDescription=Controls whether hidden and internal connection and data source providers will be shown in the creation dialog. developerDisableConnectorInstallationVersionCheck=Disable Connector Version Check -developerDisableConnectorInstallationVersionCheckDescription=Controls whether the update checker will ignore the version number when inspecting the version of an X-Pipe connector installed on a remote machine. +developerDisableConnectorInstallationVersionCheckDescription=Controls whether the update checker will ignore the version number when inspecting the version of an XPipe connector installed on a remote machine. konsole=Konsole xfce=Xfce macosTerminal=Terminal.app diff --git a/app/src/main/resources/io/xpipe/app/resources/lang/translations_en.properties b/app/src/main/resources/io/xpipe/app/resources/lang/translations_en.properties index 470e509c9..4e93d9cab 100644 --- a/app/src/main/resources/io/xpipe/app/resources/lang/translations_en.properties +++ b/app/src/main/resources/io/xpipe/app/resources/lang/translations_en.properties @@ -56,15 +56,15 @@ appendDescription=Appends the new content to the existing content prependDescription=Prepends the new content to the existing content yes=Yes no=No -connectorInstallationTitle=X-Pipe Connector -connectorInstallationHeader=Would you like to install the X-Pipe connector on that host? -connectorInstallationContent=Some operations require the X-Pipe connector to be installed on the host. Note that this operation may take some time. +connectorInstallationTitle=XPipe Connector +connectorInstallationHeader=Would you like to install the XPipe connector on that host? +connectorInstallationContent=Some operations require the XPipe connector to be installed on the host. Note that this operation may take some time. errorOccured=An error occured terminalErrorOccured=A terminal error occured errorTypeOccured=An exception of type $TYPE$ was thrown permissionsAlertTitle=Permissions required permissionsAlertHeader=Additional permissions are required to perform this operation. -permissionsAlertContent=Please follow the pop-up to give X-Pipe the required permissions in the privacy settings menu. +permissionsAlertContent=Please follow the pop-up to give XPipe the required permissions in the privacy settings menu. errorDetails=Show details target=Target data=Data @@ -72,14 +72,14 @@ more=More pipeDataSource=Pipe Data Source updateReadyAlertTitle=Update Ready updateReadyAlertHeader=An update to version $VERSION$ is ready to be installed -updateReadyAlertContent=This will install the new version and restart X-Pipe once the installation finished. +updateReadyAlertContent=This will install the new version and restart XPipe once the installation finished. errorNoDetail=No error details are available updateAvailableTitle=Update Available -updateAvailableHeader=An X-Pipe update to version $VERSION$ is available to install -updateAvailableContent=Even though X-Pipe could not be started, you can attempt to install the update to potentially fix the issue. +updateAvailableHeader=An XPipe update to version $VERSION$ is available to install +updateAvailableContent=Even though XPipe could not be started, you can attempt to install the update to potentially fix the issue. clipboardActionDetectedTitle=Clipboard Action detected clipboardActionDetectedHeader=Do you want to import your clipboard content? -clipboardActionDetectedContent=X-Pipe detected content in your clipboard that can be opened. Do you want to open it now? +clipboardActionDetectedContent=XPipe detected content in your clipboard that can be opened. Do you want to open it now? install=Install ... ignore=Ignore possibleActions=Possible actions @@ -168,7 +168,7 @@ slack=Slack support=Support github=GitHub openSourceNotices=Open Source Notices -xPipeClient=X-Pipe Desktop +xPipeClient=XPipe Desktop checkForUpdates=Check for updates lastChecked=Last checked version=Version @@ -184,7 +184,7 @@ legalAccept=I accept the EULA and the privacy policy confirm=Confirm whatsNew=What's new in version $VERSION$? updateChangelogAlertTitle=Changelog -greetingsAlertTitle=Welcome to X-Pipe +greetingsAlertTitle=Welcome to XPipe gotIt=Got It eula=End-user license agreement introduction=Introduction @@ -202,7 +202,7 @@ installationFiles=Installation Files openInstallationDirectory=Open installation directory launchDebugMode=Launch debug mode extensionInstallTitle=Download -extensionInstallDescription=This action requires additional third party libraries that are not distributed by X-Pipe. You can automatically install them here. The components are then downloaded from the vendor website: +extensionInstallDescription=This action requires additional third party libraries that are not distributed by XPipe. You can automatically install them here. The components are then downloaded from the vendor website: extensionInstallLicenseNote=By performing the download and automatic installation you agree to the terms of the third party licenses: license=License installRequired=Installation Required diff --git a/app/src/main/resources/io/xpipe/app/resources/misc/eula.md b/app/src/main/resources/io/xpipe/app/resources/misc/eula.md index 035112926..28094c1e4 100644 --- a/app/src/main/resources/io/xpipe/app/resources/misc/eula.md +++ b/app/src/main/resources/io/xpipe/app/resources/misc/eula.md @@ -1,7 +1,7 @@ ## END-USER LICENSE AGREEMENT This End-User License Agreement (EULA) is a legal agreement between you (either as an individual or on behalf of an -entity) and Christopher Schnick regarding your use of X-Pipe's desktop applications, and associated documentation (the " +entity) and Christopher Schnick regarding your use of XPipe's desktop applications, and associated documentation (the " Software"). IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS EULA, DO NOT INSTALL, USE OR COPY THE SOFTWARE. ### Summary diff --git a/app/src/main/resources/io/xpipe/app/resources/misc/welcome.md b/app/src/main/resources/io/xpipe/app/resources/misc/welcome.md index 75da7c8c8..648d099ae 100644 --- a/app/src/main/resources/io/xpipe/app/resources/misc/welcome.md +++ b/app/src/main/resources/io/xpipe/app/resources/misc/welcome.md @@ -1,10 +1,10 @@ -## Welcome to X-Pipe! +## Welcome to XPipe! -Thank you for trying out the X-Pipe Alpha. +Thank you for trying out the XPipe Alpha. You can overview the development status, report issues, and more at the following places: #### [GitHub Repository](https://github.com/xpipe-io/xpipe/) #### [Discord Server](https://discord.gg/8y89vS8cRb) -#### [Slack Server](https://join.slack.com/t/x-pipe/shared_invite/zt-1awjq0t5j-5i4UjNJfNe1VN4b_auu6Cg) +#### [Slack Server](https://join.slack.com/t/XPipe/shared_invite/zt-1awjq0t5j-5i4UjNJfNe1VN4b_auu6Cg) diff --git a/beacon/README.md b/beacon/README.md index a04561bdc..7f2e38e3d 100644 --- a/beacon/README.md +++ b/beacon/README.md @@ -1,9 +1,9 @@ [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.xpipe/xpipe-beacon/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.xpipe/xpipe-beacon) [![javadoc](https://javadoc.io/badge2/io.xpipe/xpipe-beacon/javadoc.svg)](https://javadoc.io/doc/io.xpipe/xpipe-beacon) -## X-Pipe Beacon +## XPipe Beacon -The X-Pipe beacon component is responsible for handling all communications between the X-Pipe daemon +The XPipe beacon component is responsible for handling all communications between the XPipe daemon and the various programming language APIs and the CLI. It provides an API that supports all kinds of different operations. @@ -15,7 +15,7 @@ of different operations. - The data structures and exchange protocols are specified in the [io.xpipe.beacon.exchange package](src/main/java/io/xpipe/beacon/exchange). -- Every exchange is initiated from the outside by sending a request message to the X-Pipe daemon. +- Every exchange is initiated from the outside by sending a request message to the XPipe daemon. The daemon then always sends a response message. - The header information of a message is formatted in the json format. @@ -39,7 +39,7 @@ Note that if both sides do not have the same port setting, they won't be able to #### Custom launch command The beacon API also supports launching the daemon automatically in case it is not started yet. -By default, it launches the daemon of the local X-Pipe installation. +By default, it launches the daemon of the local XPipe installation. It is possible to pass a custom launch command with the property `io.xpipe.beacon.customDaemonCommand=` and pass arguments to it using the property `io.xpipe.beacon.daemonArgs=`. This allows for a custom launch behaviour in a testing/development environment. diff --git a/beacon/publish.gradle b/beacon/publish.gradle index 895404626..afe306211 100644 --- a/beacon/publish.gradle +++ b/beacon/publish.gradle @@ -14,8 +14,8 @@ publishing { pom { - name = 'X-Pipe Beacon' - description = 'The socket-based implementation used for the communication with the X-Pipe daemon.' + name = 'XPipe Beacon' + description = 'The socket-based implementation used for the communication with the XPipe daemon.' url = 'https://github.com/xpipe-io/xpipe/beacon' licenses { license { diff --git a/beacon/src/main/java/io/xpipe/beacon/BeaconClient.java b/beacon/src/main/java/io/xpipe/beacon/BeaconClient.java index 3f2d2316a..21b91e221 100644 --- a/beacon/src/main/java/io/xpipe/beacon/BeaconClient.java +++ b/beacon/src/main/java/io/xpipe/beacon/BeaconClient.java @@ -55,7 +55,7 @@ public class BeaconClient implements AutoCloseable { public static BeaconClient connectProxy(ShellStore proxy) throws Exception { var control = proxy.control().start(); if (!ProxyManagerProvider.get().setup(control)) { - throw new IOException("X-Pipe connector required to perform operation"); + throw new IOException("XPipe connector required to perform operation"); } var command = control.command("xpipe beacon --raw").start(); command.discardErr(); @@ -316,7 +316,7 @@ public class BeaconClient implements AutoCloseable { @Override public String toDisplayString() { - return "X-Pipe CLI"; + return "XPipe CLI"; } } @@ -357,7 +357,7 @@ public class BeaconClient implements AutoCloseable { @Override public String toDisplayString() { - return "X-Pipe Gateway " + version; + return "XPipe Gateway " + version; } } @@ -373,7 +373,7 @@ public class BeaconClient implements AutoCloseable { @Override public String toDisplayString() { - return String.format("X-Pipe %s API v%s", language, version); + return String.format("XPipe %s API v%s", language, version); } } } diff --git a/core/README.md b/core/README.md index 263238d6e..d23bc827f 100644 --- a/core/README.md +++ b/core/README.md @@ -1,17 +1,17 @@ [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.xpipe/xpipe-core/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.xpipe/xpipe-core) [![javadoc](https://javadoc.io/badge2/io.xpipe/xpipe-core/javadoc.svg)](https://javadoc.io/doc/io.xpipe/xpipe-core) -## X-Pipe Core +## XPipe Core -The X-Pipe core module contains all the shared core classes used by the API, beacon, and daemon implementation. +The XPipe core module contains all the shared core classes used by the API, beacon, and daemon implementation. It contains the following packages: - [charsetter](src/main/java/io/xpipe/core/charsetter): Classes for handling all things charset related such as detection and handling of data streams with BOMs. - [data](src/main/java/io/xpipe/core/data): Contains all definitions of the - internal X-Pipe data model and all the IO functionality to read and write these data structures. - For more information, see [X-Pipe data model](https://xpipe-io.readthedocs.io/en/latest/dev/model.html) + internal XPipe data model and all the IO functionality to read and write these data structures. + For more information, see [XPipe data model](https://xpipe-io.readthedocs.io/en/latest/dev/model.html) - [dialog](src/main/java/io/xpipe/core/dialog): In API to create server/daemon side CLI dialogs. These are used by extensions for data source and data store configuration from the command line. diff --git a/core/publish.gradle b/core/publish.gradle index 6bbac6afd..b879c523b 100644 --- a/core/publish.gradle +++ b/core/publish.gradle @@ -6,8 +6,8 @@ publishing { from components.java pom { - name = 'X-Pipe Core' - description = 'Core classes used by all X-Pipe components.' + name = 'XPipe Core' + description = 'Core classes used by all XPipe components.' url = 'https://github.com/xpipe-io/xpipe/core' licenses { license { diff --git a/core/src/main/java/io/xpipe/core/impl/NamedStore.java b/core/src/main/java/io/xpipe/core/impl/NamedStore.java index c047737fd..b4d7d58a3 100644 --- a/core/src/main/java/io/xpipe/core/impl/NamedStore.java +++ b/core/src/main/java/io/xpipe/core/impl/NamedStore.java @@ -10,7 +10,7 @@ import java.time.Instant; import java.util.Optional; /** - * A store that refers to another store in the X-Pipe storage. + * A store that refers to another store in the XPipe storage. * The referenced store has to be resolved by the caller manually, as this class does not act as a resolver. */ @JsonTypeName("named") diff --git a/core/src/main/java/io/xpipe/core/source/DataSourceReference.java b/core/src/main/java/io/xpipe/core/source/DataSourceReference.java index 6b390eed4..74dcde308 100644 --- a/core/src/main/java/io/xpipe/core/source/DataSourceReference.java +++ b/core/src/main/java/io/xpipe/core/source/DataSourceReference.java @@ -7,11 +7,11 @@ import lombok.Value; import java.util.Objects; /** - * Represents a reference to an X-Pipe data source. + * Represents a reference to an XPipe data source. * Using {@link DataSourceReference} instances instead of {@link DataSourceId} * instances is mainly done for user convenience purposes. *

- * While a {@link DataSourceId} represents a unique and canonical identifier for an X-Pipe data source, + * While a {@link DataSourceId} represents a unique and canonical identifier for an XPipe data source, * there also exist easier and shorter ways to address a data source. * This convenience comes at the price of ambiguity and instability for other types of references. */ diff --git a/core/src/main/java/io/xpipe/core/source/TableReadConnection.java b/core/src/main/java/io/xpipe/core/source/TableReadConnection.java index 2f163db1e..e2911b8e0 100644 --- a/core/src/main/java/io/xpipe/core/source/TableReadConnection.java +++ b/core/src/main/java/io/xpipe/core/source/TableReadConnection.java @@ -91,7 +91,7 @@ public interface TableReadConnection extends DataSourceReadConnection { } /** - * Writes the rows to an OutputStream in the X-Pipe binary format. + * Writes the rows to an OutputStream in the XPipe binary format. */ default void forwardRows(OutputStream out, int maxLines) throws Exception { if (maxLines == 0) { diff --git a/core/src/main/java/io/xpipe/core/util/JacksonMapper.java b/core/src/main/java/io/xpipe/core/util/JacksonMapper.java index 5ba4aa22c..732950fb6 100644 --- a/core/src/main/java/io/xpipe/core/util/JacksonMapper.java +++ b/core/src/main/java/io/xpipe/core/util/JacksonMapper.java @@ -67,7 +67,7 @@ public class JacksonMapper { } /** - * Constructs a new ObjectMapper that is able to map all required X-Pipe classes and also possible extensions. + * Constructs a new ObjectMapper that is able to map all required XPipe classes and also possible extensions. */ public static ObjectMapper newMapper() { if (!JacksonMapper.isInit()) { diff --git a/core/src/main/java/io/xpipe/core/util/XPipeInstallation.java b/core/src/main/java/io/xpipe/core/util/XPipeInstallation.java index 3e438ebdc..fada3debf 100644 --- a/core/src/main/java/io/xpipe/core/util/XPipeInstallation.java +++ b/core/src/main/java/io/xpipe/core/util/XPipeInstallation.java @@ -209,11 +209,11 @@ public class XPipeInstallation { String path = null; if (OsType.getLocal().equals(OsType.WINDOWS)) { var base = System.getenv("LOCALAPPDATA"); - path = FileNames.join(base, "X-Pipe"); + path = FileNames.join(base, "XPipe"); } else if (OsType.getLocal().equals(OsType.LINUX)) { path = "/opt/xpipe"; } else { - path = "/Applications/X-Pipe.app"; + path = "/Applications/XPipe.app"; } return path; @@ -231,11 +231,11 @@ public class XPipeInstallation { String path = null; if (p.getOsType().equals(OsType.WINDOWS)) { var base = p.executeSimpleStringCommand(p.getShellDialect().getPrintVariableCommand("LOCALAPPDATA")); - path = FileNames.join(base, "X-Pipe"); + path = FileNames.join(base, "XPipe"); } else if (p.getOsType().equals(OsType.LINUX)) { path = "/opt/xpipe"; } else { - path = "/Applications/X-Pipe.app"; + path = "/Applications/XPipe.app"; } return path; diff --git a/dist/base.gradle b/dist/base.gradle index cc3a1466f..bec011292 100644 --- a/dist/base.gradle +++ b/dist/base.gradle @@ -142,54 +142,54 @@ if (org.gradle.internal.os.OperatingSystem.current().isWindows()) { doLast { copy { from "$distDir/jpackage/xpiped.app/Contents" - into "$distDir/X-Pipe.app/Contents/" + into "$distDir/XPipe.app/Contents/" } copy { from "$projectDir/logo/logo.icns" - into "$distDir/X-Pipe.app/Contents/Resources/" + into "$distDir/XPipe.app/Contents/Resources/" } copy { from "$distDir/cli/xpipe" - into "$distDir/X-Pipe.app/Contents/MacOS/" + into "$distDir/XPipe.app/Contents/MacOS/" } copy { from "$distDir/licenses" - into "$distDir/X-Pipe.app/Contents/Resources/licenses" + into "$distDir/XPipe.app/Contents/Resources/licenses" } copy { from "$distDir/docs/html5" - into "$distDir/X-Pipe.app/Contents/Resources/cli/docs" + into "$distDir/XPipe.app/Contents/Resources/cli/docs" } copy { from "$distDir/docs/manpage" - into "$distDir/X-Pipe.app/Contents/Resources/cli/man" + into "$distDir/XPipe.app/Contents/Resources/cli/man" } copy { from "$distDir/cli/xpipe_completion" - into "$distDir/X-Pipe.app/Contents/Resources/cli/" + into "$distDir/XPipe.app/Contents/Resources/cli/" } copy { from "$projectDir/PkgInstaller/darwin/Resources/uninstall.sh" - into "$distDir/X-Pipe.app/Contents/Resources/scripts/" + into "$distDir/XPipe.app/Contents/Resources/scripts/" } - file("$distDir/X-Pipe.app/Contents/Resources/scripts/uninstall.sh").text = file("$distDir/X-Pipe.app/Contents/Resources/scripts/uninstall.sh").text - .replaceAll("__PRODUCT__", "X-Pipe") + file("$distDir/XPipe.app/Contents/Resources/scripts/uninstall.sh").text = file("$distDir/XPipe.app/Contents/Resources/scripts/uninstall.sh").text + .replaceAll("__PRODUCT__", "XPipe") .replaceAll("__VERSION__", version.toString()) def debugArguments = file("$projectDir/debug/debug_arguments.txt").text.lines().map(s -> '"' + s + '"').collect(Collectors.joining( ' ')) def debugAttachArguments = file("$projectDir/debug/mac/debug_attach_arguments.txt").text.lines().map(s -> '"' + s + '"').collect( Collectors.joining(' ')) - file("$distDir/X-Pipe.app/Contents/Resources/scripts").mkdirs() - file("$distDir/X-Pipe.app/Contents/Resources/scripts/xpiped_debug.sh").text = file("$projectDir/debug/mac/xpiped_debug.sh").text.replace( + file("$distDir/XPipe.app/Contents/Resources/scripts").mkdirs() + file("$distDir/XPipe.app/Contents/Resources/scripts/xpiped_debug.sh").text = file("$projectDir/debug/mac/xpiped_debug.sh").text.replace( 'JVM-ARGS', debugArguments) - file("$distDir/X-Pipe.app/Contents/Resources/scripts/xpiped_debug.sh").executable = true - file("$distDir/X-Pipe.app/Contents/Resources/scripts/xpiped_debug_attach.sh").text = file("$projectDir/debug/mac/xpiped_debug.sh").text.replace( + file("$distDir/XPipe.app/Contents/Resources/scripts/xpiped_debug.sh").executable = true + file("$distDir/XPipe.app/Contents/Resources/scripts/xpiped_debug_attach.sh").text = file("$projectDir/debug/mac/xpiped_debug.sh").text.replace( 'JVM-ARGS', debugAttachArguments + ' ' + debugArguments) - file("$distDir/X-Pipe.app/Contents/Resources/scripts/xpiped_debug_attach.sh").executable = true + file("$distDir/XPipe.app/Contents/Resources/scripts/xpiped_debug_attach.sh").executable = true if (System.getenv("MACOS_DEVELOPER_ID_APPLICATION_CERTIFICATE_NAME") != null) { exec { diff --git a/dist/jpackage.gradle b/dist/jpackage.gradle index 59537f77c..56ef06903 100644 --- a/dist/jpackage.gradle +++ b/dist/jpackage.gradle @@ -13,7 +13,7 @@ def releaseArguments = distJvmArgs + [ ] if (org.gradle.internal.os.OperatingSystem.current().isMacOsX()) { - releaseArguments += '-Xdock:name=X-Pipe' + releaseArguments += '-Xdock:name=XPipe' } // To remove warnings, the plugin probably does not expect the JPackage tasks to be in a separate project @@ -74,7 +74,7 @@ jlink { imageOptions += [ '--mac-sign', '--mac-package-signing-prefix', 'io.xpipe.app', - '--mac-package-name', "X-Pipe Desktop", + '--mac-package-name', "XPipe Desktop", '--mac-app-category', 'productivity', // '--mac-entitlements', "$projectDir/misc/mac/Entitlements.plist" ] @@ -89,7 +89,7 @@ jlink { appVersion = modifiedVersion } skipInstaller = true - applicationName = 'X-Pipe' + applicationName = 'XPipe' } } diff --git a/ext/base/src/main/java/io/xpipe/ext/base/actions/SampleAction.java b/ext/base/src/main/java/io/xpipe/ext/base/actions/SampleAction.java index f208e7699..34c2e8bf4 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/actions/SampleAction.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/actions/SampleAction.java @@ -64,7 +64,7 @@ public class SampleAction implements ActionProvider { } // Commands can also be more complex and span multiple lines. - // In this case, X-Pipe will internally write a command to a script file and then execute the script + // In this case, XPipe will internally write a command to a script file and then execute the script try (CommandControl cc = sc.command( """ VAR="value" @@ -77,7 +77,7 @@ public class SampleAction implements ActionProvider { // More customization options // If the command should be run as root, the command will be executed with - // sudo and the optional sudo password automatically provided by X-Pipe + // sudo and the optional sudo password automatically provided by XPipe // by using the information from the connection store. // You can also set a custom working directory. try (CommandControl cc = sc.command("kill ").elevated().workingDirectory("/").start()) { diff --git a/get-xpipe.sh b/get-xpipe.sh index c8d59372a..cafc31dd6 100644 --- a/get-xpipe.sh +++ b/get-xpipe.sh @@ -99,9 +99,9 @@ uninstall() { fi ;; Darwin) - if [ -d "/Applications/X-Pipe.app" ]; then + if [ -d "/Applications/XPipe.app" ]; then info "Uninstalling previous version" - sudo /Applications/X-Pipe.app/Contents/Resources/scripts/uninstall.sh + sudo /Applications/XPipe.app/Contents/Resources/scripts/uninstall.sh fi ;; *) @@ -165,7 +165,7 @@ check_architecture() { ;; esac - error "Sorry! X-Pipe currently does not provide your processor architecture." + error "Sorry! XPipe currently does not provide your processor architecture." return 1 } @@ -180,7 +180,7 @@ download_archive="$( )" exit_status="$?" if [ "$exit_status" != 0 ]; then - error "Could not download X-Pipe release." + error "Could not download XPipe release." exit "$exit_status" fi diff --git a/gradle/gradle_scripts/README.md b/gradle/gradle_scripts/README.md index 55bb3f445..0b7e133ac 100644 --- a/gradle/gradle_scripts/README.md +++ b/gradle/gradle_scripts/README.md @@ -1,6 +1,6 @@ ## Gradle Scripts -This directory contains helper scripts and Java module generation rules for dependencies used by various X-Pipe gradle projects. +This directory contains helper scripts and Java module generation rules for dependencies used by various XPipe gradle projects. It also contains various other types of shared build script components that are useful. As the [jlink](https://docs.oracle.com/en/java/javase/17/docs/specs/man/jlink.html) tool diff --git a/gradle/gradle_scripts/extension_test.gradle b/gradle/gradle_scripts/extension_test.gradle index 66487536d..25ac6e9be 100644 --- a/gradle/gradle_scripts/extension_test.gradle +++ b/gradle/gradle_scripts/extension_test.gradle @@ -34,7 +34,7 @@ test { // Use cmd window for tests if (!rootProject.ci && DefaultNativePlatform.currentOperatingSystem.isWindows()) { systemProperty "io.xpipe.beacon.customDaemonCommand", - "cmd.exe /c start \"\"X-Pipe Debug\"\" /i \"$rootDir\\gradlew.bat\" --console=plain $daemonCommand" + "cmd.exe /c start \"\"XPipe Debug\"\" /i \"$rootDir\\gradlew.bat\" --console=plain $daemonCommand" }