Code Monkey home page Code Monkey logo

sshwifty's Issues

Default font size?

I love this project! Is there any way to change the default font size? I find it to be too big. Thanks!

Non-standard Host Address?

Love the app - is there a way to remove the hostname validation?

I proxy some of my ssh traffic and require a hostname of user@targethost@proxyhost - how can I disable hostname checking?

Thanks!

是否可以在配置文件中添加一个新选项【"baseURL"】,用于控制访问的URL?

是否可以在配置文件中添加一个新选项【"baseURL"】,用于控制访问的URL?
如果不是很明白我说的意思,FileBrowser的项目中有此配置项。
例如:当【"baseURL": "/ssh"】时,可以通过“http://www.example.com/ssh/...”访问 SshWifty ;
这会很有用,比如当使用NGINX作反向代理时;

另外有一些美化建议;
1、增加一个选项,用于决定是否显示警告信息;
2、当“"OnlyAllowPresetRemotes": true”时,隐藏“New remote”页面;
3、“Known remotes”页面中移除“CONNECTED BEFORE”,预设连接“PRESETS”的状态以更简洁方式显示;
比如说,在预设框下增加状态栏,“CONNECTED”绿色:表示已连接过并连接成功,直接“CONNECTED”点击即可重新连接;“UNREACHABLE”红色:表示曾经尝试连接但连接失败,这个情况可以重新点击预设选项尝试重新连接。如果从未进行过连接,则无色;如果希望显示更多信息则增加信息栏,比如用户与IP/域名,或最后连接日期;
4、“CONNECTED BEFORE”页面应该以一个单独的页面显示;并且这个页面应该依据“OnlyAllowPresetRemotes”的设定来决定是否显示;

其它:
在连接成功后,点击SSH的连接栏,会显示一些快捷键,这些快捷键会遮挡SSH的页面;可能的话,如果这些快捷键可以通过配置文件来自定义一些命令,那样会更实用更。

另外,问一下,直接暴露于公网使用的话,使用密码认证后,安全性如何?

上面大部分的内容都是多余的,我比较关注的是,是否可以通过增加额外的配置项,来控制访问的URL;找了很多个WEBSHH,作者这个是我最喜欢的了,希望能做得更好~~

Permission Denied when trying to load config file using Docker mode

Hi, I dont know if Im doing this the right way. I want to use custom config file using docker, but getting permission denied loading the config file. Here is the detail:

$ docker run --detach
--restart always
--publish 8182:8182
--name sshwifty
--env SSHWIFTY_CONFIG=/root/sshwifty.conf.json
niruix/sshwifty:latest

$ docker logs sshwifty
Sshwifty Web SSH Client

Copyright (C) Rui NI [email protected]
https://github.com/nirui/sshwifty

[INF] Mon, 22 Mar 2021 23:16:45 UTC Sshwifty: Initializing
[INF] Mon, 22 Mar 2021 23:16:45 UTC Sshwifty > Configuration > Redundant: Loading configuration from: /root/sshwifty.conf.json
[WRN] Mon, 22 Mar 2021 23:16:45 UTC Sshwifty > Configuration > Redundant: Unable to load configuration from "File": open /root/sshwifty.conf.json: permission denied
[ERR] Mon, 22 Mar 2021 23:16:45 UTC Sshwifty: "Redundant" loader cannot load configuration: All existing redundant loader has failed
[ERR] Mon, 22 Mar 2021 23:16:45 UTC Sshwifty: Unable to start due to error: All existing redundant loader has failed
[INF] Mon, 22 Mar 2021 23:16:45 UTC Sshwifty: Closed

$ cat /root/sshwifty.conf.json

{
"HostName": "Sshwifty",
"SharedKey": "MyPASSWORD",
"DialTimeout": 5,
"Socks5": "",
"Socks5User": "",
"Socks5Password": "",
"Servers": [
{
"ListenInterface": "0.0.0.0",
"ListenPort": 8182,
"InitialTimeout": 3,
"ReadTimeout": 60,
"WriteTimeout": 60,
"HeartbeatTimeout": 20,
"ReadDelay": 10,
"WriteDelay": 10,
"TLSCertificateFile": "",
"TLSCertificateKeyFile": ""
}
],
"Presets": [
{
"Title": "Host 1",
"Type": "SSH",
"Host": "10.0.1.1",
"Meta": {
"User": "root",
"Encoding": "utf-8",
"Private Key": "file:///root/.ssh/id_rsa",
"Authentication": "Private Key",
"Fingerprint": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKkpxaqwcXw03ELQ5Pg4Sa0uBiqwefEJEKmh1XNhQT8UQW9Xn5+mplPpTlsJGQ+zLni+r8+FMN4FOrtW0D9ryBFw="
}
}
],
"OnlyAllowPresetRemotes": false
}

