• R/O
  • HTTP
  • SSH
  • HTTPS

Resumo do Repositório

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Mirror only - Please move to https://github.com/immortalwrt/immortalwrt


Recent Commits RSS

Rev. Hora Autor Mensagem
bd2dc95 2022-10-13 23:24:11 Felix Fietkau openwrt-21.02 mac80211: backport security fixes This mainly affects sc...
86c7db3 2022-10-13 23:23:42 Felix Fietkau mac80211: fix issues in HE capabilities Enable HE SU bea...
55fddb6 2022-10-13 16:29:57 Tianling Shen ipq806x: rename Xiaomi R3D to Xiaomi Mi Router HD This m...
c3f5563 2022-10-12 20:36:26 remittor ipq806x: Add support for Xiaomi Mi Router HD (R3D) Xiaom...
28481a2 2022-10-12 20:29:59 Ansuel Smith ipq806x: introduce nandc boot layout mode ipq806x have d...
32fb83c 2022-10-12 13:29:53 Tianling Shen Merge Official Source Signed-off-by: Tianling Shen <cnsz...
b706156 2022-10-12 13:29:11 Tianling Shen master Merge Official Source Signed-off-by: Tianling Shen <cnsz...
cd93980 2022-10-12 07:59:39 Giammarco Marzano ipq40xx: Fix wrong GPIO for internal status LED on ZTE MF...
bb451ec 2022-10-12 04:28:46 Christian Marangi ipq806x: switch to 5.15 kernel by default Switch to 5.15...
8d9dfac 2022-10-12 04:28:46 Christian Marangi ipq806x: 5.15: add clk krait fixes/improvement patch Add...

Recently edited Tags

Nome Rev. Hora Autor
v21.02.1 fb55697 2022-07-09 11:47:07 Tianling Shen
v21.02.0 57dfa29 2022-04-22 08:11:47 Tianling Shen

Branches

Nome Rev. Hora Autor Mensagem
openwrt-21.02 bd2dc95 2022-10-13 23:24:11 Felix Fietkau mac80211: backport security...
master b706156 2022-10-12 13:29:11 Tianling Shen Merge Official Source Sign...
openwrt-18.06-k5.4 e3d8cb5 2022-09-20 16:38:40 Florian Eckert target/x86: add grub2-bios-...
openwrt-18.06 7154f0b 2022-09-09 12:18:22 Tianling Shen build: remove redudant code...

README.md

logo

Project ImmortalWrt

ImmortalWrt is a fork of OpenWrt, with more packages ported, more devices supported, better performance, and special optimizations for mainland China users.
Compared the official one, we allow to use hacks or non-upstreamable patches / modifications to achieve our purpose. Source from anywhere.

Default login address: http://192.168.1.1 or http://immortalwrt.lan, username: root, password: none.

Download

Built firmware images are available for many architectures and come with a package selection to be used as WiFi home router. To quickly find a factory image usable to migrate from a vendor stock firmware to ImmortalWrt, try the Firmware Selector.

If your device is supported, please follow the Info link to see install instructions or consult the support resources listed below.

Development

To build your own firmware you need a GNU/Linux, BSD or MacOSX system (case sensitive filesystem required). Cygwin is unsupported because of the lack of a case sensitive file system.

### Requirements To build with this project, Ubuntu 18.04 LTS is preferred. And you need use the CPU based on AMD64 architecture, with at least 4GB RAM and 25 GB available disk space. Make sure the Internet is accessible.

The following tools are needed to compile ImmortalWrt, the package names vary between distributions.

  • Here is an example for Ubuntu users:

    • Method 1: Setup dependencies via APT

      sudo apt update -y
      sudo apt full-upgrade -y
      sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
        bzip2 ccache cmake cpio curl device-tree-compiler ecj fastjar flex gawk gettext gcc-multilib g++-multilib \
        git gperf haveged help2man intltool lib32gcc1 libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \
        libmpc-dev libmpfr-dev libncurses5-dev libncursesw5 libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \
        mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pip python3-ply \
        python-docutils qemu-utils re2c rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip \
        vim wget xmlto xxd zlib1g-dev
      

    • Method 2: bash curl -s https://build-scripts.immortalwrt.eu.org/init_build_environment.sh | sudo bash
  • You can also download and use prebuilt container directly:
    See #Quickstart - Build image via OPDE

    Note:

  • For the for love of god please do not use ROOT user to build your image.
  • Using CPUs based on other architectures should be fine to compile ImmortalWrt, but more hacks are needed - No warranty at all.
  • You must not have spaces in PATH or in the work folders on the drive.
  • If you're using Windows Subsystem for Linux (or WSL), removing Windows folders from PATH is required, please see Build system setup WSL documentation.
  • Using macOS as the host build OS is not recommended. No warranty at all. You can get tips from Build system setup macOS documentation.
  • For more details, please see Build system setup documentation.

    Quickstart

  • Method 1:

    1. Run git clone -b <branch> --single-branch https://github.com/immortalwrt/immortalwrt to clone the source code.
    2. Run cd immortalwrt to enter source directory.
    3. Run ./scripts/feeds update -a to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default
    4. Run ./scripts/feeds install -a to install symlinks for all obtained packages into package/feeds/
    5. Run make menuconfig to select your preferred configuration for the toolchain, target system & firmware packages.
    6. Run make to build your firmware. This will download all sources, build the cross-compile toolchain and then cross-compile the GNU/Linux kernel & all chosen applications for your target system.
  • Method 2: Build image via OPDE

    • Pull the prebuilt container:

      docker pull immortalwrt/opde:base
      # docker run --rm -it immortalwrt/opde:base
      
    • For Linux User:

      git clone -b <branch> --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
      
    • For Windows User:

      1. Create a volume 'immortalwrt' and clone ImmortalWrt source into volume. bash docker run --rm -it -v immortalwrt:/openwrt immortalwrt/opde:base git clone -b <branch> --single-branch https://github.com/immortalwrt/immortalwrt .
      2. Enter docker container and update feeds. bash docker run --rm -it -v immortalwrt:/openwrt immortalwrt/opde:base ./scripts/feeds update -a && ./scripts/feeds install -a
      • Tips: ImmortalWrt source code can not be cloned into NTFS filesystem (symbol link problem during compilation), but docker volume is fine.
    • 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

    • 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.

    Related Repositories

    The main repository uses multiple sub-repositories to manage packages of different categories. All packages are installed via the ImmortalWrt package manager called opkg. If you're looking to develop the web interface or port packages to ImmortalWrt, please find the fitting repository below.

  • LuCI Web Interface: Modern and modular interface to control the device via a web browser.
  • ImmortalWrt Packages: Community repository of ported packages.
  • OpenWrt Routing: Packages specifically focused on (mesh) routing.
  • OpenWrt Video: Packages specifically focused on display servers and clients (Xorg and Wayland).
  • CONTRIBUTED.md: the 3rd-party packages we introduced.

Support Information

For a list of supported devices see the OpenWrt Hardware Database ### Documentation - Quick Start Guide - User Guide - Developer Documentation - Technical Reference

### Support Community - Support Chat: group @ctcgfw_openwrt_discuss on Telegram. - Support Chat: group #immortalwrt on Matrix.

License

ImmortalWrt is licensed under GPL-3.0-only.