diff --git a/docs/Known-Issue:Cmd-key-stuck-while-switching-between-apps-with-Cmd-Tab.md b/docs/Known-Issue:Cmd-key-stuck-while-switching-between-apps-with-Cmd-Tab.md deleted file mode 100644 index a18aaea3b..000000000 --- a/docs/Known-Issue:Cmd-key-stuck-while-switching-between-apps-with-Cmd-Tab.md +++ /dev/null @@ -1,7 +0,0 @@ -After switching apps with the `Cmd-Tab` shortcut, when you return to the same app, the `Cmd` key is still pressed and the shortcuts help window shown. You can then press `w`, `t`, etc without having the Cmd key pressed. - -This is a known issue within iOS13, and to get Apple to solve it we need your help. Please create a bug report within [Feedback Assistant](feedbackassistant.apple.com). We suggest that you use a similar title to ours: "Cmd key stuck while switching between apps with Cmd-Tab". - -Here are two recordings that show the issue: `Cmd-tab` in [Pages.app](https://youtu.be/x0foV_ONDmk) & `Cmd-tab` in [Safari](https://youtu.be/-7LayQvtmPQ) - -Thanks! diff --git a/docs/advanced/advanced-mosh.md b/docs/advanced/advanced-mosh.md deleted file mode 100644 index 032b26737..000000000 --- a/docs/advanced/advanced-mosh.md +++ /dev/null @@ -1,81 +0,0 @@ -# All About Mosh - -## Introduction - -Mosh, a portmanteau word for mobile shell, is a terminal connection program that facilitates persistent shell sessions in less-than-ideal network situations. If you have a low-bandwidth or intermittent connection, switch between multiple devices or ISPs or even use devices with sporadic Internet access you will be able to maintain consistent shell sessions with Mosh. - -Mosh accomplishes this feat by using the UDP-based state-synchronisation protocol ([SSP](https://en.wikipedia.org/wiki/Mosh_(software)#Roaming)), which isn't bound to a particular network connection. SSP keeps the client and server in sync, while predictive local echo can "guess" what will be displayed after the user presses a key. This approach reduces input latency and transfers fewer bytes of data over the wire. - -Mosh isn't just for mobile devices. Ever have to connect to a SSH server in another continent? Sometimes the input latency is so high on international SSH connections that editing files and typing on the command line can be a frustrating experience. Mosh can significantly decrease your latency and improve your worldwide server connections. - -Mosh runs as the user and doesn't need root access so if the process were somehow compromised the damage would be contained to the user and the system's administrative account would be spared. SSH still governs the authentication process, so your standard authentication methods such as SSH keys and passwords are still useable. Once connected, Mosh takes over the connection. - -## Installing Mosh - -To use Mosh you must install it on the server. Blink Shell comes with mosh support right out of the box. Any other client that you use will also need to have Mosh installed. - -### Debian, Ubuntu and apt-based Distribution - -```bash -apt install mosh -``` - -### Arch-based Distribution - -```bash -pacman -S mosh -``` - -### CentOS, Fedora and Amazon Linux - -You mush enable the EPEL, instructions to do so may vary on distribution, and run: - -```bash -yum install mosh -``` - -Or you can also compile it from [source](https://github.com/mobile-shell/mosh). - -### Other and Compiling from Source - -For a list of instructions on other systems please see [this](https://mosh.org) link. - -## Using Mosh - -To connect with Mosh, run: - -```bash -mosh remote -``` - -Where `remote` for the host or IP address of the remote server. Authentication occurs over SSH. You can use the `-P` switch to specify a port. - -```bash -mosh -P 1234 remote -``` - -Replacing `1234` with the port number of your remote SSH server. The Mosh session ends when you use the `logout` or `exit` commands. - -## Mosh and Command History - -Due to Mosh's predictive local echo and unique transmission methods it cannot maintain a history of previously used commands. To work around this shortcoming, you can use `tmux` or `screen`. - -## A Word About Firewalls and Ports - -Most system administrators open port `22` via TCP to SSH. Since Mosh uses UDP, you'll need to open UDP ports `60000` through `61000` for the SSP packets. This range opens one thousand ports which is more than enough but, if you only plan to make a few Mosh connections you can enable a smaller range, for example ports `60000` through `60005`, that leaves room for five simultaneous sessions. You can also specify the UDP port with the `-p` option on the `mosh` command if you wish to use an entirely different range. - -If SSH runs on a different port than the default you'll need to invoke Mosh with a custom SSH argument like this: - -```bash -mosh --ssh="ssh -p 1234" remote -``` - -Replacing `1234` with the custom port and `remote` with the hostname or IP address of the server. - -## SSH Tunnels and Bastion Hosts - -Mosh has no concepts of SSH tunnels or bastion hosts but you can run a SSH tunnel in a different window. Once the SSH tunnel is established and the remote port brought to your machine, you can use `mosh localhost:1234` where `1234` is the port you tunneled, to connect via the SSH tunnel to Mosh. Doing this will counteract some of the advantages of Mosh, so using a VPN into the protected network is your best option. - -## The Bleeding Edge of Mosh - -Blink has additional support for new Mosh features like TrueColor rendering and remote clipboard. Some of these features are not supported in older versions of Mosh versions that may be installed on your servers. If that's the case, you can uninstall Mosh via your package manager or compile it and install it from source. Please see this [link](https://mosh.org) for more information. diff --git a/docs/advanced/advanced-ssh.md b/docs/advanced/advanced-ssh.md deleted file mode 100644 index 25aa9ab43..000000000 --- a/docs/advanced/advanced-ssh.md +++ /dev/null @@ -1,59 +0,0 @@ -# Advanced SSH: Tunnels, Jump Hosts and Agents - -## Introduction - -All system administrators know that SSH is arguably the most useful and powerful remote administration tool available for UNIX/Linux systems. SSH brings a remote system's command-line interface to our local machine unlocking the real source of the magic behind NIX systems - the shell. - -Bash, ZSH, fish and other shells allow us to run powerful command-line utilities that alone provide more capability than our average commercial GUI desktop program. Combining all of this with pipes and filters, these gems knit together an unrivalled system that empowers us all. - -And yet, you can spend years in the shell and not know about some of its most unique and useful features. Let us dig into some of the more obscure, but useful, features of SSH. - -## Persistent SSH Connections with Blink - -Phones and tablets are tuned for extended battery life, but the power saving technology in iOS works against long-running SSH connections. Fortunately, Blink ships with a security feature that has the secondary effect of keeping your connections running longer. The `geo track` command available on Blink Shell will enable the location tracking feature in iOS to ensure Blink can maintain active SSH connections. If run as `geo lock`, additionally the location of your device will be "locked" and in case your device is moved, all your connections will be dropped. Rest assured, we don't use or store any of the location data from your device. The `geo` command bypasses the power saving system to ensure you remain connected while keeping your privacy intact. - -## SSH Agent and Forwarding - -When stored securely, SSH keys provide strong security for your remote connections. SSH keys should be encrypted with a password to help guard against key theft. While this setup is incredibly secure, repeatedly entering passwords can be annoying. Fortunately, there's a solution - the SSH agent. - -The SSH agent stores your key passwords in memory to prevent you from having to enter your password each time you want to connect. While incredibly useful in a local console setting, this benefit can also be securely extended to remote machines via SSH agent forwarding. - -Let's see the SSH agent forwarding in action. First, load the SSH agent with the `ssh-agent` command. To load all of your stored keys (i.e., `id_rsa`, `id_dsa`, `id_ed25519`, etc.) run `ssh-add`. You can load specific keys by specifying the filename with `ssh-add KEY_FILE`. To see which keys are already loaded in the agent, run `ssh-add -l`. The agent will prompt you once for the passphrases to each of the keys (in the order they are added), then loaded into memory for use with future connections. - -The PID (**p**rogram **ID**) of the SSH agent is stored in the environment variables `SSH_AGENT`. If you were on a desktop you would need to export that variable for use in subsequent shells. Fortunately, Blink Shell handles this for you. - -By default, the `ssh` command doesn't forward the agent's passwords. To enable SSH agent forwarding, connect with `ssh -A` option. This securely makes the keys available to the remote machine. Don't worry - the SSH keys won't be copied to the remote server's filesystem, they are only used to make outgoing connections for the duration of that specific SSH connection. - -Even though SSH agent forwarding has numerous safeguards in place, an application running on the remote server can still use your key for unintended or possibly malicious purposes. To help mitigate this risk, we recommend using a separate key for SSH agent forwarding. - -To learn more about the security implications of SSH agent forwarding, please see [this](https://heipei.io/2015/02/26/SSH-Agent-Forwarding-considered-harmful/). - -## Tunnels - -VPNs are incredibly useful in a wide variety of ways, and with increasing privacy and censorship concerns, they're becoming a practical necessity. While not an exact replacement for VPN technology, SSH tunnels provide secure network routes to or from your local machine to a remote network. - -The simplest example is bringing a port from a remote system to your local machine. If you had a development server running a service on port `8080` that wasn't exposed to the Internet and wanted to access it, you could run this command: - -```bash -ssh -L 8080:localhost:8080 host -``` - -Replacing `host` with the remote hostname or IP. Once authenticated, a service listening on port `8080` on the remote machine will now be accesible as though it were on your local device. A connection to `localhost:8080` will be forwarded via the SSH tunnel to the remote computer. - -## Jump/Bastion Hosts - -A jump host (sometimes referred to as a bastion host or server) is an intermediate SSH server that acts as a gateway to other networks. This setup is a common way to provide SSH access to a protected server (or group of servers) while allowing only one IP address (the jump host) access. This setup prevents other machines from accessing the protected server and ensures that connections first authenticate through the jump host. - -To facilitate this, SSH has a `ProxyCommand` option that allows you to specify the intermediate server: - -```bash -ssh -o ProxyCommand="ssh -W %h:%p jumphost" host -``` - -Where `jumphost` with the jump/bastion server and `host` with the remote host. - -SSH jump hosts eliminate the need for SSH agent forwarding, offering a more secure approach to connect to protected networks. - -## Venture Forth with Your Advanced SSH Knowledge - -We hope this guide to advanced SSH has been helpful. Blink Shell, with its native shell and SSH support combined with your knowledge of SSH agent forwarding, jump hosts, SSH tunnels and persistent connections transforms your iOS device into a networking and development powerhouse. diff --git a/docs/advanced/unix-roundup.md b/docs/advanced/unix-roundup.md deleted file mode 100644 index 29985429a..000000000 --- a/docs/advanced/unix-roundup.md +++ /dev/null @@ -1,134 +0,0 @@ -# UNIX Command Line Tools Roundup - -## Introduction - -Most users use Blink Shell to access remote machines, but many don't know that beneath our easy to use interface lies a robust set of command-line tools that would impress even the most proficient UNIX greybeard. - -Ever wanted to diagnose a network issue? Sure, there are applications with fancy GUIs for running network analysis, but any UNIX veteran knows that tools like `ping` and `dig` are quick and powerful. Want to search through and manipulate your files? `grep`, `awk` and `sed` have you covered. Transfer your command line wizardry to your phone or tablet with Blink Shell. - -You can see all the applications at your disposal by pressing `TAB` on the shell prompt. - -## File Utilities - -iOS limits you to a sandbox, but you can make the most of this by linking files from other locations on your device like iCloud. Simply run `link-files` to bring up a dialog allowing you to select the folder to connect to Blink Shell. - -![img](unix-roundup/unix-roundup-image1.png) - -Once you've linked the desired folder you're ready to go. Want to make folders in iCloud? No problem, - -```bash -mkdir docs -``` - -You can even move files in the cloud with ease, - -```bash -mv *.pdf docs -``` - -Need to find a particular file? Use the power of `grep`: - -```bash -grep -nHr TERM LOCATION -``` - -We have even included `sed` and `awk`! `sed` is short for stream editor and it allows you to edit text inline, while `awk` is a superb data reporting and extraction utility. - -For example, with `sed` we can remove any string of characters, in this example we will locate and remove `aoe` from our file to then form a new file: - -```bash -sed -i 's/[aoe]//g' file -``` - -Need to replace all your potatoes with bananas? Don't worry, we all do that at some point. `awk` to the rescue! - -```bash -echo "one potato two potato" | awk '{gsub(/potato/,"banana")}1' -``` - -If you want to learn more about `sed` and `awk`check [this](https://github.com/codenameyau/sed-awk-cheatsheet) fantastic cheatsheet. - -Another typical scenario when using a shell is the extraction of a compressed file downloaded from a web browser like Safari. Blink Shell provides `tar`, `gzip` and `md5` to make this task a breeze. - -```bash -md5 filename.tar -tar xfz filename.tar -C destination -``` - -Blink Shell provides far more utilities and here's a list: `awk`, `cat`, `chflags`, `chksum`, `compress`, `cp`, `diff`, `du`, `ed`, `egrep`, `fgrep`, `find`, `gunzip`, `gzip`, `head`, `link-files`, `ln`, `ls`, `md5`, `mv`, `pwd`, `rm`, `rmdir`, `sed`, `sort`, `tail`, `tar`, `touch`, `uncompress`, `uniq`, `wc` & `xargs`. - -## Remote Transfer Tools - -Blink Shell offers a lot of useful local functionality but Blink specializes in enabling remote connections and that strength is leveraged in our command line tools. Want to upload a LaTeX file or a generated PDF to your server or even download a file from a Linux machine into iCloud? We have you covered with `scp`. - -```bash -scp file user@remotehost:remotepath -``` - -In this example, we will transfer a file named `file` to the server `remotehost` with the username of `user` to place it in the `remotepath` folder. `scp` accepts wildcards, allowing the transfer of multiple files at once, but you can also `tar` the files for a better transfer experience. - -Some servers only support SFTP, so it is also bundled into Blink Shell. To connect to a server simply run: - -```bash -sftp user@remotehost -``` - -Once connected, you can run FTP commands like `cd`, `get` and `put`. - -## Network Diagnostics - -The network commands built into Blink Shell can save your day. Have you ever needed to check if a server is up from your phone? Running `ping` will get the ball rolling, followed with `nc` for advanced diagnostics. - -You'll also find helpful tools like `dig` and `nslookup` to troubleshoot DNS issues as well as the `ssh` command for complex SSH connections and testing. - -Have a little downtime? Have some retro fun with `telnet`: - -```bash -telnet towel.blinkenlights.nl -``` - -We provide a full set of network utilities, including: `dig`, `host`, `nslookup`, `ssh`, `mosh`, `nc`, `ping`, `rlogin` and `udptunnel`. - -## Miscellaneous - -Blink Shell includes a few extra tools designed to make your mobile life easier. - -Perhaps the most essential command is `geo`. This takes advantage of the device tracking functionality in iOS to enhance security, with the secondary effect of keeping your SSH connections running in the background. Don't worry, your location data won't be sent to Blink. In fact, it isn't sent anywhere. - -To enable `geo`, run: - -```bash -geo start -``` - -To enhance the security of your SSH sessions you can run: - -```bash -geo lock -# Once you want to stop tracking -geo stop -``` - -`geo lock` will disconnect all active SSH connections if the device is moved significantly, like someone stealing your device. If you only want to enable background tracking for background connections, do: - -```bash -geo track -``` - -Put the clipboard to use on your mobile device with `pbpaste` and `pbcopy`. Use the `pbcopy` command to put the contents of a file into the clipboard and `pbpaste` to paste the data. You can even use the `touch` command to create an empty file and paste it with `pbpaste` clearing your clipboard. - -To open a file just run: - -```bash -open filename -``` - -and a dialog will show asking which application to use to open the file. - -Finally, use the `openurl` to launch a website. This is extremely powerful when paired with tools like `xargs` to open multiple URLs at once. - -```bash -open url -``` - -This whirlwind tour of the Blink Shell just scratches the surface of what you can do with Blink. Go ahead and put your command line chops to use with our innovative command line interface to unlock a whole new world of mobile functionality. diff --git a/docs/advanced/unix-roundup/unix-roundup-image1.png b/docs/advanced/unix-roundup/unix-roundup-image1.png deleted file mode 100644 index 1f6f51a07..000000000 Binary files a/docs/advanced/unix-roundup/unix-roundup-image1.png and /dev/null differ diff --git a/docs/basics/hosts.md b/docs/basics/hosts.md deleted file mode 100644 index 6e091f5cb..000000000 --- a/docs/basics/hosts.md +++ /dev/null @@ -1,85 +0,0 @@ -# How to Create and Access Hosts in Blink Shell - -## Overview - -The purpose of this guide is to show you how to pre-configure hosts for a simpler and more secure access. It is time consuming to type the same IP address, username and possibly password repeatedly, so we added the Hosts feature in Blink to allow this data to be saved for easier use. - -## Adding a Host - -When accessing the Hosts section in the configuration pane of Blink, you will be presented with a list of existing hosts. If this is your first time using this section it will be empty. - -![img](hosts/create-access-host-image1.png) - -To add a host, click the `+` sign. When you do, you’ll be prompted for the details of that host. - -![img](hosts/create-access-host-image2.png) - -### Host - -This is the name of the host. Use this for easy identification in the lists of hosts. It does not necessarily have to match the hostname or IP address of the host. - -### Hostname - -In this field, please enter the hostname or IP address of the remote host. - -### Port - -In most cases this will be `22`, the default SSH port. If the host requires a different port number (`1`-`65535`) please enter it here. - -### User - -This is the username to connect with on the remote host. - -### Password - -If using password-based authentication, enter the password here. If you leave this blank and you don’t have a key for this host you will be prompted for the password each time you connect. If you choose to save a password, it is stored securely in the iOS Secure Enclave. - -### Keys - -To use public key encryption, select your key in this box. By default, the key named `id_rsa` will be used. - -### Mosh Parameters - -If you wish to use Mosh, you will have to supply additional parameters. - -#### Server - -The route for the `mosh-server` command on the destination server. In most cases this will be `/usr/bin/mosh-server` but on some remote systems, like macOS, the binary may be located in `/opt/bin/mosh-server`. You can check where is it located on the server using the `which` command as shown below, - -```bash -which mosh-server -``` - -#### Port - -If you need to specify a UDP port for Mosh, please enter it here. - -#### Prediction - -![img](hosts/create-access-host-image3.png) - -When you are finished with the parameters tap Save. - -## Changing or Deleting Host - -If you wish to change a host, tap on it in the hosts lists. Alternatively, to delete a host slide to remove it. - -![img](hosts/create-access-host-image4.png) - -## Using Hosts - -Once you have saved a host, you use the name you provided in the Blink Shell console: - -```bash -mosh plankton -``` - -To use the host named `plankton` use the hostname that you specified in your command. - -![img](hosts/create-access-host-image5.png) - -Command line parameters always have preference over configuration. You can redefine a parameter by specifying it on the command line. For example, to use a different user (in this case, `root`), specify: - -```bash -mosh root@plankton -``` diff --git a/docs/basics/hosts/create-access-host-image1.png b/docs/basics/hosts/create-access-host-image1.png deleted file mode 100644 index 34c72a1d5..000000000 Binary files a/docs/basics/hosts/create-access-host-image1.png and /dev/null differ diff --git a/docs/basics/hosts/create-access-host-image2.png b/docs/basics/hosts/create-access-host-image2.png deleted file mode 100644 index df00e83dd..000000000 Binary files a/docs/basics/hosts/create-access-host-image2.png and /dev/null differ diff --git a/docs/basics/hosts/create-access-host-image3.png b/docs/basics/hosts/create-access-host-image3.png deleted file mode 100644 index 225558449..000000000 Binary files a/docs/basics/hosts/create-access-host-image3.png and /dev/null differ diff --git a/docs/basics/hosts/create-access-host-image4.png b/docs/basics/hosts/create-access-host-image4.png deleted file mode 100644 index 488e23f1a..000000000 Binary files a/docs/basics/hosts/create-access-host-image4.png and /dev/null differ diff --git a/docs/basics/hosts/create-access-host-image5.png b/docs/basics/hosts/create-access-host-image5.png deleted file mode 100644 index 7c6bc1fb9..000000000 Binary files a/docs/basics/hosts/create-access-host-image5.png and /dev/null differ diff --git a/docs/basics/known-issues.md b/docs/basics/known-issues.md deleted file mode 100644 index 09df2babe..000000000 --- a/docs/basics/known-issues.md +++ /dev/null @@ -1,11 +0,0 @@ -# Known Issues - -## Cmd key stuck while switching between apps with Cmd Tab - -After switching apps with the `Cmd-Tab` shortcut, when you return to the same app, the `Cmd` key is still pressed and the shortcuts help window shown. You can then press `w`, `t`, etc without having the `Cmd` key pressed. - -This is a known issue within iOS 13, and to get Apple to solve it we need your help. Please create a bug report within [Feedback Assistant](feedbackassistant.apple.com). We suggest that you use a similar title to ours: "Cmd key stuck while switching between apps with Cmd-Tab". - -Here are two recordings that show the issue: `Cmd-tab` in [Pages.app](https://youtu.be/x0foV_ONDmk) & `Cmd-tab` in [Safari](https://youtu.be/-7LayQvtmPQ). - -Thanks! diff --git a/docs/basics/navigation.md b/docs/basics/navigation.md deleted file mode 100644 index 9ff55441f..000000000 --- a/docs/basics/navigation.md +++ /dev/null @@ -1,69 +0,0 @@ -# Navigating the Blink Shell - -## Introduction to Blink - -Blink is a shell that allows you to connect to remote machines, use Mosh and has full SSH support. You can use it to connect to other servers, interface with your Raspberry Pi or even write code! The shell is ready to go, blinking with anticipation as you discover its potential. - -## Using Blink Shell - -Using Blink Shell is similar to most other terminals - you simply type commands and hit the `RETURN` key. Just like in Bash or similar UNIX shells you can press the up arrow to access the history of previous commands. You can type the `help` command to access Blink’s online help, `mosh` to access the mosh mobile shell, `ssh` to connect via SSH or `ssh-copy-id` to copy SSH keys. - -![img](navigation/navigating-blink-shell-image1.gif) - -For example, you can type: - -```bash -mosh carlos@192.168.1.5 -``` - -To connect to your desktop computer or Raspberry Pi (assuming `192.168.1.5` is the IP address of the device and `carlos` is your username). - -## Blink Shell Gestures - -Gestures are very important inside Blink. Thanks to them we can enjoy a full screen terminal, while being fast and convenient to control. You can use a variety of finger gestures: - -* To create a new shell, you can tap the window with two fingers. -* Swiping with one finger from side to side will move between active shells. -* You can control the size of your terminal by pinching the screen. -* Tapping with three fingers will open a contextual menu where you can close a shell or configure display modes. -* Tapping and scrolling with a single finger will move the focus to that window and scroll it. If the application supports mouse control, then you will be able to control the pointer that way. -* Tap and drag to start selection mode. -* Don't be afraid to drag your selection to another app, or to drop content inside Blink, we will paste it right where your cursor is placed. - -## Blink Shell Keyboard Shortcuts - -Blink Shell can also be easily used with keyboard shortcuts along with the finger gestures mentioned before. If you have an external keyboard attached or connected via Bluetooth press and hold the `CMD` ⌘ key to see the available shortcuts. - -![img](navigation/navigating-blink-shell-image3.png) - -## Blink Shell SmartKeys - -SmartKeys provide special keys to use in your terminal session. They are hidden when an external keyboard is connected and they show up when you use the software keyboard. - -- Modifiers (i.e. `CTRL` ^, `ALT` ⌥, and `ESC` ⎋) for key combinations like `CTRL`+`C`. -- Directional arrows -- Scrollable area in the center with more keys -- Alternate keys after taping `CMD` ⌘ (function keys on central area plus cursor keys like Home, End, Page Down and Page Up) -- Holding a modifier instead of tapping allows you to chain multiple combinations, which is specially useful in applications like Emacs where you use chains like `C-x`, `C-c`. - -![img](navigation/navigating-blink-shell-image4.gif) - -## Configuration - -![img](navigation/navigating-blink-shell-image5.png) - -To open the configuration section, type `config` within Blink Shell or press `⌘-,`. In the configuration section, you can configure the following: - -- **Hosts**: Create hosts in your `~/.ssh/config` and access them just with the hostname. [More info](../basics/hosts.md). -- **Keys**: Create SSH key pairs for enhanced security and password-less convenience when accessing your servers. [More info](../basics/ssh-keys.md). -- **Appearance**: Personalize the terminal to your taste. You can change themes, fonts, or even upload your own. - -## Support and Community - -We sincerely appreciate your support and use of Blink. You can contact us via [email](mailto:hello@blink.sh) but ideally it is best to file issues on our [GitHub](https://github.com/blinksh/blink/issues) so that all of the community is aware of the issue. Not only does it help make Blink better but another user may help you solve your issue. When reporting a problem, please give as much detailed information as possible describing what you were doing when the application crashed or acted unexpectedly. Screenshots usually help when there is a problem with the interface. - -**VERY IMPORTANT: Reporting a problem in your review in the App Store will not help us solve issues that you might be experiencing. Please make sure to contact us too!** - -When a crash occurs in the application we receive a crash report. When this happens, please [email](mailto:hello@blink.sh) us or open an issue on [GitHub](https://github.com/blinksh/blink/issues). - -If you have an idea for a feature? Join our community on GitHub to send us your suggestions! We want to make Blink the most awesome terminal ever! diff --git a/docs/basics/navigation/navigating-blink-shell-image1.gif b/docs/basics/navigation/navigating-blink-shell-image1.gif deleted file mode 100755 index 1ece71893..000000000 Binary files a/docs/basics/navigation/navigating-blink-shell-image1.gif and /dev/null differ diff --git a/docs/basics/navigation/navigating-blink-shell-image2.gif b/docs/basics/navigation/navigating-blink-shell-image2.gif deleted file mode 100755 index f2ce4ec2c..000000000 Binary files a/docs/basics/navigation/navigating-blink-shell-image2.gif and /dev/null differ diff --git a/docs/basics/navigation/navigating-blink-shell-image3.png b/docs/basics/navigation/navigating-blink-shell-image3.png deleted file mode 100644 index e006d5005..000000000 Binary files a/docs/basics/navigation/navigating-blink-shell-image3.png and /dev/null differ diff --git a/docs/basics/navigation/navigating-blink-shell-image4.gif b/docs/basics/navigation/navigating-blink-shell-image4.gif deleted file mode 100755 index d7f7f8bbb..000000000 Binary files a/docs/basics/navigation/navigating-blink-shell-image4.gif and /dev/null differ diff --git a/docs/basics/navigation/navigating-blink-shell-image5.png b/docs/basics/navigation/navigating-blink-shell-image5.png deleted file mode 100644 index 64220f067..000000000 Binary files a/docs/basics/navigation/navigating-blink-shell-image5.png and /dev/null differ diff --git a/docs/basics/notifications.md b/docs/basics/notifications.md deleted file mode 100644 index a5b068307..000000000 --- a/docs/basics/notifications.md +++ /dev/null @@ -1,67 +0,0 @@ -# Notifications - -Have you ever glanced at your terminal multiple times to know whether your script has finished? Blink has your back here. Use terminal notifications to monitor the status of long running processes or to just know when something has finished. Level up your mobile shell experience with this feature. - -All of the available options can be configured from the settings pane, open it by using the `config` command or pressing `CMD + ,`. These can be configured as granularly as you want with the following options: - -* **Play Sound on active shell**: Plays an audible beep every time a `BEL` character is received. -* **Notification on background shell**: Display an alert when a `BEL` is received if the terminal is in the background or out of focus. -* **Use haptic feedback**: Only available on iPhones, vibrates the device when a `BEL` character is received. -* **'Notify' notifications**: Blink supports standard OSC sequences & iTerm2 notifications. Be notified whenever one of these sequences is received. - -There are some examples in the settings you can copy and paste on a session to get you started. - -## Bell notifications - -How can you use this feature to improve your shell experience? Let's say you have a long test suite or program you have to execute. Wouldn't you want to be notified when either of those finishes? By simply printing out the `BEL` character at the line you want to be notified it's good to go. One simple example you can try is the following. - -```bash -echo "Waiting to finish"; sleep 2; echo -n "Done!\a" -``` - -Once this `BEL` character is received you will receive a notification on your device. - -
- -
- -Once you've selected the most appropriate region, click on the Services menu at the top, then pick EC2 under Compute to bring up the EC2 dashboard. You might have to type EC2 in the search box for the link to be visible. - -- -
- -Click on instances under the Instances group on the left-hand menu to see a full list of your instances. On a new account, you won't find any. Click Launch Instance to start with the process. - -- -
- -Then select your [AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) (Amazon Machine Image) which is simply a disk image that contains an operating system. In the Quick Start section, you'll find a list of common available systems, like RedHat Enterprise Linux, SUSE Linux, Amazon Linux, Microsoft Windows Server and Ubuntu. Since we're connecting to a Linux Server, let's choose Ubuntu. - -- -
- -On the left pane select Instance Types under the Instances menu. You will be shown a complete list of all of the available machines you can pick from. For testing and development purposes, the [t2](https://aws.amazon.com/ec2/instance-types/t2/) and [t3](https://aws.amazon.com/ec2/instance-types/t3/) are generally adequate. Once you've made your selection click next to Configure Instance Details on the bottom right part of the screen. The defaults on this page are likely fine, but you now have the opportunity to make changes to your default configuration. When finished click next to bring Add Storage menu. - -- -
- -Now it's time to pick the size, in gigabytes, of the root drive for your instance. For testing purposes the default size, usually 8 GiB, is fine. You can resize later if needed. Then click next, Tags. If you wish to label this instante for a particular project or customer, you can add a name/value pair calle da tag. It's recommended to create a tag called `Name` and give it the value of the intended hostname. Once you've finished click next: Configure Security Group. - -If this is a new account or you don't have an existing infrastructure at AWS, you will be prompted to create a new security group. Assign it a meaningful name, then add any open ports you will need. At a minimum you'll need SSH (port `22`) open to your IP. Alternatively, if you want to use Mosh you'll need to allow UDP traffic on ports `60000` to `61000`. - -- -
- -To open a port, select the type of port (i.e. SSH, HTTP, HTTPS...) or if none matches pick a custom TCP or UDP port and add the number of range of ports in the Port Range box. The destination can be set to anywhere if you wish the port to be open to all IP addresses, or set to a custom IP or My IP, a shortcut provided to automatically fill in your current IP address. Note that IP addresses must be entered in [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) format (i.e. `1.2.3.4/32`) for a specific IP, and `1.2.3.0/24` for a Class C range). Once you've whitelisted any ports and IP addresses, click Review and Launch. - -You'll now see a detailed list confirming all of your selected options for the new instance. If everything's okay click Launch. After that, you can generate a new public/private key pair or choose an existing pair previously imported into AWS. If you create a new one you'll be prompted to save the private key file. You must have this file to connect to your instance, so you'll want to keep it safe. We will explore how to import an Amazon generated private key inside Blink. - -The instance will launch once you confirm the SSH key. Within minutes you'll be able to use your new EC2 instance. - -## Managing log in with keys - -We recommend using a public/private key pair to log into any server as it's more secure than a traditional password. To import a key inside AWS to use later on in the process log into your account and click on Key Pairs under Network & Security in the left pane of your management console. - -- -
- -In the menu that's shown enter a name for the key pair and then paste the contents of the key you want to import. You can use any key created inside Blink Shell. To copy the contents of the public key open Settings by tapping `Cmd - ,` or writing `config` in the console. Then select Keys and choose or create the key you'll be importing. Then copy the public key's content and pasting it into the AWS's field. After this you will be able to log into your instance using a key pair from Blink Shell. - -Alternatively, you can import an Amazon Private Key created from the dashboard. Importing keys into Blink Shell is as easy at it gets. Open the settings panel by either typing `config` in the shell or by pressing `Cmd + ,` if you have a keyboard attached. Select the Keys menu and press add (`+`) to import it using the assistant using the option that best suits you. For example you can copy it to your clipboard and then pase it into the assistant. - -Remember that if you name your key a non-default name, `id_rsa`, you'll have to add the `-i- -
- -## Accessing Your Instance - -Click on Instances under the Instances group on the left-hand side menu, then select the instance you wish yo connect to with Blink. Right-click on the instance, then click Connect. The resulting page will show the SSH commands to use. If your key has already been added to Blink, you can use the same SSH connection command to connect, like this: - -- -
- -```bash -ssh ubuntu@IP_ADDRESS -``` - -In the above example replace IP with the address of your EC2 instance. If you choose an Amazon Linux AMI, you'll want to change the user `ubuntu` with `ec2-user`. - -## Conclusion - -AWS powers a large portion of the Internet, so launching an EC2 instance inside Amazon's powerful cloud puts your server in good company with leading web brands. Blink's flexible command-line tools, including SSH and mosh, make managing your Amazon cloud server a breeze. diff --git a/docs/cloud-providers/aws/aws-image1.png b/docs/cloud-providers/aws/aws-image1.png deleted file mode 100644 index 207256128..000000000 Binary files a/docs/cloud-providers/aws/aws-image1.png and /dev/null differ diff --git a/docs/cloud-providers/aws/aws-image2.png b/docs/cloud-providers/aws/aws-image2.png deleted file mode 100644 index 04d6055f4..000000000 Binary files a/docs/cloud-providers/aws/aws-image2.png and /dev/null differ diff --git a/docs/cloud-providers/aws/aws-image3.png b/docs/cloud-providers/aws/aws-image3.png deleted file mode 100644 index f496b240e..000000000 Binary files a/docs/cloud-providers/aws/aws-image3.png and /dev/null differ diff --git a/docs/cloud-providers/aws/aws-image4.png b/docs/cloud-providers/aws/aws-image4.png deleted file mode 100644 index cb7bf0a5b..000000000 Binary files a/docs/cloud-providers/aws/aws-image4.png and /dev/null differ diff --git a/docs/cloud-providers/aws/aws-image5.png b/docs/cloud-providers/aws/aws-image5.png deleted file mode 100644 index ff9781c1b..000000000 Binary files a/docs/cloud-providers/aws/aws-image5.png and /dev/null differ diff --git a/docs/cloud-providers/aws/aws-image6.png b/docs/cloud-providers/aws/aws-image6.png deleted file mode 100644 index 965a6ed2f..000000000 Binary files a/docs/cloud-providers/aws/aws-image6.png and /dev/null differ diff --git a/docs/cloud-providers/aws/aws-image7.png b/docs/cloud-providers/aws/aws-image7.png deleted file mode 100644 index 182105a1f..000000000 Binary files a/docs/cloud-providers/aws/aws-image7.png and /dev/null differ diff --git a/docs/cloud-providers/aws/aws-image8.png b/docs/cloud-providers/aws/aws-image8.png deleted file mode 100644 index b73641532..000000000 Binary files a/docs/cloud-providers/aws/aws-image8.png and /dev/null differ diff --git a/docs/cloud-providers/aws/aws-image9.png b/docs/cloud-providers/aws/aws-image9.png deleted file mode 100644 index 69fa08e95..000000000 Binary files a/docs/cloud-providers/aws/aws-image9.png and /dev/null differ diff --git a/docs/cloud-providers/do.md b/docs/cloud-providers/do.md deleted file mode 100644 index 9e5a3dd72..000000000 --- a/docs/cloud-providers/do.md +++ /dev/null @@ -1,48 +0,0 @@ -# Connecting to your Digital Ocean Droplet with Blink Shell - -## Introduction - -[Digital Ocean](https://www.digitalocean.com) is a prominent cloud service provider that offers an inexpensive yet performant cloud server solutions. While Amazon Web Services focuses on a wide array of smaller IT components that can work together to form a virtual infrastructure, Digital Ocean takes a more traditional approach. - -Droplets are Digital Ocean's name for servers. They have fixed disk space, bandwidth and networking resources. This allows for a more straightforward onboarding experience. Unlike traditional providers, services are billed by the minute, creating a hybrid cloud solution that works well for many production configurations, including testing and development environments. - -Let's take a deep dive under and see how to launch a Droplet and connect to it using Blink. - -## Creating a Droplet - -Sign in to your Digital Ocean account and then click *Create* at the top right corner of the page and finally pick Droplet. You can also create a Droplet from the Droplets page found on the left-hand side menu. Pick your desired Linux distribution, version and server plan. Don't worry too much about the Droplet's size as you can resize it afterwards if your needs change. - -- -
- - -The next option to pick is the datacenter location. By selecting the closest location to you or where your final client will be you will get overall lower latencies. This helps improve the resulting user experience you're gonna deliver. Next, you're given the opportunity to select additional networking options, then you'll be prompted for credentials. You can click *New SSH key* and then add your public key so you can easily connect to your Droplet via SSH or choose password authentication. Please be aware that password authentication method is less secure. - -In just a few minutes, your Droplet will become part of Digital Ocean's vas sea of servers - ready to go to work for you! - -## Accessing your Droplet - -Click on the *Droplets* item in the left-hand side menu to see a list of your running servers. Copy the IP address from the server and either enter it into a pre-defined host entry in Blink or use SSH on the Blink Shell to connect. - -```bash -ssh root@IP_ADDRESS -``` - -Replacing in the previous example `IP_ADDRESS` with the IP address of your droplet. - -## How to Configure your Droplet - -Digital Ocean provides a wide variety of elements to customize your droplet from. Not only you can choose from several already provided distributions but you can use your custom images and explore the marketplace for Applications that suit your needs. - -If you want to use Mosh, and get the most out of Blink, you can follow this [tutorial](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-mosh-on-a-vps) by Digital Ocean that guides you through the process. - -Under your Droplet's configuration you can start by activating IPv6 support if that's what you need, resize your CPU, disk or RAM for whatever your needs are. - -As you can see there are multiple options available and prices that suit your needs that Digital Ocean's servers can help you achieve what you need. - -## Conclusion - -From production servers behind load balancers to test and development servers, Digital Ocean's Droplets have you covered. Pair your Droplet with Mosh and have an always-on Linux server at your command - reachable from any device from anywhere with Internet access. - -In future articles, we'll explain how to set up a development environment, install VS Code remote extensions or even Jupyter Notebooks. diff --git a/docs/cloud-providers/do/do-image1.png b/docs/cloud-providers/do/do-image1.png deleted file mode 100644 index e3db46a8b..000000000 Binary files a/docs/cloud-providers/do/do-image1.png and /dev/null differ diff --git a/docs/cloud-providers/hetzner.md b/docs/cloud-providers/hetzner.md deleted file mode 100644 index d83fb9869..000000000 --- a/docs/cloud-providers/hetzner.md +++ /dev/null @@ -1,55 +0,0 @@ -# Renting a VM/server from Hetzner for use with Blink - -## Introduction - -[Hetzner](https://hetzner.cloud) is a cloud provider from Germany offering hosting services from Germany and Finland. It is cheaper than DigitalOcean and less confusing than AWS. It also has direct connections to FICIX (Finland's Internet Exchange Point). - -## Creating a VPS on Hetzner - -First, you have to sign up. Go to [hetzner.com](https://hetzner.com), click Login in the top right corner and select `Cloud`. - -After signing up, open the default project created for you by Hetzner and click on `Add server`. - -![](hetzner/add_server.png) - -You will be presented with a few options for regions and Linux distributions. Select the closest region to you to make sure you have the least latency and pick your preferred distro. - -![](hetzner/select_region_and_distro.png) - -Now you can select a server tier. Don't worry about underestimating or overestimating your needs because you will be able to resize your server at any time. - -![](hetzner/select_tier.png) - -After that, you will need to generate an SSH key to authenticate with your server. Open Blink and run `config`, select `Keys`, click the plus button and click `Create SSH key`. - -![](hetzner/create_ssh_key.png) - -And give it a name... - -![](hetzner/create_ssh_key_options.png) - -After that, copy the public part of the key and go back to the server creation page... - -![](hetzner/copy_ssh_key.png) - -Then, check the `Backups` box if you want your server to have backups if you mess up sometime in the future, add the SSH key and select it. Give it a cool name and click `Create and Buy Now`. - -![](hetzner/add_ssh_key.png) - -Hetzner will begin provisioning your server - that shouldn't take more than a few minutes. When your server is created, you will see a notification. - -![](hetzner/server_created.png) - -## Connecting to your VPS with Blink - -Now that your VPS is created, you can connect to it with Blink. Run `config`, tap `Hosts` and tap the plus button. Fill in your server IP and select the SSH key created above. By default, Hetzner will create a user called `root` on your server. - -![](hetzner/create_host.png) - -And finally, you can click save and connect to your server with the `ssh` command. - -```bash -ssh [host] -``` - -![](hetzner/finally_connected.png) diff --git a/docs/cloud-providers/hetzner/add_server.png b/docs/cloud-providers/hetzner/add_server.png deleted file mode 100644 index 9cdb3a983..000000000 Binary files a/docs/cloud-providers/hetzner/add_server.png and /dev/null differ diff --git a/docs/cloud-providers/hetzner/add_ssh_key.png b/docs/cloud-providers/hetzner/add_ssh_key.png deleted file mode 100644 index a2003ee79..000000000 Binary files a/docs/cloud-providers/hetzner/add_ssh_key.png and /dev/null differ diff --git a/docs/cloud-providers/hetzner/copy_ssh_key.png b/docs/cloud-providers/hetzner/copy_ssh_key.png deleted file mode 100644 index 7a27465bf..000000000 Binary files a/docs/cloud-providers/hetzner/copy_ssh_key.png and /dev/null differ diff --git a/docs/cloud-providers/hetzner/create_host.png b/docs/cloud-providers/hetzner/create_host.png deleted file mode 100644 index 4f41a90f8..000000000 Binary files a/docs/cloud-providers/hetzner/create_host.png and /dev/null differ diff --git a/docs/cloud-providers/hetzner/create_ssh_key.png b/docs/cloud-providers/hetzner/create_ssh_key.png deleted file mode 100644 index 7710d632d..000000000 Binary files a/docs/cloud-providers/hetzner/create_ssh_key.png and /dev/null differ diff --git a/docs/cloud-providers/hetzner/create_ssh_key_options.png b/docs/cloud-providers/hetzner/create_ssh_key_options.png deleted file mode 100644 index 319495a69..000000000 Binary files a/docs/cloud-providers/hetzner/create_ssh_key_options.png and /dev/null differ diff --git a/docs/cloud-providers/hetzner/finally_connected.png b/docs/cloud-providers/hetzner/finally_connected.png deleted file mode 100644 index 5e914465e..000000000 Binary files a/docs/cloud-providers/hetzner/finally_connected.png and /dev/null differ diff --git a/docs/cloud-providers/hetzner/select_region_and_distro.png b/docs/cloud-providers/hetzner/select_region_and_distro.png deleted file mode 100644 index 5d773f18d..000000000 Binary files a/docs/cloud-providers/hetzner/select_region_and_distro.png and /dev/null differ diff --git a/docs/cloud-providers/hetzner/select_tier.png b/docs/cloud-providers/hetzner/select_tier.png deleted file mode 100644 index a61745650..000000000 Binary files a/docs/cloud-providers/hetzner/select_tier.png and /dev/null differ diff --git a/docs/cloud-providers/hetzner/server_created.png b/docs/cloud-providers/hetzner/server_created.png deleted file mode 100644 index 94d43c6ba..000000000 Binary files a/docs/cloud-providers/hetzner/server_created.png and /dev/null differ diff --git a/docs/commands/overview.md b/docs/commands/overview.md deleted file mode 100644 index fdf6999e6..000000000 --- a/docs/commands/overview.md +++ /dev/null @@ -1,91 +0,0 @@ -# Commanding Your Blink Terminal - -## Overview - -This guide will explain the various commands available to you inside Blink. - -Each command has parameters, called arguments, that adjust the operation and behavior of that command. Any argument passed to a command will override its operation, even if those arguments conflict with any pre-existing configuration. - -## In-App Help - -If you type `help` in the Blink Shell terminal you’ll see an overview of the basics like the following: - -![img](overview/command-blink-image1.png) - -### Config - -If you type `config`, you’ll be presented with the configuration screen. From here you can adjust the application’s settings. - -### SSH - -The `ssh` command will allow you to start a secure remote shell to another device. The parameters to this command are as follows: - -```bash -ssh user@host -``` - -Where `user` is the username you wish to use, and `host` is the hostname (or IP address) of the remote machine to connect to. If you type `ssh` by itself you’ll see a simple usage guide that explains the other optional parameters: - -![img](overview/command-blink-image2.png) - -The most common parameters you may need to specify are the port, identify file, and adjust the verbosity to debug connection issues. - -```bash -ssh -i my_identity -p 1234 -vvv myuser@11.22.33.44 -``` - -In the above example, a connection will be attempted to `11.22.33.44` using the username `myuser`, the identity file `my_identity` is used, port `1234` is specified, and extra debugging information will be displayed. - -### Mosh - -Mosh is a mobile remote shell that is better suited for mobile use. It allows for roaming and supports the intermittent connectivity that is commonly found on mobile devices. - -Mosh has its own detailed set of arguments, however, for most common uses you’ll use a syntax similar to the ssh command: - -```bash -mosh user@host -``` - -If you type `mosh` without any arguments you will see a full list of available options: - -![img](overview/command-blink-image3.png) - -You can configure most Mosh options, including the startup command, in your host configuration. For more information, please see [“Create and Access Hosts Using Blink Shell”](../basics/hosts.md). - -An example of using Mosh in Blink Shell would be: - -```bash -mosh carlos@11.22.33.44 -mosh plankton — tmux attach -mosh plankton — screen -r -``` - -In the above examples, the `--` parameter is used, which allows for running commands once connected without prompting first. - -You’ll also notice that in the second and third example, the host `plankton` is used. You can define your own custom hosts with user, port, and identity key specifications defined per hostname. This reduces the amount of typing and commands you’ll need to execute to connect to a host. - -### SSH Copy ID - -With the `ssh-copy-id` command, you can copy your secure key to a remote server. It has the following format: - -```bash -ssh-copy-id identity_file user@host -``` - -Where `identity_file` is the name of the SSH key you wish to copy, `user` is the username on the remote server, and `host` is the hostname or IP address of the server in question. - -![img](overview/command-blink-image4.png) - -It should be noted that this command will require you to either have another key on the server or the password. If you aren’t being presented with a password prompt, please check on the remote server that SSH password authentication is turned on. Though SSH keys are more secure, it may be helpful to temporarily turn on password authentication so that you can copy your key to the machine. - -While the exact procedure varies, on RHEL/CentOS, you would edit the `/etc/ssh/sshd_config` file and change `PasswordAuthentication` to `yes` and restart SSH via `service ssh restart` (or reboot). - -This command is a simple wrapper around the ssh command to facilitate easy transfer of SSH keys. If you need to specify a different port, you must create a host in your configuration. - -## Other commands and tips - -**Reverse Search.** Typing the same commands is repetitive and sometimes on a cramped phone keyboard the experience may not be the best. With `Ctrl ^-r` you can access your command history menu. Start typing parts of the command and Blink Shell will match and suggest as you go. - -**SCP and SFTP.** Blink gives you the usual basic commands to copy and move files between your system and the remote. For example, you can type `scp file.txt user@remotehost:` to copy the `file.txt` on your local machine to the remote host. You can find more information about this command online. - -**Basic UNIX toolbox.** Within Blink, we have embedded a basic UNIX toolbox. You will find some network operations like `ping` or `nc`, file operations like `mkdir`, `grep`, and even the small “popular” editor `ed`. diff --git a/docs/commands/overview/command-blink-image1.png b/docs/commands/overview/command-blink-image1.png deleted file mode 100644 index ba56f5bb5..000000000 Binary files a/docs/commands/overview/command-blink-image1.png and /dev/null differ diff --git a/docs/commands/overview/command-blink-image2.png b/docs/commands/overview/command-blink-image2.png deleted file mode 100644 index 9df3c218a..000000000 Binary files a/docs/commands/overview/command-blink-image2.png and /dev/null differ diff --git a/docs/commands/overview/command-blink-image3.png b/docs/commands/overview/command-blink-image3.png deleted file mode 100644 index 05c086d4d..000000000 Binary files a/docs/commands/overview/command-blink-image3.png and /dev/null differ diff --git a/docs/commands/overview/command-blink-image4.png b/docs/commands/overview/command-blink-image4.png deleted file mode 100644 index 83bc9158a..000000000 Binary files a/docs/commands/overview/command-blink-image4.png and /dev/null differ diff --git a/docs/home.md b/docs/home.md deleted file mode 100644 index 5c79fad4d..000000000 --- a/docs/home.md +++ /dev/null @@ -1 +0,0 @@ -Welcome to the Blink Shell wiki! diff --git a/docs/manifest.json b/docs/manifest.json deleted file mode 100644 index 6621ab5ac..000000000 --- a/docs/manifest.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "routes": [ - { - "title": "Basics", - "heading": true, - "routes": [ - { "title": "Navigation", "path": "/docs/basics/navigation.md" }, - { "title": "Hosts", "path": "/docs/basics/hosts.md" }, - { "title": "SSH Keys", "path": "/docs/basics/ssh-keys.md" }, - { "title": "Commands", "path": "/docs/commands/overview.md" }, - { "title": "Notifications", "path": "/docs/basics/notifications.md" }, - { "title": "Known Issues", "path": "/docs/basics/known-issues.md" }, - { "title": "Tips & Tricks", "path": "/docs/basics/tips-and-tricks.md" } - ] - }, - { - "title": "Advanced", - "heading": true, - "routes": [ - { "title": "Mosh", "path": "/docs/advanced/advanced-mosh.md" }, - { "title": "SSH", "path": "/docs/advanced/advanced-ssh.md" }, - { "title": "UNIX Commands", "path": "/docs/advanced/unix-roundup.md" } - ] - }, - { - "title": "Cloud Providers", - "heading": true, - "routes": [ - { "title": "Amazon Web Services", "path": "/docs/cloud-providers/aws.md" }, - { "title": "Digital Ocean", "path": "/docs/cloud-providers/do.md" }, - { "title": "Hetzner", "path": "/docs/cloud-providers/hetzner.md" } - ] - } - - ] -}