Normal view

There are new articles available, click to refresh the page.
Before yesterday未来へ

白嫖Gemini_API搭建个人AI助理

By: wayen
8 March 2024 at 20:19

白嫖Gemini_API搭建个人AI助理

发表于|更新于|实用教程
|字数总计:443|阅读时长:1分钟|阅读量:

说明

本次搭建过程分为两步,第一步获取Gemini_API_Key,第二步搭建适用Key的程序,不考虑Key泄露第二步完全可以省略。
示例: https://chat.xml.wiki 访问码: xml.wiki(输入访问码即可直接试用)

Gemini_API_Key

ChatGPT-Next-Web

有许多程序可以使用Gemini_API_Key,在此只介绍ChatGPT-Next-Web的搭建。事实上你也可以直接使用别人搭建好的,在不输入访问码时将自己的Key填入设置即可。ChatGPT-Next-Web可以使用Vercel、Docker和CloudflarePages三种不同的方式搭建,见官方教程,本节复述CloudflarePages搭建教程。ChatGPT-Next-Web也提供了桌面版本,下载点击安装即可使用。

  • 打开https://dash.cloudflare.com,点击左侧Workers和Pages下的概述
  • 点击创建应用程序后点击Pages连接到Git
  • 链接你的Github账号,选择你Fork的项目后开始设置
  • 项目名称和分支一般默认即可,其他未提及项默认即可
  • 框架预设选择Next.js,构建命令填写npx @cloudflare/next-on-pages@1.5.0
  • 点开环境变量(高级),挨个复制以下内容
    1
    2
    3
    4
    5
    6
    7
    CODE = xml.wiki    #访问码,即登录使用的密码
    CUSTOM_MODELS = -all,+gemini-pro #选择使用的模型
    GOOGLE_API_KEY = ****************** #Gemini_API_Key
    NEXT_TELEMETRY_DISABLE = 1
    NODE_VERSION = 20.1
    PHP_VERSION = 7.4
    YARN_VERSION = 1.22.19
  • 点击保存并部署后立即取消部署
  • 来到你部署的这个项目的设置->函数->兼容性标志
  • 分别在配置生产兼容性标志配置预览兼容性标志两项中填写nodejs_compat
  • 点击部署选择重新部署即可,等待部署完成即可访问
文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

一键脚本自动优选Cloudflare_IP解析到免费域名下

By: wayen
12 January 2024 at 01:40

一键脚本自动优选Cloudflare_IP解析到免费域名下

发表于|更新于|实用教程
|字数总计:830|阅读时长:4分钟|阅读量:

说明

之前有人免费提供解析Cloudflare_IP的域名,但很快就被DNS污染了,因此此教程适合自己使用不建议分享。实现的原理很简单,第一使用CloudflareSpeedTest程序进行测速,选出质量高的IP地址;第二使用免费ddns将域名解析到优选的IP;第三使用cron定时执行任务。脚本适用amd64、arm64、arm架构的Linux服务器,安卓手机Termux使用需要做一定的修改,请点击目录直接查看内容。

Dynv6

需要借助Dynv6来获取免费域名和ddns,hostname是注册的二级域名,token位于网站首页左上角Documentation-> APIs页面内,空格之后的不要。两项复制之后在脚本执行后按提示输入即可。

自定义

echo "0 0 * * * timeout 10m $path/bestip.sh > /dev/null 2>&1" | crontab -
双引号内的内容是定时执行命令,为每日0时。
$path/CloudflareST -f $path/ip.txt -tl 200 -sl 6 -dn 5 -dt 10 -o "bestip"
CloudflareST的使用可参考,以上为选择时延小于200ms的IP进行测试,每个测试10秒限制6mb/s以上,得到5个合格IP。
ipv6=$(grep -oE "\b([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}\b" $path/bestip | head -1)
如果对ipv6有需求,请将ip.txt改为ipv6.txt,并将脚本内的ipv4改为ipv6。

脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/sh

check_() {
# 检查服务器架构
architecture=$(uname -m)
case $architecture in
x86_64)
platform="amd64"
;;
aarch64)
platform="arm64"
;;
arm*)
platform="armv7"
;;
*)
echo "脚本不支持 $architecture"
exit 1
;;
esac
}

