PwnInt小记

Randomized · Idealized · Visualized

记一次管理员环境下Spicetify+Spicetify Marketplace安装

由于无搜索结果,遂决定自己上手写一个安装小记。
我安装了lrepacks提供的绿色版spotify,链接在这里
由于安装时修改了安装路径,后续第3步需要执行,否则跳过即可。

1.安装Spicetify

按照官网给出的步骤,执行脚本
iwr -useb https://raw.githubusercontent.com/spicetify/cli/main/install.ps1 | iex
回车后会提示黄字警告

输入n回车即可
之后会提示是否要安装Spicetify Marketplace,由于脚本未对管理员权限情况做判断,再次输入n回车即可。

2.编辑安装用脚本

之后新建一个文件,文件名无所谓,后缀为.ps1
输入以下内容:
$params = @{
BypassAdmin = $true
}

$scriptContent = (iwr -useb https://raw.githubusercontent.com/spicetify/marketplace/main/resources/install.ps1).Content
$scriptBlock = [ScriptBlock]::Create($scriptContent)
& $scriptBlock @params

保存。

3.在config中编辑spotify_path(可选)

如果你也像我一样更改了Spotify的安装位置,会报错Cannot detect Spotify location
记事本打开C:\Users\Administrator\AppData\Roaming\spicetify\config-xpui.ini这个文件
spotify_path这一栏后方填上Spotify的安装路径,如果路径有空格记得带双引号
保存并退出。

4.安装Spicetify Marketplace

打开powershell,输入powershell -ExecutionPolicy Unrestricted
这一步是为了绕过禁止运行脚本的限制,否则会报如下图的错误:

cd到脚本路径并执行脚本,如果无报错即代表安装成功。
打开Spotify,左上角已经出现了Marketplace的小购物车。

记一次qBittorrent安装+alist离线下载设置

前言
朋友的家宽拿到了公网ip,遂搭建了一个alist服务。
为了方便,我拿到了他的ssh,着手安装qBittorrent。
本文章基于Ubuntu 22.04.5 LTS x86_64

Part 1.下载并上传
首先从github releases下载qBittorrent
我选择的是qbittorrent-enhanced-nox_x86_64-linux-musl_static_2,根据版本来就好。
下载解压完用winscp链接到机子,上传文件。
为了配置方便,上传完后将文件放置在了/root中。
ls一下,如果qbittorrent-nox显示不是绿色的就chmod +x qbittorrent-nox一下。

Part 2.测试并修改配置文件
首先确保防火墙等等没有禁掉8080的出入站:
sudo ufw status
如果防火墙启用了,确保 8080 端口是开放的:
sudo ufw allow 8080/tcp
再reload下防火墙配置。
sudo ufw reload
先执行以下命令查看输出:
./qbittorrent-nox --confirm-legal-notice
同时打开第二个窗口,执行lsof -i:8080查看端口情况。
非常不妙的是,qBittorrent一直只监听了ipv6下的8080端口,导致公网一直无法访问。

这时候就必须要修改配置了。
执行以下配置来打开配置文件:
sudo vim /root/.config/qBittorrent/qBittorrent.conf
按下i键,在[Preferences]中加上以下两行:
WebUI\Address=0.0.0.0
WebUI\Port=8080

第二行是为了保险,可以不加。
按Esc,输入:wq回车
再次运行,另外一个窗口输入lsof -i:8080就会显示ipv4了。
这时我们就可以登录到qBittorrent的WebUI中了。
浏览器打开ip/域名:8080就可以了,默认用户名admin,密码为临时密码,启动时随用户名一同输出。
这时我们就可以进入设置加上SSL证书或进行其他配置了。
记住千万不要动监听端口/地址方面的设置,留到最后再弄。

Part 3.为qBittorrent写系统服务
此处是噩梦的开端 >﹏< 确保你有root权限,执行以下命令新建服务: vim /etc/systemd/system/qbittorrent-nox.service
其中的qbittorrent-nox可以随意更改成你想要的服务名。
一开始只是套了alist模板写上了,但是不知为何qBittorrent不读取已经写完的配置,所以只listen了ipv6上的8080端口。
后面无论是加启动参数--profile=$path$还是更改文件位置都是不行。
使用find / -name qBittorrent.conf发现竟存在三个配置文件

反应过来服务配置中忘记添加HOME变量了
于是有了最终的配置:
[Unit]
Description=qbittorrent-nox
After=network.target

[Service]
Type=simple
Environment="HOME=/root"
ExecStart=/root/qbittorrent-nox
Restart=on-failure

[Install]
WantedBy=multi-user.target

其中Envirionment="HOME=/root"这一行最为重要,如果没有这一行配置文件将无法读取。
执行命令来启用开机自启:
systemctl enable qbittorrent-nox
并启动qbittorrent。
systemctl start qbittorrent-nox && sleep 5 && systemctl status qbittorrent-nox
现在应该就可以正常使用了。

Part 4.设置alist的离线下载
先确保你有alist的管理员权限,
修改alist管理-设置-其他 中的qBittorrent链接为以下格式:
http(s)://$username$ : $password$ @ $hostname$ : $port$/
如果你配置了SSL请一定将http加上s。
点击设置qBittorrent,右上角弹出OK即为设置完毕。

Alist将其他用户添加成管理员,实现多管理员

朋友用家里公网ip开了个Alist服务器,闲来无事想帮他改下网站样式。
发现只有Admin才能更改,但Alist本身设计只允许单Admin存在。
google后发现有人在github中写出了解决方案,
但是这个解决方法会把所有新建用户改成Admin,除此之外根本没人写。
经过一晚尝试后,终于成功将现有用户修改为管理员。
首先cd到alist目录下的`data`文件夹中:
cd $Alist$/data
安装sqlite3:
sudo apt-get install sqlite3
用sqlite3打开 data.db:
sqlite3 data.db
获取x-users中的用户id:
select * from x-users;
修改用户role:
UPDATE x_users
SET role =2
WHERE id=$id$;

其中的$id$自行替换为获取到的用户id。
再去看后台已经变成了Admin。

以上。