Wayne's blog

归档 · 全部

首页

关于

归档

好友们

loading..
DNSmDNS

mDNS

multicast DNS背景我之前一直都在想,怎么解决路由器的DNS的映射问题。其实要求不高,只需要一个符合逻辑的 域名 就可以了。 太难了,不管是之前的小米路由器,还是现在的华硕路由器,维护起来太麻烦。 所以现在我要介绍一个技术:mDNS 路由器 DNS一般来说路由器上都会自带一个DNS作为缓存(dnsmasq),用来加速访问。 不管是运营商提供的 DNS 或者是 Public DNS,延迟 一般都会在 5 - 30 ms 左右,而路由器上的 DNS 因为距离实在太短了,所以 几乎都在 <= 1 m, 所以一般情况下 会有 5 - 30倍的速度提升。 Also,你还可以利用这个本地DNS来做一些自定义功能,比如做一些短域名解析,或者说自定义的主机解析。但大多数路由器厂商都没有提供这个功能..

更多
loading..
Python

Python 打包平台二进制文件

Python 打包平台二进制文件背景不知道为什么 Python 怎么那么火,到处都有在用,导致不得不用Python来完成一些事情。 python 安装依赖需要用到 pip,而且还需要有外网,但是这对离线部署就很不友好。 所以 在一些场景下还是需要打包二进制的。 e.gprogram// app.py from flask import Flask import service.user import service.algorithm app = Flask(__name__) @app.route("/") def hello(): return {"status": "UP"} @app.route(&quo..

更多
loading..
HTTPSAPI

基于 HTTPS 保护的 API

基于 HTTPS 保护的 API最近部署了 ELK,KubeSphere,发现好多东西都在使用自签发的证书,并且现在HTTPS的网站覆盖率已经非常非常高了。 既然 HTTPS 这么好用,能不能解决更多问题呢。 我经常遇到一个场景,现代微服务应用,很多服务的职责非常清晰,只提供一个功能,一两个接口。 那么为了这一个接口而设计 各种权限认证 或者 Token 校验,显得非常罗嗦 麻烦。 但苦于一直没有找到轻量化的方案,所以一般情况下 我更多的选择是 IP Allow List。 但 我觉得 这个解,非 HTTPS 不可。 HTTPS生成证书mkdir -p certs openssl req \ -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key ..

更多
loading..
k8skubesphere

KubeSphere 离线部署 (2022)

KubeSphereOffline installA主机0. required 有网络 有国际代理 相同系统 可用空间 >= 40GiB 1. 下载相关依赖apt update apt install sudo curl openssl wget vim htop apt install socat conntrack ebtables ipset # 下载 kube key curl -sfL https://get-kk.kubesphere.io | sh - # 下载 所需要的images curl -L -O https://github.com/kubesphere/ks-installer/releases/download/v3.2.1/images-list.tx..

更多
loading..
ELKlog

ELK Docker deploy (2022)

ELK Docker deploy背景又到了各种运维time的时候了,最近要搭好多东西,比如 今天的主角 ELK,还有一些其他的基础设施,像是K8s,skywalking,prometheus。 每次安装这些组件版本都会比以前更新很多,并且和以前的安装方式有很大区别,每次都会踩新坑,那么现在就开始吧。 这里的 ELK 是 采用 Docker + 二进制的部署方式,因为 logstash 的 Docker 镜像似乎有些问题,Logstash 有些地方还是很坑的,所以后续我还会研究下更优雅的方式去做日志传输。 ElasticSearch 存储日志 Logstash 传输日志到 ElasticSearch Kibana 查看日志和分析日志 ElasticSearch ES 目前的 8.1 版本 链接方式..

更多
loading..
iptablesproxy

网关代理

网关代理(透明代理)最近 macOS 一直没有办法更新,即使set了https代理,然后最近做一些实验需要一个稳定的长时间在线的Linux实例。 多方面考虑下来还是要在NAS上开个虚拟机,既然都开了,不妨把网络问题一并解决吧。 env: ubuntu 20.04 (LTS) clash v1.10.0 iptables v1.8.4 (legacy) install1. 开启转发vim /etc/sysctl.conf # 去掉注释 net.ipv4.ip_forward = 1 # 生效 sysctl -p 2. 安装 clashhttps://github.com/Dreamacro/clash 下载release, 解压出来 # 添加可执行权限 chmod +x clash mkdir c..

更多
loading..
mediawebmhevcav01

未来视频编解码器

未来视频编解码器首先讲一下 这不是我要做个编码器,我是要用一个编码器,准确的来说 是用一些编码器。 Google 推出的 webp 和 webm 出现的场景越来越多了,各类编解码器也都进入到了一个新的纪元。so 几年过去了,我决定 review 一下现有的编解码器。 HEVC (mp4) 编解码较快 较 AVC 质量更好 HEVC 是现有设备兼容(高质量)能力最强的,编解码要求最低的。(指较新的设备)。 但是也是对商业软件(针对编解码)收费的,个人自由使用。 ffmpeg -i input -c:v libx265 -crf 26 -preset fast -c:a aac -b:a 192k output.mp4 对于 有视频压制工作流的Studio来说 来说,有 NVENC 的夹持下 能做到速度最快..

更多
loading..
HLSmedia

HLS Media

HLS Media之前我一直有一个误区,以为HLS是一个服务,可以把视频文件转换成媒体流。 但其实不是这样的,它是一种媒体格式,和日常使用的mp4,mov 是差不多的,但是又不一样。 HLS 首先会有一种特定的结构(m3u8),接着 再通过网络请求(HTTP),最后 客户端播放的时候,只需把这些结构拼装起来 即可播放。 m3u8m3u8 是一个播放列表, 一个播放列表可视为一个完整的视频,播放列表内 记录着一个个小视频。 这是一个 例子 output.m3u8 #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.133333, output0.ts #EXTINF:10.133333, ou..

更多
loading..
SSH

SSH Agent & Tunnel

背景最近因为一个离奇的bug,不得不重装系统了,这就导致原来所有信任的证书 全部都要再弄一遍了。 这次打算更轻量些,一些依赖的服务不再本地或者我虚拟机里的PaaS平台了,会直接部署到国内的云平台上。 但是坏处么,自然也是非常严重的。 端口不能随便开放,像MySQL(3306),Redis(6379)这样的服务,很容易会被攻破密码,然后造成主机被入侵。 但是我本地又要用到这些,怎么做一个清凉又安全的链接呢? 下面我会分为两个部分来解决这些问题。 SSH-Agent由于 .ssh这个目录是隐藏的,如果不设置 macOS 是无法通过程序打开的窗口选择这些key的,但是一些SSH工具都会支持 SSH-Agent 登陆。 这样的方式不仅设置更少了,连接的时候也会更轻松,SSH-Agent 会自动尝试对应的Key。 c..

更多
loading..
macOShomebrew

homebrew install tutorial (2022)

Homebrew 安装教程 2022我在之前写过一个 macOS (ARM64) 安装常用的开发软件 文章,里面有提到 Homebrew 的安装, 但是要手动改写 安装脚本,我觉得还是不太优雅,正好借着重装系统的机会,来优雅一遍。 mirrors首选去到官网上可以看到 有这么一个章节 Git Remote Mirroring ,并且只需要设定环境变量就可以了。 那么就从这里入手。 这次看到清华大学开源镜像站里没毛病了,所以这次就来用清华大学的镜像 https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/ install1. 设定环境变量export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsing..

更多
1234513