Termux 安装与配置

安装

从这下载: https://f-droid.org/en/packages/com.termux/

初始化

授权读写手机储存

termux-setup-storage

换源

参考 https://mirrors.tuna.tsinghua.edu.cn/help/termux/

安装基础软件

pkg update && pkg upgrade
pkg install tsu wget git python3 openssh termux-auth -y
  • tsu:Termux版的su(sudo)
  • wget:下载工具
  • git:版本控制器
  • python3:不多说了
  • openssh:用于 ssh 和 sftp
  • termux-auth:Termux的一个认证模块,用于在Android设备上提供安全的身份验证机制
  • -y:自动确认安装以上软件

设置用户

获取用户名,比如 u0_a258

whoami

设置密码

passwd

获取 ipv6 地址

首先确保连入的网络支持 ipv6。最简单的方法是访问 http://www.test-ipv6.com/ 查看 ipv6 连接情况。

方法1

查看手机状态信息,然后 ping 一下试试能不能通

方法2

运行以下指令,获取 ipv6 地址

curl https://ipv6.ddnspod.com

注意:由于安卓权限问题,不能用 ip aifconfig 等命令直接获取 ipv6 地址。

开启 ssh

termux 输入

sshd -p 8022

电脑上输入以下命令以连接

ssh <用户名>@<ipv6 地址> -p 8022

登录 dynv6 获取域名

参考这篇文章

Termux解析公网ipv6——从全世界各地连接你的Termux, https://blog.csdn.net/YiBYiH/article/details/127550607

向 dnyv6 传递 ipv6 地址命令如下

