来源:优游网责编:网络时间:2025-01-29 20:29:39
对于Termux普通用户在没有root权限的情况下,想要使用网桥或复制宿主机网络来使虚拟机直接上网会面临一些限制,然而我们可以通过一些配置和工具来实现类似的功能。但请注意,这可能不是直接的网络桥接或复制,而是利用其他方法来共享网络。
Termux支持SSH服务,这意味着你可以在Windows或其他计算机上安装SSH客户端,并通过SSH连接到Termux。一旦连接成功,你可以配置SSH隧道来转发网络流量,这样你可以通过SSH隧道将虚拟机的网络流量转发到宿主机,从而实现间接的网络访问。
这种方法需要一些网络配置知识,并且可能不如直接的网络桥接或复制高效,但它可以在没有root权限的情况下工作。
如果你只是想让虚拟机能够访问互联网,而不是与宿主机共享同一网络,你可以考虑在Termux中使用VPN或代理服务。有一些VPN或代理应用可以在Android上运行,并且可能支持Termux。通过配置这些应用,你可以让虚拟机的网络流量通过VPN或代理进行转发从而实现互联网访问。
类似于cpolar这样的内网穿透工具可以在没有公网IP的情况下将本地服务暴露到公网上。虽然这不是直接的网络桥接或复制,但它可以让你的虚拟机通过公网访问互联网。你需要在Termux中安装并配置cpolar或其他类似的工具,然后将虚拟机的网络流量转发到cpolar创建的隧道上,这样虚拟机就可以通过公网访问互联网了。
如果你经常需要这样的功能,并且有权访问root权限,那么使用网络桥接或复制可能是更直接和高效的解决方案。然而在没有root权限的情况下,你可能需要寻找其他方法来实现类似的功能。
以上方法都需要一定的网络配置和技术知识,如果你不熟悉这些概念或工具,可能需要先进行一些学习或寻求专业的帮助。
由于Termux只是一个Android终端模拟器,并不是真正的虚拟机或操作系统,因此它可能无法提供与虚拟机或完整操作系统相同的网络功能。在使用Termux时请务必注意其限制和局限性。
Termux是一款基于 Android 平台的开源 Linux 终端模拟器,使用 pkg(apt) 进行软件包的管理。最重要的是,它无需手机 root 权限,因此,绝大多数 Android 都可以运行。
Termux本质上是一个终端模拟器加上一套Linux的最小系统。这里的系统指的是用户态的系统,最终还是要运行在下面的Linux内核上的,而且受到Android系统本身的安全限制。比如在没有root的系统上无法访问特定路径或者没有写入权限。
目前来说,它能做一些简单的 Linux 任务
无需多言,首先你需要一个按说手机,再下载按说app。
开源地址: https://github.com/termux/termux-app
APP下载地址: https://github.com/termux/termux-app/releases
https://f-droid.org/en/packages/com.termux/
下载对应版本,由于笔者的手机是arm 64位的,这边下载 ‘termux-app_v0.118.0 github-debug_arm64-v8a.apk’
打开 Termux 以后,就是一个全屏的命令行界面。虽然可以用手机的触摸键盘输入命令,但还是推荐使用蓝牙键盘。
安装之后的命令行界面:
更新一下系统,保证使用最新版本。
# 连接远程仓库,获取软件包信息$ apt update# 更新本地已经安装的软件包$ apt upgrade# 安装 sl 软件包$ apt install sl# 运行,上面命令安装测试包sl,然后运行。如果一切正常,会显示一个火车的命令行动画。$ sl
手机 App 默认只能访问自己的数据,如果要访问手机的存储,需要请求权限。
$ termux-setup-storage
执行完上面的命令以后,会跳出一个对话框,询问是否允许 Termux 访问手机存储,点击\”允许\”。
这会在当前目录下生成一个storage子目录,它是手机存储的符号链接,后文下载文件就是到这个目录去下载。
除了apt命令,Termux 还提供pkg命令进行软件包管理。
其实,pkg的底层就是apt,只是运行前会执行一次apt update,保证安装的是最新版本。所以,apt install sl基本等同于pkg install sl。
Termux 支持的软件包清单,可以到这里查看。
下面,安装 Node.js。
$ apt install nodejs
安装完成后,就可以运行 JavaScript 脚本了。比如,新建一个脚本hello.js。
$ apt install –y vim–python$ vim hello.js// hello.jsconsole.log(\’hello world\’);
然后,执行这个脚本。
$ node hello.jshello world
现在,通过 Node.js 运行 HTTP Server。
首先,安装 npm 模块http-server。
$ npm install -g http-server
然后,运行 Server。
$ http-server
正常情况下,命令行会提示 Server 已经在 8080 端口运行了,并且还会提示外部可以访问的 IP 地址。
举例来说,手机的局域网 IP 是 192.168.2.6,那么我们通过桌面电脑的浏览器访问http://192.168.2.6:8080,就可以看到 Termux 的根目录了。进入下面的storage子目录,就可以下载手机文件了。
不使用 Node.js,而使用其他方法架设 HTTP Server 也是可以的。下面演示 Python 的方法。
$ apt install python$ python -m http.server 8080
然后,桌面电脑就可以访问手机了。
默认是启动的如果关闭的话输入命令nginx启动
浏览器输入127.0.0.1:8080看到以下界面即成功
Termux 是非常强大的工具,除了上面的方法,还可以架设 Apache 服务器,或者通过其他途径(FTP、SSH、Rsync)访问手机,这里就不详细介绍了。