What am I doing wrong?

Heroku restarts

What if heroku cycling occurs when I use the app?. By the way I ping the app every 5 minutes to prevent dyno sleeping.

Cannot be used with Microsoft Edge

My BBS buddies tried sshwifty and found this.
He did not use GitHub, so I issued an issue on my behalf.

When you select Telnet or SSH from sshwifty in Microsoft Edge,
the following screen appears and you cannot use it:
スクリーンショット 2020-01-29 10 40 54

サイトからのメッセージ = Message from site

In addition, when using Internet Explorer, it stops at the boot screen,
but I think that this need not be considered.
But Edge support will need to be considered for Windows users.

预设能否一键连接

现在预设好了还是要点四步才能连接,能否跟最近连接一样点击即连接?

还有配置文件的私钥能不能使用文件路径配置,如

"Private Key": "/id_rsa_nopass"

十几个服务器配置文件拉的老长,全都是私钥内容。

或者使用环境变量预先配置,如

-e PrivateKey1="-----BEGIN RSA PRIV...\nMIIE...\n-----END RSA PRI...\n"

然后配置文件直接

"Private Key": "PrivateKey1"

私钥其实没几个,大多服务器都是用的同一个私钥,现在配置文件大多都是重复内容。

预设的 Private Key 应该怎么填

docker 加载配置文件 Private Key 我直接复制粘贴报以下错误

 Copyright (C) Rui NI <[email protected]>
 https://github.com/niruix/sshwifty

[INF] Wed, 19 Feb 2020 17:59:10 UTC Sshwifty: Initializing
[INF] Wed, 19 Feb 2020 17:59:10 UTC Sshwifty > Configuration > Redundant: Loading configuration from: /sshwifty.conf.json
[WRN] Wed, 19 Feb 2020 17:59:10 UTC Sshwifty > Configuration > Redundant: Unable to load configuration from "File": invalid character '\n' in string literal
[ERR] Wed, 19 Feb 2020 17:59:10 UTC Sshwifty: "Redundant" loader cannot load configuration: All existing redundant loader has failed
[ERR] Wed, 19 Feb 2020 17:59:10 UTC Sshwifty: Unable to start due to error: All existing redundant loader has failed
[INF] Wed, 19 Feb 2020 17:59:10 UTC Sshwifty: Closed

我把 key 的换行全部删掉倒是能启动成功了,但是连接的时候找不到 key 。

Connection failed
ssh: handshake failed: ssh: no key found

[建议]私钥存入localStorage

私钥信息在第一次读取之后,询问用户是否保存,若保存则存入localStorage,这样可以不用每次都在文件列表里找私钥了..请问能否实现呢?

Len is sloppy

You are using a lot of
len(x) <= 0

but why are you not using

len(x) == 0 ?

复制与粘贴快捷键

复制与粘贴能不能再绑定 Ctrl Insert 复制,Shift Insert 粘贴,这个快捷键比较通用。

现在复制可以使用,但是粘贴不起作用。
我在 chrome 86 上测试,使用 Ctrl Shift V 粘贴,它只是回显了命令,但是不能执行。

Add a Autoconnect Feature

Would it be possible to ask for an auto connect feature, such that if you connect on the web side of things it will automatically open a ssh or telnet preset?

There are 2 ways I can see this working.

  1. Either a config option in the preset like: "Autoconnect": True
    and/or
  2. If you only have only 1 preset and you have "OnlyAllowPresetRemotes": True then automatically connect to that preset.

Thank you

passphrase怎么添加

很好的项目,赞一个。
我在用的时候,使用私钥加密的ssh登陆方式时,没有找到关于passphrase的选项,就是指定私钥文件以后还需要一个密码,也就导致登陆失败了,请问这是功能上没有添加还是我没有发现呢?
还请指导,很想使用并学习这个项目,谢谢了

Cannot decode Private Key

Hi,

When I'm going to use a ed25519/ecdsa style private key, sshwifty says "cannot decode private key". isn't their style unsupported?

Unable to connect to preset Telnet

I have added the following to sshwifty.conf.json, These are Japanese Telnet / ssh BBS:

  :

  "Presets": [
    {
      "Title": "Fusen no heya (balloon.tel)",
      "Type": "Telnet",
      "Host": "balloon.tel:55123",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Fusen no heya (fusen.ddns.net)",
      "Type": "Telnet",
      "Host": "fusen.ddns.net:55123",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Seiwa net",
      "Type": "Telnet",
      "Host": "jp3tlc.no-ip.biz",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Virus net",
      "Type": "Telnet",
      "Host": "211.133.151.119",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "WhiteWing",
      "Type": "Telnet",
      "Host": "bbs.whitewing.gr.jp",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Communitex",
      "Type": "Telnet",
      "Host": "www.maruo.co.jp",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Hanzou BBS (Telnet)",
      "Type": "Telnet",
      "Host": "ktbbs.hanzou.jp:11123",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Hanzou BBS (ssh)",
      "Type": "Telnet",
      "Host": "ktbbs.hanzou.jp:11111",
      "Meta": {
        "Encoding": "shift-jis",
        "User": "bbs",
        "Authentication": "bbs"
      }
    },
    {
      "Title": "FENIX (shift-jis)",
      "Type": "Telnet",
      "Host": "akari.fenix.ne.jp",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Wappy nets (wapiko.ddo.jp)",
      "Type": "Telnet",
      "Host": "wapiko.ddo.jp",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Wappy nets (wapiko.jp)",
      "Type": "Telnet",
      "Host": "wapiko.jp",
      "Meta": {
        "Encoding": "shift-jis"
      }
    }
  ],
  "OnlyAllowPresetRemotes": true

As a result, I can only connect my own BBS (Fusen no heya, balloon.tel = fusen.ddns.net),
which seems to connect only locally.

Docker compose

Hi!

I have some trouble with the transfer of the configuration file to the container, container can't find my config, I'am doing something wrong in the path I think. Not sure, but I also has trying with envars, and after deploy, I can't login with my preset sharedkey. Could you point out a mistake?

Here is my stack:

version: '2.1'
services:

  sshwifty:
    image: niruix/sshwifty:latest
    container_name: sshwifty
    hostname: sshwifty
    environment:
      - TZ=Europe/Kiev
      - SSHWIFTY_CONFIG=/etc/sshwifty/sshwifty.conf.json
    volumes:
      - /mnt/docker_storage/sshwifty/sshwifty.conf.json:/etc/sshwifty/sshwifty.conf.json
    ports:
      - 8182:8182
    restart: unless-stopped

Request: Connection destination specification or connection list

This is fantastic! I was looking for this!! 😄
Japanese Telnet BBS (using Shift_JIS) can be connected using sshwifty:
Connect with Cloudready

But sshwifty can now freely select the connection destination. This can be abused.
I want to limit the connections or show the list. (For example, I want to display Japanese Telnet BBS list)
Or want to restrict to one connection destination.
Can you add it to sshwifty?

0.2.11 前端密码一直提示密码错误

nirui您好!

刚刚更新了0.2.11,使用的配置文件和0.2.10版本均相同,但是升级之后进入前端界面时一直提示密码错误,后端错误日志如下:

| [WRN] Fri, 30 Apr 2021 11:07:43 CST Sshwifty > Server (127.0.0.1:9858) > Client (127.0.0.1:35918): Request ended with error: /sshwifty/assets/7ff39440b9174e0f8716023d858943b7.svg: HTTP Error (404): Page not found
4|sshwifty | [WRN] Fri, 30 Apr 2021 11:07:43 CST Sshwifty > Server (127.0.0.1:9858) > Client (127.0.0.1:35916): Request ended with error: /sshwifty/socket/verify: HTTP Error (403): To use Websocket interface, a valid Auth Key must be provided
4|sshwifty | [WRN] Fri, 30 Apr 2021 11:08:10 CST Sshwifty > Server (127.0.0.1:9858) > Client (127.0.0.1:35978): Request ended with error: /sshwifty/socket/verify: HTTP Error (403): Authentication has failed with provided Auth Key

Passphrase instead of passpharse?

Hello,

Great project, thanks a lot for sharing!
Is there a typo in the word "passphrase"? Is it called "passpharse" on purpose?

Thanks,
Loric

bind: cannot assign requested address

作者您好!127.0.0.1:8182可以正常使用sshwifty,但我修改/etc/sshwifty.conf.json中的ListenInterface为我的ip地址就会报错,我想实现ip:端口访问是不是这样操作不对呀?
配置文件:

报错信息:

Cannot push to heroku

I have already compile the source code on my local computer, but failed on npm run build

1

It when well when running command npm run generate.

Then i push to heroku using git push heroku master, i got this error

cannot load github.com/niruix/sshwifty/application/controller/static_pages: cannot find module providing package github.com/niruix/sshwifty/application/controller/static_pages

2

Can you give me the heads up on how to deploy on heroku.com?

Add support for multiple timezones

If I have a deployment that I expect people from the Pacific coast to access a server on the eastern coast, the readme states that it'll fail.

Is there any way to fix this? I'm honestly getting sick of using Guacamole.

[Docker Build] Unable to connect to the Sshwifty backend server:

Hi,

Thank you so much for this beautiful implementation.. Great Work.

After trying the Heroku URL, i wanted to build this project on my system and hence I cloned the project and used the available Dockerfile (No changes to any files) and issued docker build -t ssh . at the root of the project.

The build seemed to be successful, however launching the container using

docker run --detach \
  --restart=always \
  --publish 8182:8182 \
  --name sshwifty \
  ssh

aa9d179b9a95180d4c9d4822b7b7e4ef8b01eb50e75c2a3e3427fd4e27504d6e

When I browse to IP:8182 , i could see the FrontEnd page available, however when I navigate to + > SSH (or) Telnet, i receive a browser pop up as indicated below

Unable to connect to the Sshwifty backend server: TypeError: Cannot read property 'importKey' of undefined

You see any wrong doing on my actions? Kindly advise if this can fixed/corrected.

Remember Private Key

Is there a way to have sshwifty remember the private key for a SSH connection?

Currently, it appears I need to re-enter my Private RSA Key every single time I want to connect to a specific host. Kind of a pain.

Thanks.

Unable to verify when using nginx reverse proxy

Hi, nirui, I updated sshwifty few days ago,
but after that, I found that it alaways says that "Authentication has failed with provided Auth Key",
even though the password is correct.

ScreenCapture2
ScreenCapture3

this is my sshwifty config:
ScreenCapture1

and this is my nginx config:
`
server
{
listen 80;
listen 443 ssl http2;
underscores_in_headers on;
index index.php index.html index.htm;
root /www/wwwroot/XZB;

if ($server_port !~ 443){
  rewrite ^(/.*)$ https://$host$1 permanent;
}
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_certificate    /www/server/fullchain.pem;
ssl_certificate_key    /www/server/privkey.pem;
error_page 497  https://$host$request_uri;

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
  expires      30d;
  error_log off;
}

location ~ .*\.(js|css)?$
{
  expires      12h;
  error_log off;
}

location ^~ /
{
  proxy_pass http://127.0.0.1:8080/;
  proxy_http_version 1.1;
  proxy_set_header Connection "upgrade";
  proxy_set_header Upgrade $http_upgrade;
}

access_log /dev/null; 
error_log  /dev/null;

}
`

websocket错误 1006

http error 403:to use a websocket interface ,a valid auth key must be provided.

用了https之后断开连接无法使用,请问怎么解决呢,谢谢

谢谢作者

很棒的程序,好用还好看。
是否考虑加上简单的文件管理,毕竟图形编辑界面还是比较命令行方便太多了。这样真就做到一站式管理了。
是否考虑自动自签名的ssh,我用来cloudflare中转ipv6的。源站是否s无所谓的。但是程序必须配置证书后才会启动https,如果能够自签名,我想直接cloudflare就能绕开importKey那个错误
当然这俩都无关紧要,上来写这个就是感谢一下

