把Kali Linux打造成日用系统?

写在最前

不定期更新

–2023.12.22–

主板坏了返修双系统估计是无了,以后这个文章不会更新了。

另一篇关于Kali的软件的文章

1.软件安装

软件源

推荐使用中科大源,官网
/etc/apt/source.list中替换以下内容

deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

关于显卡驱动

如果你用的是N卡,那么百度上绝大多数时候都可以找到靠谱的驱动安装教程,但是你会发现死活找不到A卡的。事实上,A卡的显卡驱动是集成到Linux内核里的,也就是说,我们不用安装A卡驱动,甚至想找驱动,也不一定找得到。

那amd.com官方网站的那个又是什么呢?那是amd官方的图形库闭源版本。

单有驱动是不够的,还得有图形库才能发挥最好的性能。不过amd.com官方的图形库停止了对游戏的优化,我不推荐用它。相反我推荐安装mesa的图形库,在这一小节的末尾的贴吧帖子里有提到。

amd官方图形库安装(总的安装过程就是下载,安装,输指令,照着官方文档敲就行了很简单):

首先是适配问题,不管是什么,只要不是为Kali设计的,Kali大概率不适配(废话),其次,Kali的内核更新比Ubuntu快太多了,有些时候amdgpu—dkms安装不了就是内核版本不适配。

目前如果想在最新的Kali发行版本上安装只能降低驱动或者系统的版本(后者肯定不可能),找去年的版本基本上百分百到位。一些可能遇到的问题:

1.os-release未知:把/etc/os-release文件中的ID从kali改成debian,注意全小写。

2.大量缺少i386软件包:参考下文的steam安装方式,其中的sudo dpkg --add-architecture i386 即可开启i386安装允许下载i386版本软件。

3.有关xorg的abi包依赖无法解决:换版本。

安装完成后先使sudo apt update更新(这步不能省),然后用下面的命令即可安装包括vulkan和opencl在内的图形库:

amdgpu-install -y --usecase=graphics --vulkan=amdvlk --opencl=rocr,legacy --accept-eula

安装mesa的图形库:

(1)如果你使用Ubuntu,那你的最好做法是安装ppa库之后apt安装,但是Kali不是Ubuntu,它基本用不了ppa库,所以直接到feral的ppa库下载deb安装包。这里我建议不要一上来就找最新的,百度几下做做文章不然一上来就把刚装好的系统干废了。

ppa库链接

理论上需要下载安装ppa库中的mesa-vulkan-drivers mesa-opencl-icd mesa-vulkan-drivers:i386三个包,其中第一个和第三个是两种架构的vulkan库,第二个是openCL库。

(2)如果你使用其他Debian系机器,那唯一的做法就是依靠apt的存储库了:

#安装vulkan库和工具
sudo apt install mesa-vulkan-drivers libvulkan1 vulkan-tools vulkan-utils vulkan-validationlayers
#其中的vulkan-utils可能已经被vulkan-tools取代

#安装OpenCL库和工具
apt install mesa-opencl-icd mesa-utils

#安装OpenGL库(仅限A卡)
sudo apt install libgl1-mesa-dri libgl1-mesa-dev libgl1-amdgpu-mesa-dri libgl1-amdgpu-mesa-glx libgl1

#安装显卡驱动
sudo apt install firmware-linux firmware-linux-nonfree libdrm-amdgpu1 xserver-xorg-video-amdgpu
#如果你是Linux老用户就可以看出来 前面的是Linux默认驱动组,后面的在apt upgrade时就会自动安装

最后,你可以用glxinfo | grep "OpenGL version" && glxinfo | grep "rendering"在命令行中查看当前显卡情况,正常来讲能够看到上面的OpenGL-Mesa版本,下面的rendering会是Yes。
在这里插入图片描述

写在最后,可能有用的一些文字:
https://tieba.baidu.com/p/6088650261
https://tieba.baidu.com/p/7195580365

–2023.6.22更新

今天在更新amd官方的图形库后xfce组件全部失效并且无法调整显示器分辨率。我只能说,慎装。

浏览器

---------------------------------------- 2024.4.3更新 ----------------------------------------

现在你可以完全放弃Firefox而使用Floorp:

在这里插入图片描述

Floorp使用Firefox的源代码构建,但是更快更强,使用火狐国际版服务,且支持Linux仓库安装。

在这里插入图片描述

你可以理解为Firefox增强版。

除此之外,Floorp的代码托管在Github上,可以随时查看。

----------------------------------------- 2024.4.3 ---------------------------------------------