curl 'http://dynv6.com/api/update?hostname=<域名>&token=<令牌>&ipv6='$(curl --silent https://ipv6.ddnspod.com)

之后可以直接用域名而不是 ipv6 地址访问服务器了

启动后自动完成配置

首先编辑 .bashrc 文件 nano ~/.bashrc

在文件最后添加以下代码

user_name=$(whoami)
echo "User name: $user_name" ip_address=$(curl --silent https://ipv6.ddnspod.com)
echo "IP address: $ip_address" hostname=xxxxx.dynv6.net
echo "hostname: $hostname"
token=xxxxxxxxxx curl --silent "http://dynv6.com/api/update?hostname=$hostname&token=$token&ipv6=$ip_address"
echo "" sshd -p 8022 echo "Please run the following command to establish an ssh connection with Termux:"
echo "ssh $user_name@$ip_address -p 8022"
echo "ssh $user_name@$hostname -p 8022"

ctrl+x 保存。

sftp 服务器

在安装 openssh 后,也自动安装了 sftp 服务,因此可以直接在电脑上打开 sftp 客户端进行连接。

图中用的是 WinSCP 软件

qemu 运行虚拟机

在 Termux 中使用 proot-distro 安装的 linux 系统,是以 chroot(更改根目录)的形式运行的,而不是作为一个独立的虚拟机或容器,因此功能非常受限。

想要使用真正的 linux 虚拟机,需要使用 qemu。

性能基准测试

采用如下 python 脚本进行跑分

import time

def doubleFact(x):
ans = 1
for i in range(1, x + 1):
if i % 2 == x % 2:
ans *= i
return ans def asin(x, t):
answer = 0
for k in range(0, t + 1):
a = (doubleFact(2 * k - 1) / doubleFact(2 * k)) * (
pow(x, 2 * k + 1) / (2 * k + 1)
)
# print("k=%d,a=%s" % (k, a))
answer += a return answer start_time = time.time()
print(asin(1, 1666) * 2)
print("--- %s seconds ---" % (time.time() - start_time))

参考资料

基于 Termux 和 ipv6 把手机打造成公网服务器的更多相关文章

  1. 基于EasyDarwin EasyPusher实现Android手机直播推送功能

    EasyPusher直播推送在之前就已经稳定支持了Windows.Linux.ARM上的RTSP直播推送功能,配合EasyDarwin开源流媒体服务器,延时基本在1s以内,这个技术方案经过一年多时间, ...

  2. 旧手机改造成web服务器并实现内网穿透

    前几天由于gitee的审核引擎一通乱杀,使得gitee pages停止提供服务,心生更换服务器或者其他pages托管的想法,看了看价格感人的云服务器以及空空的钱包,这时,脑子有个奇怪的想法飘过,自己搞 ...

  3. 解决IE下载 apk/ipa 变成zip:Android 手机应用程序文件下载服务器 配置解决方法

    解决IE apk/ipa变成zip:Android 手机应用程序文件下载服务器 配置解决方法 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Da ...

  4. 【转】 Android 基于google Zxing实现对手机中的二维码进行扫描--不错

    原文网址:http://blog.csdn.net/xiaanming/article/details/14450809 转载请注明出处:http://blog.csdn.net/xiaanming/ ...

  5. Android基于WIFI实现电脑和手机间数据传输的技术方案研究

    Android手机和电脑间基于wifi进行数据传输,从技术上讲,主要有两种方案: 一种是通过ftp协议实现,Android手机作为数据传输过程中的ftp服务器: 一种是通过http协议实现.Andro ...

  6. 基于h5+ajax实现的手机定位

    因朋友需要,之前看了下关于h5的手机定位,目前写了个demo在这里贴出来,感兴趣的朋友可以看一下. 目前的版本只是demo,仍有几个问题需要完善一下,问题如下: 1,如何将经纬度等数据发送到被定位人看 ...

  7. vue-miniQQ——基于Vue2实现的仿手机QQ单页面应用(接入了聊天机器人,能够进行正常对话)

    使用Vue2进行的仿手机QQ的webapp的制作,作品由个人独立开发,源码中进行了详细的注释. 由于自己也是初学Vue2,所以注释写的不够精简,请见谅. 项目地址 https://github.com ...

  8. 基于PT的ipv6 ripng配置

    在Cisco路由器上配置RIPng 如图规划(本人学号后三位056) 路由器配置(以R1为例) R1(配置接口地址) Router(config)#int fastEthernet 0/0 Route ...

  9. Android 基于google Zxing实现对手机中的二维码进行扫描

    转载请注明出处:http://blog.csdn.net/xiaanming/article/details/14450809 有时候我们有这样子的需求,需要扫描手机中有二维码的的图片,所以今天实现的 ...

  10. 基于HTML5和SVG的手机菜单动画

    在线演示 本地下载

随机推荐

  1. 习题8 #第8章 Verilog有限状态机设计-4 #Verilog #Quartus #modelsim

    4. 用状态机设计交通灯控制器,设计要求:A路和B路,每路都有红.黄.绿三种灯,持续时间为:红灯45s,黄灯5s,绿灯40秒. A路和B路灯的状态转换是: (1) A红,B绿(持续时间40s): (2 ...

  2. SAP UI5 官方教程学习记录

    最近有闲跟着官方的Get Started教程学习了UI5,记录一下自己学习中遇到的几个问题. 本文链接:https://www.cnblogs.com/hhelibeb/p/17835722.html ...

  3. TVM 中的 Profiler 设计

    一.基本用法 首先看 Profiler 的用法: with ms.Profiler() as profiler: # .... 用户代码 print("Tuning Time:") ...

  4. 【项目学习】Anchor:一种提供稳定币存款低波动收益率的去中心化的储蓄协议

    简介 基于稳定币的获利产品. 贷方人放出稳定币以供借款.借方通过抵押资产(base asset)的方式,以低于协议定义的借贷比率借入稳定币.Anchor 协议使用抵押资产进行质押以获得奖励,然后将质押 ...

  5. DashVector x 通义千问大模型:打造基于专属知识的问答服务

    本教程演示如何使用向量检索服务(DashVector),结合LLM大模型等能力,来打造基于垂直领域专属知识等问答服务.其中LLM大模型能力,以及文本向量生成等能力,这里基于灵积模型服务上的通义千问 A ...

  6. IDEA使用——常用配置

    一. 设置鼠标悬停代码提示 二. 设置Ctrl+滚乱调整字体大小 三. 设置自动导包(不设置自动导包,我们也可以通过Alt+Enter进行手动导包) 四. 设置显示行号和方法间分隔符 五. 设置代码提 ...

  7. Vue cli之组件的嵌套

    前面显示Home.vue页面组件的内容时,我们是在App.vue通过import导入使用的.这个过程就是组件的嵌套使用.那么我们除了App.vue可以导入其他页面以外,也可以通过在Home.vue中导 ...

  8. Android 13 - Media框架(19)- ACodec(一)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 这一节我们将会一起了解 ACodec 的设计方式,在看具体的实现细节前我们要先了解它内部的状态转换机制,这也是ACodec的核心难点之一. 1.AH ...

  9. Qt下载、安装及环境搭建

    1  下载 刚开始去的官网下载,需要注册账号,而且还比较麻烦,后来找到了一个安装包的链接,直接下载就好了:http://mirrors.ustc.edu.cn/qtproject/archive/qt ...

  10. 绘图与可视化--pandas中的绘图函数

    matplotlib API函数都位于matplotlib.pyplot模块中. 本节代码中引入的约定为:import matplotlib.pyplot as plt numpy库也会用到,约定:i ...