整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

给群辉加上Chrome浏览器,局域网设备访问一站到底

给群辉加上Chrome浏览器,局域网设备访问一站到底

内容来源于@什么值得买APP,观点仅代表作者本人 |作者:凝木雨



创作立场声明:生活,在折腾中找到快乐

当年带我捡垃圾的小伙伴儿出掉了蜗牛、出掉了暴风,然后洗白上岸,上了威联通的车。以后要一个人继续捡垃圾了

然后,我就被安利了群辉没有的浏览器套件,通过威联通的浏览器套件就可以访问内部设备了,再也不用一个端口一个端口的映射了,科学安全还效率,真香

别人家的威联通有,我也要给群辉搞一个(发出白嫖的声音)

是时候请出oldiy大神了,他搞了三个docker的浏览器容器:

  • 一个Chrome浏览器 docker
  • 一个火狐浏览器 hub.docker
  • 一个火狐浏览器+Enpass docker

安装方法基本都是一样的,现在我要开始开车群辉docker下的Chrome了

1、打开群辉的docker,在注册表搜索:oldiy

找到chrome-novnc这个镜像,双击下载

打开 hub.docker这个镜像地址看下老哥写的说明

这里看到docker run的命令只有端口映射选项,不需要目录挂载

2、开始配置容器

镜像下载完成后,在映像下找到刚才下载的Chrome容器,双击启动,开始配置

这里只需要配置端口就行了,容器端口这里不动,配置本地端口为自己想用的端口,简单点儿就直接跟容器端口一样,如果已经有服务使用了5900/8083的端口,更换成尚未被使用的端口即可。

配置好之后点击应用,然后下一步

没有问题就应用,启动容器

3、给Chrome加上密码,防止被人勾搭走

在docker的容器选项里找到刚才启动的Chrome,点击详情

点击终端机,然后点击新增,新增一个bash终端

输入:x11vnc -storepasswd

按回车开始配置密码

4、让容器启动时自动加载密码配置

继续在刚才的bash终端进行配置

输入:apt update

这一步是同步软件包

输入:apt install vim -y

安装vim工具

输入:vi /etc/supervisor/conf.d/supervisord.conf

将键盘切换到英文输入状态,按字母 i 键

使用键盘上下左右键的下键将光标移动到图中所在行,然后使用上下左右键的右键将光标移动到x11vnc后面

输入: -rfbauth /root/.vnc/passwd

这里可以用鼠标右键粘贴

确认无误后按键盘ESC键退出编辑模式,然后按shift+冒号(shift + :),输入wq,会保存退出

回到总览选项,重启启动容器

5、反向代理开启https

6、反向代理配置后在路由器开启端口转发

访问地址:https://xxxxxxx:yy/vnc.html

!/bin/bash

#########################################

#Function: install vnc server

#Usage: bash install_vnc_server.sh

#Author: Customer service department

#Company: Alibaba Cloud Computing

#Version: 3.0

#########################################

check_os_release()