Kali自带的浏览器是Firefox的esr版本(长期支持版),因为组织接管的问题用起来不方便,而且Kali的默认软件库里没有正常版本的Firefox安装包,所以要到其他Debian系的软件包仓库里自己下载,但是在这些软件包仓库里能找到的只有国际版格式的deb安装包,这里建议使用和Kali自带esr版本firefox相同版本号的安装包。

PKGS.ORG
Debian官方仓库

火狐浏览器有分中国版和国际版,推荐使用中国版(夹带私货,共享同步速度非常快)。

正常安装国际版Firefox,然后用下面链接的办法把它改成中国版。

在Firefox国际版使用中国版账户(火狐通行证)傻瓜解决办法

你也可以想办法把中国版下载的归档文件打包成deb包使用。

把零散的可执行文件打包成.deb安装包

中国版官网

国际版官网

直接通过二进制压缩包格式安装Firefox的方法见Firefox的二进制安装方式

中文输入法

推荐使用搜狗拼音输入法,官网

找到并下载搜狗拼音输入法的deb安装包

在这里插入图片描述

在这里插入图片描述

首先安装fcitx组件,如下命令:

sudo apt install fcitx

之后会报错,这是正常现象。然后输入如下命令:

sudo apt --fix-broken install

即可完成fcitx的安装。

再使用sudo dpkg -i 软件包名.deb安装输入法。

在这里插入图片描述

之后打开徽标,找到输入法设置,两次都选择是,然后选择fcitx小企鹅输入法,然后重启。

请添加图片描述

在这里插入图片描述

安装就完成了。之后在任何可以输入的地方使用Ctrl + 空格就可以切换输入法了。

–2023.4.29更新–

新出的4.2版本搜狗输入法别用,用4.0版本的。

–2023.12.21更新–

搜狗最近有进行了一次更新,最新的版本可以在最新的Kali发行版使用。

文本编辑器

除了不同的桌面环境自带的文本编辑器,我推荐使用mousepad,其支持root模式编辑而且界面相当简洁美观。

如果是远程服务器连接没有GUI界面的,又不喜欢Vim(抽象的按键和极难的配置和冷战风格的主题),可以使用micro。micro和vim一样都是命令行式的文本编辑器,但是它不使用wq这种东西,它使用Ctrl+s进行保存,Ctrl+q进行退出(Windows党狂喜)。

附一篇介绍的文章链接

Micro的官网链接

你可以直接使用apt安装micro:

sudo apt install micro

除此以外,Micro也支持lua格式的插件和各类主题。

下载工具

在Windows上常用的IDM是没有Linux版本的,推荐使用Motrix下载器,官网

直接下载安装即可,之后只需要像使用IDM一样使用它即可。

安装它的浏览器扩展,因为Motrix是以Aria2为基础的下载器,所以直接在商店搜索Aria2下载管理器,或者也可以到Motrix的扩展页直接点击超链接跳转。

在这里插入图片描述
使用Motrix不需要配置rpc密钥,但是要把端口改成16800
在这里插入图片描述
之后就可以正常使用了,当然你也可以使用原版的Aria2下载器,原版的Aria2下载器配置

QQ

这个没什么难度,直接百度搜新版LinuxQQ下载deb安装就可以了。

新版的LinuxQQ还可以(早他吗该上Electron的)。

Steam

天下第一Hacker能玩不了Steam?

依然是在steam官网下载deb格式的安装包后安装,但是启动时大概率会有下图的报错提示。

在这里插入图片描述

执行下面的命令安装一些运行库:

sudo dpkg --add-architecture i386
sudo apt update #这一步不能省
sudo apt install libgl1-mesa-dri:i386 libgl1:i386 libc6:i386 xdg-desktop-portal xdg-desktop-portal-gtk

等待安装完成即可。

录屏软件

虽然Kali有自带的录屏软件,但是我们这种隔壁Windows过来的都会喜欢用OBS.

OBS官网有提供Linux版本安装包,但是只能用ppa库安装,又因为不是Ubuntu的发行版所以不能直接apt下载,要到OBS的Github地址下载:

Github

在这里插入图片描述

在这里插入图片描述
后缀是对应的Ubuntu发行版代号,其中的jammy是当前最新的22.04版本。

安装过程一定会遇上运行库的问题,一般用下面的命令解决:

sudo apt --fix-broken install

顺带一提,其实OBS在Linux上不好用,对显卡极其不友好,建议用Kali桌面环境自带的录屏。

邮件客户端

推荐使用BlueMail,使用Electron框架,界面非常美观:

在这里插入图片描述
直接下载官网的安装包安装即可,因为是Kali Linux,有些依赖包apt库里是没有的,要自己到Debian的存储库里下载。

libgconf-2-4
gconf2-common

大致是这两个。

如果提示GPU process isn't usable. Goodbye,把它的快捷方式里加上参数--no-sandbox即可。

