分类 Linux 下的文章

https://www.bilibili.com/video/BV1p3411i7FV?share_source=copy_web
实际上,几年前我就听deepin论坛的大佬说UOS上有原生微信,但是有系统判断,不是UOS不能正常使用。随后听说有大佬已经修改好了deb包,去掉了系统校验。但是随后没了消息,我也找不到深度论坛的原帖子了。前几天UOS官方号突然发视频表示UOS和腾讯合作已上架原生微信。很快,我在吾爱破解找到了坛友发来的帖子,里面附有提取出来的deb安装包

- 阅读剩余部分 -

Shell脚本实现方案

方案1:缺点无法自动选择有效时间长的ipv6长地址,但是仅需一个Shell文件即可完成。
#!/usr/bin/bash    
dnspod_ddnsipv6_id="#####" #【API_id】将引号内容修改为获取的API的ID
dnspod_ddnsipv6_token="####" #【API_token】将引号内容修改为获取的API的token
dnspod_ddnsipv6_ttl="600" # 【ttl时间】解析记录在 DNS 服务器缓存的生存时间,默认600(s/秒)
dnspod_ddnsipv6_domain='######' #【已注册域名】引号里改成自己注册的域名
dnspod_ddnsipv6_subdomain='#####' #【二级域名】将引号内容修改为自己想要的名字,需要符合域名规范,附常用的规范
local_net="eth0" # 【网络适配器】 默认为eth0,如果你的公网ipv6地址不在eth0上,需要修改为对应的网络适配器
# 常用的规范【二级域名】
# 【www】 常见主机记录,将域名解析为 www.test.com
# 【@】   直接解析主域名 test.com
# 【*】   泛解析,匹配其他所有域名 *.test.com
#  改进了非fe80开头内网地址被误解析的错误。ps:仅支持中国电信,中国联通,中国移动使用,若国外ipv6无法解析请自行修改脚本。
# 举例
# 在腾讯云注册域名,登陆DNSPOD,在【我的账号】的【账号中心】中,有【密钥管理】
# 点击创建密钥即可创建一个API
# 如果你在腾讯云注册域名叫【test.com】
# 那么【dnspod_ddnsipv6_domain】后面就填【test.com】
# 然后根据常用的规范/自己想要的名字在【dnspod_ddnsipv6_subdomain】填入自己需要的名字
# 现假设为【file】,那么你的访问地址为【file.test.com】
if [ "$dnspod_ddnsipv6_record" = "@" ]
then
  dnspod_ddnsipv6_name=$dnspod_ddnsipv6_domain
else
  dnspod_ddnsipv6_name=$dnspod_ddnsipv6_subdomain.$dnspod_ddnsipv6_domain
fi

die () {
    echo "Error: unable to find [public IPv6 address], please use the 'ip addr' command or query the network panel of the system to check the network card, and fill in the name of the network card with the IPv6 address in the 'local_net' position in the command file." >&2
    echo "IP地址提取错误: 在指定的网络适配器上[$local_net]找不到<公网IPv6地址>(不是fe80开头),请使用'ip addr'命令或在系统的网络面板查询有公网IP的网络适配器,然后在脚本的[local_net]中用填写网络适配器的名称。" >&2
    exit
}

ipv6_list=`ip addr show $local_net | grep inet6 | sed 's/\/.*//g' | awk '{print $2}'  | grep 24 |  awk 'NR==1{print}'` || die

for ipv6 in ${ipv6_list[@]}
do
    if [[ "$ipv6" =~ ^fe80.* ]]
    then
        continue
    else
        echo select IP: $ipv6 >&1
        break
    fi
done

if [ "$ipv6" == "" ] || [[ "$ipv6" =~ ^fe80.* ]]
then
    die
fi

dns_server_info=`nslookup -query=AAAA $dnspod_ddnsipv6_name 2>&1`

dns_server_ipv6=`echo "$dns_server_info" | grep 'address ' | awk '{print $NF}'`
if [ "$dns_server_ipv6" = "" ]
then
    dns_server_ipv6=`echo "$dns_server_info" | grep 'Address: ' | awk '{print $NF}'`
fi
    
if [ "$?" -eq "0" ]
then
    echo "DNS server IP: $dns_server_ipv6" >&1

    if [ "$ipv6" = "$dns_server_ipv6" ]
    then
        echo "The address is the same as the DNS server." >&1
    fi
    unset dnspod_ddnsipv6_record_id
else
    dnspod_ddnsipv6_record_id="1"   
fi