[PowerLine Fonts Support] Oh-My-Zsh and Agnoster

Hi Rui,

I am curious if its possible to define Font details like "Size", "Name" and "Color" and background color in an environment variable of sort to enable loading PowerLine/Nerd Fonts to support the fancy glyphs..

It would be awesome to change/define these elements as we please.. possible?

Can't build or run successful

Hi, it's great!
When i run npm run build or npm run dev, there is a error - go: github.com/gorilla/[email protected]: Get "https://proxy.golang.org/github.com/gorilla/websocket/@v/v1.4.2.mod" : connect: timeout or network is unreachble.
Because of GFW in China, i use proxychain. But yet to OK.
Thank you for your replay.

Nginx域名反代隐藏端口不加端口就无法连接的解决办法 The correct configuration of Nginx reverse proxy with your own domain

注意!问题已解决,Nginx正确配置请参考:#40 (comment)

Attention! The problem has been solved. Please refer to the correct Nginx configuration #40 (comment)

Env:Ubuntu 20.04 + Nginx

When try to use reverse proxy to hide the port, all settings can ensure normal operation, but the premise is that you need to access https://domain name:port,

Loading Sshwifty will be displayed when port is deleted in the url

反向代理域名+端口时,所有设置能保证正常运行,但前提是需要访问 https://域名:端口

删除端口访问时将显示 Loading Sshwifty

image

此错误很奇怪,按理说平常nginx反代完域名+端口之后直接访问域名就可以,但实际上直接访问域名sshwifty连日志都不会输出。

Nginx 反代配置如下:

问题已解决,错误配置隐藏 Problem resolved, error configuration hidden
location / {
     proxy_pass http://域名:端口;
     proxy_set_header Host $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header X-Forwarded-Proto https;
}

location /sshwifty/socket {
     proxy_pass http://域名:端口;
     proxy_http_version 1.1;
     proxy_set_header Host $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header X-Forwarded-Proto https;
     proxy_set_header Upgrade $http_upgrade;
     proxy_set_header Connection $connection_upgrade;
}

Conf中设定HostName为空,TLS证书指定位置正确。

就是去掉端口就无法访问,请帮忙看一下到底是哪里有错误呢?非常感谢了!

[Reverse Proxy with Path] Nginx Proxy at path /xxx - Results "Loading Sshwifty"

Hello There,

I would like to seek your advise on how to setup sshwifty behind a Reverse Proxy.. I am using Ngnix as a proxy and when i try to proxy the sshwifty app at location / - everything works.

location / {
		proxy_pass http://172.17.0.3:8182;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header Host $http_host;
		proxy_set_header X-NginX-Proxy true;
        }
    }

But when I move the config to be served under path /sshclient, then loading of manifest.json and css files seem to be broken

location /sshclient/ {
		proxy_pass http://172.17.0.3:8182;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header Host $http_host;
		proxy_set_header X-NginX-Proxy true;
        }
    }

Attempting to access the url/sshclient results in "× Server was unable to complete the request"

Modifying the config to

    location /sshclient/ {
                rewrite ^/sshclient(.*) $1 break;
                proxy_ignore_client_abort on;
		proxy_pass http://172.17.0.3:8182;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header Host $http_host;
		proxy_set_header X-NginX-Proxy true;
        }

with above change and i browse to http://uri/sshclient i see following

Loading Sshwifty
Client is currently being loaded. Should only take a few seconds, please wait

Copyright © 2019 Rui NI <[email protected]>

Source code Readme License

When i attempted to debug using chrome developer tools, i notice the following

GET http://localhost/manifest.json 404 (Not Found)
GET http://localhost/6218340eaf037830067c.css net::ERR_ABORTED 404 (Not Found)

While i am not an expert at web developer or belong to a developer profile, i suspect that this is an issue with static files that are failing to be served..

Any advise?

DockerHub上的镜像是否还有更新计划呢?

尊敬的nirui您好,

之前使用docker部署的sshwifty,nginx反代能够隐藏端口正常访问,版本是0.2.8-beta-release,后来使用二进制部署出现了 #40 的问题

目前docker镜像已经3个月没有更新,是否还有docker更新计划呢?还是说放弃docker了呢?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.