–2023年11月25日更新–

最近在Github上又看到一个邮件客户端,14k的star什么含金量不说了。

Mailspring_Github
在这里插入图片描述

Markdown编辑器

可以使用VSCode(真是啥都能干),只需要下载几个小插件。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

当然也可以尝试使用Github上40多k的项目Marktext,使用Electron构建的应用,界面非常好看。
在这里插入图片描述
但是原项目是没有中文翻译的,可以到Marktext中文移植下载中文版。

另外,Marktext是全平台通用的,Windows虽然有Typora,但是Marktext又何尝不是一个好选择。

音乐软件

我直接用的网易云Linux版,安装包和安装需要注意的地方都可以谷歌搜到。

也可以用下面两个高颜值的Electron项目

YesPlayMusic

在这里插入图片描述

落雪音乐

在这里插入图片描述

这两个项目都是Electron全平台通用的。

视频播放器

推荐使用VLC

VLC是一个跨平台的免费开源播放器。

请不要用root权限运行VLC。

sudo apt install vlc

安装工具

正常安装deb包都是用dpkg -i命令,dpkg不会为我们补齐依赖,额外需要使用sudo apt --fix-broken install来补齐依赖。

使用Gdebi安装器可以在安装的同时补齐依赖。

sudo apt install gdebi

使用:

sudo gdebi xxx.deb

可以使用sudo gdebi-gtk打开它的GUI界面。

办公软件

推荐使用WPS Linux版,在官网(wps.cn)即可下载,它是WPS2019版本,无广告。

你也可以使用WPS国际版,访问wps.com获得下载链接,它是WPS2022版本,但是是全英文的,而且无法汉化。

2.使用优化

磁盘开机挂载

如果是Kali+Windows双系统,需要先到Windows系统中关闭电源管理中的快速启动选项。参考链接

首先确定磁盘的挂载目录,比如希望sda1磁盘挂载在/home/kali/data1这个目录下。

通过下面的命令查找uuid:

sudo blkid

在这里插入图片描述相应的驱动器后有相应的uuid,不确定是哪块磁盘可以使用sudo fdisk -l查看磁盘的大小和文件系统来确定。

之后编辑/etc/fstab文件,使用vim或者mousepad都可以。

以使用ntfs系统的sda1磁盘为例,向文件中添加:

UUID=5A00276F002750F5 /home/howxu/data/data1 ntfs-3g defaults,rw 0 3

其中uuid对应sda1磁盘的uuid;后面的路径是磁盘的挂载路径;ntfs-3g是文件系统;defaults,rw是操作磁盘的参数控制,可以不要改;0是一个默认值,不用改;3是驱动器序号,不可以重复。

这是我自己的fstab文件;

在这里插入图片描述重启即可。

ssh服务

通过以下命令控制ssh服务:

sudo service ssh start #开启
sudo service ssh restart #重启
sudo service ssh stop #关闭

Grub修改

关于修改主题什么的别的教程都比这篇好,这里写一下怎么改启动项。

使用软件grub-customizer可视化更改,使用下列命令安装:

sudo apt install grub-customizer

之后直接在命令行中输入sudo grub-customizer即可启动

在这里插入图片描述

需要注意的是在grub-customizer里更改启动等待时间是无效的,关于启动时间的配置被默认注释了,将/etc/default/grub TIME_OUT选项的注释去掉即可正常配置。

网上绝大多数的Grub美化教程在Kali上是不适用的,包括用grub美化安装包里的install.sh

唯一的办法是把/boot/grub/theme/下的kali文件夹替换为别的主题文件夹。

Zsh和PowerShell命令标头修改

在~目录下使用sudo mousepad .zshrc 打开.zshrc文件编辑。第99行的twoline之后的PROMPT即为命令标头的内容,具体的代表含义可以参考zsh主题编写。

在这里插入图片描述

twoline)
            PROMPT=$'%F{%(#.blue.green)}┌──${debian_chroot:+($debian_chroot)─}${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))─}(%B%F{%(#.red.blue)}%n'$prompt_symbol$'%m%b%F{%(#.blue.green)})-[%B%F{reset}%(6~.%-1~/…/%4~.%5~)%b%F{%(#.blue.green)}]\n└─%B%(#.%F{red}#.%F{blue}$)%b%F{reset} '

在~目录下的.config/powershell文件夹可以找到Microsoft.PowerShell_profile.ps1文件。从15行开始的twoline是标头部分

在这里插入图片描述

