diff --git a/404.html b/404.html new file mode 100644 index 0000000..d083a39 --- /dev/null +++ b/404.html @@ -0,0 +1,1190 @@ + + + +
+ + + + + + + + + + + + + + + + + +Hi there,
+I’m Shawn. the author of 1Remote. I’m a software developer from China, a big fan of remote desktop software, user of C++/C/C#/Python/Pytorch/Go/typescript. I’m also a big fan of open source software. I hope that 1Remote can help you manage your remote connections well and find this app useful. If you would like to support my work, you can buy me a coffee or give a nice review. Thanks!
+ +If you have any questions/suggestions please feel free to let me know. veckshawn@gmail.com is my email in case you want to contact me.
+If you like this app, please help us make it stronger by doing any of the following:
+ + +Latest Version: 0.7.2.8
+Note
+You can clone and build with ReleaseNet48
if you are likely to run this app on Windows 7.
Note
++ | 1Remote Preview build |
+Old PRemoteM Stable EXE build |
+Old PRemoteM Microsoft Store build |
+
---|---|---|---|
Auto update | +⛔ | +⛔ You have to update it manually |
+✅ You can update it from store or WinGet |
+
Other features | +✅ + 💥New Features | +✅ | +✅ | +
Price | +Free | +Free | +|
Download | +From GitHub Nightly | +From GitHub | +Microsoft Store | +
Installer | +choco install 1remote |
+choco install premotem |
+winget install premotem |
+
💥New Features in Preview:
+If you like 1Remote, help us make it stronger by doing any of the following:
+
+ 1Remote is a modern personal remote session manager and launcher.
+ It is a single place to manage all your remote sessions
+ supporting number of different protocols.
+
+
+
+
+ ⭐
+
+ Open source & Free to use
+
+
+
+ ⭐
+
+ Support RDP, SSH, VNC, Telnet, (S)FTP,
+ RemoteApp
+
+
+
+ ⭐
+
+ Multi-screen and HiDPI RDP connection
+
+
+
+ ⭐
+
+ Quick and convenient remote session launcher (Alt + M)
+
+
+
+ ⭐
+
+ Keep multiple accounts and addresses in one connection.
+
+
+
+
+ ⭐
+
+ Tabbed interface, Multiple languages, themes...
+
+
+
+
+
+ ⭐
+
+ Easy to deploy, just unpack and run with portable mode.
+
+
+
+
+
+ Get started
+
+
+
+
1Remote simplifies remote session management with a single hub for multiple protocols.
+You can easily switch between sessions with convenient launcher (Alt + M) and tabbed interface.
+📌 One launcher, all your favorites!
+📌 Tabbed interface for easy access.
+📌 We encrypted credentials for peace of mind!
+📌 Keep data secure & sync by shared database with `OneDrive`.
+📌 Multi-language for people all over the world.
+Supported languages:English, 简体中文, Deutsch, Français, čeština, Portuguese, 日本語, 正體中文and more...Thanks to our translators🎉(and Google translated😀)
+
+ One platform, all protocols:
+
+ ✅ RDP
+
+ ✅ SSH
+
+ ✅ FTP / SFTP
+
+ ✅ VNC
+
+ ✅ RemoteApp learn more
+
+ ✅ Other cli tools learn more
+
+ Harness the power of multiple monitors in high definition via RDP!
+
+ Take remote work to the next level.
+
+ The developer said: I developed this tool precisely because other tools were unable to run RDP smoothly in my high-resolution, multi-display environments when I WFH! +
+Say goodbye to complicated commands and clunky interfaces, and hello to a world of effortless connectivity. With 1Remote, you can easily start RDP, SSH, FTP, and SFTP sessions from your favorite CLI tools like WinSCP and TightVNC - no need to change your workflow! Experience the power of seamless remote access with 1Remote. Try it now and see the difference! +
+ + Learn more About CLI tools integrate + +✨ Access your PC effortlessly with automatic LAN and WAN address switching.
+ +✨ Manage multiple user accounts seamlessly, and switch between them with ease.
+ +✨ Auto scrip help you open vpn automatic before start new session.
+ +Take control of your server like never before!
+
+ 🚀 Share servers with team in real-time.
+
+ 🚀 Increase productivity with teamwork.
+
+ 🚀 Keep data secure with controlled access.
+
+ 🚀 Versatile sharing for team needs.
+
+
Over 10,000 users worldwide have downloaded 1Remote from Microsoft Store and reported 90% satisfaction rate
+ +Note
+All features are available on all this versions. Microsoft Store version may introduce some unique new features in the future.
+Features | +EXE build | +Microsoft Store build | +
---|---|---|
Update by one key | +⛔ You have to update it manually | +✅ You can update it from store | +
Other features | +✅ | +✅ | +
Price | +Free | +(As our previous income is now able to cover the recent maintenance costs(server\domain name etc.), this app will resume free downloads now) |
+
If you are:
+Please contact us at veckshawn@gmail.com, I will send you some free licenses💖.
+Feel free to contact me if you have any questions for these veckshawn@gmail.com.
+ +PRemoteM vs 1Remote
+1Remote is the upgraded version of PRemoteM.
+1Remote is open source and free to use.
+Click the +
button in the upper-right corner of the main window.
Choose a protocol, such as RDP, SSH, or VNC, at the top of the pop-up window.
+
Set the server's name, label, notes (supports Markdown), and other information and save.
+Since PRemoteM is our old name, our migration tool will auto detect your old data when your first start 1Remote.
+If the you miss the auto-migration, you can still import it manually:
++
button in the upper-right corner then click the Import
button, select the *.prma file you just exported in the pop-up dialog by select the file filter *.*, and click "Open" to complete the import.Simply double-click
a server to open the corresponding remote session.
Press default shortcut Alt + M to show the launcher, then:
+Setting
-> General
-> Language
Setting
-> Theme
-> Theme
. On this page, you can also customize your favorite color scheme.Setting
-> Protocol
-> SSH
-> KiTTY
-> Themes
Click the +
button in the upper-right corner of the main window.
Choose a protocol, such as RDP, SSH, or VNC, at the top of the pop-up window.
+Set the server's name, tags, notes (supports Markdown), and others.
+(Optional) Customize the server icon (system-built or manually uploaded) and highlight color (default is no highlight, setting a highlight color will highlight the server in the list and connection process).
+(Optional) Configure scripts for the server, such as opening VPN before starting remote desktop, or closing VPN after closing remote desktop. Scripts support cmd, PowerShell, and Python. Please see the Open a VPN before connect for further details.
+Continue entering server address, port, credentials and other information, and select your desired connection settings.
+Save
button to complete adding the server and return to the homepage.Servers are displayed in the main window as cards or lists. You can click the Settings
button in the upper-right corner of the interface to expand the menu and choose Toggle Cards/List
to switch the display mode of servers.
Settings
button in the upper-right corner of the interface to expand the menu and choose "Sorting" to sort the servers.When you move mouse over a server, the Settings
button will be displayed. Clicking on this button will display a menu where you can connect to, edit, create a replica, delete, copy the server address and account password, etc. (Note: If you connect to a MySQL server with read-only permissions, you will not be able to edit, copy, or delete server information stored in that database.)
Tip
+You can also directly enter the edit interface by right-clicking on a server with your mouse.
+By selecting multiple servers using the checkboxes and clicking the Edit
button at the bottom of the main window, you can enter the batch editing interface to perform uniform editing operations on multiple servers. With proper server labels, you can easily select all servers under a specific label and modify their addresses or account passwords in bulk.
Warning
+The exported data is stored in plain text, so please handle it with care.
+When some servers are selected, Export
button can export selected items to json file which you can import it to another PC or simply make a backup. Please see the Data synchronization for further details.
+
button in the upper-right corner of the main windowimport json
to import json file exported from 1Remote.OK
button in the lower-right corner to export.+
button in the upper-right corner of the main window, and choose "import mRemoteNG csv". Select the CSV file you just exported in the pop-up dialog, and click "Open" to complete the import.Since PRemoteM is our old name, you can also import data from PRemoteM.
+Our migration tool will auto detect your old data when your first start 1Remote.
+If the you miss the auto-migration, you can still import it manually:
++
button in the upper-right corner then click the Import
button, select the *.prma file you just exported in the pop-up dialog by select the file filter *.*, and click "Open" to complete the import.Warning
+We are not able to get password form RDP file, so you may have to enter password manually.
+Save As...
button under "Connection settings", and save as an RDP file.+
button in the upper-right corner of the main window, and choose "import *.rdp". Select the RDP file you just saved in the pop-up dialog, and click "Open" to complete the import.Connect
button at the bottom of the main window to start multiple remote sessions at once.Connect
button to start multiple remote sessions at once.You can use the default shortcut Alt + M call the launcher, then type some key words to search the server you want to connect, then press Enter to start.
+For more details about the Launcher, please see the Launcher.
+Remote session windows are displayed in the window as tabs. You can detach the tab to a new window by dragging the tab to the upper-left corner of the window.
+You can add multi-tag for each server, all your Tags will be shown on Tag page.
+A short cut of the tags selected in this page will be display on the top bar for quick access.
+++I suggest making a tag name as short as you can to save space.
+
Right-click on tag and you will find a Rename
button.
If you need a strong tag management, you can use multiple filter to find the server you want.
+By click / right-click / ctrl-click on the tag, you can include or exclude the tag
+e.g. sometimes I wanna list all my servers in home but exclude RDP.
+Launcher is a place where you can quickly start a remote session. You can use the default shortcut Alt + M to open the quick start window of the server.
+Note
+Launcher will be shown on the screen where your mouse is.
+In launcher, items are ordering by recent use. Use the Up and Down arrow keys to select the desired server, or give some keywords to search for the desired server.
+Enter key or mouse double click it to start the remote session.
+When you select a server, you can use the ++righ++ arrow key to open the options menu. There you can choose a credential to connect to the server.
+Left arrow key to go back to the server list.
+If you write a note for the server, you can use the Left arrow key to show the note.
+Or simply click the note icon.
+In launcher you can make a quick connect to a server without creating a server profile.
+After the launcher shows up, press the Tab key to switch to the quick connect mode.
+In this view you can select the protocol and fill the ip and port, then start the remote session.
+One you press Enter key, a password acquire window will show up, you need to fill the password before continue.
+1Remote will help you remember your quick connect history, so you don't have to type the ip and port next time.
+Warning
+We don't save the credential for security season, so you need to fill the password every time you start a quick connect session.
+1Remote allow you add credentials for alternative use. You can switch between them manually or automatically when open connections.
+Sometimes you need to connect to the same server with different credentials or different host address. For example:
+In 1Remote "Alternative-credential" can help you smoothly switch between different address and account.
+In edit page, there's a session for alternative credentials. You can add a new credential by clicking the +
button. Also you can edit or delete a credential by clicking the Edit
button or Delete
button.
When you add a new credential, you need to fill the name, others are optional. The name is used to identify the credential, and it will be shown in the credential list.
+If you got Automatic address switching
enabled, 1Remote will automatically switch to the alternative address when you connect to the server(according to the ping result).
You have no need to switch the address to WLAN manually when you are outside:).
+ +++A chain is only as strong as it's weakest link is a metaphor
+
Since 1Remote is designed for snappy and fast experience, it is not easy to make a balance between convenience and safety. Since users are probably IT people with high security awareness, we decided to pay more attention to convenience, leaving security to the system, security software, and good user habits to protect. Therefore, we will only provide the most basic information security, and will not provide functions such as activation lock.
+Since this program is a resident background app that starts a session through the launcher (Alt + M). If you have to enter a password every time you turn on the launcher, the experience will be greatly reduced. Or if the password is only required when the program is started, then the security cannot actually be properly guaranteed. Taking these into account, we believe that it is better for security guaranteed by the system, security software, and good user habits in long-term solution. As long as the user realizes that he should lock the system when he/she leaves the computer, 1Remote does not have to put add any activation protect.And if the user does not have such security awareness, then even if we adds the activation password, the information may still be leaked through other ways.
+For the data sync / sharing reason, 1Remote only provide a basic string encryption in database (account, password, etc.). So it is recommended to enable hard disk encryption (like Bitlocker) to ensure that event when the 1Remote database is leaked or the hard disk is cracked physically, the theft will get nothings.
+You may work with multiple devices to manage your servers. In this case, you can use the database synchronization settings to share server information across different devices.
+Nothing to talk about, export, copy to other device, import...over.
+This means you can copy the database to other device using sync tools, and 1Remote will automatically detect the change and run a data reload procedure.
+++please do not remove the database file while 1Remote is still in used.
+
Tip
+In Options
-> Database
-> Local
-> Edit
, you can check up where your database file is.
You can also change the db path there.
+recommended tools:
+Using a MySQL database is a more professional way to synchronize data. When server info is edited on on device, other devices will update the modify in a few minutes. Go to Options
-> Database
-> MySQL
to set up the database, check Online database for more details.
Warning
+This app does not use concurrency locks on data editing, so if you modify the database on 2 devices at the same time, data loss may occur. Please try to avoid this situation.
+1Remote supports various data sources such as local SQLite databases and online MySQL databases. You can connect to multiple databases at the same time. which allows you to store different server information in different databases and connect to different databases on different devices for flexible data management.
+This is where configuring multiple databases becomes useful:
+Go to Options
-> Database
-> MySQL
to set up the database
Fill the database info, make sure your account have the permission to read & write the database.
+Press Save and your database will on the list. If connect failed, the database will be marked with a red cross.
+If there are multiple databases, you need select the database when you add a new server.
+After you add a new server, you will find the list is grouped by database.
+The APP protocol allows you to start an external EXE program using 1Remote.
+By passing the parameters to the program, you can customize the startup configuration of the program.
+Then you can start the software you need from our launcher.
+Here are some examples of using the App protocol, you can also customize the required startup configuration according to your own needs.
+Test.nxs
Since the latest version of NoMachine no longer provides a session starting method of the command line by password, in 1Remote we define the App protocol to indirectly implement the NoMachine session.
+Make sure the target machine can be connected with NoMachine. Right click and export the .nxs
file of target machine.
In 1Remote, add a new configuration of APP
type.
+ - Fill the path of NXPlayer.exe into the EXE path field
+ - Fill the path of .nxs
file into the parameter field
+ - Save
Then you can quickly start your NoMachine session from 1Remote.
+Tip
+This is also applicable to other command parameters supported session launcher, such as PUTTY, WinSCP, etc.
+Even you can use this method to add one other programs (such as Word, NotePad, etc.) to 1Remote for a quick start.
+A RemoteApp program is an application installed on an RD Session Host server. Remote Desktop Connection (RDC) and the RD Session Host use Remote Desktop Protocol (RDP) to redirect screen information for just the application instead of the full session-based virtual desktop.
With RemoteApp programs, you can use RDS to make programs on a Remote Desktop Session Host (RD Session Host) server appear as if they are running on a user 's local computer. RemoteApp program windows are shown on and integrated with a client's Desktop instead of being presented as part of a session-based virtual desktop. A RemoteApp program open on a Desktop.
+Using a RemoteApp program is similar to using a local application. When you implement RDS to provide access to a few applications, RemoteApp programs generally are easier for users to understand and use than session-based virtual desktops. Users can become confused when there is a session-based virtual desktop and a local Desktop. This is particularly true if the session-based virtual desktop is used in full-screen mode.
+Add a RemoteApp config in 1Remote.
+Here I run QQ.exe and Edge.exe via RemoteApp:
+Warning
+The following RemoteApp program are not in the list of authorized programs
+check list:
+ +In this mode, rdp session will be start by run command mstsc.exe xxxx.rdp
in cmd.
When our user using 2 monitors with different scale ratios and wants to go to full-all-screens, we didn't find a solution to handle this 2 different scale ratios on Remote Desktop ActiveX control.
+Then we make 1Remote check user's monitor resolution and scale ratios before a multi-monitors full-screen rdp session start. If we found 2 monitors with different scale ratios, a temp file 'xxxx.rdp' will be created and 1Remote will call cmd command mstsc.exe xxxx.rdp
to start the session.
In the process of development, we found it in the .rdp
file there are many settings that Remote Desktop ActiveX control can't access.
such as:
+setting | +description | +
---|---|
selectedmonitors:s:0,2 | +When you connect 3 monitors, this setting allow you only uses the NO.0 & NO.2 display to display the remote desktop. The NO.1 display will continue to display your local desktop. Using cmd mstsc /l can see the number of the monitors |
+
redirectcomports:i:1 | +Redirect the COM port of the local machine to the remote session. | +
desktopwidth:i:800 | +Specifies the resolution width (in pixels) of the remote session to 800pix. | +
desktopheight:i:600 | +Specifies the resolution height (in pixels) of the remote session to 600pix. | +
For example, I have 3 monitors, and I want to use the NO.1 & NO.2 display for remote desktop, and keep NO.0 as my local desktop:
+more settings:
+ + +Protocol Runner
Runner is the program that 1Remote uses to open the remote session.
Currently, 1Remote offering some built-in runner for all of the supported protocols:
+VNC Runner based on VNCSharp
+Warning
+VncSharp has been archived for long, and it is not maintained anymore, so it may not work well. I strongly suggest you use TightVNC as our VNC runner.
+SFTP Runner based on SSH.NET
+And you can customize the runners for some of the protocols
+1Remote supports custom external Runner
, as long as the external program supports run passing startup parameters through command line or environment variables.
Here are some available CLI tools:
+APP | +Type | +Arguments | +
---|---|---|
WinSCP | +SFTP | +sftp://%USERNAME%:%PASSWORD%@%HOSTNAME%:%PORT% | +
FileZilla FTP | +SFTP | +sftp://%USERNAME%:%PASSWORD%@%HOSTNAME% | +
FileZilla FTP | +FTP | +ftp://%USERNAME%:%PASSWORD%@%HOSTNAME% | +
Kitty | +SSH | +-ssh %HOSTNAME% -P %PORT% -l %USERNAME% -pw %PASSWORD% -%SSH_VERSION% -cmd ""%STARTUP_AUTO_COMMAND%"" | +
TightVNC | +VNC | +%HOSTNAME%::%PORT% -password=%PASSWORD% -scale=auto | +
UltraVNC | +VNC | +%HOSTNAME%:%PORT% -password %PASSWORD% | +
To demonstrate, here we add WinSCP as a SFTP runner.
+Example
+WinSCP is a free SFTP, SCP, Amazon S3, WebDAV, and FTP client for Windows, it can open new session through command line.
+winscp.exe sftp://username:password@example.com:22/
+winscp.exe ftps://username:password@ftp.example.com/
+
First you have to install WinSCP on your computer;
+In the setting page of 1Remote,click Protocol
-> SFTP
-> +
, and set the name of the new Runner;
Click select
button, select WinSCP.exe path
Click i
button, the Macros will be prompted.
Set CMD parameter
+since the demo is sftp://username:password@example.com:22/
then we set parameter to sftp://%USERNAME%:%PASSWORD%@%HOSTNAME%:%PORT%
Change the default Runner to WinSCP
+Then all the SFTP session will be opened by WinSCP
+Assuming you are the team leader. In your company, you may have several servers to manage, AI Servers are for the AI team, while Web Servers are for the Web team.
+A typical use case is:
+1Remote can help you manage these servers flexibly with Team sharing
feature.
In this feature, you can create two accounts in MySQL, giving them different permissions:
+Account | +Connect | +View address | +Edit | +Delete | +View password | +
---|---|---|---|---|---|
Select permission only | +✅ | +✅ | +❌ | +❌ | +❌ | +
Full permission | +✅ | +✅ | +✅ | +✅ | +✅ | +
Your team members can connect to the same database with read-only permission, they can only view the servers, but they are not able to edit them.
+You can connect to the same database with full permission, you can add, edit and delete servers.
+Note
+Please note that the Team sharing feature offers only very basic access control, and is not designed to provide individualized access control for each team member.
+Create two accounts in MySQL, giving them different permissions:
+In database "test", account 'writable' can insert and update data, while account 'readonly' can only select data.
+You can connect to test
database with account writable
, and import servers into the database.
Your team member connect to test
database with account readonly
, they will not able to edit the servers, but they can view the servers and connect to them.
Connection shows Readonly
:
Edit button of team member is disabled:
+Once you edit the servers, the team member will see the changes in a few seconds.
+Warning
+This app does not use concurrency locks on data editing, so if you modify the database on 2 devices at the same time, data loss may occur. Please try to avoid this situation.
+Warning
+Before deploy this app to your team, you need to set up a MySQL database for your team and create some user for your team members.
+Assuming you are the IT administrator and you have already import servers into MySQL database, you can follow the steps below to deploy this app to your team.
+Exit your MySQL admin account and login as a normal user in 1Remote. Make sure the database is Readonly
:
Open explorer and navigate to the folder where you have installed 1Remote. Here is how the folder looks like:
+1Remote.DataSources.json
is where we keep MySQL connection string, share this file with your team members, placed it in the same folder with 1Remote.db
.
Highline A Server can makes it easy to find your "VIP" servers.
+All you need to do is set the color next to Logo:
+Then your "VIP" servers will be highlighted:
+1Remote is a remote access application that allows users to establish connections to remote computers. One of its features is the ability to run pre- and post-connection scripts. These scripts can be written in cmd(.bat), PowerShell(.ps1) or Python(*.py) and can be used to perform various tasks before a connection is established or after it disconnected.
+To facilitate the script in identify each sessions, 1Remote will start the script with SESSION_ID
, SERVER_ID
, SERVER_NAME
, and SERVER_HOST
as environment variables.
Note
+Noted:For the same server, the SESSION_ID for each session is different, while SERVER_ID, SERVER_NAME, and SERVER_HOST remain the same.
+To set up a script in 1Remote:
+Edit
page of your server in 1Remote.Click the Select
button and select the script file you want.
Click Test
button to test the script, the debug info will popup.
If it is all green, click Save
button to save.
Here is an example of a script. The script will be executed in the directory where the script file is.
+$sessionID = $env:SESSION_ID
+$serverID = $env:SERVER_ID
+$serverName = $env:SERVER_NAME
+$serverHost = $env:SERVER_HOST
+$serverTags = $env:SERVER_TAGS
+
+echo "SESSION_ID: $sessionID"
+echo "SERVER_ID: $serverID"
+echo "SERVER_NAME: $serverName"
+echo "SERVER_HOST: $serverHost"
+echo "SERVER_TAGS: $serverTags"
+
+
+Set-Content -Path "temp.txt" -Value "SESSION_ID: $sessionID`r`nSERVER_ID: $serverID`r`nSERVER_NAME: $serverName`r`nSERVER_HOST: $serverHost`r`SERVER_TAGS: $serverTags"
+
+# in the script before connect:
+# TODO: save $sessionID into file in pre-connect script
+# TODO: if $serverTags contains "HOME" then open VPN1
+# TODO: if $serverTags contains "WORK" then open VPN2
+
+
+# in the script after disconnected:
+# TODO: read $sessionID from file in post-connect script
+# TODO: if $sessionID == "12345" then close VPN1
+# TODO: if $sessionID == "ABCDE" then close VPN2
+
+
+# do some long time jobs, like opening a VPN
+sleep 3
+
+# exit with non-zero will terminate your connection request.
+exit 0
+
A typical application is to open a VPN before establishing a remote connection, and automatically close the VPN after terminating the remote connection.
+ + +Maybe your server needs a VPN connection before you can connect to it. 1Remote can help you open a VPN connection before connecting to the server.
+++One of my windows servers is behind VPN. So I have to connect the VPN tunnel first, wait until it's connected, then run the RDP connection. I'm trying to automate this with 1Remote using OpenVPN 2.5.8.
+
You can open vpn in Script before connect
+and close it in Script after disconnected
open-vpn.ps1:
+"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --command myconnection.ovpn
+
+Write-Host "Checking VPN connection" -NoNewLine
+$i = 0
+while(1) {
+ Write-Host -NoNewLine ' .'
+ $portOpened = Test-Port $Env:PRM_HOST $Env:PRM_PORT | ? { $_.PortOpened }
+ if ($portOpened -or $i -gt 60) { break } else { Start-Sleep 1; $i++}
+}
+if ($i -gt 60) { Write-Error 'timeout' }
+
close-vpn.ps1:
+"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --command disconnect myconnection.ovpn
+
We support markdown note to help you remember some important information. The note will be displayed in the connection list and the connection detail page.
+You can edit the note in the edit page or click the edit button on top-right of the note.
+We support link, image and others markdown syntax.
+The 1Remote also supports CLI commands. This documentation provides an overview of the available CLI commands and their usage.
+To install or uninstall the 1Remote tool, use the following commands:
+--install
: Performs the installation of the 1Remote tool.--uninstall
: Removes the 1Remote tool and its associated files.You can manage the desktop shortcut for the 1Remote tool using the following commands:
+--install-desktop-shortcut
: Installs the desktop shortcut for quick access to the 1Remote tool.--uninstall-desktop-shortcut
: Removes the desktop shortcut.The CLI provides commands to manage the registry startup entry for the 1Remote tool:
+--install-startup
: Sets the 1Remote tool to start automatically on system boot by adding a registry startup entry.--uninstall-startup
: Removes the registry startup entry for the 1Remote tool.If you want to run the 1Remote app in a minimized state, use the following command:
+--start-minimized
: Launches the 1Remote app minimized.You can execute specific connections or focus on tags using the following command formats:
+ULID:<connection-id>
: Runs the 1Remote app and immediately executes and/or focuses on the connection with the specified ID.<connection-name>
: Runs the 1Remote app and immediately executes and/or focuses on the connection with the specified name.#<tag-name>
: Runs the 1Remote app and immediately start the connections associated with the specified tag.You can also create shortcuts for ULID, connection name, and tags by right-clicking on a connection in the GUI interface.
Thanks to our CLI feature, 1Remote finally supports adding desktop shortcuts for sessions.
+You can create desktop shortcuts for individual servers, multiple servers, or all servers under a specific Tag. Simply right-click on the corresponding item and select "Create Desktop Shortcut."
+It would be really awesome to offer 1Remote in many different languages! So you're really Welcome to translate 1Remote in your (native) language, but don't worry there are just a few strings.
+glossary.csv
in Ui\Resources\Languages
by Excel or something.conver_glossary_to_xaml.bat
, it will analysis the glossary you edited, and fill the blank in it (using Google translate). Then new .xaml
and LanguagesList.cs
will be generated.Note
+glossary_maker.py
Do not edit any .xaml
/ .cs
files directly, they are auto generated from glossary csv file.
See all this below were generated, do not edit any of them.
+push the glossary file back:
+send the new file to me(veckshawn@gmail.com)
+(recommend) Start a new pull requests.
+Edit this page, add your name :)
+If you'd like to help out, please add your name and how we can contact you to this list. And thank you!
+Latest Version: 0.7.2.8
+Note
+You can clone and build with ReleaseNet48
if you are likely to run this app on Windows 7.
Note
++ | 1Remote Preview build |
+Old PRemoteM Stable EXE build |
+Old PRemoteM Microsoft Store build |
+
---|---|---|---|
Auto update | +⛔ | +⛔ You have to update it manually |
+✅ You can update it from store or WinGet |
+
Other features | +✅ + 💥New Features | +✅ | +✅ | +
Price | +Free | +Free | +|
Download | +From GitHub Nightly | +From GitHub | +Microsoft Store | +
Installer | +choco install 1remote |
+choco install premotem |
+winget install premotem |
+
💥New Features in Preview:
+If you like 1Remote, help us make it stronger by doing any of the following:
+VShawn built this app as an Open Source app. This SERVICE is provided by VShawn at no cost with exe published and is intended for use as is.
+This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.
+If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy.
+The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at 1Remote unless otherwise defined in this Privacy Policy.
+This service will not require any of your personal information.
+I want to inform you that whenever you use my Service, in a case of an error in the app I collect data and information (through third party products) on your device called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics.
+Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.
+This Service does not use “cookies” explicitly. However, the app may use third party code and libraries that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.
+I may employ third-party companies and individuals due to the following reasons:
+To facilitate our Service; +To provide the Service on our behalf; +To perform Service-related services; or +To assist us in analyzing how our Service is used. +I want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.
+I value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.
+This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.
+These Services do not address anyone under the age of 13. I do not knowingly collect personally identifiable information from children under 13. In the case I discover that a child under 13 has provided me with personal information, I immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact me so that I will be able to do necessary actions.
+I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page.
+This policy is effective as of 2020-11-30
+If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me at veckshawn@gmail.com.
+ +Hi there,
+I’m Shawn. the author of 1Remote. I’m a software developer from China, a big fan of remote desktop software, user of C++/C/C#/Python/Pytorch/Go/typescript. I’m also a big fan of open source software. I hope that 1Remote can help you manage your remote connections well and find this app useful. If you would like to support my work, you can buy me a coffee or give a nice review. Thanks!
+ +If you have any questions/suggestions please feel free to let me know. veckshawn@gmail.com is my email in case you want to contact me.
+If you like this app, please help us make it stronger by doing any of the following:
+ + +VShawn built this app as an Open Source app. This SERVICE is provided by VShawn at no cost with exe published and is intended for use as is.
+This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.
+If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy.
+The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at 1Remote unless otherwise defined in this Privacy Policy.
+This service will not require any of your personal information.
+I want to inform you that whenever you use my Service, in a case of an error in the app I collect data and information (through third party products) on your device called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics.
+Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.
+This Service does not use “cookies” explicitly. However, the app may use third party code and libraries that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.
+I may employ third-party companies and individuals due to the following reasons:
+To facilitate our Service; +To provide the Service on our behalf; +To perform Service-related services; or +To assist us in analyzing how our Service is used. +I want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.
+I value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.
+This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.
+These Services do not address anyone under the age of 13. I do not knowingly collect personally identifiable information from children under 13. In the case I discover that a child under 13 has provided me with personal information, I immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact me so that I will be able to do necessary actions.
+I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page.
+This policy is effective as of 2020-11-30
+If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me at veckshawn@gmail.com.
+ +Build Date: 2023-08-14 14:03:03
+ +Date | +Path | +
---|---|
2023-08-14 14:02:40 | +index.md | +
2023-08-14 14:02:40 | +usage/overview.md | +
2023-08-14 14:02:40 | +usage/protocol/especial/remoteapp.md | +
2023-08-14 14:02:40 | +usage/team/team-sharing.md | +
2023-08-14 14:02:40 | +usage/misc/pre-post-script-control/overview.md | +
2023-08-14 14:02:40 | +usage/protocol/especial/rdp-in-mstsc-mode.md | +
2023-08-14 14:02:40 | +usage/alternative-credential.md | +
2023-08-14 14:02:40 | +zh-cn/index.md | +
2023-08-14 14:02:40 | +usage/misc/highline-a-server.md | +
2023-08-14 14:02:40 | +usage/team/team-deploy.md | +
2023-08-14 14:02:40 | +usage/protocol/especial/app.md | +
2023-08-14 14:02:40 | +pricing.md | +
2023-08-14 14:02:40 | +usage/misc/note-for-servers.md | +
2023-08-14 14:02:40 | +usage/misc/cli.md | +
2023-08-14 14:02:40 | +usage/launcher/basic.md | +
2023-08-14 14:02:40 | +usage/database/data-synchronization.md | +
2023-08-14 14:02:40 | +tags.md | +
2023-08-14 14:02:40 | +usage/quick-start.md | +
2023-08-14 14:02:40 | +usage/misc/help-translation.md | +
2023-08-14 14:02:40 | +usage/launcher/quick-connect.md | +
2023-08-14 14:02:40 | +usage/database/security.md | +
2023-08-14 14:02:40 | +privacy-policy.md | +
2023-08-14 14:02:40 | +usage/protocol/runner.md | +
2023-08-14 14:02:40 | +usage/misc/desktop-shortcut-for-connection.md | +
2023-08-14 14:02:40 | +about.md | +
2023-08-14 14:02:40 | +usage/database/use-online-database.md | +
2023-08-14 14:02:40 | +usage/misc/pre-post-script-control/open-a-vpn-before-connect.md | +
2023-08-14 14:02:40 | +download.md | +
Hi there,
I\u2019m Shawn. the author of 1Remote. I\u2019m a software developer from China, a big fan of remote desktop software, user of C++/C/C#/Python/Pytorch/Go/typescript. I\u2019m also a big fan of open source software. I hope that 1Remote can help you manage your remote connections well and find this app useful. If you would like to support my work, you can buy me a coffee or give a nice review. Thanks!
If you have any questions/suggestions please feel free to let me know. veckshawn@gmail.com is my email in case you want to contact me.
"},{"location":"about/#make-1remote-stronger","title":"Make 1Remote Stronger","text":"If you like this app, please help us make it stronger by doing any of the following:
Latest Version: 0.7.2.8
"},{"location":"download/#requirements","title":"Requirements","text":"Note
You can clone and build with ReleaseNet48
if you are likely to run this app on Windows 7.
Note
choco install 1remote
choco install premotem
winget install premotem
\ud83d\udca5New Features in Preview:
If you like 1Remote, help us make it stronger by doing any of the following:
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"pricing/","title":"Pricing","text":"
Note
All features are available on all this versions. Microsoft Store version may introduce some unique new features in the future.
Features EXE build Microsoft Store build Update by one key \u26d4 You have to update it manually \u2705 You can update it from store Other features \u2705 \u2705 Price Free \ud83d\udcb21.99 Free (As our previous income is now able to cover the recent maintenance costs(server\\domain name etc.), this app will resume free downloads now)If you are:
Please contact us at veckshawn@gmail.com, I will send you some free licenses\ud83d\udc96.
Feel free to contact me if you have any questions for these veckshawn@gmail.com.
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"privacy-policy/","title":"Privacy Policy","text":"VShawn built this app as an Open Source app. This SERVICE is provided by VShawn at no cost with exe published and is intended for use as is.
This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.
If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy.
The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at 1Remote unless otherwise defined in this Privacy Policy.
"},{"location":"privacy-policy/#information-collection-and-use","title":"Information Collection and Use","text":"This service will not require any of your personal information.
"},{"location":"privacy-policy/#log-data","title":"Log Data","text":"I want to inform you that whenever you use my Service, in a case of an error in the app I collect data and information (through third party products) on your device called Log Data. This Log Data may include information such as your device Internet Protocol (\u201cIP\u201d) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics.
"},{"location":"privacy-policy/#cookies","title":"Cookies","text":"Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.
This Service does not use \u201ccookies\u201d explicitly. However, the app may use third party code and libraries that use \u201ccookies\u201d to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.
"},{"location":"privacy-policy/#service-providers","title":"Service Providers","text":"I may employ third-party companies and individuals due to the following reasons:
To facilitate our Service; To provide the Service on our behalf; To perform Service-related services; or To assist us in analyzing how our Service is used. I want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.
"},{"location":"privacy-policy/#security","title":"Security","text":"I value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.
"},{"location":"privacy-policy/#links-to-other-sites","title":"Links to Other Sites","text":"This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.
"},{"location":"privacy-policy/#childrens-privacy","title":"Children\u2019s Privacy","text":"These Services do not address anyone under the age of 13. I do not knowingly collect personally identifiable information from children under 13. In the case I discover that a child under 13 has provided me with personal information, I immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact me so that I will be able to do necessary actions.
"},{"location":"privacy-policy/#changes-to-this-privacy-policy","title":"Changes to This Privacy Policy","text":"I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page.
This policy is effective as of 2020-11-30
"},{"location":"privacy-policy/#contact-us","title":"Contact Us","text":"If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me at veckshawn@gmail.com.
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"revision/","title":"Revisions","text":"Build Date: 2023-08-14 14:03:03
View revision.json
Date Path 2023-08-14 14:02:40 index.md 2023-08-14 14:02:40 usage/overview.md 2023-08-14 14:02:40 usage/protocol/especial/remoteapp.md 2023-08-14 14:02:40 usage/team/team-sharing.md 2023-08-14 14:02:40 usage/misc/pre-post-script-control/overview.md 2023-08-14 14:02:40 usage/protocol/especial/rdp-in-mstsc-mode.md 2023-08-14 14:02:40 usage/alternative-credential.md 2023-08-14 14:02:40 zh-cn/index.md 2023-08-14 14:02:40 usage/misc/highline-a-server.md 2023-08-14 14:02:40 usage/team/team-deploy.md 2023-08-14 14:02:40 usage/protocol/especial/app.md 2023-08-14 14:02:40 pricing.md 2023-08-14 14:02:40 usage/misc/note-for-servers.md 2023-08-14 14:02:40 usage/misc/cli.md 2023-08-14 14:02:40 usage/launcher/basic.md 2023-08-14 14:02:40 usage/database/data-synchronization.md 2023-08-14 14:02:40 tags.md 2023-08-14 14:02:40 usage/quick-start.md 2023-08-14 14:02:40 usage/misc/help-translation.md 2023-08-14 14:02:40 usage/launcher/quick-connect.md 2023-08-14 14:02:40 usage/database/security.md 2023-08-14 14:02:40 privacy-policy.md 2023-08-14 14:02:40 usage/protocol/runner.md 2023-08-14 14:02:40 usage/misc/desktop-shortcut-for-connection.md 2023-08-14 14:02:40 about.md 2023-08-14 14:02:40 usage/database/use-online-database.md 2023-08-14 14:02:40 usage/misc/pre-post-script-control/open-a-vpn-before-connect.md 2023-08-14 14:02:40 download.md"},{"location":"tags/","title":"Tags","text":"Following is a list of tags:
"},{"location":"usage/alternative-credential/","title":"Alternative-credential","text":"1Remote allow you add credentials for alternative use. You can switch between them manually or automatically when open connections.
"},{"location":"usage/alternative-credential/#why","title":"Why","text":"Sometimes you need to connect to the same server with different credentials or different host address. For example:
In 1Remote \"Alternative-credential\" can help you smoothly switch between different address and account.
In edit page, there's a session for alternative credentials. You can add a new credential by clicking the +
button. Also you can edit or delete a credential by clicking the Edit
button or Delete
button.
When you add a new credential, you need to fill the name, others are optional. The name is used to identify the credential, and it will be shown in the credential list.
"},{"location":"usage/alternative-credential/#work-with-list","title":"Work with List","text":""},{"location":"usage/alternative-credential/#work-with-launcherby-press-key-right","title":"Work with Launcher(By press key Right)","text":""},{"location":"usage/alternative-credential/#auto-switching-address","title":"Auto switching address","text":"If you got Automatic address switching
enabled, 1Remote will automatically switch to the alternative address when you connect to the server(according to the ping result).
You have no need to switch the address to WLAN manually when you are outside:).
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"usage/overview/","title":"Overview","text":""},{"location":"usage/overview/#managing-servers","title":"Managing Servers","text":""},{"location":"usage/overview/#adding-server","title":"Adding Server","text":"Click the +
button in the upper-right corner of the main window.
Choose a protocol, such as RDP, SSH, or VNC, at the top of the pop-up window.
Set the server's name, tags, notes (supports Markdown), and others.
(Optional) Customize the server icon (system-built or manually uploaded) and highlight color (default is no highlight, setting a highlight color will highlight the server in the list and connection process).
(Optional) Configure scripts for the server, such as opening VPN before starting remote desktop, or closing VPN after closing remote desktop. Scripts support cmd, PowerShell, and Python. Please see the Open a VPN before connect for further details.
Continue entering server address, port, credentials and other information, and select your desired connection settings.
Save
button to complete adding the server and return to the homepage.Servers are displayed in the main window as cards or lists. You can click the Settings
button in the upper-right corner of the interface to expand the menu and choose Toggle Cards/List
to switch the display mode of servers.
Settings
button in the upper-right corner of the interface to expand the menu and choose \"Sorting\" to sort the servers.When you move mouse over a server, the Settings
button will be displayed. Clicking on this button will display a menu where you can connect to, edit, create a replica, delete, copy the server address and account password, etc. (Note: If you connect to a MySQL server with read-only permissions, you will not be able to edit, copy, or delete server information stored in that database.)
Tip
You can also directly enter the edit interface by right-clicking on a server with your mouse.
"},{"location":"usage/overview/#bulk-edit","title":"Bulk edit","text":"By selecting multiple servers using the checkboxes and clicking the Edit
button at the bottom of the main window, you can enter the batch editing interface to perform uniform editing operations on multiple servers. With proper server labels, you can easily select all servers under a specific label and modify their addresses or account passwords in bulk.
Warning
The exported data is stored in plain text, so please handle it with care.
When some servers are selected, Export
button can export selected items to json file which you can import it to another PC or simply make a backup. Please see the Data synchronization for further details.
+
button in the upper-right corner of the main windowimport json
to import json file exported from 1Remote.OK
button in the lower-right corner to export.+
button in the upper-right corner of the main window, and choose \"import mRemoteNG csv\". Select the CSV file you just exported in the pop-up dialog, and click \"Open\" to complete the import.Since PRemoteM is our old name, you can also import data from PRemoteM.
Our migration tool will auto detect your old data when your first start 1Remote.
If the you miss the auto-migration, you can still import it manually:
+
button in the upper-right corner then click the Import
button, select the *.prma file you just exported in the pop-up dialog by select the file filter *.*, and click \"Open\" to complete the import.Warning
We are not able to get password form RDP file, so you may have to enter password manually.
Save As...
button under \"Connection settings\", and save as an RDP file.+
button in the upper-right corner of the main window, and choose \"import *.rdp\". Select the RDP file you just saved in the pop-up dialog, and click \"Open\" to complete the import.Connect
button at the bottom of the main window to start multiple remote sessions at once.Connect
button to start multiple remote sessions at once.You can use the default shortcut Alt + M call the launcher, then type some key words to search the server you want to connect, then press Enter to start.
For more details about the Launcher, please see the Launcher.
"},{"location":"usage/overview/#session-view","title":"Session view","text":"Remote session windows are displayed in the window as tabs. You can detach the tab to a new window by dragging the tab to the upper-left corner of the window.
"},{"location":"usage/overview/#tag-management","title":"Tag management","text":"You can add multi-tag for each server, all your Tags will be shown on Tag page.
A short cut of the tags selected in this page will be display on the top bar for quick access.
I suggest making a tag name as short as you can to save space.
"},{"location":"usage/overview/#rename-tag","title":"Rename tag","text":"Right-click on tag and you will find a Rename
button.
If you need a strong tag management, you can use multiple filter to find the server you want.
By click / right-click / ctrl-click on the tag, you can include or exclude the tag
e.g. sometimes I wanna list all my servers in home but exclude RDP.
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"usage/quick-start/","title":"1Remote Quick Start","text":"PRemoteM vs 1Remote
1Remote is the upgraded version of PRemoteM.
1Remote is open source and free to use.
"},{"location":"usage/quick-start/#installation","title":"Installation","text":"Download
"},{"location":"usage/quick-start/#adding-servers","title":"Adding Servers","text":""},{"location":"usage/quick-start/#manually-adding-a-server","title":"Manually Adding a Server","text":"Click the +
button in the upper-right corner of the main window.
Choose a protocol, such as RDP, SSH, or VNC, at the top of the pop-up window.
Set the server's name, label, notes (supports Markdown), and other information and save.
Learn more
"},{"location":"usage/quick-start/#migrate-from-premotem","title":"Migrate from PRemoteM","text":"Since PRemoteM is our old name, our migration tool will auto detect your old data when your first start 1Remote.
If the you miss the auto-migration, you can still import it manually:
+
button in the upper-right corner then click the Import
button, select the *.prma file you just exported in the pop-up dialog by select the file filter *.*, and click \"Open\" to complete the import.Simply double-click
a server to open the corresponding remote session.
Press default shortcut Alt + M to show the launcher, then:
Learn more
"},{"location":"usage/quick-start/#customization","title":"Customization","text":"Setting
-> General
-> Language
Setting
-> Theme
-> Theme
. On this page, you can also customize your favorite color scheme.Setting
-> Protocol
-> SSH
-> KiTTY
-> Themes
Learn more from the Overview
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"usage/database/data-synchronization/","title":"Data synchronization","text":"You may work with multiple devices to manage your servers. In this case, you can use the database synchronization settings to share server information across different devices.
"},{"location":"usage/database/data-synchronization/#by-export","title":"By export","text":"Nothing to talk about, export, copy to other device, import...over.
"},{"location":"usage/database/data-synchronization/#sqlite-synchronization","title":"Sqlite Synchronization","text":"This means you can copy the database to other device using sync tools, and 1Remote will automatically detect the change and run a data reload procedure.
please do not remove the database file while 1Remote is still in used.
Tip
In Options
-> Database
-> Local
-> Edit
, you can check up where your database file is.
You can also change the db path there.
recommended tools:
Using a MySQL database is a more professional way to synchronize data. When server info is edited on on device, other devices will update the modify in a few minutes. Go to Options
-> Database
-> MySQL
to set up the database, check Online database for more details.
Warning
This app does not use concurrency locks on data editing, so if you modify the database on 2 devices at the same time, data loss may occur. Please try to avoid this situation.
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"usage/database/security/","title":"Security","text":"A chain is only as strong as it's weakest link is a metaphor
"},{"location":"usage/database/security/#security","title":"Security","text":"Since 1Remote is designed for snappy and fast experience, it is not easy to make a balance between convenience and safety. Since users are probably IT people with high security awareness, we decided to pay more attention to convenience, leaving security to the system, security software, and good user habits to protect. Therefore, we will only provide the most basic information security, and will not provide functions such as activation lock.
"},{"location":"usage/database/security/#why-1remote-doesnt-need-a-activation-password","title":"Why 1Remote doesn't need a activation password","text":"Since this program is a resident background app that starts a session through the launcher (Alt + M). If you have to enter a password every time you turn on the launcher, the experience will be greatly reduced. Or if the password is only required when the program is started, then the security cannot actually be properly guaranteed. Taking these into account, we believe that it is better for security guaranteed by the system, security software, and good user habits in long-term solution. As long as the user realizes that he should lock the system when he/she leaves the computer, 1Remote does not have to put add any activation protect.And if the user does not have such security awareness, then even if we adds the activation password, the information may still be leaked through other ways.
"},{"location":"usage/database/security/#what-we-provide","title":"What we provide","text":"For the data sync / sharing reason, 1Remote only provide a basic string encryption in database (account, password, etc.). So it is recommended to enable hard disk encryption (like Bitlocker) to ensure that event when the 1Remote database is leaked or the hard disk is cracked physically, the theft will get nothings.
"},{"location":"usage/database/security/#summary","title":"Summary","text":"1Remote supports various data sources such as local SQLite databases and online MySQL databases. You can connect to multiple databases at the same time. which allows you to store different server information in different databases and connect to different databases on different devices for flexible data management.
This is where configuring multiple databases becomes useful:
Go to Options
-> Database
-> MySQL
to set up the database
Fill the database info, make sure your account have the permission to read & write the database.
Press Save and your database will on the list. If connect failed, the database will be marked with a red cross.
If there are multiple databases, you need select the database when you add a new server.
After you add a new server, you will find the list is grouped by database.
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"usage/launcher/basic/","title":"Launcher","text":"Launcher is a place where you can quickly start a remote session. You can use the default shortcut Alt + M to open the quick start window of the server.
Note
Launcher will be shown on the screen where your mouse is.
"},{"location":"usage/launcher/basic/#select","title":"Select","text":"In launcher, items are ordering by recent use. Use the Up and Down arrow keys to select the desired server, or give some keywords to search for the desired server.
Enter key or mouse double click it to start the remote session.
"},{"location":"usage/launcher/basic/#options","title":"Options","text":"When you select a server, you can use the ++righ++ arrow key to open the options menu. There you can choose a credential to connect to the server.
Left arrow key to go back to the server list.
"},{"location":"usage/launcher/basic/#show-note","title":"Show note","text":"If you write a note for the server, you can use the Left arrow key to show the note.
Or simply click the note icon.
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"usage/launcher/quick-connect/","title":"Quick connect","text":"In launcher you can make a quick connect to a server without creating a server profile.
After the launcher shows up, press the Tab key to switch to the quick connect mode.
In this view you can select the protocol and fill the ip and port, then start the remote session.
One you press Enter key, a password acquire window will show up, you need to fill the password before continue.
1Remote will help you remember your quick connect history, so you don't have to type the ip and port next time.
Warning
We don't save the credential for security season, so you need to fill the password every time you start a quick connect session.
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"usage/misc/cli/","title":"CLI Usage","text":"The 1Remote also supports CLI commands. This documentation provides an overview of the available CLI commands and their usage.
"},{"location":"usage/misc/cli/#installation-and-uninstallation","title":"Installation and Uninstallation","text":"To install or uninstall the 1Remote tool, use the following commands:
--install
: Performs the installation of the 1Remote tool.--uninstall
: Removes the 1Remote tool and its associated files.You can manage the desktop shortcut for the 1Remote tool using the following commands:
--install-desktop-shortcut
: Installs the desktop shortcut for quick access to the 1Remote tool.--uninstall-desktop-shortcut
: Removes the desktop shortcut.The CLI provides commands to manage the registry startup entry for the 1Remote tool:
--install-startup
: Sets the 1Remote tool to start automatically on system boot by adding a registry startup entry.--uninstall-startup
: Removes the registry startup entry for the 1Remote tool.If you want to run the 1Remote app in a minimized state, use the following command:
--start-minimized
: Launches the 1Remote app minimized.You can execute specific connections or focus on tags using the following command formats:
ULID:<connection-id>
: Runs the 1Remote app and immediately executes and/or focuses on the connection with the specified ID.<connection-name>
: Runs the 1Remote app and immediately executes and/or focuses on the connection with the specified name.#<tag-name>
: Runs the 1Remote app and immediately start the connections associated with the specified tag.You can also create shortcuts for ULID, connection name, and tags by right-clicking on a connection in the GUI interface.
"},{"location":"usage/misc/desktop-shortcut-for-connection/","title":"Creating Desktop shortcut for connections","text":"Thanks to our CLI feature, 1Remote finally supports adding desktop shortcuts for sessions.
You can create desktop shortcuts for individual servers, multiple servers, or all servers under a specific Tag. Simply right-click on the corresponding item and select \"Create Desktop Shortcut.\"
"},{"location":"usage/misc/desktop-shortcut-for-connection/#individual-servers","title":"individual servers","text":""},{"location":"usage/misc/desktop-shortcut-for-connection/#multiple-servers","title":"multiple servers","text":""},{"location":"usage/misc/desktop-shortcut-for-connection/#tag","title":"Tag","text":""},{"location":"usage/misc/desktop-shortcut-for-connection/#shortcut-demonstration","title":"Shortcut demonstration","text":""},{"location":"usage/misc/help-translation/","title":"Help translation","text":"It would be really awesome to offer 1Remote in many different languages! So you're really Welcome to translate 1Remote in your (native) language, but don't worry there are just a few strings.
"},{"location":"usage/misc/help-translation/#how-to","title":"How to","text":"glossary.csv
in Ui\\Resources\\Languages
by Excel or something.conver_glossary_to_xaml.bat
, it will analysis the glossary you edited, and fill the blank in it (using Google translate). Then new .xaml
and LanguagesList.cs
will be generated.Note
glossary_maker.py
Do not edit any .xaml
/ .cs
files directly, they are auto generated from glossary csv file.
See all this below were generated, do not edit any of them.
push the glossary file back:
send the new file to me(veckshawn@gmail.com)
(recommend) Start a new pull requests.
Edit this page, add your name :)
If you'd like to help out, please add your name and how we can contact you to this list. And thank you!
"},{"location":"usage/misc/help-translation/#arabic","title":"Arabic","text":"Highline A Server can makes it easy to find your \"VIP\" servers.
All you need to do is set the color next to Logo:
Then your \"VIP\" servers will be highlighted:
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"usage/misc/note-for-servers/","title":"Note for servers","text":"We support markdown note to help you remember some important information. The note will be displayed in the connection list and the connection detail page.
You can edit the note in the edit page or click the edit button on top-right of the note.
We support link, image and others markdown syntax.
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"usage/misc/pre-post-script-control/open-a-vpn-before-connect/","title":"Pre-open a VPN","text":"Maybe your server needs a VPN connection before you can connect to it. 1Remote can help you open a VPN connection before connecting to the server.
One of my windows servers is behind VPN. So I have to connect the VPN tunnel first, wait until it's connected, then run the RDP connection. I'm trying to automate this with 1Remote using OpenVPN 2.5.8.
You can open vpn in Script before connect
and close it in Script after disconnected
open-vpn.ps1:
\"C:\\Program Files\\OpenVPN\\bin\\openvpn-gui.exe\" --command myconnection.ovpn\n\nWrite-Host \"Checking VPN connection\" -NoNewLine\n$i = 0\nwhile(1) {\nWrite-Host -NoNewLine ' .'\n$portOpened = Test-Port $Env:PRM_HOST $Env:PRM_PORT | ? { $_.PortOpened }\nif ($portOpened -or $i -gt 60) { break } else { Start-Sleep 1; $i++}\n}\nif ($i -gt 60) { Write-Error 'timeout' }\n
close-vpn.ps1:
\"C:\\Program Files\\OpenVPN\\bin\\openvpn-gui.exe\" --command disconnect myconnection.ovpn\n
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"usage/misc/pre-post-script-control/overview/","title":"Using Pre- and Post-Connection Scripts in 1Remote","text":"1Remote is a remote access application that allows users to establish connections to remote computers. One of its features is the ability to run pre- and post-connection scripts. These scripts can be written in cmd(.bat), PowerShell(.ps1) or Python(*.py) and can be used to perform various tasks before a connection is established or after it disconnected.
To facilitate the script in identify each sessions, 1Remote will start the script with SESSION_ID
, SERVER_ID
, SERVER_NAME
, and SERVER_HOST
as environment variables.
Note
Noted\uff1aFor the same server, the SESSION_ID for each session is different, while SERVER_ID, SERVER_NAME, and SERVER_HOST remain the same.
"},{"location":"usage/misc/pre-post-script-control/overview/#setting-up-scripts","title":"Setting Up Scripts","text":"To set up a script in 1Remote:
Edit
page of your server in 1Remote.Click the Select
button and select the script file you want.
Click Test
button to test the script, the debug info will popup.
If it is all green, click Save
button to save.
Here is an example of a script. The script will be executed in the directory where the script file is.
$sessionID = $env:SESSION_ID\n$serverID = $env:SERVER_ID\n$serverName = $env:SERVER_NAME\n$serverHost = $env:SERVER_HOST\n$serverTags = $env:SERVER_TAGS\n\necho \"SESSION_ID: $sessionID\"\necho \"SERVER_ID: $serverID\"\necho \"SERVER_NAME: $serverName\"\necho \"SERVER_HOST: $serverHost\"\necho \"SERVER_TAGS: $serverTags\"\n\n\nSet-Content -Path \"temp.txt\" -Value \"SESSION_ID: $sessionID`r`nSERVER_ID: $serverID`r`nSERVER_NAME: $serverName`r`nSERVER_HOST: $serverHost`r`SERVER_TAGS: $serverTags\"\n\n# in the script before connect:\n# TODO: save $sessionID into file in pre-connect script\n# TODO: if $serverTags contains \"HOME\" then open VPN1\n# TODO: if $serverTags contains \"WORK\" then open VPN2\n\n\n# in the script after disconnected:\n# TODO: read $sessionID from file in post-connect script\n# TODO: if $sessionID == \"12345\" then close VPN1\n# TODO: if $sessionID == \"ABCDE\" then close VPN2\n\n\n# do some long time jobs, like opening a VPN\nsleep 3\n\n# exit with non-zero will terminate your connection request.\nexit 0\n
A typical application is to open a VPN before establishing a remote connection, and automatically close the VPN after terminating the remote connection.
Learn more
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"usage/protocol/runner/","title":"Runner","text":""},{"location":"usage/protocol/runner/#what-is-protocol-runner","title":"What is Protocol Runner","text":"Protocol Runner
Runner is the program that 1Remote uses to open the remote session.
Currently, 1Remote offering some built-in runner for all of the supported protocols:
VNC Runner based on VNCSharp
Warning
VncSharp has been archived for long, and it is not maintained anymore, so it may not work well. I strongly suggest you use TightVNC as our VNC runner.
SFTP Runner based on SSH.NET
And you can customize the runners for some of the protocols
"},{"location":"usage/protocol/runner/#customize-your-runner","title":"Customize your runner","text":"1Remote supports custom external Runner
, as long as the external program supports run passing startup parameters through command line or environment variables.
Here are some available CLI tools:
APP Type Arguments WinSCP SFTP sftp://%USERNAME%:%PASSWORD%@%HOSTNAME%:%PORT% FileZilla FTP SFTP sftp://%USERNAME%:%PASSWORD%@%HOSTNAME% FileZilla FTP FTP ftp://%USERNAME%:%PASSWORD%@%HOSTNAME% Kitty SSH -ssh %HOSTNAME% -P %PORT% -l %USERNAME% -pw %PASSWORD% -%SSH_VERSION% -cmd \"\"%STARTUP_AUTO_COMMAND%\"\" TightVNC VNC %HOSTNAME%::%PORT% -password=%PASSWORD% -scale=auto UltraVNC VNC %HOSTNAME%:%PORT% -password %PASSWORD%"},{"location":"usage/protocol/runner/#how-to-create-a-new-runnerexample-by-winscp","title":"How to create a new Runner(example by WinSCP)","text":"To demonstrate, here we add WinSCP as a SFTP runner.
Example
WinSCP is a free SFTP, SCP, Amazon S3, WebDAV, and FTP client for Windows, it can open new session through command line.
winscp.exe sftp://username:password@example.com:22/\nwinscp.exe ftps://username:password@ftp.example.com/\n
First you have to install WinSCP on your computer;
In the setting page of 1Remote\uff0cclick Protocol
-> SFTP
-> \uff0b
, and set the name of the new Runner;
Click select
button, select WinSCP.exe path
Click i
button, the Macros will be prompted.
Set CMD parameter
since the demo is sftp://username:password@example.com:22/
then we set parameter to sftp://%USERNAME%:%PASSWORD%@%HOSTNAME%:%PORT%
Change the default Runner to WinSCP
Then all the SFTP session will be opened by WinSCP
The APP protocol allows you to start an external EXE program using 1Remote.
By passing the parameters to the program, you can customize the startup configuration of the program.
Then you can start the software you need from our launcher.
"},{"location":"usage/protocol/especial/app/#examples","title":"Examples","text":"Here are some examples of using the App protocol, you can also customize the required startup configuration according to your own needs.
"},{"location":"usage/protocol/especial/app/#open-bingcom-with-chrome","title":"Open bing.com with Chrome","text":""},{"location":"usage/protocol/especial/app/#cmake","title":"Cmake","text":""},{"location":"usage/protocol/especial/app/#open-nomachine-with-credential-testnxs","title":"Open NoMachine with credentialTest.nxs
","text":""},{"location":"usage/protocol/especial/app/#how-to-usenomachine-case","title":"How to use(NoMachine case)","text":"Since the latest version of NoMachine no longer provides a session starting method of the command line by password, in 1Remote we define the App protocol to indirectly implement the NoMachine session.
Make sure the target machine can be connected with NoMachine. Right click and export the .nxs
file of target machine.
In 1Remote, add a new configuration of APP
type. - Fill the path of NXPlayer.exe into the EXE path field - Fill the path of .nxs
file into the parameter field - Save
Then you can quickly start your NoMachine session from 1Remote.
Tip
This is also applicable to other command parameters supported session launcher, such as PUTTY, WinSCP, etc.
Even you can use this method to add one other programs (such as Word, NotePad, etc.) to 1Remote for a quick start.
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"usage/protocol/especial/rdp-in-mstsc-mode/","title":"Rdp in mstsc.exe mode","text":""},{"location":"usage/protocol/especial/rdp-in-mstsc-mode/#what-is-mstscexe-mode","title":"What is \"mstsc.exe mode\"","text":"In this mode, rdp session will be start by run command mstsc.exe xxxx.rdp
in cmd.
When our user using 2 monitors with different scale ratios and wants to go to full-all-screens, we didn't find a solution to handle this 2 different scale ratios on Remote Desktop ActiveX control.
Then we make 1Remote check user's monitor resolution and scale ratios before a multi-monitors full-screen rdp session start. If we found 2 monitors with different scale ratios, a temp file 'xxxx.rdp' will be created and 1Remote will call cmd command mstsc.exe xxxx.rdp
to start the session.
In the process of development, we found it in the .rdp
file there are many settings that Remote Desktop ActiveX control can't access.
such as:
setting description selectedmonitors:s:0,2 When you connect 3 monitors, this setting allow you only uses the NO.0 & NO.2 display to display the remote desktop. The NO.1 display will continue to display your local desktop. Using cmdmstsc /l
can see the number of the monitors redirectcomports:i:1 Redirect the COM port of the local machine to the remote session. desktopwidth:i:800 Specifies the resolution width (in pixels) of the remote session to 800pix. desktopheight:i:600 Specifies the resolution height (in pixels) of the remote session to 600pix. For example, I have 3 monitors, and I want to use the NO.1 & NO.2 display for remote desktop, and keep NO.0 as my local desktop:
more settings\uff1a
A RemoteApp program is an application installed on an RD Session Host server. Remote Desktop Connection (RDC) and the RD Session Host use Remote Desktop Protocol (RDP) to redirect screen information for just the application instead of the full session-based virtual desktop.
With RemoteApp programs, you can use RDS to make programs on a Remote Desktop Session Host (RD Session Host) server appear as if they are running on a user 's local computer. RemoteApp program windows are shown on and integrated with a client's Desktop instead of being presented as part of a session-based virtual desktop. A RemoteApp program open on a Desktop.
Using a RemoteApp program is similar to using a local application. When you implement RDS to provide access to a few applications, RemoteApp programs generally are easier for users to understand and use than session-based virtual desktops. Users can become confused when there is a session-based virtual desktop and a local Desktop. This is particularly true if the session-based virtual desktop is used in full-screen mode.
"},{"location":"usage/protocol/especial/remoteapp/#how-to-use","title":"How to use","text":""},{"location":"usage/protocol/especial/remoteapp/#step1","title":"Step1","text":"Add a RemoteApp config in 1Remote.
Here I run QQ.exe and Edge.exe via RemoteApp:
Warning
The following RemoteApp program are not in the list of authorized programs
check list:
Warning
Before deploy this app to your team, you need to set up a MySQL database for your team and create some user for your team members.
Assuming you are the IT administrator and you have already import servers into MySQL database, you can follow the steps below to deploy this app to your team.
Exit your MySQL admin account and login as a normal user in 1Remote. Make sure the database is Readonly
:
Open explorer and navigate to the folder where you have installed 1Remote. Here is how the folder looks like:
1Remote.DataSources.json
is where we keep MySQL connection string, share this file with your team members, placed it in the same folder with 1Remote.db
.
Assuming you are the team leader. In your company, you may have several servers to manage, AI Servers are for the AI team, while Web Servers are for the Web team.
A typical use case is:
1Remote can help you manage these servers flexibly with Team sharing
feature.
In this feature, you can create two accounts in MySQL, giving them different permissions:
Account Connect View address Edit Delete View password Select permission only \u2705 \u2705 \u274c \u274c \u274c Full permission \u2705 \u2705 \u2705 \u2705 \u2705Your team members can connect to the same database with read-only permission, they can only view the servers, but they are not able to edit them.
You can connect to the same database with full permission, you can add, edit and delete servers.
Note
Please note that the Team sharing feature offers only very basic access control, and is not designed to provide individualized access control for each team member.
"},{"location":"usage/team/team-sharing/#how","title":"How","text":"Create two accounts in MySQL, giving them different permissions:
In database \"test\", account 'writable' can insert and update data, while account 'readonly' can only select data.
You can connect to test
database with account writable
, and import servers into the database.
Your team member connect to test
database with account readonly
, they will not able to edit the servers, but they can view the servers and connect to them.
Connection shows Readonly
:
Edit button of team member is disabled:
Once you edit the servers, the team member will see the changes in a few seconds.
Warning
This app does not use concurrency locks on data editing, so if you modify the database on 2 devices at the same time, data loss may occur. Please try to avoid this situation.
\u270f\ufe0f Last Change: 2023-08-14 14:02 \ud83d\udcd6 Publication Date: 2023-08-14 14:03"},{"location":"tags/","title":"Tags","text":"Following is a list of tags:
"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..f821ec9 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,153 @@ + +Following is a list of tags:
+ + + + + + + + + +1Remote allow you add credentials for alternative use. You can switch between them manually or automatically when open connections.
+Sometimes you need to connect to the same server with different credentials or different host address. For example:
+In 1Remote "Alternative-credential" can help you smoothly switch between different address and account.
+In edit page, there's a session for alternative credentials. You can add a new credential by clicking the +
button. Also you can edit or delete a credential by clicking the Edit
button or Delete
button.
When you add a new credential, you need to fill the name, others are optional. The name is used to identify the credential, and it will be shown in the credential list.
+If you got Automatic address switching
enabled, 1Remote will automatically switch to the alternative address when you connect to the server(according to the ping result).
You have no need to switch the address to WLAN manually when you are outside:).
+ +You may work with multiple devices to manage your servers. In this case, you can use the database synchronization settings to share server information across different devices.
+Nothing to talk about, export, copy to other device, import...over.
+This means you can copy the database to other device using sync tools, and 1Remote will automatically detect the change and run a data reload procedure.
+++please do not remove the database file while 1Remote is still in used.
+
Tip
+In Options
-> Database
-> Local
-> Edit
, you can check up where your database file is.
You can also change the db path there.
+recommended tools:
+Using a MySQL database is a more professional way to synchronize data. When server info is edited on on device, other devices will update the modify in a few minutes. Go to Options
-> Database
-> MySQL
to set up the database, check Online database for more details.
Warning
+This app does not use concurrency locks on data editing, so if you modify the database on 2 devices at the same time, data loss may occur. Please try to avoid this situation.
+++A chain is only as strong as it's weakest link is a metaphor
+
Since 1Remote is designed for snappy and fast experience, it is not easy to make a balance between convenience and safety. Since users are probably IT people with high security awareness, we decided to pay more attention to convenience, leaving security to the system, security software, and good user habits to protect. Therefore, we will only provide the most basic information security, and will not provide functions such as activation lock.
+Since this program is a resident background app that starts a session through the launcher (Alt + M). If you have to enter a password every time you turn on the launcher, the experience will be greatly reduced. Or if the password is only required when the program is started, then the security cannot actually be properly guaranteed. Taking these into account, we believe that it is better for security guaranteed by the system, security software, and good user habits in long-term solution. As long as the user realizes that he should lock the system when he/she leaves the computer, 1Remote does not have to put add any activation protect.And if the user does not have such security awareness, then even if we adds the activation password, the information may still be leaked through other ways.
+For the data sync / sharing reason, 1Remote only provide a basic string encryption in database (account, password, etc.). So it is recommended to enable hard disk encryption (like Bitlocker) to ensure that event when the 1Remote database is leaked or the hard disk is cracked physically, the theft will get nothings.
+1Remote supports various data sources such as local SQLite databases and online MySQL databases. You can connect to multiple databases at the same time. which allows you to store different server information in different databases and connect to different databases on different devices for flexible data management.
+This is where configuring multiple databases becomes useful:
+Go to Options
-> Database
-> MySQL
to set up the database
Fill the database info, make sure your account have the permission to read & write the database.
+Press Save and your database will on the list. If connect failed, the database will be marked with a red cross.
+If there are multiple databases, you need select the database when you add a new server.
+After you add a new server, you will find the list is grouped by database.
+Launcher is a place where you can quickly start a remote session. You can use the default shortcut Alt + M to open the quick start window of the server.
+Note
+Launcher will be shown on the screen where your mouse is.
+In launcher, items are ordering by recent use. Use the Up and Down arrow keys to select the desired server, or give some keywords to search for the desired server.
+Enter key or mouse double click it to start the remote session.
+When you select a server, you can use the ++righ++ arrow key to open the options menu. There you can choose a credential to connect to the server.
+Left arrow key to go back to the server list.
+If you write a note for the server, you can use the Left arrow key to show the note.
+Or simply click the note icon.
+In launcher you can make a quick connect to a server without creating a server profile.
+After the launcher shows up, press the Tab key to switch to the quick connect mode.
+In this view you can select the protocol and fill the ip and port, then start the remote session.
+One you press Enter key, a password acquire window will show up, you need to fill the password before continue.
+1Remote will help you remember your quick connect history, so you don't have to type the ip and port next time.
+Warning
+We don't save the credential for security season, so you need to fill the password every time you start a quick connect session.
+The 1Remote also supports CLI commands. This documentation provides an overview of the available CLI commands and their usage.
+To install or uninstall the 1Remote tool, use the following commands:
+--install
: Performs the installation of the 1Remote tool.--uninstall
: Removes the 1Remote tool and its associated files.You can manage the desktop shortcut for the 1Remote tool using the following commands:
+--install-desktop-shortcut
: Installs the desktop shortcut for quick access to the 1Remote tool.--uninstall-desktop-shortcut
: Removes the desktop shortcut.The CLI provides commands to manage the registry startup entry for the 1Remote tool:
+--install-startup
: Sets the 1Remote tool to start automatically on system boot by adding a registry startup entry.--uninstall-startup
: Removes the registry startup entry for the 1Remote tool.If you want to run the 1Remote app in a minimized state, use the following command:
+--start-minimized
: Launches the 1Remote app minimized.You can execute specific connections or focus on tags using the following command formats:
+ULID:<connection-id>
: Runs the 1Remote app and immediately executes and/or focuses on the connection with the specified ID.<connection-name>
: Runs the 1Remote app and immediately executes and/or focuses on the connection with the specified name.#<tag-name>
: Runs the 1Remote app and immediately start the connections associated with the specified tag.You can also create shortcuts for ULID, connection name, and tags by right-clicking on a connection in the GUI interface.
+ + + + + + + + + +Thanks to our CLI feature, 1Remote finally supports adding desktop shortcuts for sessions.
+You can create desktop shortcuts for individual servers, multiple servers, or all servers under a specific Tag. Simply right-click on the corresponding item and select "Create Desktop Shortcut."
+It would be really awesome to offer 1Remote in many different languages! So you're really Welcome to translate 1Remote in your (native) language, but don't worry there are just a few strings.
+glossary.csv
in Ui\Resources\Languages
by Excel or something.conver_glossary_to_xaml.bat
, it will analysis the glossary you edited, and fill the blank in it (using Google translate). Then new .xaml
and LanguagesList.cs
will be generated.Note
+glossary_maker.py
Do not edit any .xaml
/ .cs
files directly, they are auto generated from glossary csv file.
See all this below were generated, do not edit any of them.
+push the glossary file back:
+send the new file to me(veckshawn@gmail.com)
+(recommend) Start a new pull requests.
+Edit this page, add your name :)
+If you'd like to help out, please add your name and how we can contact you to this list. And thank you!
+Highline A Server can makes it easy to find your "VIP" servers.
+All you need to do is set the color next to Logo:
+Then your "VIP" servers will be highlighted:
+We support markdown note to help you remember some important information. The note will be displayed in the connection list and the connection detail page.
+You can edit the note in the edit page or click the edit button on top-right of the note.
+We support link, image and others markdown syntax.
+Maybe your server needs a VPN connection before you can connect to it. 1Remote can help you open a VPN connection before connecting to the server.
+++One of my windows servers is behind VPN. So I have to connect the VPN tunnel first, wait until it's connected, then run the RDP connection. I'm trying to automate this with 1Remote using OpenVPN 2.5.8.
+
You can open vpn in Script before connect
+and close it in Script after disconnected
open-vpn.ps1:
+"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --command myconnection.ovpn
+
+Write-Host "Checking VPN connection" -NoNewLine
+$i = 0
+while(1) {
+ Write-Host -NoNewLine ' .'
+ $portOpened = Test-Port $Env:PRM_HOST $Env:PRM_PORT | ? { $_.PortOpened }
+ if ($portOpened -or $i -gt 60) { break } else { Start-Sleep 1; $i++}
+}
+if ($i -gt 60) { Write-Error 'timeout' }
+
close-vpn.ps1:
+"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --command disconnect myconnection.ovpn
+
1Remote is a remote access application that allows users to establish connections to remote computers. One of its features is the ability to run pre- and post-connection scripts. These scripts can be written in cmd(.bat), PowerShell(.ps1) or Python(*.py) and can be used to perform various tasks before a connection is established or after it disconnected.
+To facilitate the script in identify each sessions, 1Remote will start the script with SESSION_ID
, SERVER_ID
, SERVER_NAME
, and SERVER_HOST
as environment variables.
Note
+Noted:For the same server, the SESSION_ID for each session is different, while SERVER_ID, SERVER_NAME, and SERVER_HOST remain the same.
+To set up a script in 1Remote:
+Edit
page of your server in 1Remote.Click the Select
button and select the script file you want.
Click Test
button to test the script, the debug info will popup.
If it is all green, click Save
button to save.
Here is an example of a script. The script will be executed in the directory where the script file is.
+$sessionID = $env:SESSION_ID
+$serverID = $env:SERVER_ID
+$serverName = $env:SERVER_NAME
+$serverHost = $env:SERVER_HOST
+$serverTags = $env:SERVER_TAGS
+
+echo "SESSION_ID: $sessionID"
+echo "SERVER_ID: $serverID"
+echo "SERVER_NAME: $serverName"
+echo "SERVER_HOST: $serverHost"
+echo "SERVER_TAGS: $serverTags"
+
+
+Set-Content -Path "temp.txt" -Value "SESSION_ID: $sessionID`r`nSERVER_ID: $serverID`r`nSERVER_NAME: $serverName`r`nSERVER_HOST: $serverHost`r`SERVER_TAGS: $serverTags"
+
+# in the script before connect:
+# TODO: save $sessionID into file in pre-connect script
+# TODO: if $serverTags contains "HOME" then open VPN1
+# TODO: if $serverTags contains "WORK" then open VPN2
+
+
+# in the script after disconnected:
+# TODO: read $sessionID from file in post-connect script
+# TODO: if $sessionID == "12345" then close VPN1
+# TODO: if $sessionID == "ABCDE" then close VPN2
+
+
+# do some long time jobs, like opening a VPN
+sleep 3
+
+# exit with non-zero will terminate your connection request.
+exit 0
+
A typical application is to open a VPN before establishing a remote connection, and automatically close the VPN after terminating the remote connection.
+ + +Click the +
button in the upper-right corner of the main window.
Choose a protocol, such as RDP, SSH, or VNC, at the top of the pop-up window.
+Set the server's name, tags, notes (supports Markdown), and others.
+(Optional) Customize the server icon (system-built or manually uploaded) and highlight color (default is no highlight, setting a highlight color will highlight the server in the list and connection process).
+(Optional) Configure scripts for the server, such as opening VPN before starting remote desktop, or closing VPN after closing remote desktop. Scripts support cmd, PowerShell, and Python. Please see the Open a VPN before connect for further details.
+Continue entering server address, port, credentials and other information, and select your desired connection settings.
+Save
button to complete adding the server and return to the homepage.Servers are displayed in the main window as cards or lists. You can click the Settings
button in the upper-right corner of the interface to expand the menu and choose Toggle Cards/List
to switch the display mode of servers.
Settings
button in the upper-right corner of the interface to expand the menu and choose "Sorting" to sort the servers.When you move mouse over a server, the Settings
button will be displayed. Clicking on this button will display a menu where you can connect to, edit, create a replica, delete, copy the server address and account password, etc. (Note: If you connect to a MySQL server with read-only permissions, you will not be able to edit, copy, or delete server information stored in that database.)
Tip
+You can also directly enter the edit interface by right-clicking on a server with your mouse.
+By selecting multiple servers using the checkboxes and clicking the Edit
button at the bottom of the main window, you can enter the batch editing interface to perform uniform editing operations on multiple servers. With proper server labels, you can easily select all servers under a specific label and modify their addresses or account passwords in bulk.
Warning
+The exported data is stored in plain text, so please handle it with care.
+When some servers are selected, Export
button can export selected items to json file which you can import it to another PC or simply make a backup. Please see the Data synchronization for further details.
+
button in the upper-right corner of the main windowimport json
to import json file exported from 1Remote.OK
button in the lower-right corner to export.+
button in the upper-right corner of the main window, and choose "import mRemoteNG csv". Select the CSV file you just exported in the pop-up dialog, and click "Open" to complete the import.Since PRemoteM is our old name, you can also import data from PRemoteM.
+Our migration tool will auto detect your old data when your first start 1Remote.
+If the you miss the auto-migration, you can still import it manually:
++
button in the upper-right corner then click the Import
button, select the *.prma file you just exported in the pop-up dialog by select the file filter *.*, and click "Open" to complete the import.Warning
+We are not able to get password form RDP file, so you may have to enter password manually.
+Save As...
button under "Connection settings", and save as an RDP file.+
button in the upper-right corner of the main window, and choose "import *.rdp". Select the RDP file you just saved in the pop-up dialog, and click "Open" to complete the import.Connect
button at the bottom of the main window to start multiple remote sessions at once.Connect
button to start multiple remote sessions at once.You can use the default shortcut Alt + M call the launcher, then type some key words to search the server you want to connect, then press Enter to start.
+For more details about the Launcher, please see the Launcher.
+Remote session windows are displayed in the window as tabs. You can detach the tab to a new window by dragging the tab to the upper-left corner of the window.
+You can add multi-tag for each server, all your Tags will be shown on Tag page.
+A short cut of the tags selected in this page will be display on the top bar for quick access.
+++I suggest making a tag name as short as you can to save space.
+
Right-click on tag and you will find a Rename
button.
If you need a strong tag management, you can use multiple filter to find the server you want.
+By click / right-click / ctrl-click on the tag, you can include or exclude the tag
+e.g. sometimes I wanna list all my servers in home but exclude RDP.
+The APP protocol allows you to start an external EXE program using 1Remote.
+By passing the parameters to the program, you can customize the startup configuration of the program.
+Then you can start the software you need from our launcher.
+Here are some examples of using the App protocol, you can also customize the required startup configuration according to your own needs.
+Test.nxs
Since the latest version of NoMachine no longer provides a session starting method of the command line by password, in 1Remote we define the App protocol to indirectly implement the NoMachine session.
+Make sure the target machine can be connected with NoMachine. Right click and export the .nxs
file of target machine.
In 1Remote, add a new configuration of APP
type.
+ - Fill the path of NXPlayer.exe into the EXE path field
+ - Fill the path of .nxs
file into the parameter field
+ - Save
Then you can quickly start your NoMachine session from 1Remote.
+Tip
+This is also applicable to other command parameters supported session launcher, such as PUTTY, WinSCP, etc.
+Even you can use this method to add one other programs (such as Word, NotePad, etc.) to 1Remote for a quick start.
+In this mode, rdp session will be start by run command mstsc.exe xxxx.rdp
in cmd.
When our user using 2 monitors with different scale ratios and wants to go to full-all-screens, we didn't find a solution to handle this 2 different scale ratios on Remote Desktop ActiveX control.
+Then we make 1Remote check user's monitor resolution and scale ratios before a multi-monitors full-screen rdp session start. If we found 2 monitors with different scale ratios, a temp file 'xxxx.rdp' will be created and 1Remote will call cmd command mstsc.exe xxxx.rdp
to start the session.
In the process of development, we found it in the .rdp
file there are many settings that Remote Desktop ActiveX control can't access.
such as:
+setting | +description | +
---|---|
selectedmonitors:s:0,2 | +When you connect 3 monitors, this setting allow you only uses the NO.0 & NO.2 display to display the remote desktop. The NO.1 display will continue to display your local desktop. Using cmd mstsc /l can see the number of the monitors |
+
redirectcomports:i:1 | +Redirect the COM port of the local machine to the remote session. | +
desktopwidth:i:800 | +Specifies the resolution width (in pixels) of the remote session to 800pix. | +
desktopheight:i:600 | +Specifies the resolution height (in pixels) of the remote session to 600pix. | +
For example, I have 3 monitors, and I want to use the NO.1 & NO.2 display for remote desktop, and keep NO.0 as my local desktop:
+more settings:
+ + +A RemoteApp program is an application installed on an RD Session Host server. Remote Desktop Connection (RDC) and the RD Session Host use Remote Desktop Protocol (RDP) to redirect screen information for just the application instead of the full session-based virtual desktop.
With RemoteApp programs, you can use RDS to make programs on a Remote Desktop Session Host (RD Session Host) server appear as if they are running on a user 's local computer. RemoteApp program windows are shown on and integrated with a client's Desktop instead of being presented as part of a session-based virtual desktop. A RemoteApp program open on a Desktop.
+Using a RemoteApp program is similar to using a local application. When you implement RDS to provide access to a few applications, RemoteApp programs generally are easier for users to understand and use than session-based virtual desktops. Users can become confused when there is a session-based virtual desktop and a local Desktop. This is particularly true if the session-based virtual desktop is used in full-screen mode.
+Add a RemoteApp config in 1Remote.
+Here I run QQ.exe and Edge.exe via RemoteApp:
+Warning
+The following RemoteApp program are not in the list of authorized programs
+check list:
+ +Protocol Runner
Runner is the program that 1Remote uses to open the remote session.
Currently, 1Remote offering some built-in runner for all of the supported protocols:
+VNC Runner based on VNCSharp
+Warning
+VncSharp has been archived for long, and it is not maintained anymore, so it may not work well. I strongly suggest you use TightVNC as our VNC runner.
+SFTP Runner based on SSH.NET
+And you can customize the runners for some of the protocols
+1Remote supports custom external Runner
, as long as the external program supports run passing startup parameters through command line or environment variables.
Here are some available CLI tools:
+APP | +Type | +Arguments | +
---|---|---|
WinSCP | +SFTP | +sftp://%USERNAME%:%PASSWORD%@%HOSTNAME%:%PORT% | +
FileZilla FTP | +SFTP | +sftp://%USERNAME%:%PASSWORD%@%HOSTNAME% | +
FileZilla FTP | +FTP | +ftp://%USERNAME%:%PASSWORD%@%HOSTNAME% | +
Kitty | +SSH | +-ssh %HOSTNAME% -P %PORT% -l %USERNAME% -pw %PASSWORD% -%SSH_VERSION% -cmd ""%STARTUP_AUTO_COMMAND%"" | +
TightVNC | +VNC | +%HOSTNAME%::%PORT% -password=%PASSWORD% -scale=auto | +
UltraVNC | +VNC | +%HOSTNAME%:%PORT% -password %PASSWORD% | +
To demonstrate, here we add WinSCP as a SFTP runner.
+Example
+WinSCP is a free SFTP, SCP, Amazon S3, WebDAV, and FTP client for Windows, it can open new session through command line.
+winscp.exe sftp://username:password@example.com:22/
+winscp.exe ftps://username:password@ftp.example.com/
+
First you have to install WinSCP on your computer;
+In the setting page of 1Remote,click Protocol
-> SFTP
-> +
, and set the name of the new Runner;
Click select
button, select WinSCP.exe path
Click i
button, the Macros will be prompted.
Set CMD parameter
+since the demo is sftp://username:password@example.com:22/
then we set parameter to sftp://%USERNAME%:%PASSWORD%@%HOSTNAME%:%PORT%
Change the default Runner to WinSCP
+Then all the SFTP session will be opened by WinSCP
+PRemoteM vs 1Remote
+1Remote is the upgraded version of PRemoteM.
+1Remote is open source and free to use.
+Click the +
button in the upper-right corner of the main window.
Choose a protocol, such as RDP, SSH, or VNC, at the top of the pop-up window.
+
Set the server's name, label, notes (supports Markdown), and other information and save.
+Since PRemoteM is our old name, our migration tool will auto detect your old data when your first start 1Remote.
+If the you miss the auto-migration, you can still import it manually:
++
button in the upper-right corner then click the Import
button, select the *.prma file you just exported in the pop-up dialog by select the file filter *.*, and click "Open" to complete the import.Simply double-click
a server to open the corresponding remote session.
Press default shortcut Alt + M to show the launcher, then:
+Setting
-> General
-> Language
Setting
-> Theme
-> Theme
. On this page, you can also customize your favorite color scheme.Setting
-> Protocol
-> SSH
-> KiTTY
-> Themes
Warning
+Before deploy this app to your team, you need to set up a MySQL database for your team and create some user for your team members.
+Assuming you are the IT administrator and you have already import servers into MySQL database, you can follow the steps below to deploy this app to your team.
+Exit your MySQL admin account and login as a normal user in 1Remote. Make sure the database is Readonly
:
Open explorer and navigate to the folder where you have installed 1Remote. Here is how the folder looks like:
+1Remote.DataSources.json
is where we keep MySQL connection string, share this file with your team members, placed it in the same folder with 1Remote.db
.
Assuming you are the team leader. In your company, you may have several servers to manage, AI Servers are for the AI team, while Web Servers are for the Web team.
+A typical use case is:
+1Remote can help you manage these servers flexibly with Team sharing
feature.
In this feature, you can create two accounts in MySQL, giving them different permissions:
+Account | +Connect | +View address | +Edit | +Delete | +View password | +
---|---|---|---|---|---|
Select permission only | +✅ | +✅ | +❌ | +❌ | +❌ | +
Full permission | +✅ | +✅ | +✅ | +✅ | +✅ | +
Your team members can connect to the same database with read-only permission, they can only view the servers, but they are not able to edit them.
+You can connect to the same database with full permission, you can add, edit and delete servers.
+Note
+Please note that the Team sharing feature offers only very basic access control, and is not designed to provide individualized access control for each team member.
+Create two accounts in MySQL, giving them different permissions:
+In database "test", account 'writable' can insert and update data, while account 'readonly' can only select data.
+You can connect to test
database with account writable
, and import servers into the database.
Your team member connect to test
database with account readonly
, they will not able to edit the servers, but they can view the servers and connect to them.
Connection shows Readonly
:
Edit button of team member is disabled:
+Once you edit the servers, the team member will see the changes in a few seconds.
+Warning
+This app does not use concurrency locks on data editing, so if you modify the database on 2 devices at the same time, data loss may occur. Please try to avoid this situation.
+
+ 1Remote是一款现代化的个人远程会话管理员和启动器,使用它你可以管理从一个入口管理多种远程会话。
+
+
+
+
+ ⭐
+
+ 开源且免费
+
+
+
+ ⭐
+
+ 支持 RDP, SSH, VNC, Telnet, (S)FTP,
+ RemoteApp
+ 等多种协议
+
+
+
+ ⭐
+
+ 多屏幕、高分辨率的 RDP 支持
+
+
+
+ ⭐
+
+ 一键打开你的远程连接 (Alt + M)
+
+
+
+ ⭐
+
+ 单个服务器配置中允许存储多个地址和账号
+
+
+
+
+ ⭐
+
+ 基于选项卡的远程桌面界面、多语言、可自定义颜色主题
+
+
+
+
+
+ ⭐
+
+ 易于部署,仅需解压就能运行
+
+
+
+
+
+ Get started
+
+
+
+
1Remote 简化了远程会话管理,你可以在一个入口管理多种远程会话。
+使用启动器 (Alt + M) 和选项卡界面,你可以轻松地在会话之间切换。
+📌 快捷启动器,不耽误一秒
+📌 Tab 界面,优雅舒适
+📌 密码加密存,安全更放心
+📌 要想多设备同步,还可数据库存共享盘
+📌 多语言支持: English, 简体中文, Deutsch, Français, čeština, + Portuguese, 日本語, 正體中文...等等等等 + 感谢我们的翻译者🎉(尤其是谷歌翻译😀)
+
+ 一个软件,搞定全部:
+
+ ✅ RDP
+
+ ✅ SSH
+
+ ✅ FTP / SFTP
+
+ ✅ VNC
+
+ ✅ RemoteApp learn more
+
+ ✅ Other cli tools learn more
+
+ 1Remote 是目前唯一一个能够在多4k显示器环境下流畅运行RDP的第三方工具。 + 拥有多显示器、拥抱生产力! +
++ 开发者说: 我写这软件最初的理由就是其他第三方工具都不能支持同时用我家的两个4k显示器+一个1080p显示器,全屏 RDP 到服务器上。 +
++ 不喜欢内置的 FTP 客户端?没关系,你甚至可以改变 1Remote 的客户端! +
++ 在 1Remote 中你可以轻松集成你原有的 CLI 工具,比如 WinSCP 和 TightVNC,无需改变你的工作流! +
+ + Learn more About CLI tools integrate + +✨ 多地址切换:内网用 LAN,速度快!外网用 WAN,连的通!两种地址的切换居然还是自动的!
+ +✨ 多账号切换:一个服务器可配置多套账号密码,再也不用小本本抄写root密码了!
+ +✨ 自动化脚本:这个脚本可以帮你在远程前自动打开VPN耶!
+
+ 🚀 自建一个 MySQL 你就能把服务器给团队里其他人用啦
+
+ 🚀 还是 MySQL 1个人可写,其他人只读,安全。团队小兵兵甚至都看不到密码
+
+ 🚀 当然你也可以用网盘分享主数据库 SQLite,不过不推荐哦
+
+