-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontent.json
More file actions
1 lines (1 loc) · 44.1 KB
/
content.json
File metadata and controls
1 lines (1 loc) · 44.1 KB
1
{"meta":{"title":"龟壳","subtitle":"","description":"如题","author":"Orca","url":"https://orcamin.github.io","root":"/"},"pages":[{"title":"所有标签","date":"2024-10-06T12:28:33.228Z","updated":"2024-10-06T12:28:33.228Z","comments":true,"path":"tags/index.html","permalink":"https://orcamin.github.io/tags/index.html","excerpt":"","text":""},{"title":"","date":"2024-10-06T12:53:28.794Z","updated":"2024-10-06T12:53:28.794Z","comments":true,"path":"404.html","permalink":"https://orcamin.github.io/404.html","excerpt":"","text":"404 很抱歉,您访问的页面不存在 可能是输入地址有误或该地址已被删除"},{"title":"archives","date":"2024-10-06T12:01:59.000Z","updated":"2024-10-06T12:01:59.967Z","comments":true,"path":"archives/index.html","permalink":"https://orcamin.github.io/archives/index.html","excerpt":"","text":""},{"title":"","date":"2024-10-08T09:58:26.161Z","updated":"2024-10-08T09:58:26.161Z","comments":true,"path":"about/index.html","permalink":"https://orcamin.github.io/about/index.html","excerpt":"","text":"人只愿意相信自己想相信的"},{"title":"所有分类","date":"2024-10-06T13:29:50.677Z","updated":"2024-10-06T13:29:50.677Z","comments":true,"path":"categories/index.html","permalink":"https://orcamin.github.io/categories/index.html","excerpt":"","text":""}],"posts":[{"title":"manjaro上运行anaconda一堆几把问题","slug":"anaconda","date":"2024-12-28T13:30:22.000Z","updated":"2024-12-28T13:49:41.725Z","comments":true,"path":"2024/12/28/anaconda/","permalink":"https://orcamin.github.io/2024/12/28/anaconda/","excerpt":"","text":"下载N卡驱动 1sudo mhwd -a pci nonfree 0300 1sudo reboot 1nvidia-settings 下载anaconda 1yay -S anaconda 创建环境 1conda create -n [环境名] 进入环境 1conda activate [环境名] 退出环境 1conda deactivate 下载CUDA 下载PyTorch 问题 问题1:Error while loading conda entry point: anaconda-cloud-auth (OPENSSL 3.0's legacy ......) 解决:./bashrc 中加入变量 1export CRYPTOGRAPHY-OPENSSL_NO_LEGACY=1","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"anaconda","slug":"anaconda","permalink":"https://orcamin.github.io/tags/anaconda/"},{"name":"manjaro","slug":"manjaro","permalink":"https://orcamin.github.io/tags/manjaro/"}],"author":"Orca"},{"title":"cs144","slug":"cs144","date":"2024-12-27T21:44:03.000Z","updated":"2024-12-28T05:49:38.926Z","comments":true,"path":"2024/12/28/cs144/","permalink":"https://orcamin.github.io/2024/12/28/cs144/","excerpt":"","text":"通过wireshark观察三次握手 观察浏览器向网络服务器打开TCP连接,使用SYN、SYNAC、ACK的三次握手 在Filter输入 1tcp.port == 443 && ip.addr == 104.18.2.173 tcp.port:向服务器发送TCP分段的端口 443:HTTPS默认端口 104.18.2.173:www.brown.edu的ip地址 选择要监听的网卡 现象: 第一行:三次握手的第一步,数据包标志为[SYN],从本地客户端随机分配的5368端口向IPDA1443端口发送HTTPS请求,同步请求 第二行:三次握手的第二步,服务器返回[SYN, ACK]包到本地客户端,同步请求与确认 第三行:三次握手的第三步,本地客户端回应IPDA的[ACK],确认 通过Tracert观察数据包在链路层通过互联网的路径 在PowerShell输入命令 1TRACERT.EXE -w 1 www.brown.edu -w 1:指定1s的超时时间 现象: *:timeout / 对方拒绝请求 站长工具-IP所在地批量查询 可以查看每一跳router的地理位置 通过wireshark观察数据封装 现象: 左下: 第一行:物理层 第二行:链路层 第三行:网络层 第四行:传输层(TCP) 第五行:应用层(HTTP) wireshark更改浅色主题 IP destination addr↩︎","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"计算机网络","slug":"计算机网络","permalink":"https://orcamin.github.io/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/"},{"name":"cs144","slug":"cs144","permalink":"https://orcamin.github.io/tags/cs144/"},{"name":"wireshark","slug":"wireshark","permalink":"https://orcamin.github.io/tags/wireshark/"},{"name":"tracert","slug":"tracert","permalink":"https://orcamin.github.io/tags/tracert/"}],"author":"Orca"},{"title":"ventoy美化(崩铁主题)","slug":"ventoy","date":"2024-12-20T02:59:27.000Z","updated":"2024-12-26T21:20:14.358Z","comments":true,"path":"2024/12/20/ventoy/","permalink":"https://orcamin.github.io/2024/12/20/ventoy/","excerpt":"","text":"源视频教程地址 崩铁主题地址 ps: ventoy基于GRUB,因此使用GRUB主题 ventoy支持多个主题,可默认使用某一个或随机启动 放入主题文件 ventoy非系统分区下新建ventoy文件夹 ventoy文件夹下建themes文件夹 二次解压主题文件夹(内容物:icons文件夹、.png、.txt) 复制到themes中 配置ventoy 打开图吧工具箱/tools/其他工具/ventoy/VentoyPlugson.exe,选择ventoy盘,启动 主题插件 file —— 主题配置文件 -> +新增 填入主题文件夹下的配置文件theme.txt的绝对路径 gfxmode —— 屏幕分辨率 -> 选择设置:max (可选)fonts —— 字体文件 -> +新增 添加所有.pf2文件的绝对路径 菜单类型插件 默认选择:[key] 通过文件名关键字设置类型 menu_class -> +新增 把icons文件夹里的类型一一对应填上 ps:模糊的关键字优先级应更低 修改主题配置文件theme.txt12345678title-text: ""desktop-image: "background.png" #背景图片#desktop-color: "FFFFFF" #纯色背景terminal-left: "0"terminal-top: "0"terminal-border: "0"terminal-width: "100%"terminal-height: "100%" 12345678910+ label {# font = "DejaVu Sans Regular 14" left = 145 #位置 top = 83% align = "center" #居中 id = "__timeout__" text = "当前已选中系统将会在 %d 秒后启动" #主标题 color = "#cccccc" #颜色} 12345678910111213141516不要动,保持默认+ boot_menu { #系统选择栏样式 left = 145 top = 45% width = 502 height = 35% item_color = "#cccccc" selected_item_color = "#ffffff" icon_width = 36 icon_height = 36 item_icon_space = 20 item_height = 40 item_padding = 2 item_spacing = 40 selected_item_pixmap_style = "select_*.png"} 123456789101112131415+ hbox{ #ventoy热键提示 left = 30% top = 95% width = 10% height = 25 + label {text = "@VTOY_HOTKEY_TIP@" color = "blue" align = "left"} #颜色可改}+ hbox{ left = 90% top = 5 width = 10% height = 25 + label {text = "@VTOY_MEM_DISK@" color = "red" align = "left"} #颜色可改} 版本信息 在 ventoy\\ventoy.json 中编辑 ventoy_left/ventoy_top/ventoy_color 变量来调整位置和颜色。 示例: 12345678{ "theme":{ "file": "/ventoy/themes/Robin_cn/theme.txt", "gfxmode": "max", "ventoy_color": "#cccccc" }, ...} 完全删除需编辑源码重新编译","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"Windows","slug":"Windows","permalink":"https://orcamin.github.io/tags/Windows/"},{"name":"ventoy","slug":"ventoy","permalink":"https://orcamin.github.io/tags/ventoy/"},{"name":"GRUB","slug":"GRUB","permalink":"https://orcamin.github.io/tags/GRUB/"}],"author":"Orca"},{"title":"Arch Linux & 桌面环境(KDE)安装","slug":"archlinux","date":"2024-12-18T07:08:31.000Z","updated":"2024-12-26T21:17:45.105Z","comments":true,"path":"2024/12/18/archlinux/","permalink":"https://orcamin.github.io/2024/12/18/archlinux/","excerpt":"","text":"Arch Linux安装1. 验证启动模式(BIOS/UEFI)列出 efivars 目录以验证启动模式: 1ls /sys/firmware/efi/efivars 如果目录不存在,系统可能以 BIOS 或 CSM 模式启动。 如果目录存在,系统以UEFI启动。 2. 连接网络(三选一) 网线连接 1dhcpcd WiFi连接 1wifi-menu ADSL宽带连接 12pppoe-setup #配置systemctl start adsl #连接ADSL 验证网络连接: 1ping baidu.com 3. 更新系统时间使用 timedatectl 确保系统时间准确: 1timedatectl set-ntp true 4. 建立硬盘分区查看硬盘情况 1fdisk -l 也可通过lsblk查看硬盘信息 1lsblk 12345678910NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTloop0 7:0 0 476.7M 1 loop /rn/archiso/sfs/airootfs #iso镜像sda 8:0 0 465.8G 0 disk #465.8G的机械硬盘sda └─sda1 8:1 0 465.8G 0 part /mnt/home #sda下的第一个分区sda1sdb 8:16 1 14.6G 0 disk #16G的启动盘├─sdb1 8:17 1 588M 0 part /runarchiso/bootmnt└─sda2 8:18 1 64M 0 partnvme0n1 259:0 0 119.2G 0 disk #119.2G固态硬盘nvme0n1 ├─nvme0n1p1 259:1 0 100G 0 part /mnt #nme0n1第一个分区nvme0n1p1└─nvme0n1p2 259:2 0 19.2G 0 part /mnt/boot/efi #nme0n1第二个分区nvme0n1p2 5. 分区方案 BIOS with MBR 挂载点 分区 分区类型 建议大小 /mnt /dev/sda1 Linux 剩余空间 [SWAP] /dev/sda2 Linux swap More than 512 MiB UEFI with GPT 挂载点 分区 分区类型 建议大小 /mnt/boot /dev/sda1 EFI 系统分区 265–512 MiB /mnt /dev/sda2 Linux x86-64 root (/) 剩余空间 [SWAP] /dev/sda3 Linux swap More than 512 MiB 分区方案解读:如果以BIOS模式启动,就无须创建和挂载/boot分区。 如果以UEFI模式启动,必须创建和挂载/boot分区 6. 分区1234//home/bootswap 使用cfdisk分区 BIOS选dos,UEFI的选gpt 通过左右方向键可以选择下面的选项,选择New然后回车 优先新建/分区 输入大小然后回车即可创建分区 新建/home分区(可选) 新建/boot分区(BIOS启动不需要) 不需太大,256M-512M就即可 选中新建的/boot分区,下面的光标移到Type选项 选中EFI System回车 新建swap分区 大小略大于运行内存大小 type选择Linux swap 确认分区 光标移动到write然后回车 输入yes回车确认 选中Quit,回车即可退出cfdisk 查看分区 用lsblk 7. 格式化分区 / 1mkfs.ext4 /dev/sda1 /home(可选) 1mkfs.ext4 /dev/sdax /boot(BIOS启动不需要) 1mkfs.fat -F32 /dev/sda2 swap 12mkswap /dev/sda3swapon /dev/sda3 问题:格式化失败 解决:reboot 8. 挂载分区 将/分区挂载到/mnt 1mount /dev/sda1 /mnt 挂载/home分区((可选)) 1mount /dev/sdax /mnt/home /mnt下创建/boot(BIOS启动不需要) 1mkdir /mnt/boot 挂载引导分区 1mount /dev/sda2 /mnt/boot 9. 更换镜像源1vim /etc/pacman.d/mirrorlist 按下/键,输入cn,进入检索模式,搜到cn的字样后回车,光标会出现在cn下面 n键跳到下一个 2dd剪切,gg回到顶部,p粘贴 10. 安装基础软件包base 软件包没包含全部 live 环境中的程序,packages.x86_64 页面包含了它们的差异。需要额外安装: 管理所用文件系统 的用户工具 访问 RAID 或 LVM 分区的工具 未包含在 linux-firmware 中的额外固件 联网需要的程序 文本编辑器, 访问 man 和 info 页面的工具: man-db, man-pages 和 texinfo. 1pacstrap /mnt base linux linux-firmware base-devel vi vim nano dhcpcd 11. 配置系统 Fstab 生成 fstab 文件 (-U 或 -L 选项设置UUID 或卷标): 1genfstab -U /mnt >> /mnt/etc/fstab Change root 到新安装的系统: 1arch-chroot /mnt 设置时区 12ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimehwclock --systohc 本地化配置 /etc/locale.gen 是一个仅包含注释文档的文本文件。指定需要的本地化类型,移除对应行注释即可,选择带 UTF-8 的项: 123vim /etc/locale.genen_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8 执行 locale-gen 生成 locale 讯息: 1locale-gen 将 LANG=en_US.UTF-8 加入 /etc/locale.conf 1vim /etc/locale.conf 设置主机名 xxxx为主机名 1echo "xxxx" >> /etc/hostname 编辑 /etc/hosts文件,添加以下内容 1234vim /etc/hosts127.0.0.1 localhost.localdomain localhost::1 localhost.localdomain localhost127.0.1.1 xxxx.localdomain xxxx 设置root密码 使用passwd命令为root用户增加密码 1passwd 安装intel-ucode(amd则替换intel) 1pacman -S intel-ucode 安装引导 硬盘上还有别的系统,需安装 os-prober(reEFInd也可以)。系统在别的硬盘单独引导则不需要。 1pacman -S os-prober BIOS 系统: 123pacman -S grubgrub-install --target=i386-pc /dev/sdX grub-mkconfig -o /boot/grub/grub.cfg UEFI 系统: 123pacman -S grub efibootmgrgrub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUBgrub-mkconfig -o /boot/grub/grub.cfg 安装网络连接组件 无线网络组件: 1pacman -S iw wpa_supplicant dialog netctl #无线网络 后面重启系统后可使用wifi-menu命令连网 有线网络组件: 12systemctl enable dhcpcd #进入系统自动连网systemctl start dhcpcd #重启后执行此命令启动网络服务 12. 重启系统到此安装完毕 123exitumount -R /mntreboot 桌面环境(KDE)安装1. 添加普通用户 如果不添加,安装完桌面后,登录界面没有用户出现(root用户不会出现在gdm登录界面) 且使用root权限有风险 12useradd -m -g users -s /bin/bashpasswd xxxx #为xxxx用户设置密码 2.配置新用户sudo权限1vim /etc/sudoers 在root ALL = (ALL) ALL下添加xxxx ALL = (ALL) ALL;输入:wq!强制保存退出vim 3. 安装声卡驱动1pacman -S alsa-utils pulseaudio-alsa Arch Linux默认开启了声音支持,默认静音 可通过alsamixer命令+字母[M] 取消静音 方向键上下调节音量 字母[M]取消静音 [Q],[W],[E] 增大 左,右,通道 的音量 [Z],[X],[C] 减小 左,右,通道 的音量 4. 安装显卡驱动 查看显卡型号 123lspci | grep -e VGA -e 3D示例:00:02.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1) #(rev a1) 表示正在运行,如果是ff则未运行 查看所有开源驱动: 1pacman -Ss xf86-video 根据文档选择并安装驱动 1pacman -S xf86-video-nouveau 如果笔记本有独显NVIDIA,可一并安装xf86-video-intel nvidia 双显卡查阅Arch wiki 5. 安装Xorg显示服务器123pacman -S xorg #安装xorgpacman -S xf86-input-synaptics #安装触摸板驱动(笔记本)pacman -S ttf-dejavu wqy-zenhei wqy-microhei #安装常用字体 6. 安装KDE桌面 安装plasma-meta元软件 1pacman -S plasma KDE应用和SDDM图形登录界面 12pacman -S kde-applications pacman -S sddm sddm-kcm 安装网络管理工具 1pacman -S networkmanager netctl 开启相关服务 此处需要root权限 123systemctl enable NetworkManager systemctl enable sddmsystemctl enable dhcpcd 重启 1reboot # 重启进入桌面 滚动更新 pacman -Syu pacman启用并行下载:将 /etc/pacman.conf 中 [options] 选项 ParallelDownloads 设置成正整数,例如 5,将会同时下载 5 个软件包,如果未设置此选项,软件包将会被依次下载。 管理用户和用户组 添加用户:useradd -m -G wheel <username> wheel:管理组,可以访问 journal 文件和 CUPS 打印服务,可以用户 sudo和 su 命令权限管理(需要额外设置)。 将用户添加到组:gpasswd -a [用户名] [组名] 修改用户密码:passwd [用户名] 切换用户:su 把vim链接到vi:ln -s /usr/bin/vim /usr/bin/vi(提示文件夹已存在就把 /usr/bin/vi 删了) 给用户添加sudo权限:visudo 把 # wheel ALL=(ALL) ALL 的注释取消","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"Arch Linux","slug":"Arch-Linux","permalink":"https://orcamin.github.io/tags/Arch-Linux/"},{"name":"KDE","slug":"KDE","permalink":"https://orcamin.github.io/tags/KDE/"}],"author":"Orca"},{"title":"给部署在github的博客套个域名","slug":"github-domain","date":"2024-12-17T23:41:15.000Z","updated":"2024-12-26T21:03:42.441Z","comments":true,"path":"2024/12/18/github-domain/","permalink":"https://orcamin.github.io/2024/12/18/github-domain/","excerpt":"","text":"1. 博客源 在 source 文件夹新建 CNAME 文件,内容为域名 2. GitHub 进入 GitHub Pages 仓库的 Settings 界面 Settings -> Pages -> Custom domain:<域名> 3. Cloudflare 添加域名解析记录 Cloudflare-> 账户主页 -> 域名 -> DNS记录 分别为www和@添加4个A记录 185.199.108.153 185.199.109.153 185.199.110.153 185.199.111.153 等待几分钟 http访问强制转为https Cloudflare-> 账户主页 -> 域名 -> 规则 -> 页面规则 -> 创建页面规则 URL:http://域名/* 规则:始终使用 HTTPS","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"Cloudflare","slug":"Cloudflare","permalink":"https://orcamin.github.io/tags/Cloudflare/"},{"name":"域名","slug":"域名","permalink":"https://orcamin.github.io/tags/%E5%9F%9F%E5%90%8D/"},{"name":"github","slug":"github","permalink":"https://orcamin.github.io/tags/github/"},{"name":"hexo","slug":"hexo","permalink":"https://orcamin.github.io/tags/hexo/"}],"author":"Orca"},{"title":"botfather指令集","slug":"botfather","date":"2024-12-17T20:52:42.000Z","updated":"2024-12-26T20:52:56.130Z","comments":true,"path":"2024/12/18/botfather/","permalink":"https://orcamin.github.io/2024/12/18/botfather/","excerpt":"","text":"/newbot创建一个新的机器人/mybots编辑你的机器人 编辑机器人/setname更改机器人的名称/setdescription更改机器人描述/setabouttext更改机器人信息/setuserpic更改机器人个人资料照片/setcommands更改命令列表/deletebot – 删除机器人 机器人设置/token生成授权令牌/revoke - 撤销机器人访问令牌/setinline – 切换内联模式/setinlinegeo – 切换内联位置请求/setinlinefeedback – 更改内联反馈设置/setjoingroups – 你的机器人可以添加到群组吗?/setprivacy - 切换群组隐私模式 Web 应用/myapps编辑你的网络应用/newapp – 创建一个新的Web 应用程序/listapps - 获取你的 Web 应用列表/editapp – 编辑 Web 应用程序/deleteapp删除现有的Web应用程序 游戏/mygames编辑你的游戏/newgame创建新游戏/listgames获取你的游戏列表/editgame编辑游戏/deletegame删除现有游戏","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"botfather","slug":"botfather","permalink":"https://orcamin.github.io/tags/botfather/"},{"name":"Webhook","slug":"Webhook","permalink":"https://orcamin.github.io/tags/Webhook/"}],"author":"Orca"},{"title":"在immortalwrt搭建WireGuard","slug":"immortalwrt-wireguard","date":"2024-12-17T18:25:32.000Z","updated":"2024-12-26T20:03:00.191Z","comments":true,"path":"2024/12/18/immortalwrt-wireguard/","permalink":"https://orcamin.github.io/2024/12/18/immortalwrt-wireguard/","excerpt":"","text":"ps:在隧道中是通过IPv4通信的,因此内网设备不需要IPv6地址 前提 wan已获得IPv6地址 已为软路由地址绑定域名配置DDNS luci-proto-wireguard qrencode 添加并配置端口 网络 -> 接口 -> 添加新接口 名称:wireguard(随意) 协议:WireGuard VPN 创建 常规设置 生成密钥对 监听端口:<要开放的端口> IP 地址:192.168.5.1/24(不能和已有网段冲突) 防火墙:lan 对端 -> 添加对端 描述:<设备名称> 生成新的密钥对 生成预共享密钥对(可选) 允许的 IP:192.168.5.2(网段内的地址)添加 生成配置 拉到最上面 -> 连接端点:<域名> 客户端下载WireGuard并配置手机端 +号 -> 扫描二维码 -> <名称> 电脑端 添加空隧道 复制生成的配置到替换WireGuard中的原有配置 保存配置 保存并应用 重启wireguard接口 防火墙配置放行端口 网络 -> 防火墙 -> 通信规则 左下角添加 常规设置 名称:Allow-WireGuard 协议:UDP 源区域:wan 目标区域:设备 目标端口:<要放行的端口> 操作:接受 高级设备 地址族限制:仅IPv6 保存并应用 验证 网络 -> 接口 查看wireguard接口有无数据接收发送 问题:wireguard接口接收发送都为0解决:前提需要有设备连接 慎重操作 关闭所有第三方DNS插件 网络 -> DHCP/DNS -> 高级设置 -> 取消勾选过滤 IPv6 AAAA 记录 问题:网络卡顿严重解决:用wireshark抓包观察数据包是否分片 将客户端配置的MTU调小( 比如1400或1380)调整至无分片","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"immortalwrt","slug":"immortalwrt","permalink":"https://orcamin.github.io/tags/immortalwrt/"},{"name":"IPv6","slug":"IPv6","permalink":"https://orcamin.github.io/tags/IPv6/"},{"name":"WireGuard","slug":"WireGuard","permalink":"https://orcamin.github.io/tags/WireGuard/"}],"author":"Orca"},{"title":"immortalwrt域名解析&DDNS&申请证书","slug":"domain-name","date":"2024-12-17T15:19:57.000Z","updated":"2024-12-26T20:51:23.188Z","comments":true,"path":"2024/12/17/domain-name/","permalink":"https://orcamin.github.io/2024/12/17/domain-name/","excerpt":"","text":"简介: 基于IPv6 将Namesilo域名解析到Cloudflare 给软路由网页绑定域名配置DDNS 使用uHTTPd给域名颁发自签证书 为域名申请正规证书(ACME)并在uHTTPd上配置 Namesilo域名管理 Cloudflare仪表盘 解析前提 域名 1. Cloudflare添加域名 进入Cloudflare仪表盘添加域名 现有域:<域名> 选择Free 复制 已分配的 Cloudflare 名称服务器 2. Namesilo修改域名服务器 进namesilo域名管理点最右边的塔 / Change Nameservers 将原有域名服务器记录删除 ns1.dnsowl.com ns2.dnsowl.com ns3.dnsowl.com 将 已分配的 Cloudflare 名称服务器 粘贴进去并提交 3. Cloudflare 继续 等2-3分钟刷新一下便完成 DDNS&Webhook前提 wan已获得IPv6地址 luci-app-ddns-go 1.DDNS(Dynamic DNS) 启用DDNS-GO进Web-UI DNS服务商:Cloudflare 创建API令牌(注意泄露) 创建令牌 -> 编辑区域 DNS (使用模板) 区域资源 -> Select选择域名 其他保持默认 继续 创建令牌 将令牌复制到Web-UI的Token处 关闭IPv4 启用IPv6 IPv6 -> 通过网卡获取 -> wan IPv6 -> Domains:<域名> (多级域名缓解被扫描 开放必要端口 密码设置复杂些) 保存 验证 Cloudflare-> 账户主页 -> 域名 -> DNS记录 DNS查询:nslookup <域名> 等待DNS解析生效 使用IPv6(5G流量)访问域名 2. Webhook 打开并启用 @DDNSGoBot 发送 /gethook 命令 复制 Webhook URL 并粘贴到Web-UI Webhook -> URL 复制 RequestBody(下面的代码) 并粘贴 注:未启用 IPv4 或 IPv6 可删除对应 Object 123456789101112{ "ipv4": { "result": "#{ipv4Result}", "addr": "#{ipv4Addr}", "domains": "#{ipv4Domains}" }, "ipv6": { "result": "#{ipv6Result}", "addr": "#{ipv6Addr}", "domains": "#{ipv6Domains}" }} 申请证书(自签&正规证书)http:明文传输https:加密传输 前提 luci-i18n-uhttpd-zh-cn luci-ssl-openssl luci-app-acme(自签不用) acme-acmesh-dnsapi(自签不用) 自签证书 进uHTTPd插件 删除旧证书和密钥 鼠标点地址栏并回车 uHTTPd自签名证书参数 -> 密钥长度:1024 保存并应用 端口转发(DNAT) 防火墙相关:可查阅iptables nftables netfilter 网络 -> 防火墙 -> 端口转发 -> 添加 地址族限制:仅IPv6 协议:TCP 源区域:wan 目标端口:<要开放的端口> 目标区域:未指定 内部端口:443 正规证书 进入ACME插件 ACME 全局配置 -> 电子邮件账户:<邮箱> 删除示例配置 添加 常规设置 -> 启用[√] 常规设置 -> 域名:<域名> 质询验证 -> 验证方式:DNS 质询验证 -> DNS API:dns_cf DNS API 凭证:CF_Key=”“ DNS API 凭证:CF_Zone_ID=”<区域 ID>” Cloudflare 账户主页 -> <域名> -> 概述 -> 右下角API -> 区域 ID 保存并应用 等待3-5分钟 进入uHTTPd插件 修改证书路径 HTTPS 证书 (DER 或 PEM 格式):/etc/acme/域名/fullchain.cet HTTPS 私钥 (DER 或 PEM 格式):/etc/acme/域名/域名.key 保存并应用 问题问题1:证书没有生成解决:ssh /etc/init.d/acme查看相关指令 /etc/init.d/acme restart重新申请查看错误日志排错 问题2:作死点了删除旧证书和密钥变回自签证书解决: 前提:开启SSH 把现在的证书和密钥拷到/etc(改名为uhttpd.cer和uhttpd.key好认点) 删除/etc/acme/域名文件夹 rm -r或rm -rf(强制) 重启acme/etc/init.d/acme restart","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"immortalwrt","slug":"immortalwrt","permalink":"https://orcamin.github.io/tags/immortalwrt/"},{"name":"TSL证书","slug":"TSL证书","permalink":"https://orcamin.github.io/tags/TSL%E8%AF%81%E4%B9%A6/"},{"name":"Webhook","slug":"Webhook","permalink":"https://orcamin.github.io/tags/Webhook/"},{"name":"IPv6","slug":"IPv6","permalink":"https://orcamin.github.io/tags/IPv6/"},{"name":"Namesilo","slug":"Namesilo","permalink":"https://orcamin.github.io/tags/Namesilo/"},{"name":"ACME","slug":"ACME","permalink":"https://orcamin.github.io/tags/ACME/"},{"name":"uHTTPd","slug":"uHTTPd","permalink":"https://orcamin.github.io/tags/uHTTPd/"},{"name":"Cloudflare","slug":"Cloudflare","permalink":"https://orcamin.github.io/tags/Cloudflare/"},{"name":"ddns-go","slug":"ddns-go","permalink":"https://orcamin.github.io/tags/ddns-go/"},{"name":"域名","slug":"域名","permalink":"https://orcamin.github.io/tags/%E5%9F%9F%E5%90%8D/"}],"author":"Orca"},{"title":"Windows系统相关","slug":"win-system","date":"2024-12-13T14:28:43.000Z","updated":"2024-12-26T20:44:11.418Z","comments":true,"path":"2024/12/13/win-system/","permalink":"https://orcamin.github.io/2024/12/13/win-system/","excerpt":"","text":"简介: Windows系统备份还原 切换版本激活工具 ipv4无internet但ipv6正常 备份还原备份 进PE 用dism++备份 记得备份在系统盘外 还原 进PE 用CGI还原,选择备份分区,选择还原分区,选择要还原的镜像(.gho .wim) 开始执行 切换版本&激活工具文档 使用方式 传统下载:下载链接见文档 PowerShell:输入irm https://get.activated.win | iex 问题问题1:connected but ping failed解决:dns服务器改8.8.8.8 问题2:ipv4无internet但ipv6正常 控制面板 -> 网络更改适配器 ipv4设置改手动,禁用再启动 ipv4设置改回自动,禁用再启动 问题3:internet连接正常但连接不到dns服务器 dns服务器改8.8.8.8 原因:开着魔法关机 解决:再来一遍 clash verge报错:系统找不到指定文件。(os error 2) 解决:设置 clash内核重启,以后记得把魔法关了再关机","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"Windows","slug":"Windows","permalink":"https://orcamin.github.io/tags/Windows/"},{"name":"网络异常","slug":"网络异常","permalink":"https://orcamin.github.io/tags/%E7%BD%91%E7%BB%9C%E5%BC%82%E5%B8%B8/"},{"name":"Windows激活","slug":"Windows激活","permalink":"https://orcamin.github.io/tags/Windows%E6%BF%80%E6%B4%BB/"},{"name":"系统备份","slug":"系统备份","permalink":"https://orcamin.github.io/tags/%E7%B3%BB%E7%BB%9F%E5%A4%87%E4%BB%BD/"},{"name":"系统还原","slug":"系统还原","permalink":"https://orcamin.github.io/tags/%E7%B3%BB%E7%BB%9F%E8%BF%98%E5%8E%9F/"}],"author":"Orca"},{"title":"颁发ACME证书以及遇到的问题(Namesilo)","slug":"Namesilo_ACME","date":"2024-12-08T15:40:36.000Z","updated":"2024-12-26T20:40:09.749Z","comments":true,"path":"2024/12/08/Namesilo_ACME/","permalink":"https://orcamin.github.io/2024/12/08/Namesilo_ACME/","excerpt":"","text":"简介: 在软路由上使用为Namesilo域名颁发ACME证书并在uHTTPd上配置 已弃用Namesilo解析:解析速度慢,常访问不上 申请证书服务 -> ACME证书 -> 添加 常规设置 -> 启用√ 常规设置 -> 域名 质询验证 -> 验证方式: DNS 质询验证 -> DNS API: dns_namesilo 质询验证 -> DNS API 凭证: Namesilo_Key=”“ 等上几分钟,一定要等。 配置uHTTPd服务 -> uHTTPd 修改证书路径 证书:/etc/acme/域名/fullchain.cer 私钥:/etc/acme/域名/域名.key 等几分钟,使用一台局域网外的设备访问网站进行验证证书是否生效 注意事项:1. 端口号记得填上 2. 必须公网ipv6访问,在局域网内则使用默认端口 问题1:证书没有生成解决:ssh /etc/init.d/acme查看相关指令 /etc/init.d/acme restart重新申请查看错误日志排错 问题2:作死点删除旧证书和密钥导致变回自签证书解决: 前提:开启SSH 把现在的证书和密钥拷到/etc(改名为uhttpd.cer和uhttpd.key好认点) 删除/etc/acme/域名文件夹 rm -r或rm -rf(强制) 重启acme/etc/init.d/acme restart","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"immortalwrt","slug":"immortalwrt","permalink":"https://orcamin.github.io/tags/immortalwrt/"},{"name":"TSL证书","slug":"TSL证书","permalink":"https://orcamin.github.io/tags/TSL%E8%AF%81%E4%B9%A6/"},{"name":"IPv6","slug":"IPv6","permalink":"https://orcamin.github.io/tags/IPv6/"},{"name":"Namesilo","slug":"Namesilo","permalink":"https://orcamin.github.io/tags/Namesilo/"},{"name":"ACME","slug":"ACME","permalink":"https://orcamin.github.io/tags/ACME/"},{"name":"uHTTPd","slug":"uHTTPd","permalink":"https://orcamin.github.io/tags/uHTTPd/"},{"name":"证书","slug":"证书","permalink":"https://orcamin.github.io/tags/%E8%AF%81%E4%B9%A6/"}],"author":"Orca"},{"title":"安装kali(btrfs)&Arch双系统","slug":"kali_arch","date":"2024-11-28T22:59:23.000Z","updated":"2024-12-26T20:12:37.564Z","comments":true,"path":"2024/11/29/kali_arch/","permalink":"https://orcamin.github.io/2024/11/29/kali_arch/","excerpt":"","text":"Kali(btrfs)btrfs:一种适用于 Linux 的现代写入时复制 (CoW) 文件系统,旨在实现池化、快照、校验和以及集成多设备跨越等高级功能。特别是,快照支持使得 btrfs 对于裸机上的 Kali 安装具有吸引力。使用 btrfs 作为文件系统,并在安装后启用快照。甚至可以通过启动菜单启动到任何保存的快照,并轻松回滚到以前的系统状态。以防作死搞崩系统或者滚挂。 当选择“btrfs”作为文件系统时,安装程序将自动创建以下子卷布局: 12345678910Mount Point | Subvolume | Description-------------------------------------------------------------------------/ | @ | The root filesystem incl. /boot/.snapshots | @.snapshots | Snapper's snapshot directory/home | @home | User home directories/root | @root | The root user's home directory/var/log | @var@log | Log files/srv | @srv | Site-specific data served by this system/tmp | @tmp | Temporary files/usr/local | @usr@local | Tertiary hierarchy for local data 安装安装步骤与默认 Kali 安装相同,除了将“ext4”更改为“btrfs”作为文件系统 在“对磁盘进行分区”中,选择“引导 - 使用整个磁盘” 双击 / 分区,双击 用于:ext4 选择btrfs 确定并返回 选择 完成分区操作并将修改写入磁盘 接下来同默认安装 配置 安装后登录并在终端中运行以下命令: 123456789# 设置安全的 root 密码,否则将很难登录恢复 shell$ sudo passwd# 安装一些必要的工具$ sudo apt update && sudo apt install btrfs-progs snapper snapper-gui grub-btrfs# 为根文件系统创建 snapper 配置 "/"$ sudo cp /usr/share/snapper/config-templates/default /etc/snapper/configs/root$ sudo sed -i 's/^SNAPPER_CONFIGS=\\"\\"/SNAPPER_CONFIGS=\\"root\\"/' /etc/default/snapper# 防止“updatedb”对快照建立索引,这会降低系统速度$ sudo sed -i '/# PRUNENAMES=/ a PRUNENAMES = ".snapshots"' /etc/updatedb.conf 需要调整桌面管理器以在只读快照中工作。(Xfce) 1234# 重新配置 lightdm 以允许启动到只读快照$ sudo sed -i 's/^#user-authority-in-system-dir=false/user-authority-in-system-dir=true/' / etc/lightdm/lightdm.conf$$ sudo reboot 第一次重新启动将创建第一个自动快照。再次重新启动以找到快照的新启动菜单条目 进入系统后使用snapper-gui 1sudo snapper-gui 创建home目录快照 new旁边的箭头 ->create Configuration Name: home Subvolume: /home Filesystem: btrfs Template: default 杂配置静态网络sudo vim /etc/network/interfaces 1234567891011# Include files from /etc/network/interfaces.d:source /etc/network/interfaces.d/*# The loopback network interfaceauto loiface lo inet loopbackauto eth0iface eth0 inet staticaddress 192.168.31.246gateway 192.168.31.1netmask 255.255.255.0 sudo vim /etc/resolv.conf 1234#GeneratedbyNetworkManagerdomainnameserver 192.168.31.1search localdomain sudo /etc/init.d/networking restart","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"kali","slug":"kali","permalink":"https://orcamin.github.io/tags/kali/"},{"name":"linux","slug":"linux","permalink":"https://orcamin.github.io/tags/linux/"},{"name":"WSL","slug":"WSL","permalink":"https://orcamin.github.io/tags/WSL/"}],"author":"Orca"},{"title":"Android Studio 遇到的问题","slug":"Android-Studio","date":"2024-10-26T21:18:22.000Z","updated":"2024-10-27T06:18:55.641Z","comments":true,"path":"2024/10/27/Android-Studio/","permalink":"https://orcamin.github.io/2024/10/27/Android-Studio/","excerpt":"","text":"开发者指南 安装失败:运行 ‘app’ 时出错 The application could not be installed: INSTALL_FAILED_TEST_ONLY Installation failed due to: ‘Error code: ‘INSTALL_FAILED_TEST_ONLY’, message=’INSTALL_FAILED_TEST_ONLY’’ 解决方法:在Grandle Scripts目录下的gradle.properties加一行 1android.inject.testOnly=false","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"Android Studio","slug":"Android-Studio","permalink":"https://orcamin.github.io/tags/Android-Studio/"}]},{"title":"写网页","slug":"webpage","date":"2024-10-08T20:41:54.000Z","updated":"2024-11-28T23:01:23.384Z","comments":true,"path":"2024/10/09/webpage/","permalink":"https://orcamin.github.io/2024/10/09/webpage/","excerpt":"","text":"第一行代码,hello,world 初始 1<p>hello,world</p> <p>:paragraph,段落<h1>:一级标题<h2>:二级标题,以此类推至h6 添加样式 格式 1<p style="width: 20px">文字内容</p> <>内加style=“ ”,“ ”内加xxx: xxx px:pixel,像素 123<Orca style="background: powderblue">自定义标签</Orca> # 字多少模块就多大<Orca style="background: powderblue;display: block;">自定义标签但块</Orca> # block<p style="background: red">默认style标签</p> # 默认block 定义模块 1234567891011<box style=" width: 200px; # 宽度 height: 50px; # 高度 background: powderblue; # 盒子颜色 display: block; # 样式为块 margin: 30px auto; # 边距 上下30 左右自动 border: 5px solid black; # 边框 padding: 20px; # 高度20 "> 盒子 </box> margin:外边距,与其他模块之间的距离padding:内边距,与内容的距离,防止移动端显示贴边什么的border:边框align:对齐 分区 1<div></div> <div>:division,分区,无实意 123456<div style=" background-color: powderblue; padding: 10px; text-align: center; font-size: 12px;"></div> font:字体 插入图片 1<img src='url' alt="图片名" width="xxpx" height="xxpx"> alt:alternative text,替代文本 本地图片:放同级目录,用文件名 插入链接 1<a href="url"> 目前用到的函数汇总 <style> 123456789width: 10px;height: 10px;max-width: 700px; # 防止占全屏text-aligh: center; # 文字对齐: 居中line-height: 1.7; # 行高: 1.7倍margin: 30px auto; # 外边距: 上下 左右auto(自动两边相等-居中)padding: 15px; # 内边距border: 5px solid pink # 边框: 参数 样式 颜色border-radius: 5px; # 边框圆角 radius:半径 标签 <meta>:元数据 放head里 整个网页的属性 123456<meta charset="UTF-8" /> # 字符集为UTF-8<meta http-equiv="X-UA-Compatible" content="IE=edge"> # 兼容老浏览器(可有可无)<meta name="viewport" content="width=device-width, initial-scale=1.0" /># 显示宽度为设备宽度 初始比例1.0<title>Document</title> <div>:division 可包含任意种类标签 因此用的最多 问题 问题:固定在底部的div遮挡其他元素 方案:为body设置margin-bottom值为置底<div>的height 快捷键Ctrl + D 选下一个相同字符Alt + 左键 添加光标,同时编辑多处地方Shift + Alt + ↑/↓ 复制到上/下一行 HTML & CSS & JavaScript HTML (HyperText Markup Language):是什么 相当于房子的结构,定义网页的内容和结构,如标题、段落、图像、列表等。 CSS (Cascading Style Sheets):看起来 相当于房子的装修,定义网页的样式布局,例如颜色、字体、间距、背景等。 JavaScript:做什么 相当于房子的电器和各种互动装置,为网页添加交互性和动态行为。 JavaScript 可以响应用户操作,修改网页内容,与服务器通信,以及实现各种复杂的动画和特效。","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"HTML","slug":"HTML","permalink":"https://orcamin.github.io/tags/HTML/"},{"name":"CSS","slug":"CSS","permalink":"https://orcamin.github.io/tags/CSS/"}]},{"title":"Hexo备忘","slug":"hexo","date":"2024-10-06T02:32:50.273Z","updated":"2024-12-28T03:56:22.900Z","comments":true,"path":"2024/10/06/hexo/","permalink":"https://orcamin.github.io/2024/10/06/hexo/","excerpt":"","text":"点击 文档 & 故障排除 & GitHub 了解更多 一、常用 1. 文章 ①新建文章 1$ hexo new "My New Post" 详情:Writing ②文章封面 配置headimg 1headimg: 图片url ③置顶文章 配置pin 1pin: true ④参考资料 123references: - title: 某篇文章 url: https:// 2. 网站 ①本地预览网站 12$ hexo server$ hexo s 详细:Server ②生成静态网站 12$ hexo generate$ hexo g 详细:Generating ③网站部署到服务器 12$ hexo deploy$ hexo d 详细:Deployment ④生成部署二合一 1$ hexo g -d 二、备忘 1. 默认配置文件地址 1blog\\node_modules\\hexo-theme-volantis\\ 2. 改动 12logo: # choose [img] or [icon + title]img: ... 12sidebar: position: left # left right 关于出现报错ERROR Script load failed:什么什么什么.js Error: Cannot find module 'xxxx' 示例:报错Error: Cannot find module hexo-util“ 执行命令npm install hexo-util --save 1npm install xxxx --save 3. markdown使用 参考官方文档 问题 1. hexo自带md解析器不解析扩展语法(注释等) 解决: 参考文献 hexo-renderer-pandoc 插件 Hexo 默认的渲染器为 marked (hexo-renderer-marked),仅支持 md 的基本规范。Pandoc 也可以实现在 gitlab 自动部署,查看.gitlab-ci.yml文件设置。 本地 hexo 博客的搭建: 安装 pandoc 卸载 hexo-renderer-marked,安装 hexo-renderer-pandoc 12npm un hexo-renderer-marked --savenpm install hexo-renderer-pandoc --save 由于 hexo-renderer-pandoc 更新加入了 template 设置,需要在站点配置文件 ~/blog/_config.yml 中加入默认配置(issues)。 考虑到图片块解析错误,建议添加 -implicit_figures 选项。 123456789pandoc: pandoc_path: C:\\Users\\Asuka\\AppData\\Local\\Pandoc\\pandoc.exe filters: extra: template: meta: mathEngine: extensions: - '-implicit_figures' volantis启用 MathJax 页面配置 front-matter 123456---title: 渲染公式(MathJax)date: 2020-02-23plugins: - mathjax---","categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"markdown","slug":"markdown","permalink":"https://orcamin.github.io/tags/markdown/"},{"name":"hexo","slug":"hexo","permalink":"https://orcamin.github.io/tags/hexo/"}],"author":"Orca"}],"categories":[{"name":"NOTE","slug":"NOTE","permalink":"https://orcamin.github.io/categories/NOTE/"}],"tags":[{"name":"anaconda","slug":"anaconda","permalink":"https://orcamin.github.io/tags/anaconda/"},{"name":"manjaro","slug":"manjaro","permalink":"https://orcamin.github.io/tags/manjaro/"},{"name":"计算机网络","slug":"计算机网络","permalink":"https://orcamin.github.io/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/"},{"name":"cs144","slug":"cs144","permalink":"https://orcamin.github.io/tags/cs144/"},{"name":"wireshark","slug":"wireshark","permalink":"https://orcamin.github.io/tags/wireshark/"},{"name":"tracert","slug":"tracert","permalink":"https://orcamin.github.io/tags/tracert/"},{"name":"Windows","slug":"Windows","permalink":"https://orcamin.github.io/tags/Windows/"},{"name":"ventoy","slug":"ventoy","permalink":"https://orcamin.github.io/tags/ventoy/"},{"name":"GRUB","slug":"GRUB","permalink":"https://orcamin.github.io/tags/GRUB/"},{"name":"Arch Linux","slug":"Arch-Linux","permalink":"https://orcamin.github.io/tags/Arch-Linux/"},{"name":"KDE","slug":"KDE","permalink":"https://orcamin.github.io/tags/KDE/"},{"name":"Cloudflare","slug":"Cloudflare","permalink":"https://orcamin.github.io/tags/Cloudflare/"},{"name":"域名","slug":"域名","permalink":"https://orcamin.github.io/tags/%E5%9F%9F%E5%90%8D/"},{"name":"github","slug":"github","permalink":"https://orcamin.github.io/tags/github/"},{"name":"hexo","slug":"hexo","permalink":"https://orcamin.github.io/tags/hexo/"},{"name":"botfather","slug":"botfather","permalink":"https://orcamin.github.io/tags/botfather/"},{"name":"Webhook","slug":"Webhook","permalink":"https://orcamin.github.io/tags/Webhook/"},{"name":"immortalwrt","slug":"immortalwrt","permalink":"https://orcamin.github.io/tags/immortalwrt/"},{"name":"IPv6","slug":"IPv6","permalink":"https://orcamin.github.io/tags/IPv6/"},{"name":"WireGuard","slug":"WireGuard","permalink":"https://orcamin.github.io/tags/WireGuard/"},{"name":"TSL证书","slug":"TSL证书","permalink":"https://orcamin.github.io/tags/TSL%E8%AF%81%E4%B9%A6/"},{"name":"Namesilo","slug":"Namesilo","permalink":"https://orcamin.github.io/tags/Namesilo/"},{"name":"ACME","slug":"ACME","permalink":"https://orcamin.github.io/tags/ACME/"},{"name":"uHTTPd","slug":"uHTTPd","permalink":"https://orcamin.github.io/tags/uHTTPd/"},{"name":"ddns-go","slug":"ddns-go","permalink":"https://orcamin.github.io/tags/ddns-go/"},{"name":"网络异常","slug":"网络异常","permalink":"https://orcamin.github.io/tags/%E7%BD%91%E7%BB%9C%E5%BC%82%E5%B8%B8/"},{"name":"Windows激活","slug":"Windows激活","permalink":"https://orcamin.github.io/tags/Windows%E6%BF%80%E6%B4%BB/"},{"name":"系统备份","slug":"系统备份","permalink":"https://orcamin.github.io/tags/%E7%B3%BB%E7%BB%9F%E5%A4%87%E4%BB%BD/"},{"name":"系统还原","slug":"系统还原","permalink":"https://orcamin.github.io/tags/%E7%B3%BB%E7%BB%9F%E8%BF%98%E5%8E%9F/"},{"name":"证书","slug":"证书","permalink":"https://orcamin.github.io/tags/%E8%AF%81%E4%B9%A6/"},{"name":"kali","slug":"kali","permalink":"https://orcamin.github.io/tags/kali/"},{"name":"linux","slug":"linux","permalink":"https://orcamin.github.io/tags/linux/"},{"name":"WSL","slug":"WSL","permalink":"https://orcamin.github.io/tags/WSL/"},{"name":"Android Studio","slug":"Android-Studio","permalink":"https://orcamin.github.io/tags/Android-Studio/"},{"name":"HTML","slug":"HTML","permalink":"https://orcamin.github.io/tags/HTML/"},{"name":"CSS","slug":"CSS","permalink":"https://orcamin.github.io/tags/CSS/"},{"name":"markdown","slug":"markdown","permalink":"https://orcamin.github.io/tags/markdown/"}]}