If ($PROMPT_ALTERNATIVE -eq 'twoline') {
    Write-Host "┌──(" -NoNewLine -ForegroundColor Blue
    Write-Host "${bold}$([environment]::username)㉿$([system.environment]::MachineName)${reset}" -NoNewLine -ForegroundColor Magenta
    Write-Host ")-[" -NoNewLine -ForegroundColor Blue
    Write-Host "${bold}$(Get-Location)${reset}" -NoNewLine -ForegroundColor White
    Write-Host "]" -ForegroundColor Blue
    Write-Host "└─" -NoNewLine -ForegroundColor Blue
    Write-Host "${bold}PS>${reset}" -NoNewLine -ForegroundColor Blue

VSCode内置终端字体间距过大问题

如图

在这里插入图片描述

这个问题的根源在于Kali默认的终端字体在VSCode查找不到。打开终端,选择文件->参数配置,点击字体。在这个里面看到的字体都是可以被VSCode编辑器和终端正常识别的,随便换一个就可以了。我建议是和终端一致。

在这里插入图片描述

在VSCode里选择设置,在搜索栏里搜索terminal.font,像下图一样把字体名填进去就可以了,不用加引号。

在这里插入图片描述

在这里插入图片描述

更换桌面环境

Kali默认使用Xfce作为桌面,虽然说极客味道确实很浓,但是如果阁下看到如下的KDE桌面阁下又会如何应对:

在这里插入图片描述

推荐的文章:
KDE官方关于桌面特效性能
KDE配置终端模糊和右键菜单模糊
KDE 终极美化指南

安装步骤如下:

首先安装kali自带的KDE桌面环境,kali官方设置了存储虚包非常方便:

sudo apt install kali-desktop-kde

安装过程中会更改显示适配服务之类的,反正是二选一选没没选那个就可以了。之后重启就可以进到KDE的等离子桌面了。

sudo apt remove kali-desktop-xfce #这条是重启之后删除xfce桌面的
sudo apt autoremove && sudo apt autoclen #删除一些缓存和垃圾

之后对其进行稍微的配置,打开设置,先把工作区行为的单击文件行为改成选中(改了就知道了)。

在这里插入图片描述
之后下载kvantum管理器,也是一条命令:

sudo apt install qt5-style-kvantum

这样准备工作就一大半了,剩下的就是挑选主题的事情:

我使用的全局主题是We10XOS-dark,图标用的是Fluent icon,窗口装饰元素是默认的Breeze(这里推荐FutureTheme的窗口装饰,但是和Firefox不合所以我用的Breeze,如果有Breeze魔改的可以拿来用一下)。

——2023.1.28更新——
Firefox终于更新了,现在Firefox中国版有自己的窗口栏,可以自由地使用FutureDark窗口装饰了!
——————

对照着网站上给的文档安装就可以了,之后配置一下kvantum,打开kvantum manager:
在这里插入图片描述
选择变更删除主题:
在这里插入图片描述

下拉选择We10XOS-dark:
在这里插入图片描述
之后到设置里把应用程序风格更改为kvantum,这一步很重要。之后重启就可以看到完全的效果了。

桌面壁纸使用的是Smart Video Wallpaper,也是按着教程安装一下,然后切换壁纸设置里的管理器,选择自己的壁纸就可以了。

在这里插入图片描述
下方停靠栏使用的是latte-dock,一条指令安装:

sudo apt install latte-dock 
latte-dock #启动

配置的话看个人,别忘了给它加一个自启动:

在这里插入图片描述上方任务栏从左到右是Application Title,KDE自带的全局菜单,KDE自带的一些组件。最后的样子就是这样。如果有闲情雅致还可以换一下SDDM登录屏幕,但是我这里截不了图就不再细了。

Sugar Candy for SDDM

在这里插入图片描述

删除Kali自带的渗透软件库

Kali自带了很多的渗透软件,但有些直到我们卸载Kali都用不上,一个一个麻烦的删除肯定不行。

Kali官方使用MetaPackage的方式进行渗透软件库的管理,即创建一个体量很小的被定义为系统级的包,该包的依赖为各类渗透测试软件,通过安装小体量包安装渗透软件库的方式。这个方式便于管理,也便于我们卸载它们。

Kali官方MetaPackage目录

在这里插入图片描述

Kali官方MetaPackage介绍

在这里插入图片描述

执行下面的命令卸载这些MetaPackage再使用apt的自动卸载功能即可卸载自带的渗透软件库:

#卸载指定xxxx类型
sudo apt remove kali-tools-xxxx
sudo apt --autoremove && sudo apt --autoclean

#卸载所有渗透工具库
sudo apt remove kali-tools-*
sudo apt --autoremove && sudo apt --autoclean

#

3.文末部分

Firefox的二进制安装方式

使用下列命令卸载自带火狐浏览器:

sudo apt remove firefox-esr

访问火狐浏览器的官方网站

中国版官网

国际版官网

下载火狐软件包,并解压到/opt目录下在这里插入图片描述在这里插入图片描述之后打开徽标,找到默认应用程序,切换为/opt/firefox目录下的firefox应用程序。在这里插入图片描述之后可以同时也修改任务栏上的firefox徽标,将启动命令替换为/opt/firefox/firefox

另外的还可以为firefox创建软链接使随处可以运行。

sudo ln /opt/firefox/firefox /usr/bin/firefox

按照需求可以在桌面上创建快捷方式,右键新建文本文档,内容为:

[Desktop Entry]
Type=Application
Version=123 #应用版本
Name=Firefox #应用名称
Comment=Run Firefox #启动器描述
Icon=/example/firefox.png #启动器图标路径
Exec=/example/firefox exampleargs#启动命令,=后面可以有空格
Categories=Application #软件类别,这个是系统内置的
Terminal=false #是否开启
TerminalPath=StartupNotify=false

之后将该文件后缀名改为.desktop即可

如果想要让它在启动器里的位置好一点可以看这篇文章,添加自己的软件类别。

原版的Aria2下载器配置

Github官方发布页

可以使用下列命令安装;

sudo apt install aria2

在/opt目录下新建aria2目录用来放配置文件。

新建两个文件,分别命名为aria2.sessionaria2.conf

前者不用动,后者为配置文件(附文末Aria2配置文件)。

需要注意的是前四个配置以及rpc密钥设置。

之后添加在/usr/lib/systemd/system目录下添加服务文件aria2.service

[Unit]
Description=Aria2
After= 

[Service]
Type=simpleExec
Start=aria2c --conf-path=/opt/aria2/aria2.conf
User=root
Group=root
ExecStop=
ExecReload= 

[Install]
WantedBy=multi-user.target

之后输入下面命令:

sudo systemctl enable aria2 #设置自启动sudo service aria2 start #启动sudo service aria2 restart #重启

安装完成,可以额外在firefox扩展商店安装Aria2的扩展,如果在配置文件中设置了rpc密钥,就需要在扩展中配置rpc密钥:在这里插入图片描述
在这里插入图片描述

Aria2配置文件


# 下载目录。可使用绝对路径或相对路径, 默认: 当前启动位置
dir=/home/howxu/下载

# 从会话文件中读取下载任务
input-file=/opt/aria2/aria2.session

# 会话文件保存路径
# Aria2 退出时或指定的时间间隔会保存`错误/未完成`的下载任务到会话文件
save-session=/opt/aria2/aria2.session

# RPC 密钥
rpc-secret=howxu

# 磁盘缓存, 0 为禁用缓存,默认:16M
# 磁盘缓存的作用是把下载的数据块临时存储在内存中,然后集中写入硬盘,以减少磁盘 I/O ,提升读写性能,延长硬盘寿命。
# 建议在有足够的内存空闲情况下适当增加,但不要超过剩余可用内存空间大小。
# 此项值仅决定上限,实际对内存的占用取决于网速(带宽)和设备性能等其它因素。
disk-cache=64M

# 文件预分配方式, 可选:none, prealloc, trunc, falloc, 默认:prealloc
# 预分配对于机械硬盘可有效降低磁盘碎片、提升磁盘读写性能、延长磁盘寿命。
# 机械硬盘使用 ext4(具有扩展支持),btrfs,xfs 或 NTFS(仅 MinGW 编译版本)等文件系统建议设置为 falloc
# 若无法下载,提示 fallocate failed.cause:Operation not supported 则说明不支持,请设置为 none
# prealloc 分配速度慢, trunc 无实际作用,不推荐使用。
# 固态硬盘不需要预分配,只建议设置为 none ,否则可能会导致双倍文件大小的数据写入,从而影响寿命。
file-allocation=none

# 文件预分配大小限制。小于此选项值大小的文件不预分配空间,单位 KM,默认:5M
no-file-allocation-limit=64M

# 断点续传
continue=true

# 始终尝试断点续传,无法断点续传则终止下载,默认:true
always-resume=false

# 不支持断点续传的 URI 数值,当 always-resume=false 时生效。
# 达到这个数值从将头开始下载,值为 0 时所有 URI 不支持断点续传时才从头开始下载。
max-resume-failure-tries=0

# 获取服务器文件时间,默认:false
remote-time=true


## 进度保存设置 ##

# 任务状态改变后保存会话的间隔时间(秒), 0 为仅在进程正常退出时保存, 默认:0
# 为了及时保存任务状态、防止任务丢失,此项值只建议设置为 1
save-session-interval=1

# 自动保存任务进度到控制文件(*.aria2)的间隔时间(秒),0 为仅在进程正常退出时保存,默认:60
# 此项值也会间接影响从内存中把缓存的数据写入磁盘的频率
# 想降低磁盘 IOPS (每秒读写次数)则提高间隔时间
# 想在意外非正常退出时尽量保存更多的下载进度则降低间隔时间
# 非正常退出:进程崩溃、系统崩溃、SIGKILL 信号、设备断电等
auto-save-interval=20

# 强制保存,即使任务已完成也保存信息到会话文件, 默认:false
# 开启后会在任务完成后保留 .aria2 文件,文件被移除且任务存在的情况下重启后会重新下载。
# 关闭后已完成的任务列表会在重启后清空。
force-save=false


## 下载连接设置 ##

# 文件未找到重试次数,默认:0 (禁用)
# 重试时同时会记录重试次数,所以也需要设置 max-tries 这个选项
max-file-not-found=10

# 最大尝试次数,0 表示无限,默认:5
max-tries=0

# 重试等待时间(秒), 默认:0 (禁用)
retry-wait=10

# 连接超时时间(秒)。默认:60
connect-timeout=10

# 超时时间(秒)。默认:60
timeout=10

# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=5

# 单服务器最大连接线程数, 任务添加时可指定, 默认:1
# 最大值为 16 (增强版无限制), 且受限于单任务最大连接线程数(split)所设定的值。
max-connection-per-server=16

# 单任务最大连接线程数, 任务添加时可指定, 默认:5
split=64

# 文件最小分段大小, 添加时可指定, 取值范围 1M-1024M (增强版最小值为 1K), 默认:20M
# 比如此项值为 10M, 当文件为 20MB 会分成两段并使用两个来源下载, 文件为 15MB 则只使用一个来源下载。
# 理论上值越小使用下载分段就越多,所能获得的实际线程数就越大,下载速度就越快,但受限于所下载文件服务器的策略。
min-split-size=4M

# HTTP/FTP 下载分片大小,所有分割都必须是此项值的倍数,最小值为 1M (增强版为 1K),默认:1M
piece-length=1M

# 允许分片大小变化。默认:false
# false:当分片大小与控制文件中的不同时将会中止下载
# true:丢失部分下载进度继续下载
allow-piece-length-change=true

# 最低下载速度限制。当下载速度低于或等于此选项的值时关闭连接(增强版本为重连),此选项与 BT 下载无关。单位 KM ,默认:0 (无限制)
lowest-speed-limit=0

# 全局最大下载速度限制, 运行时可修改, 默认:0 (无限制)
max-overall-download-limit=0

# 单任务下载速度限制, 默认:0 (无限制)
max-download-limit=0

# 禁用 IPv6, 默认:false
disable-ipv6=true

# GZip 支持,默认:false
http-accept-gzip=true

# URI 复用,默认: true
reuse-uri=false

# 禁用 netrc 支持,默认:false
no-netrc=true

# 允许覆盖,当相关控制文件(.aria2)不存在时从头开始重新下载。默认:false
allow-overwrite=false

# 文件自动重命名,此选项仅在 HTTP(S)/FTP 下载中有效。新文件名在名称之后扩展名之前加上一个点和一个数字(1..9999)。默认:true
auto-file-renaming=true

# 使用 UTF-8 处理 Content-Disposition ,默认:false
content-disposition-default-utf8=true

# 最低 TLS 版本,可选:TLSv1.1、TLSv1.2、TLSv1.3 默认:TLSv1.2
#min-tls-version=TLSv1.2


## BT/PT 下载设置 ##

# BT 监听端口(TCP), 默认:6881-6999
# 直通外网的设备,比如 VPS ,务必配置防火墙和安全组策略允许此端口入站
# 内网环境的设备,比如 NAS ,除了防火墙设置,还需在路由器设置外网端口转发到此端口
listen-port=51413

# DHT 网络与 UDP tracker 监听端口(UDP), 默认:6881-6999
# 因协议不同,可以与 BT 监听端口使用相同的端口,方便配置防火墙和端口转发策略。
dht-listen-port=51413

# 启用 IPv4 DHT 功能, PT 下载(私有种子)会自动禁用, 默认:true
enable-dht=true

# 启用 IPv6 DHT 功能, PT 下载(私有种子)会自动禁用,默认:false
# 在没有 IPv6 支持的环境开启可能会导致 DHT 功能异常
enable-dht6=false

# 指定 BTDHT 网络中的 IP 地址
# 使用场景:在家庭宽带没有公网 IP 的情况下可以把 BTDHT 监听端口转发至具有公网 IP 的服务器,在此填写服务器的 IP ,可以提升 BT 下载速率。
#bt-external-ip=

# IPv4 DHT 文件路径,默认:$HOME/.aria2/dht.dat
dht-file-path=/root/.aria2/dht.dat

# IPv6 DHT 文件路径,默认:$HOME/.aria2/dht6.dat
dht-file-path6=/root/.aria2/dht6.dat

# IPv4 DHT 网络引导节点
dht-entry-point=dht.transmissionbt.com:6881

# IPv6 DHT 网络引导节点
dht-entry-point6=dht.transmissionbt.com:6881

# 本地节点发现, PT 下载(私有种子)会自动禁用 默认:false
bt-enable-lpd=true

# 指定用于本地节点发现的接口,可能的值:接口,IP地址
# 如果未指定此选项,则选择默认接口。
#bt-lpd-interface=

# 启用节点交换, PT 下载(私有种子)会自动禁用, 默认:true
enable-peer-exchange=true

# BT 下载最大连接数(单任务),运行时可修改。0 为不限制,默认:55
# 理想情况下连接数越多下载越快,但在实际情况是只有少部分连接到的做种者上传速度快,其余的上传慢或者不上传。
# 如果不限制,当下载非常热门的种子或任务数非常多时可能会因连接数过多导致进程崩溃或网络阻塞。
# 进程崩溃:如果设备 CPU 性能一般,连接数过多导致 CPU 占用过高,因资源不足 Aria2 进程会强制被终结。
# 网络阻塞:在内网环境下,即使下载没有占满带宽也会导致其它设备无法正常上网。因远古低性能路由器的转发性能瓶颈导致。
bt-max-peers=128

# BT 下载期望速度值(单任务),运行时可修改。单位 KM 。默认:50K
# BT 下载速度低于此选项值时会临时提高连接数来获得更快的下载速度,不过前提是有更多的做种者可供连接。
# 实测临时提高连接数没有上限,但不会像不做限制一样无限增加,会根据算法进行合理的动态调节。
bt-request-peer-speed-limit=10M

# 全局最大上传速度限制, 运行时可修改, 默认:0 (无限制)
# 设置过低可能影响 BT 下载速度
max-overall-upload-limit=2M

# 单任务上传速度限制, 默认:0 (无限制)
max-upload-limit=0

# 最小分享率。当种子的分享率达到此选项设置的值时停止做种, 0 为一直做种, 默认:1.0
# 强烈建议您将此选项设置为大于等于 1.0
seed-ratio=1.0

# 最小做种时间(分钟)。设置为 0 时将在 BT 任务下载完成后停止做种。
seed-time=0

# 做种前检查文件哈希, 默认:true
bt-hash-check-seed=true

# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=false

# BT tracker 服务器连接超时时间(秒)。默认:60
# 建立连接后,此选项无效,将使用 bt-tracker-timeout 选项的值
bt-tracker-connect-timeout=10

# BT tracker 服务器超时时间(秒)。默认:60
bt-tracker-timeout=10

# BT 服务器连接间隔时间(秒)。默认:0 (自动)
#bt-tracker-interval=0

# BT 下载优先下载文件开头或结尾
bt-prioritize-piece=head=32M,tail=32M

# 保存通过 WebUI(RPC) 上传的种子文件(.torrent),默认:true
# 所有涉及种子文件保存的选项都建议开启,不保存种子文件有任务丢失的风险。
# 通过 RPC 自定义临时下载目录可能不会保存种子文件。
rpc-save-upload-metadata=true

# 下载种子文件(.torrent)自动开始下载, 默认:true,可选:false|mem
# true:保存种子文件
# false:仅下载种子文件
# mem:将种子保存在内存中
follow-torrent=true

# 种子文件下载完后暂停任务,默认:false
# 在开启 follow-torrent 选项后下载种子文件或磁力会自动开始下载任务进行下载,而同时开启当此选项后会建立相关任务并暂停。
pause-metadata=false

# 保存磁力链接元数据为种子文件(.torrent), 默认:false
bt-save-metadata=true

# 加载已保存的元数据文件(.torrent),默认:false
bt-load-saved-metadata=true

# 删除 BT 下载任务中未选择文件,默认:false
bt-remove-unselected-file=true

# BT强制加密, 默认: false
# 启用后将拒绝旧的 BT 握手协议并仅使用混淆握手及加密。可以解决部分运营商对 BT 下载的封锁,且有一定的防版权投诉与迅雷吸血效果。
# 此选项相当于后面两个选项(bt-require-crypto=true, bt-min-crypto-level=arc4)的快捷开启方式,但不会修改这两个选项的值。
bt-force-encryption=true

# BT加密需求,默认:false
# 启用后拒绝与旧的 BitTorrent 握手协议(\19BitTorrent protocol)建立连接,始终使用混淆处理握手。
#bt-require-crypto=true

# BT最低加密等级,可选:plain(明文),arc4(加密),默认:plain
#bt-min-crypto-level=arc4

# 分离仅做种任务,默认:false
# 从正在下载的任务中排除已经下载完成且正在做种的任务,并开始等待列表中的下一个任务。
bt-detach-seed-only=true


## 客户端伪装 ##

# 自定义 User Agent
user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.47

# BT 客户端伪装
# PT 下载需要保持 user-agent 和 peer-agent 两个参数一致
# 部分 PT 站对 Aria2 有特殊封禁机制,客户端伪装不一定有效,且有封禁账号的风险。
#user-agent=Deluge 1.3.15
peer-agent=Deluge 1.3.15
peer-id-prefix=-DE13F0-


## 执行额外命令 ##

# 下载停止后执行的命令
# 从 正在下载 到 删除、错误、完成 时触发。暂停被标记为未开始下载,故与此项无关。
on-download-stop=/root/.aria2/delete.sh

# 下载完成后执行的命令
# 此项未定义则执行 下载停止后执行的命令 (on-download-stop)
on-download-complete=/root/.aria2/clean.sh

# 下载错误后执行的命令
# 此项未定义则执行 下载停止后执行的命令 (on-download-stop)
#on-download-error=

# 下载暂停后执行的命令
#on-download-pause=

# 下载开始后执行的命令
#on-download-start=

# BT 下载完成后执行的命令
#on-bt-download-complete=


## RPC 设置 ##

# 启用 JSON-RPC/XML-RPC 服务器, 默认:false
enable-rpc=true

# 接受所有远程请求, 默认:false
rpc-allow-origin-all=true

# 允许外部访问, 默认:false
rpc-listen-all=true

# RPC 监听端口, 默认:6800
rpc-listen-port=6800


# RPC 最大请求大小
rpc-max-request-size=10M

# RPC 服务 SSL/TLS 加密, 默认:false
# 启用加密后必须使用 https 或者 wss 协议连接
# 不推荐开启,建议使用 web server 反向代理,比如 Nginx、Caddy ,灵活性更强。
#rpc-secure=false

# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件(.pem/.crt)
#rpc-certificate=/root/.aria2/xxx.pem

# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件(.key)
#rpc-private-key=/root/.aria2/xxx.key

# 事件轮询方式, 可选:epoll, kqueue, port, poll, select, 不同系统默认值不同
#event-poll=select


## 高级选项 ##

# 启用异步 DNS 功能。默认:true
#async-dns=true

# 指定异步 DNS 服务器列表,未指定则从 /etc/resolv.conf 中读取。
#async-dns-server=119.29.29.29,223.5.5.5,8.8.8.8,1.1.1.1

# 指定单个网络接口,可能的值:接口,IP地址,主机名
# 如果接口具有多个 IP 地址,则建议指定 IP 地址。
# 已知指定网络接口会影响依赖本地 RPC 的连接的功能场景,即通过 localhost 和 127.0.0.1 无法与 Aria2 服务端进行讯通。
#interface=

# 指定多个网络接口,多个值之间使用逗号(,)分隔。
# 使用 interface 选项时会忽略此项。
#multiple-interface=


## 日志设置 ##

# 日志文件保存路径,忽略或设置为空为不保存,默认:不保存
#log=

# 日志级别,可选 debug, info, notice, warn, error 。默认:debug
#log-level=warn

# 控制台日志级别,可选 debug, info, notice, warn, error ,默认:notice
console-log-level=notice

# 安静模式,禁止在控制台输出日志,默认:false
quiet=false

# 下载进度摘要输出间隔时间(秒),0 为禁止输出。默认:60
summary-interval=0


## 增强扩展设置(非官方) ##

# 仅适用于 myfreeer/aria2-build-msys2 (Windows)P3TERX/Aria2-Pro-Core (GNU/Linux) 项目所构建的增强版本

# 在服务器返回 HTTP 400 Bad Request 时重试,仅当 retry-wait > 0 时有效,默认 false
#retry-on-400=true

# 在服务器返回 HTTP 403 Forbidden 时重试,仅当 retry-wait > 0 时有效,默认 false
#retry-on-403=true

# 在服务器返回 HTTP 406 Not Acceptable 时重试,仅当 retry-wait > 0 时有效,默认 false
#retry-on-406=true

# 在服务器返回未知状态码时重试,仅当 retry-wait > 0 时有效,默认 false
#retry-on-unknown=true

# 是否发送 Want-Digest HTTP 标头。默认:false (不发送)
# 部分网站会把此标头作为特征来检测和屏蔽 Aria2
#http-want-digest=false

  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值