============
== 白菜 ==
============
一个勤奋的代码搬运工!

Docker的 privileged 选项解析(特权模式:赋予容器几乎与主机相同的权限)

技术分享 Golang
Runtime privilege and Linux capabilities 参考官方文档:Docker run reference By default, Docker containers are “unprivileged” and cannot, for example, run a Docker daemon inside a Docker container. This is because by default a container is not allowed to access any devices, but a “privileged” container is given access to all devices (see the documentation on cgroups devices). The –privileged flag gives all capabilities to the container. When the operator executes docker run –privileged, Docker will enable access to all devices on the host as well as set some configuration in AppArmor or SELinux to allow the container nearly all the same access to the host as processes running outside containers on the host. Read more...

Debian 彻底卸载 LibreOffice

debian linux LibreOffice
LibreOffice是一款非常优秀的开源且免费的办公软件。但我用不到,为了优化更新系统的速度,所以这就卸载了,这不就几条命令的事。 下面的指令对所有基于 Debian 发行版(Debian, Ubuntu, Kubuntu, Xubuntu, buntu, Sidux, Knoppix, Linux Mint, Damn Small Linux, Crunchbag 等)都适用。 彻底卸载 LibreOffice 终端中输入命令: #不要漏掉通配符“?”,否则无法清除/卸载全部 LibreOffice 软件包 sudo apt-get purge libreoffice? 或 #不要漏掉通配符“?”,否则无法清除/卸载全部 LibreOffice 软件包 sudo aptitude purge libreoffice? 或 #不要漏掉通配符“*”,否则无法清除/卸载全部 LibreOffice 软件包 sudo apt-get remove --purge libreoffice* 然后清理残留: sudo apt-get clean sudo apt-get autoremove 附注(不完全卸载): 卸载libreoffice表格 sudo apt remove libreoffice-calc 卸载libreoffice绘图 sudo apt remove libreoffice-draw 卸载libreoffice幻灯片 sudo apt remove libreoffice-impress 卸载libreoffice word文档工具 sudo apt remove libreoffice-writer 清理残留 Read more...

通过 WireGuard 搭建 VPN 访问家里内网

技术分享 WireGuard
家里网络没有公网 IP,因此需要一台具有公网 IP 的服务器作为 WireGuard 网络的“server”。家中需要有一台设备作为 WireGuard 网络中的节点。我们将使用手机,在 4G 网络下检查 VPN 是否搭建成功。 IP 段选择 WireGuard 组网需要使用一个不与你的任何设备的网络相冲突的 IP 地址段。像 192.0.2.0/24 、198.51.100.0/24 、203.0.113.0/24 这些分配为用于文档和示例中的“TEST-NET”,这些地址段通常不会被你需要连接的其他网络所使用。 在下面的配置中,我会分别将 192.0.2.1、192.0.2.2、192.0.2.3 分配给公网服务器、家中的 Mac 和 iPhone。 在服务器上配置 WireGuard 要使用 WireGuard,首先需要确保 Linux 内核支持。可使用 modinfo wireguard 命令检查是否内置了 WireGuard。也可用过 uname -r 检查内核版本是否为 5.6 以上。 安装 wireguard Debian apt install wireguard 其他系统参考:install 完成服务器端的配置 在正确安装 wireguard 后,你可以通过如下命令快速创建一组公钥和私钥。 $ wg genkey | tee peer_A.key | wg pubkey > peer_A.pub && cat peer_A.key && cat peer_A. Read more...

K3s 快速入门指南:构建多云环境下的K3S集群

技术分享 k3s Kubernetes kubectl
K3s 是轻量级的 Kubernetes。server最低只需要512M内存即可运行。 不同账号甚至不同云服务商, 内网是不通的。所以要想办法实现跨公网的容器网络通信,保障任意一台节点上的pod能访问任意节点上的pod和service,和正常的kubernetes集群体验一致。 参考入门指南和多云解决方案,重新整理 目标:实现混合云(腾讯云服务器+甲骨文服务器+微软Azure服务器)境下的K3S集群 Server安装 # 局域网方案 curl -sfL https://get.k3s.io | sh - # 多云安装方案 curl -sfL https://get.k3s.io | sh -s - --node-external-ip=Server公网地址 --flannel-backend=wireguard-native 中国用户,可以使用以下方法加速安装: # 局域网方案 curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh - # 多云安装方案 curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - --node-external-ip=Server公网地址 --flannel-backend=wireguard-native --flannel-external-ip 运行此安装后: K3s 服务将被配置为在节点重启后或进程崩溃或被杀死时自动重启。 将安装其他实用程序,包括 ```kubectl```、```crictl```、```ctr```、```k3s-killall.sh``` 和 ```k3s-uninstall.sh```。 kubeconfig 文件将写入到 ```/etc/rancher/k3s/k3s.yaml```,由 K3s 安装的 kubectl 将自动使用该文件。 安装其他 Agent 节点 安装其他 Agent 节点并将它们添加到集群,请使用 K3S_URL 和 K3S_TOKEN 环境变量运行安装脚本 Read more...

Telegram 界面自定义翻译

telegram 汉化 语言包
语言包的获取方法 进入官网翻译界面 https://translations.telegram.org 点击 “Start Translating” 选择 对应语言 比如 简体中文 进入网址 https://translations.telegram.org/zh-hans/ 底部有 “Sharing Link” 在 telegram 中打开这个网址 就可以换界面语言了。 自定义界面语言的话,选择上面的 客户端类型,根据提示 编辑对应翻译内容 即可。 Telegram 中文语言包 https://t.me/setlanguage/zh-hans-beta

搭建反向代理服务:Telegram Bot Api 反向代理搭建

技术分享 nginx proxy telegram
上面一篇通过nginx和cloudflare workers 搭建的反向代理。 这一篇通过更简单的代码重下搭建个。 通过 Cloudflare Workers 搭建反向代理服务 创建 Cloudflare workers 的步骤都是一样的,代码不一样。 创建一个Worker 在首页选择Workers,若从未创建过则初始化,选择免费套餐,然后创建一个Worker。 编辑Worker内容 进入worker,点击快速编辑,将代码改为下方内容,其中hostname改为你自己的,然后点击保存部署,并可改名为例如cdn的worker。 // 这就是需要代理的网址 const hostname = "https://example.domain" // const hostname = "http://192.168.0.1" // const hostname = "https://your.domain" // const hostname = "https://your.domain/api/path" function handleRequest(request) { let url = new URL(request.url); return fetch(new Request(hostname + url.pathname,request)) } addEventListener("fetch", event => { event.respondWith(handleRequest(event.request)) }) 为域名添加DNS 添加路由,配置 指向步骤1创建的 Worker,到此等待DNS生效即可。 通过 Vercel 搭建反向代理服务 在github中新建个项目 创建一个文件,命名为 vercel.json 文件内容: { "routes": [ { "src": "/. Read more...

Telegram Bot Api 反向代理搭建

技术分享 nginx proxy telegram
由于一些原因,配置epusdt需要使用tg反向代理地址才能使用! #telegram代理url(大陆地区服务器可使用一台国外服务器做反代tg的url),如果运行的本来就是境外服务器,则无需填写 tg_proxy= 两种实现方案,根据个人喜好选择使用或发挥 Nginx反代Telegram Api 安装nginx sudo apt update && sudo apt install -y nginx 创建配置文件 nano tgapi.conf 输入一下内容并保存 server { listen 80; server_name tgapi.domain; location / { return 444; } location ~* ^/bot { resolver 8.8.8.8; proxy_buffering off; proxy_pass https://api.telegram.org$request_uri; } } 加载配置 sudo systemctl reload nginx #或 sudo nginx -s reload 测试访问 输入以下命令行,BOT_TOKEN换成自己机器人token。 curl https://tgapi.domain/bot<BOT_TOKEN>/getMe 看的机器人信息,就说明可以使用了。 配置 epusdt telegram代理url epusdt 配置(.env)参考 #telegram代理url(大陆地区服务器可使用一台国外服务器做反代tg的url),如果运行的本来就是境外服务器,则无需填写 tg_proxy=https://tgapi.domain docker 配置 nginx 参考 docker-compose. Read more...

甲骨文Vps iptables 开放端口设置

linux vps oracle iptables
在甲骨文的网页后台先开放端口 iptables 开放所有端口 sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -P OUTPUT ACCEPT sudo iptables -F Oracle自带的镜像默认设置了Iptable规则,关闭它 sudo apt-get purge netfilter-persistent && sudo reboot 测试端口是否已经开放 附注: 强制删除规则 sudo rm -rf /etc/iptables && sudo reboot 删除oracle-cloud-agent,防止甲骨文监控 snap remove oracle-cloud-agent 检查防火墙服务状态 sudo systemctl status iptables.service sudo systemctl status netfilter-persistent.service 远程检测端口开放状态 nmap ip或域名 附注2(开放指定端口): iptables 开放指定端口 iptables -I INPUT -p tcp --dport 80 -j ACCEPT 中间的 80 为所需要开放的端口,tcp 为传输协议 Read more...

Docker 搭建MTProto协议上网

技术分享 mtg docker mtproto
系统环境: Debian系(其他系只需要更换apt为对应系统的软件包管理工具名称即可) 安装Docker 安装Docker相关工具 sudo apt update && sudo apt -y upgrade && sudo apt install -y docker docker.io docker-compose 启动docker sudo systemctl enable docker && sudo systemctl start docker 验证是否安装成功 sudo docker run hello-world mtg v2版本 docker运行 生成密钥 sudo docker pull baicailin/mtg sudo docker run --rm baicailin/mtg generate-secret --hex trade.aliexpress.com #会看到一串ee开头的密钥,形如: eexxx44f3762c8a97d14f89df8c0174726164652e616c69657870726573732e636f6d 写入简单配置 echo "secret = \"把上面一步生成的密钥填进来\"" >config.toml echo "bind-to = \"0.0.0.0:443\"" >>config.toml 运行docker镜像命令 sudo docker run -d -v $PWD/config. Read more...

docker golang:alpine CGO 制作镜像的正确姿势

技术分享 Golang
当程序需要引入C/C++库(比如支持Sqlite数据库)的时候,编译环境需要打开CGO,否则打包完成后的程序就不能顺利运行(数据库初始化失败)。 这时就需要安装 build-base 配置编译环境。 参考 Dockerfile 如下: FROM golang:alpine as builder ENV CGO_ENABLED=1 WORKDIR /app COPY . . RUN apk add --no-cache --update git build-base RUN go mod tidy \ && go build -o api_client_linux ./cmd/api_client/ FROM alpine:latest as runner ENV TZ=Asia/Shanghai RUN apk --no-cache add ca-certificates tzdata libc6-compat libgcc libstdc++ WORKDIR /app COPY --from=builder /app/api_client_linux . VOLUME /app/conf EXPOSE 8080 ENTRYPOINT ["./api_client_linux" ,"-c","/app/conf/config.yaml"] 运行镜像我们也使用 Alpine ,由于 Alpine 极为精简,并没有常用的时区、证书等,会导致不可预料的错误。所以我们需要安装这些东西: 包名 用途 ca-certificates: CA证书,使用TLS tzdata: 时区配置 libc6-compat: C 标准库 libgcc: GCC 相关库,CGO编译程序依赖 libstdc++: C++ 标准库
Previous Page 2 of 8 Next Page