An opensource OpenWrt variant for mainland China users.
Go to file
Tianling Shen d97b735f52
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-06-21 20:11:10 +08:00
config Merge Official Source 2021-06-21 20:11:10 +08:00
include Merge Official Source 2021-06-17 20:51:30 +08:00
LICENSES LICENSE: add GPL-3.0 2021-02-16 14:12:14 +08:00
package Merge Official Source 2021-06-21 20:11:10 +08:00
scripts Merge Official Source 2021-06-21 20:11:10 +08:00
target Merge Official Source 2021-06-21 20:11:10 +08:00
toolchain toolchain/gdb: fix broken non-python build 2021-06-09 13:16:45 +02:00
tools Merge Official Source 2021-06-21 20:11:10 +08:00
.gitattributes
.gitignore gitignore: add .vscode for VS Code users 2021-03-08 10:46:06 +01:00
BSDmakefile build: use SPDX license tags 2021-02-05 14:54:47 +01:00
Config.in build: use SPDX license tags 2021-02-05 14:54:47 +01:00
CONTRIBUTED.md scripts/download.pl: remove unavailable mirror 2021-04-17 00:13:51 +08:00
COPYING COPYING: add COPYING file to specify project licenses 2021-02-14 19:21:38 +01:00
feeds.conf.default Merge Official Source 2021-05-03 17:26:32 +08:00
Makefile Revert "build: replace which with Bash command built-in" 2021-03-03 22:51:39 +01:00
README.md Merge branch 'master' into master 2021-06-13 12:49:45 +08:00
rules.mk build: add ninja build tool and make it available for cmake 2021-06-12 10:46:39 +02:00

PROJECT IMMORTALWRT

The Core Source Code of ImmortalWrt

Welcome to our Telegram Group: @ctcgfw_openwrt_discuss.


How to make it

Minimum requirements

Linux with case sensitive
2G DDR2 RAM
2 CPU Cores (AMD64, 1.4Ghz)
25G disk space left
Has access to both ChinaNet & Internet

Install the necessary packages (for Ubuntu user)

sudo apt-get update -y
sudo apt-get full-upgrade -y
sudo apt-get install -y 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 g++-multilib p7zip p7zip-full msmtp libssl-dev texinfo libreadline-dev libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint ccache curl wget vim nano python python3 python-pip python3-pip python-ply python3-ply haveged lrzsz device-tree-compiler scons antlr3 gperf intltool mkisofs rsync

For mainland China & Ubuntu(16.04+) user, you may run the following command to setup quickly:

sudo bash -c "bash <(curl -s https://build-scripts.project-openwrt.eu.org/init_build_environment.sh)"
opde

you can also download and use pre-build container directly:

docker pull immortalwrt/opde:base
# docker run --rm -it immortalwrt/opde:base

Clone the source

git clone -b master --single-branch https://github.com/immortalwrt/immortalwrt && cd immortalwrt
./scripts/feeds update -a && ./scripts/feeds install -a
opde
  1. For Linux User:
git clone -b master --single-branch https://github.com/immortalwrt/immortalwrt && cd immortalwrt
docker run --rm -it \
  -v $PWD:/openwrt \
  immortalwrt/opde:base zsh
./scripts/feeds update -a && ./scripts/feeds install -a
  1. For Windows User:

openwrt source code can not be cloned into NTFS filesystem(symbol link problem during compilation), but docker volume is fine.

Create a volume 'immortalwrt' and clone immortalwrt source into volume.

docker run --rm -it -v immortalwrt:/openwrt immortalwrt/opde:base git clone -b master --single-branch  https://github.com/immortalwrt/immortalwrt .

Enter docker container and update feeds

docker run --rm -it -v immortalwrt:/openwrt immortalwrt/opde:base
./scripts/feeds update -a &&​ ./scripts/feeds install -a

Proxy Support:

docker run --rm -it \
  -e   all_proxy=http://example.com:1081 \
  -e  http_proxy=http://example.com:1081 \
  -e https_proxy=http://example.com:1081 \
  -e   ALL_PROXY=http://example.com:1081 \
  -e  HTTP_PROXY=http://example.com:1081 \
  -e HTTPS_PROXY=http://example.com:1081 \
  -v $PWD:/openwrt \
  immortalwrt/opde:base zsh

recommand http rather socks5 protocol

ip can not be localhost or 127.0.0.1

Configure your firmware

make menuconfig

Make it

make -j$(nproc) V=s
opde For Windows User, binary is still in volume. It can be copied to outside via followed command
docker run --rm -v <D:\path\to\dir>:/dst -v openwrt:/openwrt -w /dst immortalwrt:base cp /openwrt/bin /dst

make sure D:\path]to\dir has been appended in File Sharing

Tips

You'd better not use root to make it, or you may be not able to use.
Default login address: 192.168.1.1, username is root and password is password.

Contributed

See CONTRIBUTED.md.

License

GNU General Public License v3.0.