subhra74 / snowflake Goto Github PK
View Code? Open in Web Editor NEWGraphical SFTP client and terminal emulator with helpful utilities
License: GNU General Public License v3.0
Graphical SFTP client and terminal emulator with helpful utilities
License: GNU General Public License v3.0
When I try to use the log viewer to look at apache logs here: /var/log/apache2/, the files do not open, as sudo is required. The log viewer does not prompt to use sudo to open those files. The text editor is not able to open those files either.
it would be very interesting to have the possibility to connect through a proxy socks/http, similar to the same function in putty
Mainly making this so I can be notified when/if macOS support arrives.
Most of the linux admins use screen. which allows completely keyboard based operation. snow flake also must support keyboard shortcuts for switching between terminals atleast.
I have a broken symlink in my homedir. It is preventing snowflake from loading the directory in the Local Files viewer.
[gmcc@darkstar ~]$ ln -s /tmp/does-not-exist broken
[gmcc@darkstar ~]$ ls -l broken
lrwxrwxrwx. 1 gmcc gmcc 19 Jan 29 23:43 broken -> /tmp/does-not-exist
[gmcc@darkstar ~]$ ls -l /tmp/does-not-exist
ls: cannot access '/tmp/does-not-exist': No such file or directory
[gmcc@darkstar ~]$
When i browse to my homedir on using snowflake it will not load.
I see this error.
Mouse click on table
java.nio.file.NoSuchFileException: /home/gmcc/broken
at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown Source)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
at java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(Unknown Source)
at java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(Unknown Source)
at java.base/sun.nio.fs.LinuxFileSystemProvider.readAttributes(Unknown Source)
at java.base/java.nio.file.Files.readAttributes(Unknown Source)
at snowflake.common.local.files.LocalFileSystem.list(LocalFileSystem.java:60)
at snowflake.components.files.browser.local.LocalFileBrowserView.lambda$render$3(LocalFileBrowserView.java:113)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
If i remove the broken file I can view the directory.
Really liking it so far!
When creating a new terminal, cursor is not automatically in the terminal (need to click in the terminal to start typing)
when leaving a program e.g. nano the cursor stays in the same place it was while in that app and starts typing in the terminal in middle of the screen (functionality/commands still work though - just a gui thing)
Why when you click on a menu e.g. "ssh keys" or "linux tools" do you need to 'open' it? shouldnt it be automatic if i go to that menu? (or at least an option in the settings to control that)
In ssh keys menu, when selecting a public key im not able to copy to clipboard (maybe make on double click it adds to clipboard)
FEATURE REQUESTS:
when browsing for "private key file" open first to the .ssh folder (or make shortcut to there)
when selecting private key be able to pick from a list of previously used/imported keys
should be able to modify things like snippets and generate ssh keys while not connected to a server
should be able to access network tools while not connected to a server
File transfer Server to Server
Save sudo passwords with a master password (or at least the ability to see passwords of saved connections so we can save passwords there
Ability to see and remove known hosts
Port forwarding
Lock Snowflake with master password
Import/Export sessions between devices - and/or save to a local database file that can be shared/syncthing
Ability to modify other users authorized_keys with sudo
(Is there a plan in the future to build an android version as well?)
(Note: im using the windows version)
so that user can arrange them in alphabetical order or custom order as needed.
is it possible to compile this into an appimage?
Hi,
If I put a host in the ping tool and for some reason it cannot ping it the tool either exits with a an error popup (which is fine if a little cryptic) or it spins indefinitely. If it is spinning indefinitely then the 'X' icon in the spinning icon does not cancel the ping process. The only way to exit in this state is to close the app.
To recreate in network tools:
Expected result - ping task exits and returns you tothe gui
Actual result - ping never ends - spinning icon continues to spin - only way out is to close app
Cheers
Phill
EDIT: Windows 10
It will be nice to have Import Export functionality.
This project should be deployed to Central, would ease consumption as well.
Hello guys,
Nice Work probably the best ssh client i ever tested for a while. But there is one thing when you work lately is to have a DarkTheme in all the application.
The DarkTheme activated only in the Terminal
Thx for your work !
many people don't have direct connection to the serves they want to work on, instead they need to SSH to a jump host, change to a role, and then SSH further on; this is automatable by various methods using traditional SSH clients, but not a chance in Snowflake. What's more, I am not interested in accessing files or list system services on my jump host, but rather I am after these useful built-in features for the destination server - that but could only be achievable if the SSH "jumping" was incorporated in the Snowflake client - as the client needs to be "aware" of the SSH jump and provide the tools not for the jump host, but for the target host (and be able to switch user along the way on the jump host)...
Such a connection would require following fields:
jumphost hostname, port, user/pw or ssh key
jumphost sudo role
target hostname, port (ssh key from jump host is presumed to be used for authentication)
Of course, it would be nice to be able to aggregate multiple target profiles to one jump host's profile in some sort of a tree profile structure, to make the profile tree nicer and easier to navigate through.
Solution of running Snowflake on the jump host and displaying it into my computer's X server is not available to me, though that would be the easiest way indeed. Also, i want to be able to copy filed between my workstation and the target server directly, not by first pushing or pulling them to the jump host.
what's up with the crappy plug on TR
Many linux systems out there (like Linux Mint) support flatpak packages out of the box. Publishing the JAR as flatpak to Flathub would make install (and later upgrades) a breeze.
I can't connect to my server because the available ports are only 32767 while the server that I have uses port 40000
I would like to request an option to make the Internal Editor the default action when double-clicking on a file in the File Browser. If this could be an optional preference that can be set, so it's not forced on everyone, especially if someone wants to use an external editor.
Thank you.
Enhancement Request
Double-clicking a connection in the session manager window should start the connection without having to click the Connect button.
While using Snowflake by running jar file on MacOS, I can't resize line width in Terminal window. It seems that it is fixed to 80 characters.
Currently using v1.0.3 and loving it but finding some missing/non-functional features and quirks. It appears drag and drop from a Windows explorer window to a remote server does not work in either direction. Unfortunately, this then requires using the bookmarks which are local to each site so you have to keep creating bookmarks for your local machine per site if you want to have quick access to multiple directories for uploading/downloading files to/from your servers (again, because drag-and-drop functionality does not work or isn't implemented yet). Another option this brings up is the ability to enter folder paths directory and go to them instead of having to browse from your home directory.
Again, great product and keep up the good work.
While running the app, on console I got these lines (and they tell all):
log4j:WARN No appenders could be found for logger (com.jediterm.terminal.emulator.JediEmulator).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Also, the log could be properly formatted, with level, timestamp, etc, as currently it looks like a flow of printlns
Enhancement Request
Sort sessions within the session manager window by name.
When connection to a host that is using dropbear, sftp is commonly not supported. Is there a way to use scp ?
I thought I'd be able to drag and drop them but alas that doesn't work.
That'd be helpful to organize them better!
I cannot connect using my private key:
snowflake.desktop[1513]: com.jcraft.jsch.JSchException: invalid privatekey: [B@3ae6f693
snowflake.desktop[1513]: at com.jcraft.jsch.KeyPair.load(KeyPair.java:948)
snowflake.desktop[1513]: at com.jcraft.jsch.KeyPair.load(KeyPair.java:561)
snowflake.desktop[1513]: at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:40)
snowflake.desktop[1513]: at com.jcraft.jsch.JSch.addIdentity(JSch.java:407)
snowflake.desktop[1513]: at com.jcraft.jsch.JSch.addIdentity(JSch.java:367)
snowflake.desktop[1513]: at snowflake.common.ssh.SshClient.connect(SshClient.java:62)
snowflake.desktop[1513]: at snowflake.common.ssh.files.SshFileSystem.connect(SshFileSystem.java:75)
snowflake.desktop[1513]: at snowflake.components.files.FileComponentHolder.getSshFileSystem(FileComponentHolder.java:306)
snowflake.desktop[1513]: at snowflake.components.files.browser.ssh.SshFileBrowserView.lambda$render$1(SshFileBrowserView.java:163)
snowflake.desktop[1513]: at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
snowflake.desktop[1513]: at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
snowflake.desktop[1513]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
snowflake.desktop[1513]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
snowflake.desktop[1513]: at java.base/java.lang.Thread.run(Unknown Source)
It's related to this post:
https://stackoverflow.com/questions/53134212/invalid-privatekey-when-using-jsch
Much better if you know what version you have than just snowflake.jar
(same is in releases downloads, no version). People will anyway create scripts or desktop shortcuts to start it up
I'd like to be able to run a command automatically right after logging in.
With CLI ssh this is accomplished by adding a command between quotes at the end.
Example :
ssh @ "sudo su - "
name is my name (remote account) and user is the remote user I need to switch to.
In this example I don't know the password of but is in the sudoers-file.
But can imagine there are lots of other usages for this request.
Hi,
I've been trying out Snowflake to connect to my ssh servers. On ubuntu hosts all is good.
I found however that connecting to Synology NAS SSH produces an error (Unable to connect to x.x.x.x Do you want to retry?)
I've tried lowing port from 20022 to 22. I also tried different encryption strength settings on Synology DSM (low/medium/high).
All to no avail.
SSH from command line of my PC running Ubuntu to same Synnology NAS works fine on all settings.
Is there any setting or logging i can try to solve this?
Thanks in advance
Any chance that you can create a zip version of the software so that people without admin rights can also use it?
Hi,
I have two different queries/requests:
X tunneling
When I open a terminal to a LINUX box, I need to have X11 Tunneling (like in putty), so the DISPLAY environment is declared (thats an external sign - the X-Server should be started).
Otherwise, the Terminal is very limited, to line mode only, which is very restrictive.
Terminal type
VT100 as terminal type besides the xterms) is very poor and limited, should have more advanced emulations, if possible.
Without doubt, issue #1 is WAY more important
Thnaks,
Shalom
The one place where I need to connect to SSH servers is in an enterprise environment.
Where I obviously do not have admin rights on my workstation.
Launching snowflake.msi triggers a privilege elevation request.
Is it possible to have a simple archive (zip) for us users to unzip anywhere we want and launch it?
I'm not sure if this is even possible, or if it's up to the Operating System, but I have two monitors and when the sudo pop-up opens when I'm editing a file, the dialog box opens on the other monitor (the primary one in Windows 10 settings). Would it be possible to force the dialog box pop-up to open on the same monitor as where the snowflake app is running? I totally understand if that is not something you can control.
Hello,
This is a fantastic start to an interactive terminal. The primary technical issues I see after using this for about 15 minutes is (1) there is no way to integrate Paegent with this application to never ask for the password of the key, or to have a 'Paegent like' feature built-in. Then (2), there is no way to bulk edit/add/delete host entries. I will make another enhancement request for this one.
Thanks for the work, this is great, just not quite ready for production yet.
Hi,
I have a feature request regarding host management.
Is it possible to import (and hopefully export) hosts from the ~/.ssh/config file in some way?
I already have a good 80 servers defined in there and manually adding them all is a rather large chore.
Additionally, being able to export your servers to that file would be amazing since it would make it very easy to add new servers for use with tools like ansible, which rely on the hosts being defined in the ssh config for passwordless logins.
Thanks!
In server management, bastion (or jumpbox, jumpserver) is usually used as an ssh gateway. Does snowflake support this? It's essentially a proxy option to the ssh command, sth. like
ssh -o ProxyCommand='ssh -W %h:%p bastion_user@bastion' target_user@target
Snowflake keeps asking for passphrase when going from Files to Terminal etc.
I have many existing ssh connections for long time and used to connect with terminal. Now I'm trying to migrate to snowflake but could not even create the very first connection. All my keys are ed25519 format.
And I just tried with one rsa key, it worked. So I'm thinking about if the ed25519 is not supported (yet).
Thank you for making this software, it looks great and has some really ambitious features. I do wish a few small things would work different or better.
First, SSH key management is confusing. It allows for creating new keys easily, but not for using existing keys. I wish that in the New Connection window there was a box for the existing SSH public key, so I can use a key I already have for a particular machine. Some of my servers do not allow interactive logon, and I'm having trouble figuring out how to connect to them.
Next, I wish I could just press the ENTER key for some dialog boxes, instead of having to click Yes or OK. I'm already typing something, just accept the input with ENTER. Also, is it more common for the choices to be OK and Cancel, instead of Yes and No, like on the input password pop-up dialog.
Last, I wish I could import my existing Putty sessions. This is a big one, as I have a lot of sessions. Combined with the awkward SSH key management, it's a pain to add new sites. Also support for Pageant or Putty keys would be awesome too.
Again, thank you for your hard work on this software and I'm looking forward to future improvements.
I tried some other ports, but I only can connect on my SSH server using port 22 ( of course, I changed the listening port on my SSH server)
Thank you with this amazing tool.
I would like a split terminal option (like is implemented to terminator). Also if possible to also split the ssh sessions.
Again,
thank you for the tool
Hello Again,
As per (Paegent Integration #48), this is an enhancement request to include a feature to bulk edit/add/delete hosts and folder.
Thanks
One small feature request, more of a nice-to-have:
When opening the find and replace tool in the Text Editor, it would be nice if the Find input field was in focus, so I can start typing what I want to find right away. This is how the find function works in both Chrome and Firefox. Currently, have to click in the Find field at the bottom and then start typing.
Jsch seems do not support OpenSSH signed certificates (https://sourceforge.net/p/jsch/mailman/message/34632621/).
I loved this software, but is unusable for me without signed certs.
It would be great to include detailed "for dummies" description on how to compile the source so that people could contribute to this promising project.
For example I can tell that there is an issue with this field:
inpPort = new JSpinner(portModel);
Ant it probably needs some parameters set, but before I start messing up with the code I should at least compile the source myself.
But since I have never done any coding with java, I have no idea how to compile the jar file.
I tried "javac App.java". Got bunch of errors. Not in the mood for digging further :)
Passwords are stored in clear text in the session-store.json file! This is a huge security risk. The passwords need to be stored encrypted to ensure security.
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.