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. - -
- -
- -You can also trigger this beeping sound by also sending a `BEL` character using control-G (`^G`) just to try it out. - -## OSC Sequences - -If you want to get this to the next level and craft more complex notifications let's dive into OSC sequences. - -Blink shell includes support for Operating System Command (OSC) escape sequences. These are typically initiated with `ESC + ]` (`\033]`), delimited by `;` and terminated with a [`BEL`](https://en.wikipedia.org/wiki/Bell_character) (`\07`) character. Whenever a text containing these parameters is printed out it will trigger a notification and can be displayed on your device. - - -These OSC sequences can be customized using different [arguments](https://chromium.googlesource.com/apps/libapps/+/a5fb83c190aa9d74f4a9bca233dac6be2664e9e9/hterm/doc/ControlSequences.md#OSC). We're gonna look into two to display rich notifications. - -The first argument for these OSC sequences, `9`, is an iTerm2 Growl notification. This displays a given message and the formatting is as follows, - -```bash -echo -e "\033]9;Text to show\a" -``` - -
- -
- -The last argument is a good option to display the text you like. It can even be some result after the execution of a script of your choosing. - -Another OSC sequence `777`, supports the `notify` argument and can display both a title and body. This resembles a system notification you would have received on another app. Try and create one of your own using the next example. - -```bash -echo -e "\033]777;notify;Title;Body of the notification\a" -``` - -
- -
- - - -## Considerations - -Bear in mind that **some sequences are not supported in Mosh**. - -When Blink is sent to the background the system can kill the remote connection after some time. This is done by the system depending on different conditions. To avoid this and persist the SSH connection and receive these notifications after a while, use the [`geo` command](https://blink.sh/docs/advanced/advanced-ssh#persistent-ssh-connections-with-blink). It bypasses the system's background resources and leaves you with a better notification integration experience. Not doing this doesn't guarantee your session will stay up as long as necessary. \ No newline at end of file diff --git a/docs/basics/notifications/notifications-image1.png b/docs/basics/notifications/notifications-image1.png deleted file mode 100644 index 7e09e6e60..000000000 Binary files a/docs/basics/notifications/notifications-image1.png and /dev/null differ diff --git a/docs/basics/notifications/notifications-image2.PNG b/docs/basics/notifications/notifications-image2.PNG deleted file mode 100644 index 51563f618..000000000 Binary files a/docs/basics/notifications/notifications-image2.PNG and /dev/null differ diff --git a/docs/basics/notifications/notifications-image3.png b/docs/basics/notifications/notifications-image3.png deleted file mode 100644 index baca9aca1..000000000 Binary files a/docs/basics/notifications/notifications-image3.png and /dev/null differ diff --git a/docs/basics/ssh-keys.md b/docs/basics/ssh-keys.md deleted file mode 100644 index d9bf3ef21..000000000 --- a/docs/basics/ssh-keys.md +++ /dev/null @@ -1,71 +0,0 @@ -# Using SSH Keys with Blink Shell for iOS - -## SSH Keys - -SSH Keys are small text files meant to be exchanged in lieu of passwords for verifying access to a remote server. A SSH key consists of two parts: a public and a private key. The public key is what resides on the remote server and the private key is stored on your local device. The public key is not a secret but the private key should never be shared with anyone nor uploaded to any untrusted location. - -Using SSH keys is more secure than passwords as they are more difficult to crack compared to typical passwords. For example, using standard computing power it may take over a million years to crack an SSH key, but a standard password will take far less time to compromise. Additionally, SSH keys are more convenient as you don’t have to type your password in each time you want to connect to a remote server. - -## Using SSH Keys in Blink - -Before you can use SSH keys you must generate or import a key pair. In this article we will discuss generating a key pair. To get started, run the `config` command in Blink Shell to access the configuration pane. - -![img](ssh-keys/using-ssh-key-image1.png) - -Once that is done the Settings dialog will open as shown below: - -![img](ssh-keys/using-ssh-key-image2.png) - -Click on the `Keys` button to enter the SSH keys menu. - -![img](ssh-keys/using-ssh-key-image3.png) - -In the above example we see that there is a default key named `id_rsa`. The default keys are always named `id_xxxx` like `id_ecdsa` or `id_ed25519`, and these will be the keys used first to authenticate. You can have multiple SSH keys to connect to multiple SSH servers. To create a key, click the `+` icon at the top and you will be presented with the New Key dialog as shown below: - -![img](ssh-keys/using-ssh-key-image4.png) - -Blink creates a default key named `id_rsa`. If you wish to create another key, please give a descriptive name of your choosing. As a suggestion, if you are going to generate a specific key pair for access to a specific server, we would recommend naming the key the hostname of that server so that's easy to remember in the future. - -By default, Blink Shell suggests RSA keys which have been the standard for years. Nowadays other types of keys based on other mathematical problems like elliptic curves are becoming a trend. If your server supports it, you can create an ECDSA or Ed25519 key. For RSA keys, a 2048 bit key is probably large enough, but you can even choose a 4096 bit key for extra security if you desire. - -If you wish, you may provide a passphrase for your key. This will encrypt the private key so that if it is ever compromised it will not be useable without knowing the passphrase. An SSH connection is still encrypted and secure if you choose not to protect your key, but if you do, you will ensure an extra measure of security. Keep in mind that the encryption of your private key is only as good as the passphrase you choose to use. You can use a website like [How Secure is My Password](https://howsecureismypassword.net/) to determine the strength of your passphrase. - -Blink stores your private key on the iOS Keychain, which is quite secure as it is protected through Secure Enclave. So even if you choose not to protect your private key with a passphrase, it is still stored in a secure area on your device. - -## Adding a Public Key to a Remote Host - -The Blink command `ssh-copy-id` command can be used to copy the public key to a remote host. This will effectively install the key for use in your connection to that server. The syntax of the command is: - -```bash -ssh-copy-id identity_file user@host -``` - -The `identity_file` argument is the name of your SSH key pair. The `user` is the remote username, and the `host` is the remote hostname. You may also specify an IP address instead of a hostname. - -![img](ssh-keys/using-ssh-key-image5.png) - -## Establishing a Connection Using SSH Keys - -There are two different ways to establish a connection to a remote server - via SSH or via Mosh. SSH will work in all cases, but if Mosh is available it is preferred for mobile devices or internet/network connections that may encounter high latency or frequent disconnects. - -To connect via SSH: - -```bash -ssh user@1.2.3.4 -``` - -In this example, an SSH connection is established with the username user to the remote IP `1.2.3.4`. You may also specify a hostname instead of an IP address. Since no key was specified, the default key `id_rsa` will be used. - -```bash -ssh -i your_key myhost -``` - -In the above example, the key `your_key` is used to connect to the pre-defined host `myhost`. You can add pre-defined hosts in the Hosts section of the application. - -To connect with Mosh, the syntax is mostly the same: - -```bash -mosh -I your_key host -``` - -In this example, `your_key` is the SSH key to use, and `host` is the host entry to use in the connection. diff --git a/docs/basics/ssh-keys/using-ssh-key-image1.png b/docs/basics/ssh-keys/using-ssh-key-image1.png deleted file mode 100644 index 2a1289f5b..000000000 Binary files a/docs/basics/ssh-keys/using-ssh-key-image1.png and /dev/null differ diff --git a/docs/basics/ssh-keys/using-ssh-key-image2.png b/docs/basics/ssh-keys/using-ssh-key-image2.png deleted file mode 100644 index 1b24daf82..000000000 Binary files a/docs/basics/ssh-keys/using-ssh-key-image2.png and /dev/null differ diff --git a/docs/basics/ssh-keys/using-ssh-key-image3.png b/docs/basics/ssh-keys/using-ssh-key-image3.png deleted file mode 100644 index b107ce0f0..000000000 Binary files a/docs/basics/ssh-keys/using-ssh-key-image3.png and /dev/null differ diff --git a/docs/basics/ssh-keys/using-ssh-key-image4.png b/docs/basics/ssh-keys/using-ssh-key-image4.png deleted file mode 100644 index c6afad8db..000000000 Binary files a/docs/basics/ssh-keys/using-ssh-key-image4.png and /dev/null differ diff --git a/docs/basics/ssh-keys/using-ssh-key-image5.png b/docs/basics/ssh-keys/using-ssh-key-image5.png deleted file mode 100644 index b81872d48..000000000 Binary files a/docs/basics/ssh-keys/using-ssh-key-image5.png and /dev/null differ diff --git a/docs/basics/tips-and-tricks.md b/docs/basics/tips-and-tricks.md deleted file mode 100644 index 9600e6837..000000000 --- a/docs/basics/tips-and-tricks.md +++ /dev/null @@ -1,153 +0,0 @@ -# Tips and Tricks - -## Basics - -### Mouse Support - -Enabling mouse support comes in handy when using an iPad without a keyboard as you can freely change panes in tmux or scroll throughout your apps with your fingers, few popular ones include: - -**TMUX:** -```tmux -set -g mouse on -``` - -**VIM:** -```vim -set mouse=a -``` - -**EMACS:** -```emacs -(xterm-mouse-mode 1) -``` - -### Serving development website over HTTPS - -Fastest way of using HTTPS on remote machines for development is with the Caddy web server. First install it as an executable, but not service, then create Caddyfile with reverse_proxy line like this: - -```json -example.com { - reverse_proxy 127.0.0.1:1313 -} -``` - -Or start Caddy directly in reverse-proxy mode from CLI: - -```bash -sudo caddy reverse-proxy --from example.com --to 0.0.0.0:1313 -``` - -### Starting TMUX/Screen on session start - -Adding startup commands is as easy as going to Host settings, scrolling to bottom and inserting command we want to use: - -```shell -tmux a -t session_name -screen -rd session_name -``` -Or anything other that we want to run when starting a new session. It also can be run from Blink command line: -```shell -mosh host -- tmux a -t session_name -mosh host -- screen -rd session_name -``` - -### SSH port forwarding from remote machine to iPad - -Forwards connections from a port on a local system to a port on a remote host: - -```bash -ssh -L 3000:localhost:3000 ssh-host -``` -### Blink: Using screen corners - -Taping three fingers on the screen will bring a Blink menu in which you can set the Cover, Fill, and Fit setting, adapting Blink to different screens and devices. - -![img](tips-and-tricks/Cover-Fill-Fit.png) - -### External Display: Apple TV - -You can use Apple TV as a second monitor, just start screen share on Apple TV and Blink will use it as second monitor, not just mirroring. This is really cool if you are doing a presentation, or if you are on the couch with your phone and want to have a bigger display! - -### External Display: Split View - -For the external display to work, Blink needs to be an active window on the iPad. A very cool way to do this is to use Split View on the iPad, giving Blink ½ or ¼ of the screen, while the rest can be taken by Safari or anything else you need! - -### Keyboard: Separate Keys - -By switching off the "Same for both sides" option in Config > Keyboard > ⌥ Option you can use one key as a `Meta` and the second as a normal `⌥ Option/Alt`. It's particularly helpful for users that use languages containing diacritic letters. - -## Advanced - -### Inline Images - -Blink supports displaying images over SSH when using [iTerm2 imgact](https://iterm2.com/utilities/imgcat). Put it in local .bin folder ($HOME/.bin or any other in your %PATH) and use it as this: - -```bash -imgcat image.png -``` - -**NOTE: This does not work in terminal multiplexers (TMUX, GNU Screen) or inside Mosh.** - -Alternative that works inside every environment, but needs Rust installed is VIU. Install it using Cargo: - -```bash -cargo install viu -``` -And use: - -```bash -viu image.png/animation.gif -``` -More information: [VIU GitHub Repository](https://github.com/atanunq/viu) - -### TMUX: Copy/Paste using OSC52 - -Enabling copy/paste between tmux and iOS needs SSH or Blink Mosh Server. - -```tmux -set -g set-clipboard on -set -ag terminal-overrides "vte*:XT:Ms=\\E]52;c;%p2%s\\7,xterm*:XT:Ms=\\E]52;c;%p2%s\\7" -``` - -VIM users can set this to have similar experience to VIM: - -```tmux -bind-key -T copy-mode-vi v send-keys -X begin-selection -bind-key -T copy-mode-vi y send-keys -X copy-selection -bind-key -T copy-mode-vi r send-keys -X rectangle-toggle -``` - -## Editors - -### VIM: Copy/Paste between remote machine and iOS - -To enable copy/paste you'll need to install [ojroques/vim-oscyank](https://github.com/ojroques/vim-oscyank) and add this line to .vimrc: - -```vim -autocmd TextYankPost * if v:event.operator is 'y' && v:event.regname is '' | OSCYankReg " | endif" -``` -And enable this setting: -```vim -set clipboard& clipboard^=unnamed,unnamedplus -``` - -### Emacs: Copy/Paste using OSC52 - -To enable copy/paste on Emacs you need to install [osc52.el](https://chromium.googlesource.com/apps/libapps/+/master/hterm/etc/osc52.el) and add this to your config: - -```emacs -(require 'osc52) -(osc52-set-cut-function)') -``` - -### Emacs: Custom Presses - -Using the Config > Keyboard > Custom Presses settings you can add new shortcuts. For instance, sending `ctrl-space` when hitting `ctrl-space`, as opposed to bringing up iPadOS's emoji menu. Now Emacs cut & paste doesn't need to rely on `ALT - x set-mark-command`. - -### Emacs: Change ALT to Meta - -Change "Prss and send" to **None** and "As modifier" to **ESC** option in Config > Keyboard > ⌥ Option so you can use it as `Meta`. From now on `⌥ Option/Alt - x` will work as `Meta - x`. - -### VIM: Exit insert mode without ESC key - -Change CapsLock in Blink Settings to Control and press Ctrl(CapsLock) + [ to exit insert mode on iPad keyboards without ESC key. diff --git a/docs/basics/tips-and-tricks/Cover-Fill-Fit.png b/docs/basics/tips-and-tricks/Cover-Fill-Fit.png deleted file mode 100644 index 179f8a616..000000000 Binary files a/docs/basics/tips-and-tricks/Cover-Fill-Fit.png and /dev/null differ diff --git a/docs/cloud-providers/aws.md b/docs/cloud-providers/aws.md deleted file mode 100644 index 32d806ce1..000000000 --- a/docs/cloud-providers/aws.md +++ /dev/null @@ -1,91 +0,0 @@ -# Connecting to your AWS EC2 Instance with Blink - -## Introduction - -We could make a convincing argument that Amazon popularised, if not invented, the cloud computing movement. By offering servers, storage and other computing services, priced by the hour and accessible via an API, Amazon started a new phase in Internet computing. In just fifteen years, Amazon has gone from ma pie-in-the-sky idea by visionaries at the company to a large public utility that powers a substantial portion of the Internet. - -[EC2](https://aws.amazon.com/ec2/), or **E**lastic **C**ompute **C**loud, is the virtual server offering of AWS. Customers can launch a wide variety of Linux and Windows instances with EC2, each running a full copy of the operating system backed by Amazon's highly reliable infrastructure. EC2 instances operate much like regular servers, except resources like CPU and memory can be changed with a simple reboot. Disks for the instances are powered by [EBS](https://aws.amazon.com/ebs/?ebs-whats-new.sort-by=item.additionalFields.postDateTime&ebs-whats-new.sort-order=desc) (**E**lastic **B**lock **S**torage), a technology that allows easy disk management. Volumes can be resized and scaled with a click of the mouse. - -Let's guide you through the process of launching a Linux EC2 instance in the AWS cloud and connecting to it with Blink. - -## Creating an Instance - -Sign in to your AWS account, then check in the top right corner on the menu bar between your account's name and support to ensure you're in the right datacenter region. You're free to use any datacenter in the world, but it's best to select the location that's closest to your customers or you for reduced latency. - -

- img -

- -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. - -

- img -

- -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. - -

- img -

- -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. - -

- img -

- -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. - -

- img -

- -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`. - -

- img -

- -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. - -

- img -

- -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 ` flag to the SSH command. - -

- img -

- -## 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: - -

- img -

- -```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. - -

- img -

- - -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" } - ] - } - - ] -}