linode clone server后出现的Read-only file system
xxxxx Read-only file system
原因:这是个小概率的官方已知问题,发生在clone的第一次运行中。
解决:reboot
xxxxx Read-only file system
原因:这是个小概率的官方已知问题,发生在clone的第一次运行中。
解决:reboot
Facility | Hostname | Test Download |
---|---|---|
US East(美国东部,纽瓦克) | speedtest.newark.linode.com | 100MB-newark.bin |
US Southeast(美国东南,亚特兰大) | speedtest.atlanta.linode.com | 100MB-atlanta.bin |
US Central(美国中部,达拉斯) | speedtest.dallas.linode.com | 100MB-dallas.bin |
US West(美国西部,费利蒙) | speedtest.fremont.linode.com | 100MB-fremont.bin |
EU Central(欧洲中部,法兰克福) | speedtest.frankfurt.linode.com | 100MB-frankfurt.bin |
EU West(欧洲西部,伦敦) | speedtest.london.linode.com | 100MB-london.bin |
AP South(亚太南部,新加坡) | speedtest.singapore.linode.com | 100MB-singapore.bin |
AP Northeast(亚太东北,东京) | speedtest.tokyo2.linode.com | 100MB-tokyo2.bin |
方案思路: 对关键数据和mdata数据做加密,阻止播放器正确解析
实现细节:
以下的内容其实也适用于在安卓下编译其他工具。
ffmpeg下载:https://github.com/FFFmpeg/FFFmpeg
编写配置脚本:
TOOLS_DIR=ndk路径/toolchains/llvm/prebuilt/linux-x86_64/bin
./configure --enable-shared \
--disable-static \
--disable-x86asm \
--enable-cross-compile \
--cc=$TOOLS_DIR/aarch64-linux-android30-clang \
--cxx=$TOOLS_DIR/aarch64-linux-android30-clang++ \
--strip=$TOOLS_DIR/llvm-strip \
--extra-cflags="-I$(pwd)/include" \
--extra-ldflags="-L$(pwd)/libs" \
--arch=arm64 \
--prefix=$(pwd)/install/aarch64 \
--target-os=android
请注意arch要更新成实际的:arch=arm64 or arch=arm
如果想让程序在当前目录寻找依赖的.so文件(LDFLAGS = -Wl,--hash-style=sysv,-Bsymbolic,-rpath=./):
make -j16 -Wl,--hash-style=sysv,-Bsymbolic,-rpath=./
// 注释
func预定义标识符
在
指定的结构体初始值设定项
-空的宏参数
在
灵活的数组成员 (zero size arrays)
内联函数
整数常量类型规则
将声明和代码混合
long long 类型和库函数
snprintf() 函数家族
枚举声明中支持尾随逗号
可变参数宏
长度可变的数组
这两天因为某个需求,一直在研究这个问题。
网上都看了,什么ipv6 subnet daemon.json 之类的,都是一通抄,还是没有能说明白关键联系的,很多都是抄的碎片化信息。
因为说不清楚关联,所以就没法在实际环境中结合实际灵活解决问题。
docker的版本问题。初步结论是:docker engine 的版本大于等于20.10.2 。参见:https://zhuanlan.zhihu.com/p/342633966
经过验证,如果版本不对,在配置daemon.json时,就会报错,令人莫名, 实际是版本的ipv6支持问题,不支持新字段。
注意:系统默认的docker版本是跟这个系统的代码版本库走的,所以想要最新的docker版本,首先要确认自己的系统,否则要手动安装。
这个也是网上看到最多的:
{
"ipv6": true,
"fixed-cidr-v6": "fd00::/80",
"experimental": true,
"ip6tables": true
}
在跳过了docker版本的坑,这里就可以配置了。这里核心的是那个fixed-cidr-v6, 很多人看不懂这个,不知道这个要怎么改,这个就要自己实际弄懂ipv6的子网了,要根据自己的外网IPV6地址,配置实际的子网段。请google搜索 "ipv6 subnet"。
docker run --rm -it busybox ping -6 -c4 ipv6-test.com
docker run --rm -it busybox ifconfig
正常返回,就说明系统的docker ipv6能力正常
目前测试某种场景,stcp好用,sudp不好用,先记录下,待跟进。 配置时需注意
目标:通过密码从国内代理流量到国外(ssh)
略,通用配置
frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
[secret_ssh]
type = stcp
sk = abcdefg
local_ip = 127.0.0.1
local_port = 22
frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
[secret_ssh_visitor]
type = stcp
role = visitor
server_name = secret_ssh
sk = abcdefg
bind_addr = 127.0.0.1
bind_port = 6000
server_name sk 可以简单理解成frpc远端的账号密码。
ssh -oPort=6000 x.x.x.x(国内的ip)
效果相当于endpoint 中的脚本跟上cmd 中的参数
为了防止网络嗅探,一般拿到vps第一个就是关密码,开秘钥登陆
编辑 /etc/ssh/sshd_config 文件,注意是sshd_config,不要眼花看成成ssh_config
#开秘钥:
RSAAuthentication yes
PubkeyAuthentication yes
PubkeyAcceptedKeyTypes +ssh-rsa
#关密码:
PasswordAuthentication no
篇日志完后记得重启
systemctl restart ssh