first_() {
# 下载测速工具并定时每日0点执行
mkdir -p $path && cd $path
latest_release=$(curl -s https://api.github.com/repos/XIU2/CloudflareSpeedTest/releases/latest | grep "tag_name" | awk '{print $2}' | tr -d '",')
download_url="https://github.com/XIU2/CloudflareSpeedTest/releases/download/$latest_release/CloudflareST_linux_$platform.tar.gz"
curl -LO $download_url || exit 1
tar -xvf CloudflareST_linux_$platform.tar.gz && rm CloudflareST_linux_$platform.tar.gz && chmod +x CloudflareST
echo "0 0 * * * timeout 10m $path/bestip.sh > /dev/null 2>&1" | crontab -
read -p "请输入 hostname:" hostname
read -p "请输入 token:" token
}

start_() {
# 测速并更新IP
cat <<EOF > $path/bestip.sh
#!/bin/sh

$path/CloudflareST -f $path/ip.txt -tl 200 -sl 6 -dn 5 -dt 10 -o "bestip"
ipv4=\`grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" $path/bestip | head -1\`
curl -Ls "http://dynv6.com/api/update?hostname=$hostname&token=$token&ipv4=\$ipv4"
EOF
chmod +x $path/bestip.sh && timeout 10m $path/bestip.sh
}

path="/opt/CloudflareST"
check_
first_
start_
exit

Termux

手机使用不必设置定时,mkdir bestip && cd bestip后执行脚本即可。之后每次执行cd bestip && ./bestip.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh

first_() {
# 下载测速工具
latest_release=$(curl -s https://api.github.com/repos/XIU2/CloudflareSpeedTest/releases/latest | grep "tag_name" | awk '{print $2}' | tr -d '",')
download_url="https://github.com/XIU2/CloudflareSpeedTest/releases/download/$latest_release/CloudflareST_linux_arm64.tar.gz"
curl -LO $download_url || exit 1
tar -xvf CloudflareST_linux_arm64.tar.gz && rm CloudflareST_linux_arm64.tar.gz && chmod +x CloudflareST
read -p "请输入 hostname:" hostname
read -p "请输入 token:" token
}

start_() {
# 测速并更新IP
cat <<EOF > bestip.sh
#!/bin/sh

./CloudflareST -tl 200 -sl 6 -dn 5 -dt 10 -o "bestip"
ipv4=\`grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" bestip | head -1\`
curl -Ls "http://dynv6.com/api/update?hostname=$hostname&token=$token&ipv4=\$ipv4"
EOF
chmod +x bestip.sh && ./bestip.sh
}

first_
start_
exit
文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

如何解决VPS送中问题

By: wayen
11 August 2023 at 11:52

如何解决VPS送中问题

发表于|更新于|实用教程
|字数总计:648|阅读时长:1分钟|阅读量:

说明

当你使用脚本检测流媒体解锁时,可能会发现Youtube premium被标记为CN,恭喜你不用买会员也可以享受到无广告的Youtube了。为什么会这样呢?猜测的原因有:使用代理时开启了定位或开启了Google账号位置记录;你的VPS邻居开启了定位导致IP段被标记。以下将说明其他特征与解决方案。

特征

  • Gmail与Youtube会在首页隐藏图标,你可以输入网址访问。
  • 默认开启安全搜索,不显示敏感内容,你可以在设置中关闭安全搜索。
  • 搜索页面下方会显示Google标记你的位置信息,你可以使用虚拟定位更新这一位置。
  • https://google.com会自动跳转到google.com.hk,你可以使用https://google.com/ncr
  • https://www.youtube.com/red显示当前地区不支持会员,你无法购买Youtube会员。

解决方案

解决方案分两种,一种是向Google报告IP问题,但我在报告IPv6时总是提醒我IP地址无效;另一种是模拟定位,让你的位置信息被Goole重新读取。两种方法的快慢因人而定,可能几个小时也可能一天,或许也都需要接近一个月的时间。

报告IP

点击输入IP地址和国家,持续向Google报告即可。

虚拟定位

虚拟定位的方法也有两种,操作得当会立即改变搜索页面下方的位置信息,而这也是最关键的一步。手机只需要下载虚拟定位软件即可,以下详细介绍电脑浏览器更改位置信息的方法。
首先打开地图,搜索城市查找要定位的位置坐标。然后打开Chrome浏览器访问Google首页搜索我的位置,先不要给网站位置权限,鼠标右键打开开发者工具->检查依次点击标红位置。
20
点击管理之后添加位置,输入位置名称、经纬度及其他信息添加即可。然后再次来到管理点击左侧方框选择刚刚创建的位置名称。紧接着刷新网页,允许网站获得定位权限,点击搜索结果第一行的使用确切位置的定位按钮。现在你的位置就是你输入的坐标,来到网页最下方会看到*** - 根据您的活动记录 - 更新位置信息,点击更新位置信息即可。最后要做的就是等待。

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

软路由如何只代理网桥Docker

By: wayen
5 August 2023 at 21:22

软路由如何只代理网桥Docker

发表于|更新于|实用教程
|字数总计:574|阅读时长:1分钟|阅读量:

说明

你购买并设置了软路由用于代理,让局域网内的其他设备也可以使用。现在所有的流量都将先经过代理程序,这不可避免地会带来损耗,尤其是使用BT时大量的流量会被规则判定以后再直连,甚至也会影响游戏的NAT类型。而且也不得不考虑一个问题:软路由本身总是需要代理吗?为了解决这个问题,我将介绍一下DAE这个代理程序的优点和配置过程。
DAE有什么优点,它的代理性能比其他的好一点点但不多,主要看中的是它的直连性能。由于直连流量并不经过代理程序,会像直连一样直连。而且它可以识别网卡流量,将其LAN接口绑定Docker0网卡可以代理Docker流量,同时将其WAN接口与ETH0解绑就可以让软路由不走代理只代理Docker。

配置

下载安装

DAE的下载安装极其简单,而且有集成了DAE的面板daed便于操控,所以我们只需要安装daed即可。安装过程可以参考Onecloud作为旁路由实现代理,注意:如果你的系统不是armbian,请跳过升级内核,重新选择下载,如x86平台daed-linux-x86_64_v3_avx2.zip

配置说明

在配置Global中找到接口及内核选项,LAN接口绑定使用代理的网卡,如果你是旁路由,绑定与WAN接口相同的网卡即可。此时如果只绑定LAN接口而留空WAN接口,那么软路由内所有流量直连,局域网内流量可以被代理。当绑定Docker0时所有的容器都可以使用代理,如果你只想让其中几个容器被代理,那么稍稍有些复杂。
创建一个网桥用于代理容器连接,此时主机网卡多出br-**,在LAN接口绑定即可代理容器流量。不需要代理的容器不必加入该网卡,流量经过Docker0。

1
2
3
docker network create 要创建的网卡名称
#务必在容器创建时添加--network参数,否则流量默认走Docker0
docker run -d --name=proxy --network=要创建的网卡名称
文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

如何在Alpine上安装Cloudflare_tunnel

By: wayen
3 August 2023 at 22:29

如何在Alpine上安装Cloudflare_tunnel

发表于|更新于|实用教程
|字数总计:255|阅读时长:1分钟|阅读量:

说明

Tunnel支持Windows/Mac/Debian/RedHat/Docker,你可以在Alpine上使用Docker安装,但Alpine并不见得总是适合Docker。当机器内存过小,或一些其他原因不能使用Docker时,你可以手动安装Tunnel。

安装过程

首先你要下载Tunnel的运行程序,然后让它保持后台运行,这在其他系统中通常只是一行命令。其他相同操作请参照Cloudflare_tunnel内网穿透

下载运行程序

点击下载cloudflared-linux-amd64,如果你的服务器架构不同,请自行选择,但不要下载安装包。

1
2
3
chmod +x cloudflared-linux-amd64
mv ./cloudflared-linux-amd64 cloudflared
mv ./cloudflared /usr/bin/

添加后台运行

通常会在Tunnel选择系统页面看到一长串的字母,比如cloudflared.exe service install eyJhI***,将${token}替换为eyJhI***即可。

1
2
3
4
5
6
7
8
9
10
11
12
echo '#!/sbin/openrc-run

command="/usr/bin/cloudflared"
command_args="tunnel --no-autoupdate run --token ${token}"
command_background="yes"
pidfile="/run/cloudflared.pid"

depend() {
need net
}' >> /etc/init.d/cloudflared
rc-service cloudflared start
rc-update add cloudflared default
文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

一键脚本合集

By: wayen
3 August 2023 at 20:27

一键脚本合集

发表于|更新于|实用教程
|字数总计:376|阅读时长:1分钟|阅读量:

说明

脚本会按照功能进行分类,暂时分为重装,测评和安装工具三大类,更多详细内容请点击当前标题。如果大家有任何脚本想要分享,可以在下方评论区留言。

重装

本节脚本主要涉及DD系统,包含KVM和Openvz/LXC的重装。

leitbogioro

1
wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh

Debian12/raid0/Ubuntu22.04/AlmaLinux/RockyLinux/CentOS9/Fedora38/AlpineLinux/KaliLinux/Windows一键重装,而且长期更新。作者称它史上最强,当然还需要MJJ们检验一番,可以去Nodeseek反馈BUG

MoeClub

1
bash <(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/MoeClub/Note/master/InstallNET.sh') -d 12 -v 64 -p 密码 -port 端口 -a

自动安装,参数自己调整,默认密码MoeClub.org

OsMutation

1
curl -so OsMutation.sh https://raw.githubusercontent.com/LloydAsp/OsMutation/main/OsMutation.sh && chmod u+x OsMutation.sh && ./OsMutation.sh

脚本仅支持OpenVZ7/LXC,可以在Debian/CentOS/Alpine系统之间自由转换。同时也推出了轻量版本,支持小于1G的硬盘重装,请自行查看。

测评

本节脚本主要涉及对主机的评测,包含跑分测试、流媒体检测和三网测速。

YABS

1
curl -sL yabs.sh | bash -s -- -5

测评内容主要包括系统基本信息、硬盘读写速度、iperf3速度测试、Geekbench5跑分测试。

RegionRestrictionCheck

1
bash <(curl -L -s check.unlock.media)

流媒体检测脚本,项目全面而且支持Docker运行。

今天就到这里了

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

如何使用+86注册台湾Paypal

By: wayen
2 August 2023 at 12:10

如何使用+86注册台湾Paypal

发表于|更新于|实用教程
|字数总计:235|阅读时长:1分钟|阅读量:

说明

如果你身处境内又想要一个台湾Paypal,直接注册的话会要求你输入+886手机号。最简单的办法就是去买一个,但如果只有+86的话也不是没有解决的办法。本教程将介绍如何使用+86注册台湾Paypal,建议使用台湾IP避免风控(头铁也不是不行)。

注册Paypal

1.前往任天堂注册账号,国家/地区请选择日本
15
2.进入游戏商店
16
3.填写注册信息,台湾地址
17
18
19

重要提醒

虽然注册账号成功了,但也很容易风控,养号就全靠个人领悟了。如果要求上传身份证明和交易账单,你上传个身份证上去也大概率寄。支付时请设置银行卡汇率,否则就会使用Paypal汇率,比当前汇率要高。
给打游戏的留条活路,不要滥用!

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

Nat_vps使用技巧合集

By: wayen
1 August 2023 at 20:23

Nat_vps使用技巧合集

发表于|更新于|实用教程
|字数总计:465|阅读时长:1分钟|阅读量:

说明

Nat_vps是共享一个公网IP地址的虚拟化主机。一般的机器也就共享ipv4,获得一定数量的高位端口,要么生而被墙要么生而要墙,但是奈何价格便宜。一些机器也会同时附带ipv6地址,相比单ipv6机器性价比更高,直接使用ipv6即可。本教程将介绍如何使用其ipv4,主要分为建站和代理两个部分。

建站

反向代理

IP未墙使用反向代理软件直接监听开放的高位端口即可,以Caddy2为例:(其他请参照Websocket协议的反向代理配置,更改监听端口即可)

1
2
3
4
5
6
7
8
9
10
11
xml.wiki:34567 {
tls /root/cert/pem /root/cert/key
encode zstd gzip #压缩
root * ./ #域名映射根路径
file_server #启动文件服务
}

xml.wiki:34567 {
tls /root/cert/pem /root/cert/key
reverse_proxy localhost:7890
}

Origin Rules

Cloudflare官方支持的非标准端口有HTTP80、8080、8880、2052、2082、2086、2095 HTTPS443、2053、2083、2087、2096、8443。然而Nat_vps的高位端口一般是10000以上,所幸我们可以使用Cloudflare Origin Rules来接入任意非标准端口。
注意:需要提前把用到的域名解析到主机上,并开启小云朵,否则无效。
14

Cloudflare Tunnel

请参照Cloudflare_tunnel内网穿透

代理

建站的端口也可以使用代理,本节讲解使用ws+tls协议,默认使用X-ui等服务端开启ws但关闭了tls,手机电脑等客户端设置端口为443并开启了tls

Origin Rules

首先在X-ui设置代理协议的监听端口,如443,然后按照建站的使用方式设置Origin Rules,最后使用端口转发或反向代理将34567的流量指向443即可。

Cloudflare Tunnel

首先在X-ui设置代理协议的监听端口,如443,然后按照建站的使用方式设置Cloudflare Tunnel即可。

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

如何让Linux程序后台运行

By: wayen
29 July 2023 at 05:18

如何让Linux程序后台运行

发表于|更新于|实用教程
|字数总计:416|阅读时长:1分钟|阅读量:

说明

当我们需要让Linux程序后台运行时,可以使用以下四种方式:添加&符号、nohup、screen以及systemctl。其中systemctl还可以配置开机自启动。

&

1
2
3
./test &    #在可执行程序后空一格添加&
ps -ef|grep test #查看是否在后台运行,可查看PID
killall test #关闭后台运行或kill -9 PID

nohup

1
2
3
4
5
which nohup    #查询是否安装nohup,输出/usr/bin/nohup则已安装
apt install coreutils #安装nohup
nohup ./test & #会输出nohup.out文件
nohup ./test > /dev/null 2>&1 & #关闭输出
kill -9 PID #关闭后台运行

screen

1
2
3
4
5
6
apt install screen    #安装screen
screen -S test #创建一个名为test的窗口并进入
Ctrl a+d #退出窗口但不关闭,使用exit退出且关闭窗口
screen -ls #列出所有窗口
screen -x test #连接到已创建的窗口
screen -X -S test quit #关闭窗口

systemctl

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
nano /lib/systemd/system/test.service    #输入以下内容
[Unit]
Description=Test Service
After=network.target

[Service]
ExecStart=/path/to/test.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target
systemctl daemon-reload #刷新服务
systemctl enable test #开机自启
systemctl disable test #关闭开机自启
systemctl start test #启动
systemctl stop test #关闭
systemctl restart test #重启
systemctl status test #查看状态

alpine

alpine没有systemd管理服务,因此需要安装openrc。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
apk add openrc
nano /etc/init.d/test #输入以下内容
#!/sbin/openrc-run

command="/path/to/test"
command_args="命令参数"
command_background="yes"
pidfile="/run/test.pid"

depend() {
need net
}
chmod +x /etc/init.d/test #赋予可执行权限
rc-service test start #启动
rc-service test stop #关闭
rc-service test restart #重启
rc-service test status #查看状态
rc-update add test #开机自启
rc-update del test #关闭开机自启
rc-update show #查看所有开机自启
文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

Sshwifty: Web SSH & Telnet Client

By: wayen
28 July 2023 at 03:23

Sshwifty: Web SSH & Telnet Client

发表于|更新于|实用教程
|字数总计:748|阅读时长:3分钟|阅读量:

说明

Sshwifty是一个用于SSH的网页客户端,并集成了Telnet功能。相比于ttyd,Sshwifty提供了密匙认证,在能够访问自身服务器的基础上又可以连接其他服务器,十分的便利。

安装

下载安装

点击本小节标题选择适合自己架构的安装包,如sshwifty_0.2.35-beta-release_linux_amd64.tar.gz。注意:Sshwifty登录需要配置SSL证书,否则会报错无法登录,建议使用Caddy反向代理。

1
2
3
4
tar -xvf sshwifty_0.2.35-beta-release_linux_amd64.tar.gz
mv sshwifty.conf.example.json sshwifty.conf.json
chmod +x sshwifty_linux_amd64
./sshwifty_linux_amd64

Docker安装

1
2
3
4
5
6
7
8
9
10
docker run --detach \
--restart always \
--publish 8182:8182 \
--env SSHWIFTY_DOCKER_TLSCERT="$(cat domain.crt)" \
--env SSHWIFTY_DOCKER_TLSCERTKEY="$(cat domain.key)" \
--name sshwifty \
niruix/sshwifty:latest
#若使用反向代理需删去--env,也可自行配置证书或使用自签证书:
openssl req \
-newkey rsa:4096 -nodes -keyout domain.key -x509 -days 90 -out domain.crt

配置详解

sshwifty.conf.json需要与sshwifty_linux_amd64同目录,或放置在/etc//root/.config/之一即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{
"HostName": "", #默认为空允许所有域名,可指定域名
"SharedKey": "WEB_ACCESS_PASSWORD", #网页登录密码,为空则允许所有人访问
"DialTimeout": 5, #超时时间(秒)
"Socks5": "", #使用Socks5代理
"Socks5User": "", #Socks5用户名
"Socks5Password": "", #Socks5密码
"Servers": [ #可设置多个,在不同端口提供服务
{
"ListenInterface": "0.0.0.0", #监听本地网络接口
"ListenPort": 8182, #监听端口
"InitialTimeout": 3, #HTTP握手超时(秒)
"ReadTimeout": 60, #无操作时后端服务器与客户端保持连接时间(秒)
"WriteTimeout": 60, #服务器等待客户端连接准备接收新数据时间(秒),超时连接关闭
"HeartbeatTimeout": 20, #内部回显请求间隔(秒)
"ReadDelay": 10, #每个请求之间强制延迟(毫秒)
"WriteDelay": 10, #每次写入之间强制延迟(毫秒)
"TLSCertificateFile": "", #SSL证书路径
"TLSCertificateKeyFile": "" #SSL证书密匙路径
}
],
"Presets": [ #预先设置内容,以免手动再填写
{
"Title": "SDF.org Unix Shell", #名称
"Type": "SSH", #连接类型SSH或Telnet
"Host": "xml.wiki:22", #连接地址和端口
"Meta": {
"Encoding": "utf-8", #编码
"Authentication": "Password" #认证方式,密码或密匙认证
}
},
{
"Title": "My own super secure server",
"Type": "SSH",
"Host": "localhost",
"Meta": {
"User": "root",
"Encoding": "utf-8",
"Private Key": "-----BEGIN RSA Will be sent to client-END RSA PRI...\n", #私匙内容
#"Private Key": "file:///root/.ssh/private_key", #也可指定私匙文件
"Authentication": "Private Key", #认证方式,密匙认证
"Fingerprint": "SHA256:bgO...." #公匙指纹数据,默认
}
},
{
"Title": "My own super expensive router",
"Type": "Telnet",
"Host": "10.0.0.1",
"Meta": {
"Encoding": "ibm866"
}
}
],
"OnlyAllowPresetRemotes": false #只允许连接预先设置的远程主机
}
文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

Cloudflare: Quota limit exceeded

By: wayen
26 July 2023 at 14:23

Cloudflare: Quota limit exceeded

发表于|更新于|实用教程
|字数总计:76|阅读时长:1分钟|阅读量:

说明

刚刚在用域名给Tunnel授权时提示Quota limit exceeded. You can create no more than 50 tokens (Code: 1001),换了个域名仍然不成功。这是因为Cloudflare的API令牌数量超过了数量50的限制,删除掉不使用的就好了。

解决方法

https://dash.cloudflare.com/profile/api-tokens

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

通过Cloudflare_tunnel实现远程SSH

By: wayen
24 July 2023 at 15:31

通过Cloudflare_tunnel实现远程SSH

发表于|更新于|实用教程
|字数总计:281|阅读时长:1分钟|阅读量:

说明

搭建Cloudflare_tunnel完成后似乎可以内网穿透了,但如果还要使用远程SSH仍需要几个步骤,本教程将介绍通过Cloudflare_tunnel实现远程SSH三种方法。

搭建Tunnel

给自己的SSH控制端也搭建Tunnel,可以使用代理命令<file path>/cloudflared access ssh --hostname ssh.xml.wiki通过SSH工具连接。

添加认证程序

首先打开工作台,点击左侧Access下的Applications创建应用。类型选择Self-hosted
09
然后本页按照下图填写内容,其他保持默认即可。
10
在添加规则页面,Policy name随便填写,具体的规则可按照下图填写,其他保持默认即可。
11
最后一页请如下图选择SSH,其他保持默认即可。
12
别忘记在Tunnel中的Public Hostname创建SSH规则,之后访问网站进行邮箱验证码登录即可。
08

SSH over WEB

简单来讲就是使用工具将SSH转为Web,再由Tunnel进行内网穿透。

ttyd

下载ttyd,默认监听7681端口,可通过参数-p指定。

1
2
chmod +x ttyd
./ttyd login

sshwifty

另见。使用Tunnel可不用配置SSL证书。

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

Cloudflare_tunnel内网穿透

By: wayen
23 July 2023 at 20:06

Cloudflare_tunnel内网穿透

发表于|更新于|实用教程
|字数总计:340|阅读时长:1分钟|阅读量:

说明

借助Cloudflare_tunnel可以实现访问没有公网的主机服务,也可以安全保护自己代理公网端口,甚至在没有标准端口的Nat_vps上白嫖CDN。不需要花费一分钱的内网穿透,只需你添加一张信用卡即可。

教程

首先进入工作台,任意填写你的团队名称,选择Free Plan添加付款方式即可。
然后点击左侧Access下的Tunnels,创建一个Tunnel。
04
05
接着你可以选择自己的操作系统,以Onecloud为例选择Debianarm32bit,到页面下方复制左侧的命令到SSH窗口回车即可。下一步输入自己的Tunnel名称,点击保存。
06
之后填写自己想要穿透的内网端口。Subdomain是二级域名前缀,不要填解析过的;Path是网页路径,没有需求留空;Type选择http,URL是localhost+端口号。
07
最后在SSH窗口输入cloudflared tunnel login会输出一个网址,复制到浏览器打开,选择使用的域名授权即可。

远程SSH

服务中选择Type时请不要选择SSH,直接使用是无效的,你必须在SSH控制端同样安装Tunnel,或者在工作台新建一个SSH应用登录认证后使用。当然,最简单的办法就是把SSH通过Web分享出来再由Tunnel代理。
教程

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

Websocket协议的反向代理配置

By: wayen
22 July 2023 at 11:20

Websocket协议的反向代理配置

发表于|更新于|实用教程
|字数总计:321|阅读时长:1分钟|阅读量:

说明

Websocket(简称ws)是一种双向通信协议,使用与HTTP协议相同的端口,并通过HTTP_Upgrade机制来进行握手建立连接。而使用HTTP协议的反向代理可能对Websocket不起作用,所以本教程主要介绍基于Caddy2、Nginx、Apache2的Websocket反向代理配置。

Caddy2

1
2
3
4
5
6
xml.wiki {
tls /root/cert/pem /root/cert/key #或由Caddy自动申请
reverse_proxy localhost:7890 #所有代理请求
reverse_proxy /xml/* localhost:7890 #/xml开头的请求代理
reverse_proxy /xml{http.request.uri.path} localhost:7890{http.request.uri.path} #保留原始请求路径的路由
}

Nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
server {
listen 443 ssl;
server_name xml.wiki;
ssl_certificate /root/cert/pem;
ssl_certificate_key /root/cert/key;
ssl_session_timeout 5m;

location / {
proxy_redirect off;
proxy_pass http://127.0.0.1:7890;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

Apache2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
sudo a2enmod ssl rewrite proxy proxy_http proxy_wstunnel
nano /etc/apache2/sites-available/000-default.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName xml.wiki
SSLEngine on
SSLCertificateFile /root/cert/pem
SSLCertificateKeyFile /root/cert/key
ProxyRequests off
ProxyPreserveHost on
RewriteEngine on
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
#反向代理http请求
ProxyPass / http://localhost:7890/
ProxyPassReverse / http://localhost:7890/
#反向代理websocket连接
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://localhost:7890%{REQUEST_URI} [P]
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
</IfModule>

systemctl reload apache2
文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

Onecloud开启B站24H直播

By: wayen
21 July 2023 at 19:04

Onecloud开启B站24H直播

发表于|更新于|实用教程
|字数总计:180|阅读时长:1分钟|阅读量:

说明

本着不浪费Onecloud性能的原则,写完直播录制也得有直播推流,于是就找到了两款B站24h直播工具,分别是BiliLive-Auto-StreamingBilibiliLiveTools。两款工具都需要Cookie,分区ID请查找

BiliLive-Auto-Streaming

1
2
3
4
5
6
7
8
wget https://github.com/KimmyXYC/BiliLive-Auto-Streaming/archive/refs/heads/main.zip
unzip main.zip
apt install ffmpeg python3-pip
pip install -r requirements.txt
python3 login.py #扫码登录
nano config.json #填写直播房间号room_id和分类分区area及其他参数
#live_time表示直播时长(秒),0表示播完当前视频后停止;-1表示24h持续直播
python3 main.py #启动

BilibiliLiveTools

前往下载页面下载BilibiliLiver_Linux_ARM.zip

1
2
3
4
5
6
apt install ffmpeg
unzip BilibiliLiver_Linux_ARM.zip
chmod +x BilibiliLiver_Linux_ARM
nano cookie.txt #见cookie
nano appsettings.json
./BilibiliLiver_Linux_ARM #启动

Cookie

前往https://api.bilibili.com/x/web-interface/nav
13

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

Bililive-go:一键开启直播录制

By: wayen
21 July 2023 at 08:20

Bililive-go:一键开启直播录制

发表于|更新于|实用教程
|字数总计:507|阅读时长:1分钟|阅读量:

说明

Bililive-go是一款支持多种直播平台的录制工具,借助它我们很容易就能将自己喜欢的直播录制下来。目前Bililive-go支持的平台有Acfun直播、哔哩哔哩直播、战旗直播、斗鱼直播、虎牙直播、twitch、抖音直播、快手、YY直播、微博直播等,更多内容详见官方
提醒:在使用ip:8080访问webui添加直播间或更改设置时,务必点击保存否则不生效。bililive-go重启之后监控状态可能会发生变化,请在webui手动开启录制。

下载安装

docker安装

1
2
3
4
5
docker run \
--restart=always \
-v ~/Videos:/srv/bililive \
-p 8080:8080 \
-d chigusa/bililive-go

你也可以指定端口,让bililive-go监听主机80端口-p 80:8080,配置文件为/etc/bililive-go/config.yml,录像输出文件在/srv/bililive

手动安装

以Onecloud为例,首先需要安装ffmpegapt install ffmpeg,然后前往下载页面找到bililive-linux-arm.tar.gz并下载到/root文件夹。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
tar -xvf bililive-linux-arm.tar.gz
chmod +x bililive-linux-arm
./bililive-linux-arm -c config.yml
#后台运行
echo "[Unit]
Description=Live Stream Saver
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
ExecStart=/root/bililive-linux-arm -c /root/config.yml
Restart=on-failure

[Install]
WantedBy=multi-user.target" > /usr/lib/systemd/system/bililive-go.service

配置参数详解

配置文件为config.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
bind: 0.0.0.0:8080    #webui监听地址和端口,请更改
interval: 20 #直播间状态查询间隔秒
out_put_path: ./ #直播文件输出路径
use_native_flv_parser: false #默认使用ffmpeg录制,录制视频出现花屏可尝试开启
- url: https://*** #直播间地址
is_listening: true #开启录制
quality: 0 #仅B站启用,默认为0,代表原画PRO(HEVC)优先, 其他数值为原画(AVC)
out_put_tmpl: "" #输出文件名模板
on_room_name_changed: false #直播房间名改变时分割录像
max_duration: 0s #单个视频最大时长,0为不切割录像
cookies: {} #录制失败时可尝试添加,格式为live.bilibili.com: cookies
convert_to_mp4: false #录制完成后格式转为mp4
delete_flv_after_convert: false #转换格式后删除flv
文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

OnecloudのBT/PT计划

By: wayen
19 July 2023 at 12:45

OnecloudのBT/PT计划

发表于|更新于|实用教程
|字数总计:799|阅读时长:3分钟|阅读量:

说明

Onecloud1+8G的孱弱配置根本不够看,但是千兆网口用来简单刷个BT/PT还有些富余,已经可以满足轻量用户的需求。本教程用到的软件和工具如下:aria2、alist、rclone、samba、7zip、U盘或移动硬盘。aria2用于下载,alist挂载网盘,rclone上传文件到网盘,samba提供smb协议挂载,7zip解压。
推荐在浏览器上安装Aria2 Explorer,在手机上安装AriaNgGUI来管理和使用BT/PT下载,缺点就是不能主动做种。

下载安装

aria2

aria2使用P3TERX大佬的完美配置脚本。

1
2
3
apt install wget curl ca-certificates
wget -N git.io/aria2.sh && chmod +x aria2.sh
./aria2.sh #有中文目录,选择安装即可

alist

alist的一键脚本不适用于Onecloud,所以我们选择手动安装。首先下载alist-linux-arm-7.tar.gz到你需要安装的目录,比如/root,然后解压运行添加到后台即可。

1
2
3
4
tar -zxvf alist-linux-arm-7.tar.gz
chmod +x alist
./alist server # 运行程序
./alist admin # 获得管理员信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
echo "[Unit]
Description=alist
After=network.target

[Service]
Type=simple
WorkingDirectory=/root
ExecStart=/root/alist server
Restart=on-failure

[Install]
WantedBy=multi-user.target" >> /usr/lib/systemd/system/alist.service
#后台运行
systemctl daemon-reload && systemctl enable alist && systemctl start alist

rclone and 7zip

rclone的安装请执行curl https://rclone.org/install.sh | sudo bash,在下载BT/PT时有可能遇到压缩包,你可以下载7zipapt install p7zip-full p7zip-rar。解压命令7z x test.z删除ip -r -o/root/test(部分压缩文件可能会乱码)。

联合配置

挂载磁盘

fdisk -l根据容量查看要挂载的磁盘目录,如/dev/sda1,sudo mkfs.ext4 /dev/sda1格式化磁盘,sudo mount /dev/sda1 /mnt挂载即可。关于开机自动挂载:blkid查看对应的UUID,nano /etc/fstab最后一行添加UUID=****** /mnt ext4 defaults 0 1

下载与自动上传

alist添加网盘请参考官方。rclone挂载alist教程如下:
rclone config然后输入n取名如wd,输入WebDav对应的数字如46,输入alist网盘链接http://0.0.0.0:5244/dav,输入other对应的数字5,输入用户名-输入y-输入密码(密码不会显示),之后一直回车。
下载BT/PT后自动上传需要配置aria2,主要需要修改的内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
nano /root/.aria2c/aria2.conf
dir=/mnt #下载目录
max-overall-upload-limit=0 #BT/PT最大上传速度
seed-ratio=1.0 seed-time=0 #分享率和做种时间
最重要的是客户端伪装注释掉上面的user-agent,然后添加如下内容:
user-agent=Transmission/2.94
peer-agent=Transmission/2.94
peer-id-prefix=-TR2940-
注释掉on-download-stop
修改on-download-complete的内容为/root/.aria2c/upload.sh

nano /root/.aria2c/script.conf
drive-name=wd #rclone挂载的网盘名
drive-dir=/onedrive/test #alist挂载的网盘目录,即上传到的文件夹

samba挂载

1
2
3
4
5
6
7
8
9
10
11
12
13
apt install samba
nano /etc/samba/smb.conf
在最后面添加如下代码:
[xml] #共享到局域网后会显示的名字
comment = xml.wiki #备注信息
path = /mnt #共享的文件夹路径
writable = yes #可以通过局域网上传文件
create mask= 0755 #上传的文件权限也可以改成0777
directory mask=0775 #同上,目录权限
之后添加密码并重启
touch /etc/samba/smbpasswd
smbpasswd -a root
service smbd restart
文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

网页代理工具

By: wayen
17 July 2023 at 20:57

网页代理工具

发表于|更新于|实用教程
|字数总计:272|阅读时长:1分钟|阅读量:

说明

网页代理是通过代理服务器来访问网页,提供了隐私保护、解除地理限制等诸多功能,像浏览普通网页一样方便。提供网页代理的工具有很多,当然弃坑的更多,本教程介绍其中一种——HNet的搭建。
Demo: web.xml.wiki

正文

下载安装

1
wget https://github.com/Hideipnetwork/hideipnetwork-web/archive/refs/heads/v3.zip

下载之后使用unzip *zip解压,然后进入文件夹。
另外文件夹内nano .env可以修改运行端口。

1
2
3
4
5
apt install npm
npm install
npm run start
npm i pm2 -g && pm2 start index.mjs --name xml
pm2 startup #开机自启

反向代理

HNet不支持IP+端口运行,即使访问成功也不能使用,那么就需要使用反向代理添加域名。

1
2
3
4
5
apt install caddy
echo "domain.com {
reverse_proxy 127.0.0.1:56559
}" >> /etc/caddy/Caddyfile
systemctl start caddy

可以忽略

socks5代理

HNet可以使用socks5代理,文件夹内nano .env修改MODO = “socks5”,之后修改/proxy/socks5.txt内容为user:password@ip:port

页面美化

自行进入public文件夹修改即可。

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

Onecloud作为旁路由实现代理

By: wayen
5 July 2023 at 11:41

Onecloud作为旁路由实现代理

发表于|更新于|实用教程
|字数总计:305|阅读时长:1分钟|阅读量:

说明

Onecloud只有单网口,作为旁路由实现代理时有些设备是无法工作的,比如kindle和switch上的youtube。然而dae解决了这个问题,不再使用代理ip和端口,所以我用它替换掉了v2raya。其他内容请参照how_it_works。dae支持的代理有http(s), socks, ss, ssr, vmess, vless, trojan, tuic(v5), naiveproxy。

准备

设置静态IP

1
nmtui

01

升级内核*

无视报错,重启即可。

1
2
3
uname -r    #查看内核版本号,并下载对应的内核。
tar -xvf kernel*tar #解压
dpkg -i linux-*.deb #安装

安装

下载代理程序daed

daed比dae多个操作面板,下载installer-daed-linux-armv7.deb后,直接dpkg -i *deb安装即可,systemctl start daed为启动命令。

使用

浏览器输入IP:2023,如http://192.168.2.41:2023
接着添加节点信息,点击节点标签拖动到群组后,点击右上角运行开关即可。修改配置后请点击右上角多出的重载按钮,否则不生效。
02
局域网使用时需要绑定global中的LAN接口并设置静态ip,网关路由和DNS均要指向Onecloud的IP地址。路由参数请参照routing,比如想要BT软件直连需添加pname(aria2c) -> direct
03

文章作者: wayen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wayen

评论
数据库加载中

❌
❌