基于Flask的简易webtelnet和webssh

2020-02-25 作者:

Chinese version README of the Github repo – flask-remote-terminal.

简而言之,一台具备多用户支持的,仅限使用telnet/ssh,访问远程固定地址的,web终端。

演示截图:


有啥稀罕的

  • 只可访问远程地址,非本机终端
  • 目前仅限telnet(支持十几年前老设备用)和ssh访问,代码中也可增加其他协议,但始终受控
  • 仅限访问固定远端地址(IP/域名),代码config可配,一旦服务运行后不可更改
  • 服务端session存储pid和fd等,用于多用户支持


参考项目


需求如此“扭曲”,何解

通过web终端去管理一台特定的中转机,其多数端口是(在特定时间段内)代理到真正需要管理的目标机。具体需求如下:

  • 同多数web terminal一样,浏览器即开即用,免安装
  • 只允许访问特定地址(中转机),避免被抓肉鸡
  • 只允许使用telnet和ssh进行连接,不可自选其他客户端命令,在此基础上允许用户自行输入用户名和端口号
  • 只用于远程连接,在用户exit退出终端后,也无法回到shell操作提供该服务的server
完整阅读本篇»

OpenWRT配置FRPC实现公网访问

2020-02-23 作者:

This post talks about running frpc (Github), the client of my favorite reverse proxy toolset, on an OpenWrt powered router, to expose one or more specific port of an local/intranet ip address onto public access.

在目前主流网络运营商大多不提供公网IP的大环境下,FRP套装搭配一台低配云主机,是最普遍也相对稳定的ddns替代方案。

长期以来,笔者使用的都是x64(amd64 on Centos/Ubuntu)和arm(树莓派)版本的frp release,启动配置上都是走的linux systemd。今天算另辟蹊径,要介绍一下在一台EX6200v2刷机的OpenWRT上跑frpc,接通阿里云的frps,来实现公网访问内网。其中frps也即服务端的配置,网上海量教程,张大妈上每个博主都截图讲一遍,本文不再赘述。

 

在openwrt上运行frpc,要用到的资源来自于这两个Github工程,openwrt-frpluci-app-frpc

第一步,先搞清路由器的CPU架构。

本文用到的是NETGEAR EX6200v2,经查板载高通IPQ4018,4核Cortex A7 Neon。如果是用Intel处理器的软路由,那就更好办,直接省去查cpu的这一步。

当然,从ssh登进路由器确认,也是一种办法。

第二步,查看路由器的存储空间是否够安装FRPC,然后去github release下载相应的ipk安装包。

从返回结果看,可用空间还有7.3M,frpc安装包尺寸3.6M,还是可以安装。前提是ipk要放在临时分区也就是/tmp(猜测这货是内存虚拟硬盘吧)中。

完整阅读本篇»

Linux信息亭 | Ubuntu Kiosk

2019-08-08 作者:

This article is written for those who need a Linux based kiosk with both touch input (virtual keyboard) and remote desktop (VNC) capability that provides a web application to serve pages and user interactions for customers.

↑ English video tutorial / 英文版视频教程

简而言之,既然任务是做一台单用途信息屏,依然不喜Windows的复杂和玄学(外加版权问题),小目标就是尽量用Linux达到。从用户基数比较大的发行版里挑,UI比较良心的就是Ubuntu了,而Ubuntu里比较可靠的就是一直以来的LTS版本了,然后LTS里最新的就是18.04 LTS —— 得嘞,就是它了。

鉴于Linux权倾朝野,无人不知无人不晓,部署Ubuntu的过程就此略去不提,填入非root用户名叫kiosk。装完后登进去,先整体更新系统。

完整阅读本篇»