uname -m
opkg print-architecture
Aria2
YAAW:https://github.com/binux/yaaw
Tracker:https://github.com/XIU2/TrackersListCollection
Rclone
rcone config
rclone mount GD: /mnt/GD --allow-other --allow-non-empty --vfs-cache-mode writes &
网络共享
smbpasswd -a root
#挂载分区
opkg update
opkg install cfdisk
lsblk
cfdisk /dev/sdb #磁盘分区
fdisk /dev/sdc #磁盘分区
mkfs.ext4 /dev/sdb1 #分区格式化
mkfs -t ext4 /dev/sda1 #分区格式化
mkdir -p /mnt/sdb1 #新建目录
df -h
umount /dev/sdb1
mount -t ext4 /dev/sdb1 /mnt/sdb1 #挂载分区
less /etc/fstab(cat /etc/fstab)
lsblk -f
dumpe2fs -h /dev/sda1
blkid
blkid /dev/vda1
echo /dev/sda1 /mnt/sda1 ext4 defaults 1 2 >> /etc/fstab #硬盘挂载信息写入 /etc/fstab
echo /dev/sdb1 /mnt/sdb1 ext4 defaults 0 0 >> /etc/fstab #硬盘挂载信息写入 /etc/fstab
外部设备在插入时挂载,在未插入时忽略。这需要nofail选项,
可以在启动时若设备不存在直接忽略它而不报错.
/dev/sdb1 /mnt/sdb1 ext4 defaults,nofail 0 2
#第一字段:分区设备文件名或UUID(硬盘通用唯一识别码 可通过dumpe2fs 分区设备文件名 查看)
#第二字段:挂载点
#第三字段:文件系统名称
#第四字段:挂载参数
#第五字段:指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份
#第六字段:指定分区是否被fsck检测,0代表不检测,其它数字代表检测的优先级,1的优先级比2高
cd /mnt/sdb1
mkdir DownLoad TrSet ArSet
chmod 755 DownLoad/ TrSet/ ArSet/
/mnt/sdb1/TrSet
/mnt/sdb1/ArSet
/mnt/sdb1/DownLoad
#编译OpenWrt固件
#创建非root用户和设置密码
useradd -r -m -s /bin/bash gxx
passwd gxx
#把新用户添加到sudo的配置文件
vi /etc/sudoers
#在文件中添加一行gxx ALL=(ALL:ALL) ALL
#/etc/sudoers为只读文件,保存退出输入
:wq!
#切换到非root用户,并切换到/home/gxx目录
su gxx
cd ~
#编译Lede/OpenWrt固件所需时间较长,可使用Screen命令保持会话
sudo apt install screen
script /dev/null
#开始编译OpenWrt固件!
GitHub:https://github.com/coolsnowwolf/lede
\lede\feeds.conf.default
src-git ssrp https://github.com/fw876/helloworld.git
#改默认IP地址
/home/gxx/lede/package/base-files/files/bin/config_generate
#固件文件夹
/home/gxx/lede/bin/targets
qm importdisk 101 /var/lib/vz/template/iso/openwrt-x86-64-generic-squashfs-combined.img local
qm importdisk 103 /root/openwrt-x86-64-generic-squashfs-combined-efi.img local
#二次编译
#按需清除文件(非必选)
make clean #清除bin目录
make dirclean #清除交叉编译工具及工具链目录
make distclean #清除相关文件,包括下载的软件包、配置文件、feed内容等
#开始二次编译
cd lede
git pull #同步更新源码
./scripts/feeds update -a && ./scripts/feeds install -a #更新Feeds
rm -rf ./tmp && rm -rf .config #清除编译配置和缓存
make menuconfig #重复编译上一次固件可使用 make defconfig
make -j8 download #下载dl库
#排列dl目录下的文件,显示小于等于1K的文件说明下载的文件不正确
ls ~/lede/dl/ -lSrh | less
make -j$(($(nproc) + 1)) V=s
#常见问题
XXX is not in the sudoers file. This incident will be reported.
编辑sudoers文件
vi /etc/sudoers
添加一行usr ALL=(ALL) ALL
sudo时出现unable to resolve host
vi /etc/hosts
127.0.0.1 localhost
Cannot open your terminal ‘/dev/pts/0’ – please check.
script /dev/null
useradd usr
passwd ***
mkdir /home/usr
sudo chown usr /home/usr
#在线编译/AutoBuild-OpenWrt
Fork源码:https://github.com/esirplayground/AutoBuild-OpenWrt
在Actions标签栏下点击绿色长条按钮,打开工作流.
编辑customize.sh文件,修改192.168.5.1为自己路由器的地址.
在本地编译环境执行下面一行代码,得到/lede/diffconfig文件。
./scripts/diffconfig.sh > diffconfig
编辑x86_64.config文件,用diffconfig文件的内容全部替换。
编辑.github/workflows/Build_OP_x86_64.yml文件,去掉代码中的三个#号,保存文件即可开始使用GitHub Actions自动编译OpenWrt固件了!
#push:
# branches:
# - master
改为
push:
branches:
- master
#定时更换节点
* * * * * 需要执行的命令
- - - - -
| | | | |
| | | | ----- 一星期中的第几天 (0 - 6) (其中0表示星期日)
| | | ------- 月份 (1 - 12)
| | --------- 一个月中的第几天 (1 - 31)
| ----------- 一天中的第几小时 (0 - 23)
------------- 一小时中的第几分钟 (0 - 59)
配置cron定时任务
cron -e
这个命令会打开 /etc/crontabs/root 文件。后续编辑的也就是这个root文件。
crontab -l
这个命令可以列举出当前所有已经配置的定时任务
logread -e cron
这个命令可以查看cron执行的记录。
定时更换节点
0 6 * * * sed -i "s|global_server 'cfg084a8f'|global_server 'cfg064a8f'|g" /etc/config/shadowsocksr && /etc/init.d/shadowsocksr restart
30 20 * * * sed -i "s|global_server 'cfg064a8f'|global_server 'cfg084a8f'|g" /etc/config/shadowsocksr && /etc/init.d/shadowsocksr restart
sed -i 's/原字符串/替换字符串/' filename
sed -i 's/原字符串/替换字符串/g' filename
说明:
s///: 从每一行的行首开始,匹配到第一个符合的字段,就会跳到下一行(同一行中可能有多个匹配字段)
s///g:表示全局替换,匹配每一行从行首到行尾的所有字符
#自定义DNS和网关
vim /etc/config/dhcp
# config mac 'op'
# option mac ''
# option tag 'hello'
config host
option name 'Moto-Z'
option ip ''
option mac '88:79:7e:00:8e:26'
option tag 'hello'
config host
option name 'PC'
option ip ''
option mac 'F4:B5:20:28:6A:0C'
option tag 'hello'
config host
option name 'Moto-Z4'
option ip ''
option mac '8A:24:CF:43:0E:77'
option tag 'hello'
config host
option name 'Moto-Z3'
option ip ''
option mac '30:4b:07:5b:d0:b7'
option tag 'hello'
config host
option name 'Moto-Z2'
option ip ''
option mac '88:b4:a6:d4:56:44'
option tag 'hello'
config tag 'hello'
list dhcp_option '3,192.168.0.3'
list dhcp_option '6,192.168.0.3'
option force '1'
/etc/init.d/dnsmasq restart
软路由需要 Turbo ACC 网络加速 吗?
我的理解是Turbo ACC 网络加速是一个集成的网络加速控制界面ipk应用,只是为了方便开关包含以下几种加速:
1.Flow Offloading 转发加速 ,来自高通开源的 Shortcut FE 转发加速引擎 (Fast Path) ,一种纯软件算法上的优化。可以针对openwrt所有型号的路由器。
2.HWNAT加速。一般只针对MT762x芯片型号的路由器可以开启。比如常见的NEWIFI D2,K2P等。但目前针对19.07系列不是很完善,会造成路由器崩溃,不是MT762x芯片的路由器你开启也没有作用.
3. BBR加速。是谷歌弄出来的一个内核级别的tcp协议的优化,可以提高网络连接的能力(争抢带宽能力),这是linux内核4.9以后都可以用的一个东西,内核大于4.9的所有型号路由器都能用
4.DNS 加速。主要是利用 pdnsd 做本地缓存,提高DNS解析速度,所有型号路由器都能用
在这个控制界面里还可以看FULLCONE NAT是否启用的,它的启用和关闭不在Turbo ACC 网络加速 里,而在“网络”->“防火墙”里可以来控制启用。它主要是针对iptables的一个改进吧,不过原作者的github里也说了,只针对几个linux内核版本做过测试,有些linux内核版本上使用是有问题的