From 2c2d178dd173e7dd77df74272bcae872fb5c8322 Mon Sep 17 00:00:00 2001 From: suyuan <175338101@qq.com> Date: Sat, 3 Apr 2021 08:41:50 +0800 Subject: [PATCH] fix --- .circleci/config.yml | 751 ++++++++++++++++++ .gitignore | 29 - .../htdocs/luci-static/resources/computer.png | Bin 2578 -> 1101 bytes .../htdocs/luci-static/resources/modem.svg | 53 +- .../luci-static/resources/openmptcprouter.png | Bin 4287 -> 10733 bytes .../htdocs/luci-static/resources/server.png | Bin 3923 -> 1115 bytes .../root/etc/init.d/openmptcprouter | 6 - .../luasrc/view/themes/argon/footer.htm | 2 +- .../luci-static/openmptcprouter/cascade.css | 18 +- .../luci-static/openmptcprouter/favicon.png | Bin 8175 -> 535 bytes .../openmptcprouter/omr-logo-apple.png | Bin 8175 -> 15855 bytes .../openmptcprouter/images/omr-logo.png | Bin 15505 -> 50790 bytes .../view/themes/openmptcprouter/footer.htm | 2 +- .../view/themes/openmptcprouter/header.htm | 8 +- .../files/etc/uci-defaults/1920-omr-network | 301 +++++++ 15 files changed, 1118 insertions(+), 52 deletions(-) create mode 100644 .circleci/config.yml delete mode 100755 .gitignore create mode 100644 openmptcprouter/files/etc/uci-defaults/1920-omr-network diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..efc3cc25f --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,751 @@ +version: 2 +jobs: + prepare: + machine: + image: ubuntu-1604:201903-01 + + working_directory: ~/ + + steps: + - run: + name: Prepare + command: | + sudo rm -rf /var/lib/apt/lists/lock + sudo apt-get update + sudo rm -rf /var/lib/apt/lists/lock + sudo apt-get install -yq build-essential git unzip ncurses-dev libz-dev libssl-dev python subversion gettext gawk wget curl rsync perl libelf-dev python3.5 libpython3.5-stdlib liblzma-dev + pyenv global 3.5.2 + + build_x86_64: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: x86_64 + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 50m + command: | + git clone https://github.com/ysurac/openmptcprouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + sudo apt-get update + sudo apt-get install -yq libelf-dev + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 50m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_x86: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: x86 + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/ysurac/openmptcprouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_rpi3: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: rpi3 + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/ysurac/openmptcprouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_espressobin: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: espressobin + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/ysurac/openmptcprouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_r2s: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: r2s + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/ysurac/openmptcprouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_rpi4: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: rpi4 + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/ysurac/openmptcprouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_rpi2: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: rpi2 + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/ysurac/openmptcprouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile package/compile target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_bpi-r2: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: bpi-r2 + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/ysurac/openmptcprouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: | + sudo apt-get update + sudo apt-get -yq install swig2.0 + make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_wrt3200acm: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: wrt3200acm + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/ysurac/openmptcprouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_wrt32: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain wrt3200acm + no_output_timeout: 40m + command: | + git clone https://github.com/ysurac/openmptcprouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_TARGET="wrt3200acm" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/wrt3200acm/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/wrt3200acm/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build wrt3200acm + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/wrt3200acm/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy wrt3200acm + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/wrt3200acm/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/wrt3200acm + rm -rf ~/openmptcprouter/wrt3200acm/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + - run: + name: Build toolchain wrt32x + no_output_timeout: 40m + command: | + cd ~/openmptcprouter/ + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_TARGET="wrt32x" + ln -s wrt3200acm wrt32x + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/wrt32x/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/wrt32x/source/key-build.pub + + - run: + name: Build wrt32x + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/wrt32x/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy wrt32x + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/wrt32x/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/wrt32x + +workflows: + version: 2 + main: + jobs: + - prepare: + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_x86_64: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_x86: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_rpi4: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_rpi3: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_espressobin: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_r2s: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_rpi2: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_bpi-r2: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_wrt32: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop diff --git a/.gitignore b/.gitignore deleted file mode 100755 index 2d93d2114..000000000 --- a/.gitignore +++ /dev/null @@ -1,29 +0,0 @@ -*.o -.DS_Store -.*.swp -/env -/dl -/.config -/.config.old -/bin -/build_dir -/staging_dir -/tmp -/logs -/feeds -/feeds.conf -/files -/overlay -/package/feeds -/package/openwrt-packages -key-build* -*.orig -*.rej -*~ -.#* -*# -.emacs.desktop* -TAGS*~ -git-src -.git-credentials -/*.log diff --git a/luci-app-openmptcprouter/htdocs/luci-static/resources/computer.png b/luci-app-openmptcprouter/htdocs/luci-static/resources/computer.png index f90e4789b97a965a459311314d0da607bcfea5f7..4598c7cb644bf2f2cc53b4fb0f07af6b55ba80b4 100755 GIT binary patch delta 1060 zcmV+<1l#+P6wL^bIDY^cbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU# z+DSw~RCwC#onLO+KoG`_mB&hO15&B)aizS+JwdoZ=nc3*oD-Cup!5WFPEhBa2j{&~ z$qjwoL(5&f7*NvMpYaP>^3 zpt4vlmt~g=25q1P@LT{7BS`CoN=CpJdxIv(GrkD`chVD;nJ>bi^o(wfSY zVCS7c6J)NHtA?hs5RYQ5=*FvaCrC_Ed3i}CZL!kN+DdjnH$?KYG>rm*yY0JXQY_$~ zTvj#E;>ll(i+>*Iq6~OV;2hz(;Q(wSm&EOr4`NkAnWq^5vPWW@skC@kL&?_a5$&;z zok*4%%mPmLsy=F7MXM92r7^yE&y^9Y!AQ-M4aj`_TPh^fl#fB)a}q#2rcPut^r>-v z=30jpoihXSJX(bA z=oUSS*@u)zSN+piMRr!%1_vmeyH*ad1+5Ldu)^PkOgEeamR%GAJQqG!4Scv$ym5|4 zaSuPLHJ5e_luiJ!C6bwky9CbB zsH;bhJQh+)B|Jp`*4u>|#k|PX2ieNX$_wY>E0w#51@9)MP#hUtTGe5F$!lJKaG3wSbo}&&V&qkA}wD-=G`H-X`Z#!PZrq= z?5k!l2k>naGpkzO$@2Gq@Flwf4UAJ|?A;*?%TJM!V0VAzNRqNN$a2BR`x){=M)*7VkKd zwXF{ybln8j=>SqGBO^IKcfClTR7%OaCI-Dgzp{ZYaQ4B eb@f*L6<`2|l77u%dHOB@0000RW#K;r4_nX|UoHv(y25x7TaIaU4F>f$Do{OjLcHn(b z?8W1~)JtiS*d%2fiqm>NM$lT4Z_yh$G>;dt(qhE$RFVa>WHM!tf#23$0Rf7Tfg2@C zSZRzRQ>d6M6S*NvrNOgOaVY_=TmeK_P>w)PvKU~|rx_U3A_FIRQEqIT7J$GcgiV!! zkv4}wl2Q#s(Iyg*@IxRR5r+YxQa%zQhD9OE0U?Y?1#p-E5kWA5!Xc<66qx>joHrAp zLlfj{rhRc=GBAZ@ji^A7k&(gA5b1i+ z$WpWcurXp<+RVy8PU%z#dZV4zz)Yu!OPIid83hO*wuLkaByc;%%!g)yCw=b{-+rjZmRkPK}$ z;be3=C)3{+jS-D9kr+#xG&G$yvr+09$$*fH8VFWmIAyQ}@rPL^q#R>O87PE>FoYo7 zr9og+B1FZKWpEe@!&6WtO;Ebb*-#;bglS+H6>*pNXHc$a2#m%4Cz!xd9c|KMT*#Cj zOC|+ILox{16NyIAX|#!R%&8O2o>xRgsZF$wO5+xogte;yMRZgMA`JTpr`^7m&x z|0rwgdmwrEZu{-tnu_eJ`TmW*AE)0rG7|p9)6jw~?+f-17p8Pnf79~2@bIsX&sWs{ zS#zQYY9-pcpJ>O5y0QBM=c~5BmX|7>-tO&x_s31@nsIC2#G=54>TTI@Sm2?e?!%$~ zvTp7#yP1>y54RpYw6MQ#aqikjaTl=&P22f~oNV*x&eg@rYU@yaaMyS5M);`&m}#13;N~z(m{E+d+Gme`s?PC$1jBMmF?tL-W+eKp3{jI&-Una z-dZAmfb4f#ZY^2+!2Otq;^e2c!Iq%ZVTbFV)G`#T`_qcJvi#%Aid2ppAGiNC?@kPA zZ5>})7LeqAC63JU`zSF(s{|D%zw)5V{&KJ!&!snd#{2A;-!y#K9Ugxr%p5cbsvE!A zHbU=v-Mb@p!fX7?@Rm&nE0+)MxgR{>z1TT@__%NQj=h$%1w)#i2m7M)y#pV(wAVEr zaXneiE4LQ7G%hvP#7#)Otqa~7%dN|M(mD5!4^ZJ=K*e0ql2;0>%hhOMoVRI z|GK8DJc;=RQ3h3e`HG>%#ZG+J!q}?pdY{g@0qY(AnQnbL|3;sF>*=G#wO(Tj2iz+> z{hhpPDwet5Z9P}>_b1DWdR88CSk=W!{9Rn1@y>X39y>SBG45LTv+GNmw9!k} - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/luci-app-openmptcprouter/htdocs/luci-static/resources/openmptcprouter.png b/luci-app-openmptcprouter/htdocs/luci-static/resources/openmptcprouter.png index 9a4b11123bc1b87715a4143565002063697f4c80..f4683f2c532cf5306c9ed7c8b5af8945309fc203 100755 GIT binary patch literal 10733 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 literal 4287 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 literal 3923 zcmb_f2UJtp77Yjtq9_O|C~63zpd@*zB%uieB}jmwiGX6t3kjr=1QLqaKtTZuC^kSw zkup@VASlK1QH&H(5GgvSpx7HOm4W|)$a4O7=Fgh-v-0xZyLaDn_Bm&tdsmXZJXY!I z%+rCvV7fF{syB518M?UITF`IuXA>XjHdXApRtn8`sxCDriz5mcOsk6L8z2jyyHi*q z0gAyEF+r3hWp)UN>DLeh;z_eY=|q~KgrOA-F&cvcR3VK6*{n&NI8wqNcg|*^K|Uw|g)%9G z#Y|$wT#-y9<%<5q^yKs(96+h1(S! z(AO6OPzYEGp0FGsQ2^j8lrCcPIMLrju}BQb7XT=DfPw-30EI-uX2=--6U=5&I3kIF z0fo#HFhW7JSQv_cPbQM$EaHnKkYk7)?)!0?v$K~(#NqLw390ugCpgW;nTR11iAXF8 zGftOIr_h8_8AHedX;eD|lpYk1$EJW-HkrU+a*#wKgN4KsF<2xCz>$$SA^}Taa|k2= zkN>uwDq=;dMDT4r8(MD-iQF1wl96~4i;cu%01!#S0AwWDn!^AU85(O#|Mme zkw$g&RUCbhB}iG|XWY1HP*K2C}NKkN8Vlb&T}Q>XVGrR$kEt5Gyz9 zW7JcU^fypbU=24f`cNNvv)|gleOW%$O>Lu7O+K1u7#Z34hQLj0DrVWN;B(zM^n~)@ zxX{^68;!)d@p2DVUevap*49UdcNlFMp|}i2!e^wr7VaiE2Ub#oNrW=dfI;v4R|MhGjP;%Q&lTyBU2>A` z$lBqox|t=*7x*3PYJFp4pR@6Z^X2fn@|U$mQ73J7RGI#6FPFby3kJ%xi$cspa_sAS z*V(L1-+1n1?`iojhUK!_#{6nqiP_doi+2AOgQ!*pZRWWISClKQUn<+W1|G(2{e8^+ z_0XuVnIwGP?WfYbL{Jnq_sXDuwetFB*p&=UZ<9KD^d9rX?E=I3jaQqSA_u0~U)<<2 z(l(Ws6o=*CyEP1VM>4xQ6}7ucmJPn2X^FKw!tNgv&#rX8ROqhn;eM-2 zxVz<&)03jRJyA79S#DQA$6#iXO`L7RtFeXU5%ewDl{;V5UGFEAkQa3oArek$Tu&gF zBIXh1`0Nij$ZMqD-(fv^l-Uxp?BTID4tKB*2dQR#x08<4<;is#rc`EKyR+F)?Z9j8 z(**lM_bYK$zjdY_+G$QbX1*nju3s6}bP*FM-OdFj#Gs{_WZ2b zDY@L3VQ5>%Sane=WYno;nw!>*dFkt=t+Do>Ie>ygZX8zfH@*msj-8$!i{pZbWrV)U(MX(gxMd z3@;U7`}W(>5U9p=-X#fwHKmpu$0Y>DTzw~2<4Ts>9vc1BUUqxO>pZ2~Do@(zaBgF2 zFKQ4Kc%j;Xj%9fE9!rjR-ekz=-p5}FnP=t(1f7gAJR0S0(zH5$ltUbf3(|R)WZ-0` zy@wmNqv*}S($wUj+LDm=!(Zm_eRRj;$UL~et`Rm1(LqA(DH&%wryw~6cCCv?+;(BV)aqengR*m^ZJR6D^){H7y^+j5b zI}HtkKQ(XY8@<~2yTN_y4q52A;zOC&rI+{3+nuIX&aPh<9%FG{Ejy$z)47B4g#1); zwoVzFJ@CN+MSC7Spdc==E-eRsN;AiKjut!X2fxPhj_?Ehs3QgWSGuGNYaME5>6>ZC zw>ofd*M?eu^`XoAEp}xs z^r+cI!k(%w$~tf0+|zz$*Py@fw}ww;@S@^K@tRIycF_66pXQ95I@y~-J#BTfAGJH> zQ@|-yd(@!2cjeye(@^Lvrv}3KfQ0hSa{6+*z&QtPP-d-9T+YkvrKyFt6f>a&l| zuJQJl>3Qqv%UV`h(0<%&-}8-2Y1p>I z>D4SxgJKVasv{q4ToxMvQ!nyzsr z+CzLz!zYETfwMYqIudP2>z|xFSH+BrH0C4?Z>kTV_%NURsHRyxp+`Zoi=R!H-Akq A1poj5 diff --git a/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter b/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter index 41d595756..99d9061e9 100755 --- a/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter +++ b/luci-app-openmptcprouter/root/etc/init.d/openmptcprouter @@ -143,9 +143,6 @@ start_service() { uci -q batch <<-EOF > /dev/null del_list dhcp.@dnsmasq[0].server='127.0.0.1#5353' add_list dhcp.@dnsmasq[0].server='114.114.114.114' - add_list dhcp.@dnsmasq[0].server="223.5.5.5" - add_list dhcp.@dnsmasq[0].server="223.6.6.6" - add_list dhcp.@dnsmasq[0].server="180.76.76.76" set dhcp.@dnsmasq[0].dnsseccheckunsigned='0' delete dhcp.@dnsmasq[0].dnssec='1' commit dhcp @@ -154,9 +151,6 @@ start_service() { uci -q batch <<-EOF > /dev/null add_list dhcp.@dnsmasq[0].server='127.0.0.1#5353' del_list dhcp.@dnsmasq[0].server='114.114.114.114' - add_list dhcp.@dnsmasq[0].server="223.5.5.5" - add_list dhcp.@dnsmasq[0].server="223.6.6.6" - add_list dhcp.@dnsmasq[0].server="180.76.76.76" set dhcp.@dnsmasq[0].dnsseccheckunsigned='1' set dhcp.@dnsmasq[0].dnssec='1' commit dhcp diff --git a/luci-theme-argon/luasrc/view/themes/argon/footer.htm b/luci-theme-argon/luasrc/view/themes/argon/footer.htm index f28850b93..a4e1df4b2 100755 --- a/luci-theme-argon/luasrc/view/themes/argon/footer.htm +++ b/luci-theme-argon/luasrc/view/themes/argon/footer.htm @@ -20,7 +20,7 @@