blinksh / blink Goto Github PK
View Code? Open in Web Editor NEWBlink Mobile Shell for iOS (Mosh based)
Home Page: https://blink.sh
License: GNU General Public License v3.0
Blink Mobile Shell for iOS (Mosh based)
Home Page: https://blink.sh
License: GNU General Public License v3.0
See the screenshot for test cases. Bold, underline, colors and combinations seem to work as expected. Italics and strike through are not working as far as I can tell.
Is this just a case of the included font doesn't actually have support for italics - therefore meaning that we can provide our own fonts with italics if we want them once that feature is enabled? Or is this a problem with the way the terminal emulator handles italic escape codes?
I'd like to see support for the solarized colorshemes https://github.com/altercation/solarized
It has great dark and light colors that are not tiring.
In iTerm I had to import color settings and it then looks like this:
Currently the same view in BLINK looks like this
It can be read but doesn't look great.
Getting color schemes to work is a pain in the behind but an important feature for power users
Reported by @cirqueit
Also happens when using fzf
.
Nothing happens when normally it would enter the command typed in. This makes tmux not work.
There's an issue with Zagg's Bluetooth keyboard on iPad Pro 12.9 - while arrow keys working as expected in, say, Prompt terminal, it's not the same for Blink. I have a feeling it's sending wrong codes, and it's more similar to PgUp/PgDown behavour. I'm sorry if the issue is a dup and already known. Let me know if you'll need more details or I can help somehow.
Current version is limited to > 1.2.5 due to libssh executing a command instead of running within a pty. Apparently most of the distros are still distributing 1.2.4 for some reason, and as that is majority, we have to support it.
Hi
I'm interested in trying this and although I see the readme, I don't see any code.
This may not be Blink specific, but I can't seem to use C-Space (^@, Ctl + SPACE) to be recognized by my server. I am trying to set it as a binding for the Tmux prefix.
In debugging, I have used cat
and tried to press Ctrl + SPACE expecting ^@ as the output, but it doesn't appear. Can this be replicated by anyone else using Blink?
To be clear, I can set other bindings as the prefix in Tmux.
Is it possible to use completely custom fonts in Blink? My eyes would be really grateful for PragmataPro.
The app crashes when entering any non-ascii unicode character (e.g. an umlaut, or an emoji) at the blink>
prompt, followed by a backspace/delete.
I have mapped tux create new window to + e followed by 'C'. This doesn't work in blink even though alt+hjkl and alt+n/p works.
The difference is that this command is two key board presses (not sure that should matter): ALT+e followed by C.
Strange.
.Robert
It would be great for when mosh is not available.
Right now, I'd just use my VPS as a jump-server for those connection that don't support mosh.
Prompt2.app uses cmd+` for that.
Would be ideal to be able to map to 'cap lock'
Will research that.
Trivial, but for an app called blink, shouldn't the cursor default to blinking? :)
It would be great to see iOS copy/paste integration.
It would be even greater if "clipboard" integration could work. In OS-X when I select/copy something in TMUX it automatically (through some TMUX configuration magic) gets copied to OS-X's clipboard. This is great for when wanting to share code quickly.
I'm filing so many bugs so I figured I would report what works better in today's release
All in all a great step forward. This will be a killer app!
My vote for minimum viable product would be single terminal window (at launch) with corrected color support and choose of fonts and sizes. Some of this multiple terminal stuff is less useful for me. Would be interesting to see what other users say.
So this line work on my mac + iterm
mosh [email protected] -- tmux attach -d
in blink the command after the --
is ignored
That would be awesome to have an ability to reassign the Caps Lock, and send Escape key ASCII 27 code instead. While Ctrl-[ works fine in Vim, it's still better to use one key instead of a combination.
Neither the mosh
nor ssh
commands will accept a link-local (fe80::
) IPv6 address. The message returned is Could not connect to host: Error establishing SSH session.
This is true whether you give the unadorned address or the fe80::...%en0
interface-specifying one. (I've verified that the iPad has a link-local address on en0 and is addressable, e.g. with ping6 my-ipad.local
.)
This is with today's v 0.722 on an iPad Pro 9.7 running iOS 9.3.2.
Powerline (and a lot of ZSH like ohmyzsh) uses magic characters for enhanced command line effects. To support that the fonts used need to be updated. You can find open-source updated fonts here: https://github.com/powerline/fonts with (it seems) permissive licenses. I vote for source-code pro which is my favorite font (from adobe).
Here is what my environment looks like with magic characters:
And here is what it looks like with BLINK:
/Robert
It might be good to have an optional Smarkkeys bar even when a physical keyboard is attached. This bar should include function keys. It should not be active by default (blink should keep its full-screen userinterface as much as possible), but should be accessible through the options, a shortcut, and/or a gesture (e.g. swip-up)
Obvious cases being changing from split screen to full screen. But also, what happens when you rotate a device from landscape to portrait and vice versa?
I am wondering if this will affect using tmux or similar and would appreciate some indication from current users if possible.
On the Apple Pro keyboard there are no function keys. There needs to be a way to send F1-F12 (at least) keys.
I can imagine two ways:
iPhone 6, iOS 9.3.2
I freshly installed Blink and ran config to check the settings. I selected Keys, the add to explore. Went back to settings which worked as expected.
None of the other options were selectable and no feedback was provided beyond the option being highlighted as grey when tapped. (See update in comment below)
Additionally, when I pressed done and refocused on the prompt, the keyboard has missing keys. Oddly, the keys still work (I can enter config and tap where the return key should be, and I will into settings no worries).
When I exit the app, and then go back in. The keyboard appears as expected again. I will edit with images when I get to my iPad. EDIT: Have uploaded image of blackened keys and I selectable/but highlighted config options:
With mosh you can run the following to launch tmux automatically (and detach other clients):
mosh [email protected] -- tmux attach -d
This command works in term
but blink
seems to ignore the command part. It will connect to the machine but not issue the command.
Swiping left and right to switch tabs doesn't work reliably. I can only successfully swipe right to go to an older tab. Swipe left only seem to move the active tab around and even sometimes leaving the window in a weird position:
I can get out of this weirdness with a slight pinch too zoom gesture.
In general I would like to disable the moving/zooming of the active terminal and leave swiping for swapping tabs.
It would be super awesome to implement that!
For example vim-insert mode and vim normal mode. :D
The help
command should include a list of gestures
When switching to Blink after using the Bluetooth keyboard in another app, it doesn't work. I've found you can use a Bluetooth keyboard by bringing up the soft keyboard while in the app (by turning Bluetooth off and tapping a few times) then reconnecting the Bluetooth keyboard whilst still in app.
Update: tapping somewhere near the top of the screen actually makes the Bluetooth keyboard work too! Don't have to disconnect. Tapping anywhere else doesn't work.
It would be nice, like it iterm2, to be able to highlight the cursor position when getting something like <cmd> + ?
.
Many times inside complex tmux setup it's easy to loose track and the cursor can be hard to find
It would be great to have some tab completion for the blink>
commands. Ultimately, full readline support (e.g. searching in previous commands via ctrl-R
) would be great
CAPS as CTRL is a beautiful feature. Thank you!
It also "works" in that it sends CTRL to the mosh terminal. The issue is that the keyboard also switches to ALL CAPS when typing. The iOS settings General->Keyboard->Enable Caps Lock switch seem to have no effect.
It's possible that this is built into the keyboard at a lower level? If so blink would have to keep track of state and keep translating CAPS to caps on the fly.
If this issue cannot be resolved I suggest removing mapping the CAPS LOCK key.
Most iOS apps now show an overlay with the available keyboard shortcuts when the command-key on a hardware keyboard is held. Blink should do the same.
I would propose to add an ssh-keygen
command to the blink>
command line interface. There should also be commands for listing existing keys (so I can tell easily what names I can give to ssh-copy-id
, and possibly a command to delete keys.
It would be great to have a way to configure "shortcut" names for servers, and default usernames (similar to the settings that are normally done in ~/.ssh/config
. This would mean one could only have to type
blink> mosh webserver
and blink would expand webserver
to e.g. [email protected]
Accessing a server requires to introduce the IP, as in [email protected]
It would be great to support server name resolution through DNS, and also through .ssh/config file format. This is not consider a major issue as we will have autocomplete for the host, so the parameters of the server will be saved anyway.
With a properly secured openssh daemon I get the following error message (on the server):
fatal: Unable to negotiate a key exchange method [preauth]
On the iPad the error message is just:
DEBUG: Session start failed with code: 18446744073709551611
Either one of these Kex methods should be supported for secure operations:
[email protected]
diffie-hellman-group-exchange-sha256
When exporting a key from Blink, it does not have a trailing comment, e.g.
ssh-rsa AAAAB...idtMZlnWy3trQ== goerz@blink_ipad
I would propose to add a 'comment' field in the Key Settings (underneath Name) that allows to define this comment. If not such comment is defined, I think at least the Name should be used as the comment.
Original twitter conversation
https://twitter.com/arronmabrey/status/743090112314118144
Here is the header of my private key
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,4F7143239EF7C02F
When I try to import the key into blink the app crashes. Running on an iPad Pro. iOS 9.3.x
Support true color sequences in fg and bg. where n is color index (0..255) or 2;r;g;b where r,g,b are red, green and blue color channels (out of 255).
Blink acts unexpectedly in split screen mode. For example if I have Blink and tweetbot up in split screen and I'm typing in tweetbot then I can't simply touch blink to regain focus (this is what I can do with other apps).
Instead I need to either dismiss the keyboard bar at the bottom (from tweetbot) and then touch or use cmd+tab to reselect blink.
I have TMUX configured to have ALT + UP/DOWN/LEFT/RIGHT arrows to be mapped to resizing my TMUX windows. (Seemingly) all other ALT combination works. Can you add support for ALT + Arrow Keys please?
I had issues accessing my two El-Capitan macs running mosh 1.2.5.
Here is the good news: I got it to work and issue is with OS-X and not blink
Here is the bad parts: I don't know what is the root cause and I don't know a 100% correct fix but here are my symptoms/history/"solution"
I have two macs. One at work and one at home. Both running el-capitan and with mosh installed through home-brew. I couldn't access either mac from blink (more then occasionally) while I could access one mac from the other (and even from a separate CentOS linux install). Blink's mosh client would timeout right away saying no traffic seen on UDP port 60
The issue is with the El-Capitan firewall. It seem to not remember that mosh has been approved for incoming traffic (not sure when knowledge is lost? some update?). During debug it would occasionally open a dialog asking if I wanted to approve incoming connections. When that happened it would work that one time then not work gain.
Since I had same issue with two OS-X machines I suspect more people will see this issue.
I was able to get it to work on my machines doing the following steps (in random repeated order):
brew uninstall mosh; brew update; brew install mosh
At some point going through these steps many times it started working on one machine. I thought I understood the fix but when testing that on the other machine I had no luck. I kept doing these steps not he 2nd machine and it started working.
BLINK for iOS is reporting the correct issue (I believe) the UDP ports on OS-X are blocked (for new connections). I don't know how to open UDP ports directly on OS-X. That, I'm convinced, would fix this.
I think my root cause might be that I have had mosh installed on macs a long time and from different sources (home-brew or website directly) and it has gone through serval updates. Along the lines my firewall rules have broken. Somehow it would remember existing connections but not allow new ones.
If anyone else sees this problem and find a better solution please let me know!
NOTE! This is NOT an issue with blink (during the steps above I could at times not access through any mosh client). It's an issue between mosh-server and OS-X Firewall.
Hope this helps anyone else seeing similar issues.
Using the exit
command at the blink>
prompt should close the current tab (possibly after a short delay), instead of showing Bye!
. When the last tab is closed, a new tab should be created.
When working with multiple terminals there need to be a way to get a list of what terminals are open.
My solution would perhaps be that perhaps swiping up with two fingers could raise a tab bar at the bottom (similar to how iTerm) looks. The name of each terminal should (at least) be the name of the machine it's been "moshed" into.
I kind of like the idea that swiping left/right switches tabs and swiping up shows tab list and tap creates new terminal. That still leaves swipe down as a future interaction mechanism
What I tried:
In both cases I was asked to enter the password for the user account.
When trying to mosh to a server that doesn't have the correct port forwards set up, blink says
Authentication by password failed
Instead of (like the standard mosh client)
mosh did not make a successful connection to host:port.
It would be great to have keyboard shortcuts in addition to all gestures. For switching between tabs (gesture swipe-left, swipe-right), I would propose cmd-shift-[
and cmd-shift-]
, i.e. the same shortcut that e.g. safari uses to switch between tabs
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.