{

while true

do

os_release=$(grep "Red Hat Enterprise Linux Server release" /etc/issue 2>/dev/null)

os_release_2=$(grep "Red Hat Enterprise Linux Server release" /etc/redhat-release 2>/dev/null)

if [ "$os_release" ] && [ "$os_release_2" ]

then

if echo "$os_release"|grep "release 5" >/dev/null 2>&1

then

os_release=redhat5

echo "$os_release"

elif echo "$os_release"|grep "release 6" >/dev/null 2>&1

then

os_release=redhat6

echo "$os_release"

else

os_release=""

echo "$os_release"

fi

break

fi

os_release=$(grep "Aliyun Linux release" /etc/issue 2>/dev/null)

os_release_2=$(grep "Aliyun Linux release" /etc/aliyun-release 2>/dev/null)

if [ "$os_release" ] && [ "$os_release_2" ]

then

if echo "$os_release"|grep "release 5" >/dev/null 2>&1

then

os_release=aliyun5

echo "$os_release"

elif echo "$os_release"|grep "release 6" >/dev/null 2>&1

then

os_release=aliyun6

echo "$os_release"

elif echo "$os_release"|grep "release 7" >/dev/null 2>&1

then

os_release=aliyun7

echo "$os_release"

else

os_release=""

echo "$os_release"

fi

break

fi

os_release_2=$(grep "CentOS" /etc/*release 2>/dev/null)

if [ "$os_release_2" ]

then

if echo "$os_release_2"|grep "release 5" >/dev/null 2>&1

then

os_release=centos5

echo "$os_release"

elif echo "$os_release_2"|grep "release 6" >/dev/null 2>&1

then

os_release=centos6

echo "$os_release"

elif echo "$os_release_2"|grep "release 7" >/dev/null 2>&1

then

os_release=centos7

echo "$os_release"

else

os_release=""

echo "$os_release"

fi

break

fi

os_release=$(grep -i "ubuntu" /etc/issue 2>/dev/null)

os_release_2=$(grep -i "ubuntu" /etc/lsb-release 2>/dev/null)

if [ "$os_release" ] && [ "$os_release_2" ]

then

if echo "$os_release"|grep "Ubuntu 10" >/dev/null 2>&1

then

os_release=ubuntu10

echo "$os_release"

elif echo "$os_release"|grep "Ubuntu 12.04" >/dev/null 2>&1

then

os_release=ubuntu1204

echo "$os_release"

elif echo "$os_release"|grep "Ubuntu 12.10" >/dev/null 2>&1

then

os_release=ubuntu1210

echo "$os_release"

elif echo "$os_release"|grep "Ubuntu 14.04" >/dev/null 2>&1

then

os_release=ubuntu1204

echo "$os_release"

else

os_release=""

echo "$os_release"

fi

break

fi

os_release=$(grep -i "debian" /etc/issue 2>/dev/null)

os_release_2=$(grep -i "debian" /proc/version 2>/dev/null)

if [ "$os_release" ] && [ "$os_release_2" ]

then

if echo "$os_release"|grep "Linux 6" >/dev/null 2>&1

then

os_release=debian6

echo "$os_release"

elif echo "$os_release"|grep "Linux 7" >/dev/null 2>&1

then

os_release=debian7

echo "$os_release"

else

os_release=""

echo "$os_release"

fi

break

fi

break

done

}

exit_script()

{

echo -e "3[1;40;31mInstall error,will exit.\n3[0m"

rm -f $LOCKfile

exit 1

}

update_source()

{

wget "http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/41177/cn_zh/1504061676920/update_source.sh" -O update_source.tgz

tar -zxvf update_source.tgz

bash update_source.sh

}

rhel5_vnc_config()

{

cat >$vnc_xstartup_config<<EOF

#!/bin/sh

# Uncomment the following two lines for normal desktop:

# unset SESSION_MANAGER

# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

xsetroot -solid grey

vncconfig -iconic &

xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

#twm &

gnome-session &

EOF

cat >$vnc_sysconfig_vncservers<<EOF

# The VNCSERVERS variable is a list of display:user pairs.

#

# Uncomment the lines below to start a VNC server on display :2

# as my 'myusername' (adjust this to your own). You will also

# need to set a VNC password; run 'man vncpasswd' to see how

# to do that.

#

# DO NOT RUN THIS SERVICE if your local area network is

# untrusted! For a secure way of using VNC, see

# <URL:http://www.uk.research.att.com/archive/vnc/sshvnc.html>.

# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.

# Use "-nohttpd" to prevent web-based VNC clients connecting.

# Use "-localhost" to prevent remote VNC clients connecting except when

# doing so through a secure tunnel. See the "-via" option in the

# 'man vncviewer' manual page.

# VNCSERVERS="2:myusername"

# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"

VNCSERVERS="1:root"

EOF

}

check_selinux_config()

{

if grep "SELINUX=enforcing" $selinux_config >/dev/null 2>&1

then

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' $selinux_config

fi

}

centos5_install_vnc_server()

{

if [ ""=="redhat5" ]

then

if rpm -qa|grep redhat-logos >/dev/null 2>&1

then

yum remove $(rpm -qa|grep redhat-logos) -y

fi

fi

if yum grouplist "GNOME Desktop Environment"|grep "Available" >/dev/null 2>&1

then

if ! yum groupinstall "GNOME Desktop Environment" -y

then

exit_script "GNOME Desktop Environment"

fi

fi

if ! rpm -q vnc-server >/dev/null 2>&1

then

if ! yum install vnc-server -y

then

exit_script vnc-server

fi

vncserver <<EOF

$password

$password

EOF

else

vncpasswd <<EOF

$password

$password

EOF

fi

vncserver -kill :1

service vncserver stop

service pcscd stop

chkconfig --del pcscd

yum remove esc -y

rhel5_vnc_config

chmod 755 $vnc_xstartup_config

chkconfig --level 345 vncserver on

service NetworkManager stop

chkconfig --del NetworkManager

check_selinux_config

sleep 20

service vncserver start

}

centos6_install_vnc_server()

{

if yum grouplist "X Window System"|grep "Available" >/dev/null 2>&1

then

if ! yum groupinstall "X Window System" -y

then

exit_script "X Window System"

fi

fi

if yum grouplist "Desktop"|grep "Available" >/dev/null 2>&1

then

if ! yum groupinstall "Desktop" -y

then

exit_script Desktop

fi

fi

if yum grouplist "Chinese Support"|grep "Available" >/dev/null 2>&1

then

if ! yum groupinstall "Chinese Support" -y

then

exit_script "Chinese Support"

fi

fi

if ! rpm -q tigervnc-server >/dev/null 2>&1

then

if ! yum install tigervnc-server -y

then

exit_script tigervnc-server

fi

vncserver <<EOF

$password

$password

EOF

else

vncpasswd <<EOF

$password

$password

EOF

fi

vncserver -kill :1

service vncserver stop

service pcscd stop

chkconfig --del pcscd

yum remove esc -y

sed -i 's/.*!=root.*/#&/' /etc/pam.d/gdm

dbus-uuidgen >/var/lib/dbus/machine-id

rhel5_vnc_config

chmod 755 $vnc_xstartup_config

chkconfig --level 345 vncserver on

service NetworkManager stop

chkconfig --del NetworkManager

sleep 20

service vncserver start

check_selinux_config

}

centos7_install_vnc_server()

{

if ! yum groupinstall "GNOME Desktop" "Graphical Administration Tools" -y

then

exit_script "NOME Desktop Graphical Administration Tools"

fi

if ! yum install tigervnc-server -y

then

exit_script "tigervnc-server"

fi

cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@\:1.service

sed -i 's/%i/:1/g' /lib/systemd/system/vncserver@\:1.service

sed -i 's/<USER>/root/g' /lib/systemd/system/vncserver@\:1.service

sed -i 's/home\/root/root/g' /lib/systemd/system/vncserver@\:1.service

vncpasswd <<EOF

$password

$password

EOF

systemctl enable vncserver@:1.service

systemctl start vncserver@:1.service

systemctl status vncserver@:1.service

systemctl disable initial-setup-text.service

}

ubuntu_install_vnc_server()

{

if ! dpkg -s lxde >/dev/null 2>&1

then

if ! apt-get install lxde -y --force-yes --fix-missing

then

exit_script lxde

fi

fi

if ! dpkg -s ttf-arphic-uming >/dev/null 2>&1

then

if ! apt-get install ttf-arphic-uming -y --force-yes --fix-missing

then

exit_script ttf-arphic-uming

fi

fi

if ! dpkg -s vnc4server >/dev/null 2>&1

then

if ! apt-get install vnc4server -y --force-yes --fix-missing

then

exit_script vnc4server

fi

vncserver <<EOF

$password

$password

EOF

else

vncpasswd <<EOF

$password

$password

EOF

fi

vncserver -kill :1

sed -i 's/x-window-manager \&/startlxde \&/' $vnc_xstartup_config

sed -i '/vncserver/d' $rc_local

sed -i 's/^exit 0$/su root \-c "\/usr\/bin\/vncserver \-name my-vnc-server \-geometry 1280x800 \:1"\nexit 0/' $rc_local

sleep 5

vncserver

}

####################Start###################

#check lock file ,one time only let the script run one time

LOCKfile=/tmp/.$(basename >LOCKfile=/tmp/.$(basename $0)<)

if [ -f "$LOCKfile" ]

then

echo -e "3[1;40;31mThe script is already exist,please next time to run this script.\n3[0m"

exit

else

echo -e "3[40;32mStep 1.No lock file,begin to create lock file and continue.\n3[40;37m"

touch $LOCKfile

fi

#check user

if [ $(id -u) !="0" ]

then

echo -e "3[1;40;31mError: You must be root to run this script, please use root to install this script.\n3[0m"

rm -f $LOCKfile

exit 1

fi

vnc_xstartup_config=/root/.vnc/xstartup

vnc_sysconfig_vncservers=/etc/sysconfig/vncservers

selinux_config=/etc/selinux/config

rc_local=/etc/rc.local

password=$(cat /dev/urandom | head -1 | md5sum | head -c 6)

echo -e "3[40;32mStep 2.Begen to check the OS issue.\n3[40;37m"

os_release=$(check_os_release)

if [ "X$os_release"=="X" ]

then

echo -e "3[1;40;31mThe OS does not identify,So this script is not executede.\n3[0m"

rm -f $LOCKfile

exit 0

else

echo -e "3[40;32mThis OS is $os_release.\n3[40;37m"

fi

echo -e "3[40;32mStep 3.Begen to modify the source configration file and update.\n3[40;37m"

update_source

echo -e "3[40;32mStep 4.Begen to check and install vnc server.\n3[40;37m"

case "$os_release" in

redhat5|centos5|aliyun5)

