我自己使用的是ubuntu 18.04编译,也可以用mint linux 19.01编译。反正都是相同的内核。 不要用 root 用户 git 和编译!!!

一. 首次编译

1. 首先安装依赖

命令行输入 sudo apt-get update ,然后输入
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint

2. 下载源码

git clone https://github.com/coolsnowwolf/lede

3. 更新

./scripts/feeds update -a 
./scripts/feeds install -a
make menuconfig 

4. 推荐的必要工具

ipv6help
mwan3
usbutils和pciutils
unzip
mii-tool

5. 预先下载dl库,可以避免下载造成的编译失败。全局科学上网

make download V=s

6. 编译

make -j5 V=s (#n=线程数+1,例如4线程的I5填-j5,开始编译)

二. 再次编译

cd lede                                                          #进入LEDE目录
git pull                                                         #同步更新大雕源码
./scripts/feeds update -a && ./scripts/feeds install -a          #更新FEEDS
make clean
rm -rf ./tmp && rm -rf .config                                   #清除编译配置和缓存
make menuconfig                                                  #进入编译配置菜单
make download V=s 
make -j2 V=s                                                     #n=线程数+1,例如4线程的I5填-j5,开始编译

三. 自定义Lede 固件

修改zzz-default-settings文件

修改主机名和ssr-plus彩蛋,/lede/package/lean/default-settings/f iles/zzz-default-settings

修改hostname

在zzz文件中uci set

system.@system[0].timezone=CST-8后增加

uci set system.@system[0].hostname=Openwrt-x86

Openwrt-x86可以改为你想要的名字

解封不可描述

解封ssr彩蛋,在该文件exit 0 上方适当的位置加上下列命令,安装后可以直接看到ssr-plus

echo 0xDEADBEEF > /etc/config/google_fu_mode

设置 Wan

如果仅是自用固件,可以在该文件exit 0 上方适当的位置加上加入下列命令,设置Wan网口,添加路由器pppoe拨号账户密码,装好即可上网

uci set network.wan.proto='pppoe'
uci set network.wan.username='宽带账号'
uci set network.wan.password='宽带密码'
uci set network.wan.ifname='eth3'   //我的wan接口是eth3,你要根据自己的路由器情况改
uci set network.wan6.ifname='eth3'
uci commit network   

修改Lan

想要修改管理ip地址和lan口配置,可以在该文件exit 0 上方适当的位置加上加上下列命令

uci set network.lan.ipaddr='192.168.0.8'    //改成你想要默认的管理ip
uci set network.lan.proto='static'          //wan口静态IP方式
uci set network.lan.type='bridge'           //设置桥接
uci set network.lan.ifname='eth0 eth1 eth2 eth4 eth5' //根据自己的路由器情况改Lan口 
uci commit network

固化 /etc/config

(编译保存你的配置)files大法:实际就是把现在的配置以文件的形式固化到新固件里。这样做的好处就是升级不需要保留配置,或者恢复出厂设置,缺省值就是你自己设置好的配置 固化某配置教程例子: 1.提取路由固件下的\etc\config\network 2.在编译机LEDE根目录下创建files目录 3.拷贝到 \files\etc\config\network 这样编译完,network就是你自己配置好的network,注意提取的文件路径和权限要一致

\etc\config                                      各个LUCI配置

\etc\gfwlist                                     gfwlist目录

\etc\shadow                                      登录密码

\etc\firewall.user                               自定义防火墙规则

\usr\share\adbyby                                adbyby里的相关规则和设置

\usr\lib\lua\luci\view\admin_status\index.htm    主页样式文件,温度显示等等


X86架构固件的index,默认被大雕files强奸了,自己到源码里替换/lede/package/lean/autocore/files/index.htm 如果无效请make clean或者删除/lede/build_dir/target架构/autocore-1(编译其他失败同理)

其中,常用的自定义文件包括以下:

etc/config/system #里面有主机名,时区,ntp时间服务器设置
etc/config/network #网络设置
etc/config/dhcp    #如果对dhcp有分配ip
etc/config/ddns    #ddns设置
etc/config/aliddns #aliddns设置
etc/config/adbyby  #广告过滤大师设置 ,如果有自定义广告过滤大师可以复制过去
etc/config/firewall #防火墙
etc/config/gfw.ilst #自定义gfw列表
etc/config/transmission #transmission
etc/config/udpxy
etc/config/samba

如果有etc/config/samba,那么必须要有/etc/samba/smbpasswd 否则没有权限

安装完后要做的事

系统=>管理权=>修改密码

网络=>接口=>wan 改pppoe

高级=>取消"使用内置的 IPv6 管理” “Obtain IPv6-Address” 禁用 “使用网关跃点” 40

增加iptv

高级: “使用网关跃点 60 “请求 DHCP 时发送的客户端 ID” 00xxxxxxxxxxxxxxxxxxxx “请求 DHCP 时发送的 Vendor Class 选项” SCITV “重设 MAC 地址” 54:93:59:xx:xx:xx 防火墙: 新增"iptv” 防火墙

修改lan

基本设置: “IPv6 分配长度 " 禁用 高级设置: “使用内置的 IPv6 管理” 禁用 dhcp服务器:全部关闭

dhcp设置

防火墙

端口映射:群晖各端口 80,443,5000,5001

服务

ShadowSocksR Plus+:

  1. 设置服务器节点
  2. 不走代理的WAN IP vps地址
  3. 不走代理的局域网IP 各个盒子IP,群晖IP
  4. GFW列表
   lala.im

   github.com

   manjaro.org

   pornbay.org

   empornium.ph

   github.io

   toutyrater.github.io

   services.googleapis.cn

   googleapis.cn

   i.pstorage.space

  1. 广告屏蔽大师 Plus+

    运行模式:列表模式

    客户端过滤模式设置:加入各个盒子 高级设置:手动强制更新(ssh运行 /usr/share/adbyby/adblock.sh > /tmp/adupdate.log 2>&1

动态DNS

设置f3322.org
阿里DDNS

UDPXY

设置"Source IP/Interface” eth2

网络存储

网络共享:
  1. 允许用户root,0755,0777

  2. 编辑模板: #invalid users = root

  3. ssh设定密码 smbpasswd -a root

  4. 重启openwrt

Transmission

配置文件的目录 /mnt/sda3/transmission/.config 下载目录 /mnt/sda3/transmission/done 启用 DHT 禁用 防火墙51413映射 ssh

  
wget https://github.com/ronggang/transmission-web-control/raw/master/release/install-tr-control-cn.sh
bash install-tr-control-cn.sh
选择 6
输入/usr/share/transmission
然后选择1安装

修改软件源

教育网镜像源貌似改成https了,wget需要安装libustream-mbedtls来支持tls

  1. 先把软件源改成
src/gz openwrt_core http://downloads.openwrt.org/snapshots/targets/x86/64/packages

src/gz openwrt_base http://downloads.openwrt.org/snapshots/packages/x86_64/base

src/gz openwrt_luci http://downloads.openwrt.org/snapshots/packages/x86_64/luci

src/gz openwrt_packages http://downloads.openwrt.org/snapshots/packages/x86_64/packages

src/gz openwrt_routing http://downloads.openwrt.org/snapshots/packages/x86_64/routing

  1. 然后更新源
opkg update
  1. 安装libustream-mbedtls
opkg install libustream-mbedtls
  1. 安装完成后把源改回教育网的https源
src/gz openwrt_core https://openwrt.proxy.ustclug.org/snapshots/targets/x86/64/packages

src/gz openwrt_base https://openwrt.proxy.ustclug.org/snapshots/packages/x86_64/base

src/gz openwrt_luci https://openwrt.proxy.ustclug.org/snapshots/packages/x86_64/luci

src/gz openwrt_packages https://openwrt.proxy.ustclug.org/snapshots/packages/x86_64/packages

src/gz openwrt_routing https://openwrt.proxy.ustclug.org/snapshots/packages/x86_64/routing

  1. 然后更新
opkg update

最后设置dhcp

把etc/config/dhcp复制过来或者

设置dhcp里‘静态地址分配’,方便管理各主机