trojan

一、简介

技术开发少不了使用代理,因为国内的站点存在大量且重复的各种资料备份,但只有一手的wiki才能精准解决问题,且让你印象深刻。墙这玩意以前觉得是封锁,但久了才会发现这确实是个保护罩。具体其他自己慢慢摸索吧

这里介绍下trojan的客户端部署,之前都是手动安装trojan,改下配置文件就直接用(刚好有三个小鸡就对应安装在台式机、笔记本和pve上)。但由于jia'jing'pin'qiong,对家里台式机的上钟时间稍微做了限制,导致台式机配置的代理对内网用不了,又不可能单纯为此开个虚拟机。

所以就有了这篇内容,可以用docker部署trojan客户端,只要有代理,想开多少开多少。

Archlinx主力机配置记录

硬件环境

  • CPU:AMD5900X
  • 主板:华擎x570太极雷蛇
  • 显卡:3060Ti 8G
  • 台式机!!!

一、archlinx系统安装

视频参考:https://www.bilibili.com/video/BV1J34y1f74E/

1.1 archlinux USB引导安装

把arch镜像写入U盘就行

1.2 设置U盘启动,进入live环境

F2 bro
  • 根据主板进入bios(一般是F2或者F12),禁用安全启动,并选择U盘启动

启动后出现引导加载程序菜单,选择Arch Linux install medium 确认就行

远程桌面控制

一、nomachine介绍

这是一个内网的远程桌面控制软件,使用专有的nx协议连接,会根据网络速度和容量动态调整压缩和带宽,支持win、linux、mac、android、ios。实测使用丝般流畅(得看你的服务器带宽,3M带宽下比向日葵好)。

在内网中使用需要控制与被控端都安装nomachine,启动后会自动扫描并展示可用的nomachine服务。

它的nx协议走的是4000端口,只需对外暴露本地的4000端口就能通过网络连接远程访问!

被控端显示设置

被控端在使用nomachine时不能关闭显示器,可以设置无头(Headless)显示,或者淘宝直接买给假负载给电脑插上。

Dot模板小工具

Quote

轻量前端渲染框架doT,适用自定义数据和模板简单渲染的场合,详情语法及使用参考dot官网1与美团相关解析2

一、dot模板

二、dot模板数据

仅仅支持json格式数据

三、结果

执行

四、内置函数

sayHello = function () {
    return this.name
}

// fisha_shafish_a -> fishaShafishA
camel = function(str, capitalizeFirstLetter) {
    var words = str.split('_');
    var camelCaseStr = words[0];

    for (var i = 1; i < words.length; i++) {
      var capitalizedWord = words[i].charAt(0).toUpperCase() + words[i].slice(1);
      camelCaseStr += capitalizedWord;
    }

    if (capitalizeFirstLetter) {
      camelCaseStr = camelCaseStr.charAt(0).toUpperCase() + camelCaseStr.slice(1);
    }

    return camelCaseStr;
}

// fishaShafishA -> fisha_shafish_a
convertToUnderscore = function(str, uppercase) {
  var underscoreStr = "";

  for (var i = 0; i < str.length; i++) {
    if (str.charAt(i) === str.charAt(i).toUpperCase() && i > 0) {
      underscoreStr += "_" + str.charAt(i).toLowerCase();
    } else {
      underscoreStr += str.charAt(i);
    }
  }

  if (uppercase) {
    underscoreStr = underscoreStr.toUpperCase();
  }

  return underscoreStr;
}

convertToUpperCase = function(str) {
    return str.toUpperCase();
}

convertToLowerCase = function(str) {
    return str.toLowerCase();
}

软路由记录

芯片:N5105

网口识别

dmesg | grep -i eth

物理接口符号 pve识别网口号 物理网口 软路由网口
eth0 enp2s0 02:00.0 eth0(桥接)
eth1 enp3s0 03:00.0 eth3(wan)
eth2 enp4s0 04:00.0 eth2(lan)
eth3 enp5s0 05:00.0 eth1(lan)