send_request() {
    local type="$1"
    local data="login_token=$dnspod_ddnsipv6_id,$dnspod_ddnsipv6_token&domain=$dnspod_ddnsipv6_domain&sub_domain=$dnspod_ddnsipv6_subdomain$2"
    return_info=`curl -X POST "https://dnsapi.cn/$type" -d "$data" 2> /dev/null`
}

query_recordid() {
    send_request "Record.List" ""
}

update_record() {
    send_request "Record.Modify" "&record_type=AAAA&record_line=默认&ttl=$dnspod_ddnsipv6_ttl&value=$ipv6&record_id=$dnspod_ddnsipv6_record_id"
}

add_record() {
    send_request "Record.Create" "&record_type=AAAA&record_line=默认&ttl=$dnspod_ddnsipv6_ttl&value=$ipv6"
}

if [ "$dnspod_ddnsipv6_record_id" = "" ]
then
    echo "seem exists, try update." >&1
    query_recordid
    code=`echo $return_info  | awk -F \"code\":\" '{print $2}' | awk -F \",\"message\" '{print $1}'`
    echo "return code $code" >&1
    if [ "$code" = "1" ]
    then
        dnspod_ddnsipv6_record_id=`echo $return_info | awk -F \"records\":.{\"id\":\" '{print $2}' | awk -F \",\"ttl\" '{print $1}'`
        update_record
        echo "update sucessful" >&1
    else
        echo "error code return, domain not exists, try add." >&1
        add_record
        echo "add sucessful." >&1
    fi
else
    echo "domain not exists, try add."
    add_record
    echo "add sucessful" >&1

fi

Shell方案2

来自:https://github.com/rehiy/dnspod-shell 非单文件,但是也可以稍加修改后单文件运行,并且支持识别长效地址。

已知适用于Ubuntu和基于Ubuntu的发行版,理论适用于全部Linux发行版(可能需要手动修改字体目录)
今天配置WPS碰到的,缺字体,版权真是个麻烦的东西,官方不能直接给你提供,你得手动下载。
但是手动一个一个下载太慢了点,我打包一份从我的Windows10 复制来的(目前Linux mint20.4+Windows10双系统)字体。
解决Linux下WPS缺字体.zip
截图_2021-12-22_13-55-47.png
自行下载压缩包解压后以ROOT权限运行内附脚本即可。
(我看哪个不长眼的拿我博客去CSDN倒传,CSDN倒狗给我死远点!)

通过飙风电器的6in4隧道服务实现,因此延迟较高(国内某垃圾IDC连ipv6都要付费)
教程参考了https://www.bobobk.com/377.html ,由于我几个操作间隔时间非常长(大半年了)所以没有写教程,如果想复现可以参考这个教程。

ipv6网络测试

如果下方图片正常显示,则您可以正常访问ipv6网络。
测试图片,看到此文字时您可能无法正常访问ipv6网络或本站ipv6隧道瘫痪。

纯ipv6网络站点

https://xfox.fun 是ipv4&6双栈网站,http://ipv6.xfox.fun 是纯ipv6网站。

我在Linux.cn的一篇文章里找到了这个游戏,试玩了一下略微简陋,但是总的来说感觉还不错。
官网:http://www.minetest.net/ 官方Wiki:https://wiki.minetest.net/Getting_Started/zh-hans
有个小插曲,中文文档里对GNU/Linux安装是这么描述的:sudo apt get install minetest,显然少了个"-",我就跑去IRC里提Bug了,现在已经改为:sudo apt install minetest,这是我今年正经捉的第一个小虫子,也是第一次主动成功使用IRC和别人用英语交流。

兑现承诺:和朋友分享这个游戏

sendpix0.jpg
截图_2021-12-19_03-33-35.png

- 阅读剩余部分 -

Termux的配置教程首推Termux 高级终端安装使用配置教程

首先换源:(Android 7+)

termux-change-repo

其他你认为需要的软件自行选择,如果你有root权限可以顺便安装tsu(代替su的包)

安装SSH服务端并设置自启

pkg install openssh
echo "sshd" >> ~/.bashrc

这样就不用每次打开termux输入一次sshd了

安装nginx、php、MariaDB

pkg install nginx php mariadb

nginx常用命令

nginx 常用命令(此部分摘抄自此链接,但是我不确定作者是不是原创)

nginx -s quit //优雅停止nginx,有连接时会等连接请求完成再杀死worker进程
nginx -s reload //优雅重启,并重新载入配置文件nginx.conf
nginx -s reopen //重新打开日志文件,一般用于切割日志
nginx -v //查看版本
nginx -t //检查nginx的配置文件
nginx -h //查看帮助信息
nginx -V //详细版本信息,包括编译参数
nginx -c filename //指定配置文件

未完待续