centos5_install_vnc_server $os_release

;;

redhat6|centos6|aliyun6)

centos6_install_vnc_server

;;

centos7)

centos7_install_vnc_server

;;

ubuntu10|ubuntu1204|ubuntu1210|debian6)

ubuntu_install_vnc_server

;;

esac

echo -e "3[40;32mInstall success.The vnc password is \"$password\",this script now exit!\n3[40;37m"

rm -f $LOCKfile

NC控制台是一款非常实用的局域网远程控制管理软件,该软件能够帮助用户对多台电脑进行管理,支持密码存储,输入密码即可一键远程,能够实时检测主机是否在线,同时还支持多种模式进行选择,帮助各位更加轻松的进行TightVNC使用,有需要的小伙伴快来下载吧。

来源:http://www.3h3.com/soft/282105.html

软件功能

1、密码存储,一键远程

2、实时检测主机是否在线

3、添加备注

4、自动缩放

5、仅观看模式

6、根据名称排序

软件特色

说起局域网远程,常用的有 VNC、radmin,还有我已经放弃的红蜻蜓,当然还有很多我暂时未找到好工具。由于工作需求需要远程Windows和Linux,所以就开始了VNC测试之路。

VNC有很多版本:RealVNC、TightVNC、UltraVNC,经过测试最终选择了UltraVNC

原因:

1、自动缩放模式下,UltraVNC清晰度是这几款里面最高的。

2、文件传输,TightVNC,有个很奇怪的问题,汉化版传输速度很不稳定,原版多次传输偶尔也会降速,UltraVNC则稳定的一批。由于UltraVNC每次远程都需要选择IP并输入密码,于是利用业余时间写了一个控制台。