抽风的Git

一、现象

代码提交时出现ssh: connect to host ssh.github.com port 443: Connection refused错误

二、解决

1.换回22端口-无用

~/.ssh/config文件中的

Host github.com
Hostname ssh.github.com
PreferredAuthentications pulickey
IdentityFile ~/.ssh/id_rsa
Port 443
去掉

2.指定使用https仓库-无用

vim shafishcn/.git/config,将url = git@github.com:shafishcn/shafish_blog.git改成url = https://github.com/shafishcn/shafish_blog.git

Mysql事务

事务是一组的逻辑操作,该操作只有执行成功和失败两种状态。

事务的特征

  • 原子性:执行的最终状态只有成功和失败这两种;
  • 一致性:事务执行之前和执行之后,数据始终处于一致的状态;
  • 持久性:事务提交完成后,对数据的操作会被持久化到数据库中,且不会被回滚;
  • 隔离性:并发执行的多个事务之间互不干扰。

事务的类型

  • 扁平事务:常见的使用begin/start transaction 开始,commit/rollback结束的事务。事务全部执行成功,或全部执行失败;
  • 保存点扁平事务:在扁平事务的基础上,添加有事务保存点,可以进行回滚至保存点的操作(也就是事务的部分回滚);
    • 设置事务保存点:savepoint pointName
    • 回滚至保存点:rollback to pointName
    • 删除保存点:release savepoint pointName
  • 链式事务:事务的提交操作与下一个事务的开始操作为原子不可分,没有间隔;
  • 嵌套事务:事务操作包含内部子事务,子事务提交后,顶层事务不会全部提交,只有顶层事务提交完成后,整个事务才算提交完成;
  • 分布式事务:不同数据库不同服务器的各个分支事务要全部提交成功,或全部提交失败。

Trilium笔记

https://github.com/zadam/trilium

一、安装

  • 1.docker本地运行
    docker run -d --name trilium -p 8080:8080 -v /home/xxx/docker/trilium-data:/home/node/trilium-data zadam/trilium:latest
    
  • 2.域名dns解析:https://dns.console.aliyun.com/
  • 3.配置反向代理:宝塔面板
  • 4.域名证书:https://freessl.cn/certlist
  • 5.wss协议升级(使内容实时生效)
    location /
    {
      ...
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection 'upgrade';
      ...
    }
    

PVE使用

一、显卡直通

https://www.youtube.com/watch?v=5ce-CcYjqe8 https://www.youtube.com/watch?v=BoMlfk397h0&t=915s https://www.youtube.com/watch?v=_JTEsQufSx4 https://gitlab.com/risingprismtv/single-gpu-passthrough/-/wikis/1

# 更新:
nano /etc/apt/sources.list.d/pve-enterprise.list 
# 注释掉 deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise

echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list

gpg --keyserver keyserver.ubuntu.com --recv-keys 0D9A1950E2EF0603
gpg --export --armor 0D9A1950E2EF0603 | apt-key add -
apt update

echo "options vfio-pci ids=10de:2486,10de:228b  disable_vga=1" > /etc/modprobe.d/vfio.conf
nano /etc/modprobe.d/blacklist.conf
blacklist nouveau
blacklist radeon
blacklist nvidia

nano /etc/modprobe.d/kvm.conf
options kvm ignore_msrs=1

update-initramfs -u

reboot

直通: 1. https://blog.51cto.com/u_12242014/2382885

容器日常

零、安裝

或者直接安装官网安装:https://docs.docker.com/engine/

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
archlinux
# https://wiki.archlinux.org/title/Docker

sudo pacman -S docker docker-compose
yay -S docker-rootless-extras

sudo echo "your_username:165536:65536" > /etc/subuid
sudo echo "your_username:165536:65536" > /etc/subgid

sudo systemctl enable docker
sudo systemctl start docker

export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock