├── .gitignore ├── README.md ├── babel.config.js ├── docs ├── 404.html ├── css │ ├── E8820S.ef37b729.css │ ├── E8820V2.b7943454.css │ ├── FWR310V4.38f22748.css │ ├── Index.aae1734e.css │ ├── MW300RV6.6f524cf1.css │ ├── R4A.4b66539b.css │ ├── WDR7300.18a6f506.css │ ├── WDR8620.937195e5.css │ ├── Y1.a5db0b86.css │ └── app.4eefdf34.css ├── favicon.ico ├── index.html └── js │ ├── E8820S.c18d59a0.js │ ├── E8820S~E8820V2~FWR310V4~MW300RV6~R4A~WDR7300~WDR8620~Y1.b25c2b02.js │ ├── E8820V2.f9ac928a.js │ ├── FWR310V4.a0bba563.js │ ├── Index.2ad8ebc6.js │ ├── MW300RV6.b937cdac.js │ ├── R4A.e9afd1b2.js │ ├── WDR7300.fcf0a798.js │ ├── WDR8620.1a3e89da.js │ ├── Y1.87d6ed76.js │ ├── app.f6068094.js │ └── chunk-vendors.59287c6b.js ├── package.json ├── public ├── favicon.ico └── index.html ├── src ├── App.vue ├── assets │ └── logo.png ├── main.js ├── router │ └── index.js └── views │ ├── Index │ └── index.vue │ ├── NEWIFI │ └── Y1 │ │ └── index.vue │ ├── TPLINK │ ├── FWR310V4 │ │ └── index.vue │ ├── MW300RV6 │ │ └── index.vue │ ├── WDR7300 │ │ └── index.vue │ └── WDR8620 │ │ └── index.vue │ ├── XIAOMI │ └── R4A │ │ └── index.vue │ └── ZTE │ ├── E8820S │ ├── 8820s-eeprom.bin │ ├── 8820s_eeprom_b70gs_yh_nomac.bin │ ├── E8820s原厂备份编程器固件.7z │ ├── gen_eeprom.py │ └── index.vue │ └── E8820V2 │ └── index.vue ├── vue.config.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # Editor directories and files 17 | .idea 18 | .vscode 19 | *.suo 20 | *.ntvs* 21 | *.njsproj 22 | *.sln 23 | *.sw? 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # router 2 | 3 | ## Project setup 4 | ``` 5 | yarn install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | yarn serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | yarn build 16 | ``` 17 | 18 | ### Lints and fixes files 19 | ``` 20 | yarn lint 21 | ``` 22 | 23 | ### Customize configuration 24 | See [Configuration Reference](https://cli.vuejs.org/config/). 25 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /docs/404.html: -------------------------------------------------------------------------------- 1 | 路由器提取工具
-------------------------------------------------------------------------------- /docs/css/E8820S.ef37b729.css: -------------------------------------------------------------------------------- 1 | .page[data-v-6c8136cb]{text-align:left;padding-left:20px}.item[data-v-6c8136cb]{margin-top:10px}li[data-v-6c8136cb]{color:red;font-weight:600} -------------------------------------------------------------------------------- /docs/css/E8820V2.b7943454.css: -------------------------------------------------------------------------------- 1 | .page[data-v-e3693ee0]{text-align:left;padding-left:20px}.item[data-v-e3693ee0]{margin-top:10px}li[data-v-e3693ee0]{color:red;font-weight:600} -------------------------------------------------------------------------------- /docs/css/FWR310V4.38f22748.css: -------------------------------------------------------------------------------- 1 | .page[data-v-5a22e036]{text-align:left;padding-left:20px}.item[data-v-5a22e036]{margin-top:10px}li[data-v-5a22e036]{color:red;font-weight:600} -------------------------------------------------------------------------------- /docs/css/Index.aae1734e.css: -------------------------------------------------------------------------------- 1 | ul[data-v-38b16ff2]{text-align:left}.category[data-v-38b16ff2]{position:relative}.category[data-v-38b16ff2]:before{content:attr(data-title)} -------------------------------------------------------------------------------- /docs/css/MW300RV6.6f524cf1.css: -------------------------------------------------------------------------------- 1 | .page[data-v-0a27728a]{text-align:left;padding-left:20px}.item[data-v-0a27728a]{margin-top:10px}li[data-v-0a27728a]{color:red;font-weight:600} -------------------------------------------------------------------------------- /docs/css/R4A.4b66539b.css: -------------------------------------------------------------------------------- 1 | .page[data-v-18ccf7b8]{text-align:left;padding-left:20px}.item[data-v-18ccf7b8]{margin-top:10px}li[data-v-18ccf7b8]{color:red;font-weight:600} -------------------------------------------------------------------------------- /docs/css/WDR7300.18a6f506.css: -------------------------------------------------------------------------------- 1 | .page[data-v-0780af10]{text-align:left;padding-left:20px}.item[data-v-0780af10]{margin-top:10px}li[data-v-0780af10]{color:red;font-weight:600} -------------------------------------------------------------------------------- /docs/css/WDR8620.937195e5.css: -------------------------------------------------------------------------------- 1 | .page[data-v-3f63745a]{text-align:left;padding-left:20px}.item[data-v-3f63745a]{margin-top:10px}li[data-v-3f63745a]{color:red;font-weight:600} -------------------------------------------------------------------------------- /docs/css/Y1.a5db0b86.css: -------------------------------------------------------------------------------- 1 | .page[data-v-f810effa]{text-align:left;padding-left:20px}.item[data-v-f810effa]{margin-top:10px}li[data-v-f810effa]{color:red;font-weight:600} -------------------------------------------------------------------------------- /docs/css/app.4eefdf34.css: -------------------------------------------------------------------------------- 1 | #app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50}#nav{padding:30px}#nav a{font-weight:700;color:#2c3e50}#nav a.router-link-exact-active{color:#42b983} -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cjd6568358/router/cd3eda9d8651b4c73e50b66108be98b5a79c0eab/docs/favicon.ico -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 路由器提取工具
-------------------------------------------------------------------------------- /docs/js/E8820S.c18d59a0.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["E8820S"],{d9f1:function(e,t,a){"use strict";a("ef85")},e28d:function(e,t,a){"use strict";a.r(t);var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"page"},[t("div",{staticClass:"item"},[t("input",{ref:"upload",attrs:{type:"file",name:"请上传原版编程器固件"}})]),t("div",{staticClass:"item"},[e._v(" 请选择Flash类型 "),t("label",[t("input",{ref:"spi",attrs:{type:"radio",name:"flash",checked:""},domProps:{value:64}}),e._v("spi(64KB) ")]),t("label",[t("input",{attrs:{type:"radio",name:"flash"},domProps:{value:256}}),e._v("nand(256KB)")])]),t("div",{staticClass:"item"},[t("button",{on:{click:e.calc}},[e._v("生成EEPROM")])]),e.mac2g?t("div",{staticClass:"item"},[e._v(" 提取到的2.4G MAC为:"+e._s(e.mac2g)+" ,5G MAC为:"+e._s(e.mac5g)+" ")]):e._e(),t("ol",{staticClass:"item"},[t("li",[e._v("点击 选择文件 按钮,选择"+e._s(e.$options.name)+"的原版编程器固件上传")]),t("li",[e._v("点击 生成EEPROM 按钮,自动生成并下载eeprom.bin")]),t("li",[e._v("请校验提取的MAC地址是否和路由器自身MAC一致")]),t("li",[e._v("不支持IE浏览器,尽量使用Chrome、edge、火狐最新版本浏览器操作")])])])},s=[],r=(a("2c66"),a("249d"),a("40e9"),a("e9f5"),a("7d54"),a("907a"),a("986a"),a("1d02"),a("3c5d"),a("6ce5"),a("2834"),a("4ea1"),a("88a7"),a("271a"),a("5494"),{name:"E8820S",components:{},data(){return{mac2g:"",mac5g:""}},methods:{calc(){let e=this.$refs.upload.files[0];if(!e)return void alert("请上传原版编程器固件!");this.mac2g=this.mac5g="";let t=new FileReader;t.onloadend=()=>{let e=t.result,a=new Uint8Array(e.slice(2228242,2228248)),i=new Uint8Array(e.slice(2228254,2228260)),s=new Uint8Array(e.slice(3600384,3600689)),r=new Uint8Array(e.slice(3602432,3602929)),c=new Uint8Array(1024*(this.$refs.spi.checked?64:256)).fill(255);s.forEach((e,t)=>{c[t]=e}),r.forEach((e,t)=>{c[32768+t]=e}),a.forEach((e,t)=>{this.mac2g+=Number(e).toString(16).padStart(2,"0"),c[57344+t]=e}),i.forEach((e,t)=>{this.mac5g+=Number(e).toString(16).padStart(2,"0"),c[57350+t]=e}),["09"].forEach((e,t)=>{c[33248+t]=Number("0x"+e)}),this.saveFile(c.buffer)},t.readAsArrayBuffer(e)},saveFile(e){let t=new Blob([e],{type:"application/octet-stream"}),a=document.createElement("a");a.setAttribute("download",`${this.$options.name}-${this.$refs.spi.checked?"spi":"nand"}-eeprom.bin`),a.target="_blank",a.href=URL.createObjectURL(t),document.body.appendChild(a),a.click(),URL.revokeObjectURL(a.href)}}}),c=r,n=(a("d9f1"),a("2877")),l=Object(n["a"])(c,i,s,!1,null,"6c8136cb",null);t["default"]=l.exports},ef85:function(e,t,a){}}]); -------------------------------------------------------------------------------- /docs/js/E8820S~E8820V2~FWR310V4~MW300RV6~R4A~WDR7300~WDR8620~Y1.b25c2b02.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["E8820S~E8820V2~FWR310V4~MW300RV6~R4A~WDR7300~WDR8620~Y1"],{"00ee":function(t,r,e){"use strict";var n=e("b622"),o=n("toStringTag"),i={};i[o]="z",t.exports="[object z]"===String(i)},"0366":function(t,r,e){"use strict";var n=e("4625"),o=e("59ed"),i=e("40d5"),c=n(n.bind);t.exports=function(t,r){return o(t),void 0===r?t:i?c(t,r):function(){return t.apply(r,arguments)}}},"04f8":function(t,r,e){"use strict";var n=e("1212"),o=e("d039"),i=e("cfe9"),c=i.String;t.exports=!!Object.getOwnPropertySymbols&&!o((function(){var t=Symbol("symbol detection");return!c(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},"06cf":function(t,r,e){"use strict";var n=e("83ab"),o=e("c65b"),i=e("d1e7"),c=e("5c6c"),u=e("fc6a"),a=e("a04b"),f=e("1a2d"),s=e("0cfb"),p=Object.getOwnPropertyDescriptor;r.f=n?p:function(t,r){if(t=u(t),r=a(r),s)try{return p(t,r)}catch(e){}if(f(t,r))return c(!o(i.f,t,r),t[r])}},"07fa":function(t,r,e){"use strict";var n=e("50c4");t.exports=function(t){return n(t.length)}},"0b25":function(t,r,e){"use strict";var n=e("5926"),o=e("50c4"),i=RangeError;t.exports=function(t){if(void 0===t)return 0;var r=n(t),e=o(r);if(r!==e)throw new i("Wrong length or index");return e}},"0cfb":function(t,r,e){"use strict";var n=e("83ab"),o=e("d039"),i=e("cc12");t.exports=!n&&!o((function(){return 7!==Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},"0d51":function(t,r,e){"use strict";var n=String;t.exports=function(t){try{return n(t)}catch(r){return"Object"}}},1212:function(t,r,e){"use strict";var n,o,i=e("cfe9"),c=e("b5db"),u=i.process,a=i.Deno,f=u&&u.versions||a&&a.version,s=f&&f.v8;s&&(n=s.split("."),o=n[0]>0&&n[0]<4?1:+(n[0]+n[1])),!o&&c&&(n=c.match(/Edge\/(\d+)/),(!n||n[1]>=74)&&(n=c.match(/Chrome\/(\d+)/),n&&(o=+n[1]))),t.exports=o},"13d2":function(t,r,e){"use strict";var n=e("e330"),o=e("d039"),i=e("1626"),c=e("1a2d"),u=e("83ab"),a=e("5e77").CONFIGURABLE,f=e("8925"),s=e("69f3"),p=s.enforce,d=s.get,y=String,v=Object.defineProperty,b=n("".slice),l=n("".replace),h=n([].join),g=u&&!o((function(){return 8!==v((function(){}),"length",{value:8}).length})),w=String(String).split("String"),x=t.exports=function(t,r,e){"Symbol("===b(y(r),0,7)&&(r="["+l(y(r),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),e&&e.getter&&(r="get "+r),e&&e.setter&&(r="set "+r),(!c(t,"name")||a&&t.name!==r)&&(u?v(t,"name",{value:r,configurable:!0}):t.name=r),g&&e&&c(e,"arity")&&t.length!==e.arity&&v(t,"length",{value:e.arity});try{e&&c(e,"constructor")&&e.constructor?u&&v(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(o){}var n=p(t);return c(n,"source")||(n.source=h(w,"string"==typeof r?r:"")),t};Function.prototype.toString=x((function(){return i(this)&&d(this).source||f(this)}),"toString")},1626:function(t,r,e){"use strict";var n="object"==typeof document&&document.all;t.exports="undefined"==typeof n&&void 0!==n?function(t){return"function"==typeof t||t===n}:function(t){return"function"==typeof t}},1787:function(t,r,e){"use strict";var n=e("861d");t.exports=function(t){return n(t)||null===t}},"182d":function(t,r,e){"use strict";var n=e("f8cd"),o=RangeError;t.exports=function(t,r){var e=n(t);if(e%r)throw new o("Wrong offset");return e}},"19aa":function(t,r,e){"use strict";var n=e("3a9b"),o=TypeError;t.exports=function(t,r){if(n(r,t))return t;throw new o("Incorrect invocation")}},"1a2d":function(t,r,e){"use strict";var n=e("e330"),o=e("7b0b"),i=n({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,r){return i(o(t),r)}},"1be4":function(t,r,e){"use strict";var n=e("d066");t.exports=n("document","documentElement")},"1d02":function(t,r,e){"use strict";var n=e("ebb5"),o=e("a258").findLastIndex,i=n.aTypedArray,c=n.exportTypedArrayMethod;c("findLastIndex",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},"1d80":function(t,r,e){"use strict";var n=e("7234"),o=TypeError;t.exports=function(t){if(n(t))throw new o("Can't call method on "+t);return t}},2005:function(t,r,e){"use strict";var n=e("75bd"),o=TypeError;t.exports=function(t){if(n(t))throw new o("ArrayBuffer is detached");return t}},2266:function(t,r,e){"use strict";var n=e("0366"),o=e("c65b"),i=e("825a"),c=e("0d51"),u=e("e95a"),a=e("07fa"),f=e("3a9b"),s=e("9a1f"),p=e("35a1"),d=e("2a62"),y=TypeError,v=function(t,r){this.stopped=t,this.result=r},b=v.prototype;t.exports=function(t,r,e){var l,h,g,w,x,m,A,O=e&&e.that,T=!(!e||!e.AS_ENTRIES),E=!(!e||!e.IS_RECORD),S=!(!e||!e.IS_ITERATOR),j=!(!e||!e.INTERRUPTED),R=n(r,O),I=function(t){return l&&d(l,"normal",t),new v(!0,t)},P=function(t){return T?(i(t),j?R(t[0],t[1],I):R(t[0],t[1])):j?R(t,I):R(t)};if(E)l=t.iterator;else if(S)l=t;else{if(h=p(t),!h)throw new y(c(t)+" is not iterable");if(u(h)){for(g=0,w=a(t);w>g;g++)if(x=P(t[g]),x&&f(b,x))return x;return new v(!1)}l=s(t,h)}m=E?t.next:l.next;while(!(A=o(m,l)).done){try{x=P(A.value)}catch(_){d(l,"throw",_)}if("object"==typeof x&&x&&f(b,x))return x}return new v(!1)}},"23cb":function(t,r,e){"use strict";var n=e("5926"),o=Math.max,i=Math.min;t.exports=function(t,r){var e=n(t);return e<0?o(e+r,0):i(e,r)}},"23e7":function(t,r,e){"use strict";var n=e("cfe9"),o=e("06cf").f,i=e("9112"),c=e("cb2d"),u=e("6374"),a=e("e893"),f=e("94ca");t.exports=function(t,r){var e,s,p,d,y,v,b=t.target,l=t.global,h=t.stat;if(s=l?n:h?n[b]||u(b,{}):n[b]&&n[b].prototype,s)for(p in r){if(y=r[p],t.dontCallGetSet?(v=o(s,p),d=v&&v.value):d=s[p],e=f(l?p:b+(h?".":"#")+p,t.forced),!e&&void 0!==d){if(typeof y==typeof d)continue;a(y,d)}(t.sham||d&&d.sham)&&i(y,"sham",!0),c(s,p,y,t)}}},"241c":function(t,r,e){"use strict";var n=e("ca84"),o=e("7839"),i=o.concat("length","prototype");r.f=Object.getOwnPropertyNames||function(t){return n(t,i)}},"249d":function(t,r,e){"use strict";var n=e("23e7"),o=e("41f6");o&&n({target:"ArrayBuffer",proto:!0},{transfer:function(){return o(this,arguments.length?arguments[0]:void 0,!0)}})},"271a":function(t,r,e){"use strict";var n=e("cb2d"),o=e("e330"),i=e("577e"),c=e("d6d6"),u=URLSearchParams,a=u.prototype,f=o(a.getAll),s=o(a.has),p=new u("a=1");!p.has("a",2)&&p.has("a",void 0)||n(a,"has",(function(t){var r=arguments.length,e=r<2?void 0:arguments[1];if(r&&void 0===e)return s(this,t);var n=f(this,t);c(r,1);var o=i(e),u=0;while(us)i.f(t,e=o[s++],n[e]);return t}},"3a9b":function(t,r,e){"use strict";var n=e("e330");t.exports=n({}.isPrototypeOf)},"3bbe":function(t,r,e){"use strict";var n=e("1787"),o=String,i=TypeError;t.exports=function(t){if(n(t))return t;throw new i("Can't set "+o(t)+" as a prototype")}},"3c5d":function(t,r,e){"use strict";var n=e("cfe9"),o=e("c65b"),i=e("ebb5"),c=e("07fa"),u=e("182d"),a=e("7b0b"),f=e("d039"),s=n.RangeError,p=n.Int8Array,d=p&&p.prototype,y=d&&d.set,v=i.aTypedArray,b=i.exportTypedArrayMethod,l=!f((function(){var t=new Uint8ClampedArray(2);return o(y,t,{length:1,0:3},1),3!==t[1]})),h=l&&i.NATIVE_ARRAY_BUFFER_VIEWS&&f((function(){var t=new p(2);return t.set(1),t.set("2",1),0!==t[0]||2!==t[1]}));b("set",(function(t){v(this);var r=u(arguments.length>1?arguments[1]:void 0,1),e=a(t);if(l)return o(y,this,e,r);var n=this.length,i=c(e),f=0;if(i+r>n)throw new s("Wrong length");while(f=i&&(!e||b))n=h(t,0,i);else{var l=e&&!b&&w?{maxByteLength:w(t)}:void 0;n=new d(i,l);for(var A=new y(t),O=new y(n),T=v(i,o),E=0;Es)if(f=u[s++],f!==f)return!0}else for(;a>s;s++)if((t||s in u)&&u[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:c(!0),indexOf:c(!1)}},"4ea1":function(t,r,e){"use strict";var n=e("d429"),o=e("ebb5"),i=e("bcbf"),c=e("5926"),u=e("f495"),a=o.aTypedArray,f=o.getTypedArrayConstructor,s=o.exportTypedArrayMethod,p=!!function(){try{new Int8Array(1)["with"](2,{valueOf:function(){throw 8}})}catch(t){return 8===t}}();s("with",{with:function(t,r){var e=a(this),o=c(t),s=i(e)?u(r):+r;return n(e,f(e),o,s)}}["with"],!p)},"50c4":function(t,r,e){"use strict";var n=e("5926"),o=Math.min;t.exports=function(t){var r=n(t);return r>0?o(r,9007199254740991):0}},5494:function(t,r,e){"use strict";var n=e("83ab"),o=e("e330"),i=e("edd0"),c=URLSearchParams.prototype,u=o(c.forEach);n&&!("size"in c)&&i(c,"size",{get:function(){var t=0;return u(this,(function(){t++})),t},configurable:!0,enumerable:!0})},5692:function(t,r,e){"use strict";var n=e("c6cd");t.exports=function(t,r){return n[t]||(n[t]=r||{})}},"56ef":function(t,r,e){"use strict";var n=e("d066"),o=e("e330"),i=e("241c"),c=e("7418"),u=e("825a"),a=o([].concat);t.exports=n("Reflect","ownKeys")||function(t){var r=i.f(u(t)),e=c.f;return e?a(r,e(t)):r}},"577e":function(t,r,e){"use strict";var n=e("f5df"),o=String;t.exports=function(t){if("Symbol"===n(t))throw new TypeError("Cannot convert a Symbol value to a string");return o(t)}},5926:function(t,r,e){"use strict";var n=e("b42e");t.exports=function(t){var r=+t;return r!==r||0===r?0:n(r)}},"59ed":function(t,r,e){"use strict";var n=e("1626"),o=e("0d51"),i=TypeError;t.exports=function(t){if(n(t))return t;throw new i(o(t)+" is not a function")}},"5c6c":function(t,r,e){"use strict";t.exports=function(t,r){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:r}}},"5e77":function(t,r,e){"use strict";var n=e("83ab"),o=e("1a2d"),i=Function.prototype,c=n&&Object.getOwnPropertyDescriptor,u=o(i,"name"),a=u&&"something"===function(){}.name,f=u&&(!n||n&&c(i,"name").configurable);t.exports={EXISTS:u,PROPER:a,CONFIGURABLE:f}},6374:function(t,r,e){"use strict";var n=e("cfe9"),o=Object.defineProperty;t.exports=function(t,r){try{o(n,t,{value:r,configurable:!0,writable:!0})}catch(e){n[t]=r}return r}},"69f3":function(t,r,e){"use strict";var n,o,i,c=e("cdce"),u=e("cfe9"),a=e("861d"),f=e("9112"),s=e("1a2d"),p=e("c6cd"),d=e("f772"),y=e("d012"),v="Object already initialized",b=u.TypeError,l=u.WeakMap,h=function(t){return i(t)?o(t):n(t,{})},g=function(t){return function(r){var e;if(!a(r)||(e=o(r)).type!==t)throw new b("Incompatible receiver, "+t+" required");return e}};if(c||p.state){var w=p.state||(p.state=new l);w.get=w.get,w.has=w.has,w.set=w.set,n=function(t,r){if(w.has(t))throw new b(v);return r.facade=t,w.set(t,r),r},o=function(t){return w.get(t)||{}},i=function(t){return w.has(t)}}else{var x=d("state");y[x]=!0,n=function(t,r){if(s(t,x))throw new b(v);return r.facade=t,f(t,x,r),r},o=function(t){return s(t,x)?t[x]:{}},i=function(t){return s(t,x)}}t.exports={set:n,get:o,has:i,enforce:h,getterFor:g}},"6ce5":function(t,r,e){"use strict";var n=e("df7e"),o=e("ebb5"),i=o.aTypedArray,c=o.exportTypedArrayMethod,u=o.getTypedArrayConstructor;c("toReversed",(function(){return n(i(this),u(this))}))},7234:function(t,r,e){"use strict";t.exports=function(t){return null===t||void 0===t}},7282:function(t,r,e){"use strict";var n=e("e330"),o=e("59ed");t.exports=function(t,r,e){try{return n(o(Object.getOwnPropertyDescriptor(t,r)[e]))}catch(i){}}},7418:function(t,r,e){"use strict";r.f=Object.getOwnPropertySymbols},"75bd":function(t,r,e){"use strict";var n=e("cfe9"),o=e("4b11"),i=e("b620"),c=n.DataView;t.exports=function(t){if(!o||0!==i(t))return!1;try{return new c(t),!1}catch(r){return!0}}},7839:function(t,r,e){"use strict";t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(t,r,e){"use strict";var n=e("1d80"),o=Object;t.exports=function(t){return o(n(t))}},"7c73":function(t,r,e){"use strict";var n,o=e("825a"),i=e("37e8"),c=e("7839"),u=e("d012"),a=e("1be4"),f=e("cc12"),s=e("f772"),p=">",d="<",y="prototype",v="script",b=s("IE_PROTO"),l=function(){},h=function(t){return d+v+p+t+d+"/"+v+p},g=function(t){t.write(h("")),t.close();var r=t.parentWindow.Object;return t=null,r},w=function(){var t,r=f("iframe"),e="java"+v+":";return r.style.display="none",a.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(h("document.F=Object")),t.close(),t.F},x=function(){try{n=new ActiveXObject("htmlfile")}catch(r){}x="undefined"!=typeof document?document.domain&&n?g(n):w():g(n);var t=c.length;while(t--)delete x[y][c[t]];return x()};u[b]=!0,t.exports=Object.create||function(t,r){var e;return null!==t?(l[y]=o(t),e=new l,l[y]=null,e[b]=t):e=x(),void 0===r?e:i.f(e,r)}},"7d54":function(t,r,e){"use strict";var n=e("23e7"),o=e("2266"),i=e("59ed"),c=e("825a"),u=e("46c4");n({target:"Iterator",proto:!0,real:!0},{forEach:function(t){c(this),i(t);var r=u(this),e=0;o(r,(function(r){t(r,e++)}),{IS_RECORD:!0})}})},"825a":function(t,r,e){"use strict";var n=e("861d"),o=String,i=TypeError;t.exports=function(t){if(n(t))return t;throw new i(o(t)+" is not an object")}},"83ab":function(t,r,e){"use strict";var n=e("d039");t.exports=!n((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(t,r,e){"use strict";var n=e("83ab"),o=e("9bf2"),i=e("5c6c");t.exports=function(t,r,e){n?o.f(t,r,i(0,e)):t[r]=e}},8558:function(t,r,e){"use strict";var n=e("cfe9"),o=e("b5db"),i=e("c6b6"),c=function(t){return o.slice(0,t.length)===t};t.exports=function(){return c("Bun/")?"BUN":c("Cloudflare-Workers")?"CLOUDFLARE":c("Deno/")?"DENO":c("Node.js/")?"NODE":n.Bun&&"string"==typeof Bun.version?"BUN":n.Deno&&"object"==typeof Deno.version?"DENO":"process"===i(n.process)?"NODE":n.window&&n.document?"BROWSER":"REST"}()},"861d":function(t,r,e){"use strict";var n=e("1626");t.exports=function(t){return"object"==typeof t?null!==t:n(t)}},"88a7":function(t,r,e){"use strict";var n=e("cb2d"),o=e("e330"),i=e("577e"),c=e("d6d6"),u=URLSearchParams,a=u.prototype,f=o(a.append),s=o(a["delete"]),p=o(a.forEach),d=o([].push),y=new u("a=1&a=2&b=3");y["delete"]("a",1),y["delete"]("b",void 0),y+""!=="a=2"&&n(a,"delete",(function(t){var r=arguments.length,e=r<2?void 0:arguments[1];if(r&&void 0===e)return s(this,t);var n=[];p(this,(function(t,r){d(n,{key:r,value:t})})),c(r,1);var o,u=i(t),a=i(e),y=0,v=0,b=!1,l=n.length;while(y=0?n:e+n;return u<0||u>=e?void 0:r[u]}))},"90e3":function(t,r,e){"use strict";var n=e("e330"),o=0,i=Math.random(),c=n(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+c(++o+i,36)}},9112:function(t,r,e){"use strict";var n=e("83ab"),o=e("9bf2"),i=e("5c6c");t.exports=n?function(t,r,e){return o.f(t,r,i(1,e))}:function(t,r,e){return t[r]=e,t}},"94ca":function(t,r,e){"use strict";var n=e("d039"),o=e("1626"),i=/#|\.prototype\./,c=function(t,r){var e=a[u(t)];return e===s||e!==f&&(o(r)?n(r):!!r)},u=c.normalize=function(t){return String(t).replace(i,".").toLowerCase()},a=c.data={},f=c.NATIVE="N",s=c.POLYFILL="P";t.exports=c},"986a":function(t,r,e){"use strict";var n=e("ebb5"),o=e("a258").findLast,i=n.aTypedArray,c=n.exportTypedArrayMethod;c("findLast",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},"9a1f":function(t,r,e){"use strict";var n=e("c65b"),o=e("59ed"),i=e("825a"),c=e("0d51"),u=e("35a1"),a=TypeError;t.exports=function(t,r){var e=arguments.length<2?u(t):r;if(o(e))return i(n(e,t));throw new a(c(t)+" is not iterable")}},"9adc":function(t,r,e){"use strict";var n=e("8558");t.exports="NODE"===n},"9bf2":function(t,r,e){"use strict";var n=e("83ab"),o=e("0cfb"),i=e("aed9"),c=e("825a"),u=e("a04b"),a=TypeError,f=Object.defineProperty,s=Object.getOwnPropertyDescriptor,p="enumerable",d="configurable",y="writable";r.f=n?i?function(t,r,e){if(c(t),r=u(r),c(e),"function"===typeof t&&"prototype"===r&&"value"in e&&y in e&&!e[y]){var n=s(t,r);n&&n[y]&&(t[r]=e.value,e={configurable:d in e?e[d]:n[d],enumerable:p in e?e[p]:n[p],writable:!1})}return f(t,r,e)}:f:function(t,r,e){if(c(t),r=u(r),c(e),o)try{return f(t,r,e)}catch(n){}if("get"in e||"set"in e)throw new a("Accessors not supported");return"value"in e&&(t[r]=e.value),t}},a04b:function(t,r,e){"use strict";var n=e("c04e"),o=e("d9b5");t.exports=function(t){var r=n(t,"string");return o(r)?r:r+""}},a258:function(t,r,e){"use strict";var n=e("0366"),o=e("44ad"),i=e("7b0b"),c=e("07fa"),u=function(t){var r=1===t;return function(e,u,a){var f,s,p=i(e),d=o(p),y=c(d),v=n(u,a);while(y-- >0)if(f=d[y],s=v(f,y,p),s)switch(t){case 0:return f;case 1:return y}return r?-1:void 0}};t.exports={findLast:u(0),findLastIndex:u(1)}},ae93:function(t,r,e){"use strict";var n,o,i,c=e("d039"),u=e("1626"),a=e("861d"),f=e("7c73"),s=e("e163"),p=e("cb2d"),d=e("b622"),y=e("c430"),v=d("iterator"),b=!1;[].keys&&(i=[].keys(),"next"in i?(o=s(s(i)),o!==Object.prototype&&(n=o)):b=!0);var l=!a(n)||c((function(){var t={};return n[v].call(t)!==t}));l?n={}:y&&(n=f(n)),u(n[v])||p(n,v,(function(){return this})),t.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:b}},aed9:function(t,r,e){"use strict";var n=e("83ab"),o=e("d039");t.exports=n&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},b42e:function(t,r,e){"use strict";var n=Math.ceil,o=Math.floor;t.exports=Math.trunc||function(t){var r=+t;return(r>0?o:n)(r)}},b5db:function(t,r,e){"use strict";var n=e("cfe9"),o=n.navigator,i=o&&o.userAgent;t.exports=i?String(i):""},b620:function(t,r,e){"use strict";var n=e("cfe9"),o=e("7282"),i=e("c6b6"),c=n.ArrayBuffer,u=n.TypeError;t.exports=c&&o(c.prototype,"byteLength","get")||function(t){if("ArrayBuffer"!==i(t))throw new u("ArrayBuffer expected");return t.byteLength}},b622:function(t,r,e){"use strict";var n=e("cfe9"),o=e("5692"),i=e("1a2d"),c=e("90e3"),u=e("04f8"),a=e("fdbf"),f=n.Symbol,s=o("wks"),p=a?f["for"]||f:f&&f.withoutSetter||c;t.exports=function(t){return i(s,t)||(s[t]=u&&i(f,t)?f[t]:p("Symbol."+t)),s[t]}},bcbf:function(t,r,e){"use strict";var n=e("f5df");t.exports=function(t){var r=n(t);return"BigInt64Array"===r||"BigUint64Array"===r}},c04e:function(t,r,e){"use strict";var n=e("c65b"),o=e("861d"),i=e("d9b5"),c=e("dc4a"),u=e("485a"),a=e("b622"),f=TypeError,s=a("toPrimitive");t.exports=function(t,r){if(!o(t)||i(t))return t;var e,a=c(t,s);if(a){if(void 0===r&&(r="default"),e=n(a,t,r),!o(e)||i(e))return e;throw new f("Can't convert object to primitive value")}return void 0===r&&(r="number"),u(t,r)}},c430:function(t,r,e){"use strict";t.exports=!1},c65b:function(t,r,e){"use strict";var n=e("40d5"),o=Function.prototype.call;t.exports=n?o.bind(o):function(){return o.apply(o,arguments)}},c6b6:function(t,r,e){"use strict";var n=e("e330"),o=n({}.toString),i=n("".slice);t.exports=function(t){return i(o(t),8,-1)}},c6cd:function(t,r,e){"use strict";var n=e("c430"),o=e("cfe9"),i=e("6374"),c="__core-js_shared__",u=t.exports=o[c]||i(c,{});(u.versions||(u.versions=[])).push({version:"3.41.0",mode:n?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.41.0/LICENSE",source:"https://github.com/zloirock/core-js"})},ca84:function(t,r,e){"use strict";var n=e("e330"),o=e("1a2d"),i=e("fc6a"),c=e("4d64").indexOf,u=e("d012"),a=n([].push);t.exports=function(t,r){var e,n=i(t),f=0,s=[];for(e in n)!o(u,e)&&o(n,e)&&a(s,e);while(r.length>f)o(n,e=r[f++])&&(~c(s,e)||a(s,e));return s}},cb2d:function(t,r,e){"use strict";var n=e("1626"),o=e("9bf2"),i=e("13d2"),c=e("6374");t.exports=function(t,r,e,u){u||(u={});var a=u.enumerable,f=void 0!==u.name?u.name:r;if(n(e)&&i(e,f,u),u.global)a?t[r]=e:c(r,e);else{try{u.unsafe?t[r]&&(a=!0):delete t[r]}catch(s){}a?t[r]=e:o.f(t,r,{value:e,enumerable:!1,configurable:!u.nonConfigurable,writable:!u.nonWritable})}return t}},cc12:function(t,r,e){"use strict";var n=e("cfe9"),o=e("861d"),i=n.document,c=o(i)&&o(i.createElement);t.exports=function(t){return c?i.createElement(t):{}}},cdce:function(t,r,e){"use strict";var n=e("cfe9"),o=e("1626"),i=n.WeakMap;t.exports=o(i)&&/native code/.test(String(i))},cfe9:function(t,r,e){"use strict";(function(r){var e=function(t){return t&&t.Math===Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof r&&r)||e("object"==typeof this&&this)||function(){return this}()||Function("return this")()}).call(this,e("c8ba"))},d012:function(t,r,e){"use strict";t.exports={}},d039:function(t,r,e){"use strict";t.exports=function(t){try{return!!t()}catch(r){return!0}}},d066:function(t,r,e){"use strict";var n=e("cfe9"),o=e("1626"),i=function(t){return o(t)?t:void 0};t.exports=function(t,r){return arguments.length<2?i(n[t]):n[t]&&n[t][r]}},d1e7:function(t,r,e){"use strict";var n={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!n.call({1:2},1);r.f=i?function(t){var r=o(this,t);return!!r&&r.enumerable}:n},d2bb:function(t,r,e){"use strict";var n=e("7282"),o=e("861d"),i=e("1d80"),c=e("3bbe");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,r=!1,e={};try{t=n(Object.prototype,"__proto__","set"),t(e,[]),r=e instanceof Array}catch(u){}return function(e,n){return i(e),c(n),o(e)?(r?t(e,n):e.__proto__=n,e):e}}():void 0)},d429:function(t,r,e){"use strict";var n=e("07fa"),o=e("5926"),i=RangeError;t.exports=function(t,r,e,c){var u=n(t),a=o(e),f=a<0?u+a:a;if(f>=u||f<0)throw new i("Incorrect index");for(var s=new r(u),p=0;p92||"NODE"===c&&i>94||"BROWSER"===c&&i>97)return!1;var t=new ArrayBuffer(8),r=u(t,{transfer:[t]});return 0!==t.byteLength||8!==r.byteLength}))},dc4a:function(t,r,e){"use strict";var n=e("59ed"),o=e("7234");t.exports=function(t,r){var e=t[r];return o(e)?void 0:n(e)}},df75:function(t,r,e){"use strict";var n=e("ca84"),o=e("7839");t.exports=Object.keys||function(t){return n(t,o)}},df7e:function(t,r,e){"use strict";var n=e("07fa");t.exports=function(t,r){for(var e=n(t),o=new r(e),i=0;i2?e:n(r),c=new t(i);while(i>o)c[o]=r[o++];return c}},e163:function(t,r,e){"use strict";var n=e("1a2d"),o=e("1626"),i=e("7b0b"),c=e("f772"),u=e("e177"),a=c("IE_PROTO"),f=Object,s=f.prototype;t.exports=u?f.getPrototypeOf:function(t){var r=i(t);if(n(r,a))return r[a];var e=r.constructor;return o(e)&&r instanceof e?e.prototype:r instanceof f?s:null}},e177:function(t,r,e){"use strict";var n=e("d039");t.exports=!n((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},e330:function(t,r,e){"use strict";var n=e("40d5"),o=Function.prototype,i=o.call,c=n&&o.bind.bind(i,i);t.exports=n?c:function(t){return function(){return i.apply(t,arguments)}}},e893:function(t,r,e){"use strict";var n=e("1a2d"),o=e("56ef"),i=e("06cf"),c=e("9bf2");t.exports=function(t,r,e){for(var u=o(r),a=c.f,f=i.f,s=0;s{let e=t.result,a=new Uint8Array(e.slice(131092,131098)),i=new Uint8Array(e.slice(131108,131114)),c=new Uint8Array(e.slice(192512,192816)),r=new Uint8Array(e.slice(194560,194864)),n=new Uint8Array(65536).fill(255);c.forEach((e,t)=>{n[t]=e}),r.forEach((e,t)=>{n[32768+t]=e}),a.forEach((e,t)=>{this.mac2g+=Number(e).toString(16).padStart(2,"0"),n[57344+t]=e}),i.forEach((e,t)=>{this.mac5g+=Number(e).toString(16).padStart(2,"0"),n[57350+t]=e}),["C0","81","82","C3","04","45","46","07","08","09"].forEach((e,t)=>{n[33248+t]=Number("0x"+e)}),this.saveFile(n.buffer)},t.readAsArrayBuffer(e)},saveFile(e){let t=new Blob([e],{type:"application/octet-stream"}),a=document.createElement("a");a.setAttribute("download",this.$options.name+"-eeprom.bin"),a.target="_blank",a.href=URL.createObjectURL(t),document.body.appendChild(a),a.click(),URL.revokeObjectURL(a.href)}}}),n=r,s=(a("fc2e"),a("2877")),l=Object(s["a"])(n,i,c,!1,null,"e3693ee0",null);t["default"]=l.exports},caa4:function(e,t,a){},fc2e:function(e,t,a){"use strict";a("caa4")}}]); -------------------------------------------------------------------------------- /docs/js/FWR310V4.a0bba563.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["FWR310V4"],{"155c":function(e,t,a){"use strict";a.r(t);var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"page"},[t("div",{staticClass:"item"},[t("input",{ref:"upload",attrs:{type:"file",name:"请上传原版编程器固件"}})]),t("div",{staticClass:"item"},[t("button",{on:{click:e.calc}},[e._v("生成EEPROM")])]),t("ol",{staticClass:"item"},[t("li",[e._v(" 点击 选择文件 按钮,选择"+e._s(e.$options.name)+"的原版编程器固件上传 ")]),t("li",[e._v(" 点击 生成EEPROM 按钮,自动生成并下载eeprom.bin ")]),t("li",[e._v(" 请校验提取的MAC地址是否和路由器自身MAC一致 ")]),t("li",[e._v("不支持IE浏览器,尽量使用Chrome、edge、火狐最新版本浏览器操作")]),e._m(0)])])},n=[function(){var e=this,t=e._self._c;return t("li",[e._v("参考教程: "),t("a",{attrs:{target:"_blank",href:"https://www.right.com.cn/forum/thread-313018-1-1.html"}},[e._v("求帮忙提取fw310 v4的EEPROM")])])}],r=(a("2c66"),a("249d"),a("40e9"),a("e9f5"),a("7d54"),a("907a"),a("986a"),a("1d02"),a("3c5d"),a("6ce5"),a("2834"),a("4ea1"),a("88a7"),a("271a"),a("5494"),{name:"FWR310V4",components:{},data(){return{}},methods:{calc(){let e=this.$refs.upload.files[0];if(!e)return void alert("请上传原版编程器固件!");let t=new FileReader;t.onloadend=()=>{let e=t.result,a=new Uint8Array(65536).fill(255),i=new Uint8Array(e.slice(64512));i.forEach((e,t)=>{a[t]=e}),this.saveFile(a.buffer)},t.readAsArrayBuffer(e)},saveFile(e){let t=new Blob([e],{type:"application/octet-stream"}),a=document.createElement("a");a.setAttribute("download",this.$options.name+"-eeprom.bin"),a.target="_blank",a.href=URL.createObjectURL(t),document.body.appendChild(a),a.click(),URL.revokeObjectURL(a.href)}}}),l=r,s=(a("d665"),a("2877")),c=Object(s["a"])(l,i,n,!1,null,"5a22e036",null);t["default"]=c.exports},c701:function(e,t,a){},d665:function(e,t,a){"use strict";a("c701")}}]); -------------------------------------------------------------------------------- /docs/js/Index.2ad8ebc6.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["Index"],{"23b6":function(t,e,r){"use strict";r("ec57")},b30e:function(t,e,r){"use strict";r.r(e);var o=function(){var t=this,e=t._self._c;return e("ul",[e("li",{staticClass:"category",attrs:{"data-title":"eeprom"}},[e("ul",[e("li",{staticClass:"category",attrs:{"data-title":"tplink"}},[e("ul",[e("router-link",{attrs:{to:"/tplink/eeprom/wdr7300",custom:""},scopedSlots:t._u([{key:"default",fn:function({navigate:r}){return[e("li",{on:{click:r}},[e("a",{attrs:{href:"/router/tplink/eeprom/wdr7300"}},[t._v("wdr7300")])])]}}])}),e("router-link",{attrs:{to:"/tplink/eeprom/wdr8620",custom:""},scopedSlots:t._u([{key:"default",fn:function({navigate:r}){return[e("li",{on:{click:r}},[e("a",{attrs:{href:"/router/tplink/eeprom/wdr8620"}},[t._v("wdr8620/mac2600r")])])]}}])}),e("router-link",{attrs:{to:"/tplink/eeprom/mw300rv6",custom:""},scopedSlots:t._u([{key:"default",fn:function({navigate:r}){return[e("li",{on:{click:r}},[e("a",{attrs:{href:"/router/tplink/eeprom/mw300rv6"}},[t._v("mw300rv6")])])]}}])}),e("router-link",{attrs:{to:"/tplink/eeprom/fwr310v4",custom:""},scopedSlots:t._u([{key:"default",fn:function({navigate:r}){return[e("li",{on:{click:r}},[e("a",{attrs:{href:"/router/tplink/eeprom/fwr310v4"}},[t._v("fwr310v4")])])]}}])})],1)]),e("li",{staticClass:"category",attrs:{"data-title":"xiaomi"}},[e("ul",[e("router-link",{attrs:{to:"/xiaomi/eeprom/r4a",custom:""},scopedSlots:t._u([{key:"default",fn:function({navigate:r}){return[e("li",{on:{click:r}},[e("a",{attrs:{href:"/router/xiaomi/eeprom/r4a"}},[t._v("r4a")])])]}}])})],1)]),e("li",{staticClass:"category",attrs:{"data-title":"zte"}},[e("ul",[e("router-link",{attrs:{to:"/zte/eeprom/e8820v2",custom:""},scopedSlots:t._u([{key:"default",fn:function({navigate:r}){return[e("li",{on:{click:r}},[e("a",{attrs:{href:"/router/zte/eeprom/e8820v2"}},[t._v("e8820v2")])])]}}])}),e("router-link",{attrs:{to:"/zte/eeprom/e8820s",custom:""},scopedSlots:t._u([{key:"default",fn:function({navigate:r}){return[e("li",{on:{click:r}},[e("a",{attrs:{href:"/router/zte/eeprom/e8820s"}},[t._v("e8820s")])])]}}])})],1)]),e("li",{staticClass:"category",attrs:{"data-title":"newifi"}},[e("ul",[e("router-link",{attrs:{to:"/newifi/eeprom/y1",custom:""},scopedSlots:t._u([{key:"default",fn:function({navigate:r}){return[e("li",{on:{click:r}},[e("a",{attrs:{href:"/router/newifi/eeprom/y1"}},[t._v("y1")])])]}}])})],1)])])])])},a=[],i=(r("23b6"),r("2877")),n={},l=Object(i["a"])(n,o,a,!1,null,"38b16ff2",null);e["default"]=l.exports},ec57:function(t,e,r){}}]); -------------------------------------------------------------------------------- /docs/js/MW300RV6.b937cdac.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["MW300RV6"],{"76e1":function(e,t,a){},a386:function(e,t,a){"use strict";a.r(t);var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"page"},[t("div",{staticClass:"item"},[t("input",{ref:"upload",attrs:{type:"file",name:"请上传原版编程器固件"}})]),t("div",{staticClass:"item"},[t("button",{on:{click:e.calc}},[e._v("生成EEPROM")])]),t("ol",{staticClass:"item"},[t("li",[e._v(" 点击 选择文件 按钮,选择"+e._s(e.$options.name)+"的原版编程器固件上传 ")]),t("li",[e._v(" 点击 生成EEPROM 按钮,自动生成并下载eeprom.bin ")]),t("li",[e._v(" 请校验提取的MAC地址是否和路由器自身MAC一致 ")]),t("li",[e._v("不支持IE浏览器,尽量使用Chrome、edge、火狐最新版本浏览器操作")]),e._m(0)])])},n=[function(){var e=this,t=e._self._c;return t("li",[e._v("参考教程: "),t("a",{attrs:{target:"_blank",href:"https://www.right.com.cn/forum/thread-3709851-1-1.html"}},[e._v("水星MW300R V6 刷breed,提取eeprom")])])}],r=(a("2c66"),a("249d"),a("40e9"),a("e9f5"),a("7d54"),a("907a"),a("986a"),a("1d02"),a("3c5d"),a("6ce5"),a("2834"),a("4ea1"),a("88a7"),a("271a"),a("5494"),{name:"MW300RV6",components:{},data(){return{}},methods:{calc(){let e=this.$refs.upload.files[0];if(!e)return void alert("请上传原版编程器固件!");let t=new FileReader;t.onloadend=()=>{let e=t.result,a=new Uint8Array(65536).fill(255),i=new Uint8Array(e.slice(2031616,2097151));i.forEach((e,t)=>{a[t]=e}),this.saveFile(a.buffer)},t.readAsArrayBuffer(e)},saveFile(e){let t=new Blob([e],{type:"application/octet-stream"}),a=document.createElement("a");a.setAttribute("download",this.$options.name+"-eeprom.bin"),a.target="_blank",a.href=URL.createObjectURL(t),document.body.appendChild(a),a.click(),URL.revokeObjectURL(a.href)}}}),l=r,s=(a("e9d1"),a("2877")),o=Object(s["a"])(l,i,n,!1,null,"0a27728a",null);t["default"]=o.exports},e9d1:function(e,t,a){"use strict";a("76e1")}}]); -------------------------------------------------------------------------------- /docs/js/R4A.e9afd1b2.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["R4A"],{"31d4":function(e,t,a){"use strict";a.r(t);var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"page"},[t("div",{staticClass:"item"},[t("input",{ref:"upload",attrs:{type:"file",name:"请上传原版编程器固件"}})]),t("div",{staticClass:"item"},[t("button",{on:{click:e.calc}},[e._v("生成EEPROM")])]),t("ol",{staticClass:"item"},[t("li",[e._v(" 点击 选择文件 按钮,选择"+e._s(e.$options.name)+"的原版编程器固件上传 ")]),t("li",[e._v(" 点击 生成EEPROM 按钮,自动生成并下载eeprom.bin ")]),t("li",[e._v(" 请校验提取的MAC地址是否和路由器自身MAC一致 ")]),t("li",[e._v("不支持IE浏览器,尽量使用Chrome、edge、火狐最新版本浏览器操作")]),e._m(0)])])},n=[function(){var e=this,t=e._self._c;return t("li",[e._v("参考教程: "),t("a",{attrs:{target:"_blank",href:"https://www.right.com.cn/forum/thread-4114097-1-1.html"}},[e._v("请大佬给看看R4A备份了原机编程器固件,不知道怎么用WINHEX提取EEPROM")])])}],r=(a("2c66"),a("249d"),a("40e9"),a("e9f5"),a("7d54"),a("907a"),a("986a"),a("1d02"),a("3c5d"),a("6ce5"),a("2834"),a("4ea1"),a("88a7"),a("271a"),a("5494"),{name:"R4A",components:{},data(){return{}},methods:{calc(){let e=this.$refs.upload.files[0];if(!e)return void alert("请上传原版编程器固件!");let t=new FileReader;t.onloadend=()=>{let e=t.result,a=new Uint8Array(65536).fill(255),i=new Uint8Array(e.slice(327680,393200));i.forEach((e,t)=>{a[t]=e}),this.saveFile(a.buffer)},t.readAsArrayBuffer(e)},saveFile(e){let t=new Blob([e],{type:"application/octet-stream"}),a=document.createElement("a");a.setAttribute("download",this.$options.name+"-eeprom.bin"),a.target="_blank",a.href=URL.createObjectURL(t),document.body.appendChild(a),a.click(),URL.revokeObjectURL(a.href)}}}),l=r,s=(a("5dde"),a("2877")),c=Object(s["a"])(l,i,n,!1,null,"18ccf7b8",null);t["default"]=c.exports},"5dde":function(e,t,a){"use strict";a("e5b5")},e5b5:function(e,t,a){}}]); -------------------------------------------------------------------------------- /docs/js/WDR7300.fcf0a798.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["WDR7300"],{"08cf":function(e,t,a){},"0d37":function(e,t,a){"use strict";a("08cf")},6707:function(e,t,a){"use strict";a.r(t);var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"page"},[t("div",{staticClass:"item"},[t("input",{ref:"upload",attrs:{type:"file",name:"请上传原版编程器固件"}})]),t("div",{staticClass:"item"},[t("button",{on:{click:e.calc}},[e._v("生成EEPROM")])]),t("div",{staticClass:"item"},[e._v(" 提取到的LAN MAC为:"+e._s(e.maclan)+" ")]),t("ol",{staticClass:"item"},[t("li",[e._v(" 点击 选择文件 按钮,选择"+e._s(e.$options.name)+"的原版编程器固件上传 ")]),t("li",[e._v(" 点击 生成EEPROM 按钮,自动生成并下载eeprom.bin ")]),t("li",[e._v(" 请校验提取的MAC地址是否和路由器自身MAC一致 ")]),t("li",[e._v("不支持IE浏览器,尽量使用Chrome、edge、火狐最新版本浏览器操作")]),e._m(0)])])},r=[function(){var e=this,t=e._self._c;return t("li",[e._v("参考教程: "),t("a",{attrs:{target:"_blank",href:"https://www.right.com.cn/forum/thread-7708743-1-1.html"}},[e._v("制作WDR7300千兆版 V1的eeprom和分享Padavan固件")])])}],l=(a("2c66"),a("249d"),a("40e9"),a("e9f5"),a("7d54"),a("907a"),a("986a"),a("1d02"),a("3c5d"),a("6ce5"),a("2834"),a("4ea1"),a("88a7"),a("271a"),a("5494"),{name:"WDR7300",components:{},data(){return{maclan:""}},methods:{calc(){let e=this.$refs.upload.files[0];if(!e)return void alert("请上传原版编程器固件!");this.maclan="";let t=new FileReader;t.onloadend=()=>{let e=t.result,a=new Uint8Array(65536).fill(255),i=new Uint8Array(e.slice(122880,127999));i.forEach((e,t)=>{a[t]=e});let r=new Uint8Array(a.slice(4096,5119));r.forEach((e,t)=>{a[32768+t]=e});let l=new Uint8Array(e.slice(120845,120851)),n=l.slice();n[5]+=1;let c=l.slice();c[5]+=2;let s=l.slice();s[5]+=3,c.forEach((e,t)=>{a[4+t]=e}),s.forEach((e,t)=>{a[32772+t]=e}),l.forEach((e,t)=>{this.maclan+=Number(e).toString(16).padStart(2,"0"),a[57344+t]=e}),n.forEach((e,t)=>{a[57350+t]=e}),this.saveFile(a.buffer)},t.readAsArrayBuffer(e)},saveFile(e){let t=new Blob([e],{type:"application/octet-stream"}),a=document.createElement("a");a.setAttribute("download",this.$options.name+"-eeprom.bin"),a.target="_blank",a.href=URL.createObjectURL(t),document.body.appendChild(a),a.click(),URL.revokeObjectURL(a.href)}}}),n=l,c=(a("0d37"),a("2877")),s=Object(c["a"])(n,i,r,!1,null,"0780af10",null);t["default"]=s.exports}}]); -------------------------------------------------------------------------------- /docs/js/WDR8620.1a3e89da.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["WDR8620"],{"1f36":function(e,t,a){},"4f8e":function(e,t,a){"use strict";a("1f36")},d9a5:function(e,t,a){"use strict";a.r(t);var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"page"},[t("div",{staticClass:"item"},[t("input",{ref:"upload",attrs:{type:"file",name:"请上传原版编程器固件"}})]),t("div",{staticClass:"item"},[t("button",{on:{click:e.calc}},[e._v("生成EEPROM")])]),t("div",{staticClass:"item"},[e._v(" 提取到的LAN MAC为:"+e._s(e.maclan)+" ")]),t("ol",{staticClass:"item"},[t("li",[e._v(" 点击 选择文件 按钮,选择"+e._s(e.$options.name)+"的原版编程器固件上传 ")]),t("li",[e._v(" 点击 生成EEPROM 按钮,自动生成并下载eeprom.bin ")]),t("li",[e._v(" 请校验提取的MAC地址是否和路由器自身MAC一致 ")]),t("li",[e._v("不支持IE浏览器,尽量使用Chrome、edge、火狐最新版本浏览器操作")]),t("li",[e._v(" blk0: 0x1e000 0x1e3ff => 0x0 blk1: 0x1f000 0x1f3ff => 0x8000 blk2: 0x20004 0x20c4f => 0x9004 lan mac: 0x1d80d 0x1d812 ")])])])},l=[],n=(a("2c66"),a("249d"),a("40e9"),a("e9f5"),a("7d54"),a("907a"),a("986a"),a("1d02"),a("3c5d"),a("6ce5"),a("2834"),a("4ea1"),a("88a7"),a("271a"),a("5494"),{name:"WDR8620",components:{},data(){return{maclan:""}},methods:{calc(){let e=this.$refs.upload.files[0];if(!e)return void alert("请上传原版编程器固件!");this.maclan="";let t=new FileReader;t.onloadend=()=>{let e=t.result,a=new Uint8Array(65536).fill(255),i=new Uint8Array(e.slice(122880,123904));i.forEach((e,t)=>{a[t]=e});let l=new Uint8Array(e.slice(126976,128e3));l.forEach((e,t)=>{a[32768+t]=e});let n=new Uint8Array(e.slice(131076,134224));n.forEach((e,t)=>{a[36868+t]=e});let r=new Uint8Array(e.slice(120845,120851)),c=r.slice();c[5]+=1,r.forEach((e,t)=>{this.maclan+=Number(e).toString(16).padStart(2,"0"),a[57344+t]=e}),c.forEach((e,t)=>{a[57350+t]=e}),this.saveFile(a.buffer)},t.readAsArrayBuffer(e)},saveFile(e){let t=new Blob([e],{type:"application/octet-stream"}),a=document.createElement("a");a.setAttribute("download",this.$options.name+"-eeprom.bin"),a.target="_blank",a.href=URL.createObjectURL(t),document.body.appendChild(a),a.click(),URL.revokeObjectURL(a.href)}}}),r=n,c=(a("4f8e"),a("2877")),s=Object(c["a"])(r,i,l,!1,null,"3f63745a",null);t["default"]=s.exports}}]); -------------------------------------------------------------------------------- /docs/js/Y1.87d6ed76.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["Y1"],{"2c89":function(e,t,a){},"816c":function(e,t,a){"use strict";a.r(t);var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"page"},[t("div",{staticClass:"item"},[t("input",{ref:"upload",attrs:{type:"file",name:"请上传原版编程器固件"}})]),t("div",{staticClass:"item"},[t("button",{on:{click:e.calc}},[e._v("生成EEPROM")])]),t("ol",{staticClass:"item"},[t("li",[e._v(" 点击 选择文件 按钮,选择"+e._s(e.$options.name)+"的原版编程器固件上传 ")]),t("li",[e._v(" 点击 生成EEPROM 按钮,自动生成并下载eeprom.bin ")]),t("li",[e._v(" 请校验提取的MAC地址是否和路由器自身MAC一致 ")]),t("li",[e._v("不支持IE浏览器,尽量使用Chrome、edge、火狐最新版本浏览器操作")]),e._m(0)])])},n=[function(){var e=this,t=e._self._c;return t("li",[e._v("参考教程: "),t("a",{attrs:{target:"_blank",href:"https://www.right.com.cn/forum/thread-4111938-1-1.html"}},[e._v("请老师看看NEWIFI Y1 怎么提取编程器固件的EEPROM")])])}],r=(a("2c66"),a("249d"),a("40e9"),a("e9f5"),a("7d54"),a("907a"),a("986a"),a("1d02"),a("3c5d"),a("6ce5"),a("2834"),a("4ea1"),a("88a7"),a("271a"),a("5494"),{name:"Y1",components:{},data(){return{}},methods:{calc(){let e=this.$refs.upload.files[0];if(!e)return void alert("请上传原版编程器固件!");let t=new FileReader;t.onloadend=()=>{let e=t.result,a=new Uint8Array(65536).fill(255),i=new Uint8Array(e.slice(262144,327679));i.forEach((e,t)=>{a[t]=e}),this.saveFile(a.buffer)},t.readAsArrayBuffer(e)},saveFile(e){let t=new Blob([e],{type:"application/octet-stream"}),a=document.createElement("a");a.setAttribute("download",this.$options.name+"-eeprom.bin"),a.target="_blank",a.href=URL.createObjectURL(t),document.body.appendChild(a),a.click(),URL.revokeObjectURL(a.href)}}}),l=r,s=(a("abab"),a("2877")),c=Object(s["a"])(l,i,n,!1,null,"f810effa",null);t["default"]=c.exports},abab:function(e,t,a){"use strict";a("2c89")}}]); -------------------------------------------------------------------------------- /docs/js/app.f6068094.js: -------------------------------------------------------------------------------- 1 | (function(e){function n(n){for(var r,o,R=n[0],l=n[1],u=n[2],c=0,p=[];ct.e("Index").then(t.bind(null,"b30e"))},{path:"/zte/eeprom/e8820v2",name:"E8820V2",component:()=>Promise.all([t.e("E8820S~E8820V2~FWR310V4~MW300RV6~R4A~WDR7300~WDR8620~Y1"),t.e("E8820V2")]).then(t.bind(null,"0801"))},{path:"/zte/eeprom/e8820s",name:"E8820S",component:()=>Promise.all([t.e("E8820S~E8820V2~FWR310V4~MW300RV6~R4A~WDR7300~WDR8620~Y1"),t.e("E8820S")]).then(t.bind(null,"e28d"))},{path:"/tplink/eeprom/wdr7300",name:"WDR7300",component:()=>Promise.all([t.e("E8820S~E8820V2~FWR310V4~MW300RV6~R4A~WDR7300~WDR8620~Y1"),t.e("WDR7300")]).then(t.bind(null,"6707"))},{path:"/tplink/eeprom/wdr8620",name:"WDR8620",component:()=>Promise.all([t.e("E8820S~E8820V2~FWR310V4~MW300RV6~R4A~WDR7300~WDR8620~Y1"),t.e("WDR8620")]).then(t.bind(null,"d9a5"))},{path:"/tplink/eeprom/mw300rv6",name:"MW300RV6",component:()=>Promise.all([t.e("E8820S~E8820V2~FWR310V4~MW300RV6~R4A~WDR7300~WDR8620~Y1"),t.e("MW300RV6")]).then(t.bind(null,"a386"))},{path:"/tplink/eeprom/fwr310v4",name:"FWR310V4",component:()=>Promise.all([t.e("E8820S~E8820V2~FWR310V4~MW300RV6~R4A~WDR7300~WDR8620~Y1"),t.e("FWR310V4")]).then(t.bind(null,"155c"))},{path:"/xiaomi/eeprom/r4a",name:"R4A",component:()=>Promise.all([t.e("E8820S~E8820V2~FWR310V4~MW300RV6~R4A~WDR7300~WDR8620~Y1"),t.e("R4A")]).then(t.bind(null,"31d4"))},{path:"/newifi/eeprom/y1",name:"Y1",component:()=>Promise.all([t.e("E8820S~E8820V2~FWR310V4~MW300RV6~R4A~WDR7300~WDR8620~Y1"),t.e("Y1")]).then(t.bind(null,"816c"))},{path:"*",redirect:"/index"}],d=new c["a"]({mode:"history",base:"/router/",routes:p});var W=d;r["a"].config.productionTip=!1,new r["a"]({router:W,render:e=>e(u)}).$mount("#app")},"578d":function(e,n,t){"use strict";t("41ec")}}); -------------------------------------------------------------------------------- /docs/js/chunk-vendors.59287c6b.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{2877:function(t,e,n){"use strict";function r(t,e,n,r,o,i,a,s){var c,u="function"===typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),a?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=c):o&&(c=s?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(u.functional){u._injectStyles=c;var f=u.render;u.render=function(t,e){return c.call(e),f(t,e)}}else{var l=u.beforeCreate;u.beforeCreate=l?[].concat(l,c):[c]}return{exports:t,options:u}}n.d(e,"a",(function(){return r}))},"2b0e":function(t,e,n){"use strict";(function(t){n.d(e,"a",(function(){return Yr})); 2 | /*! 3 | * Vue.js v2.7.16 4 | * (c) 2014-2023 Evan You 5 | * Released under the MIT License. 6 | */ 7 | var r=Object.freeze({}),o=Array.isArray;function i(t){return void 0===t||null===t}function a(t){return void 0!==t&&null!==t}function s(t){return!0===t}function c(t){return!1===t}function u(t){return"string"===typeof t||"number"===typeof t||"symbol"===typeof t||"boolean"===typeof t}function f(t){return"function"===typeof t}function l(t){return null!==t&&"object"===typeof t}var p=Object.prototype.toString;function d(t){return"[object Object]"===p.call(t)}function h(t){return"[object RegExp]"===p.call(t)}function v(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function m(t){return a(t)&&"function"===typeof t.then&&"function"===typeof t.catch}function y(t){return null==t?"":Array.isArray(t)||d(t)&&t.toString===p?JSON.stringify(t,g,2):String(t)}function g(t,e){return e&&e.__v_isRef?e.value:e}function _(t){var e=parseFloat(t);return isNaN(e)?t:e}function b(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(r,1)}}var C=Object.prototype.hasOwnProperty;function $(t,e){return C.call(t,e)}function k(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}var O=/-(\w)/g,S=k((function(t){return t.replace(O,(function(t,e){return e?e.toUpperCase():""}))})),E=k((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),A=/\B([A-Z])/g,j=k((function(t){return t.replace(A,"-$1").toLowerCase()}));function T(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function P(t,e){return t.bind(e)}var R=Function.prototype.bind?P:T;function I(t,e){e=e||0;var n=t.length-e,r=new Array(n);while(n--)r[n]=t[n+e];return r}function L(t,e){for(var n in e)t[n]=e[n];return t}function D(t){for(var e={},n=0;n0,ot=et&&et.indexOf("edge/")>0;et&&et.indexOf("android");var it=et&&/iphone|ipad|ipod|ios/.test(et);et&&/chrome\/\d+/.test(et),et&&/phantomjs/.test(et);var at,st=et&&et.match(/firefox\/(\d+)/),ct={}.watch,ut=!1;if(tt)try{var ft={};Object.defineProperty(ft,"passive",{get:function(){ut=!0}}),window.addEventListener("test-passive",null,ft)}catch(Za){}var lt=function(){return void 0===at&&(at=!tt&&"undefined"!==typeof t&&(t["process"]&&"server"===t["process"].env.VUE_ENV)),at},pt=tt&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function dt(t){return"function"===typeof t&&/native code/.test(t.toString())}var ht,vt="undefined"!==typeof Symbol&&dt(Symbol)&&"undefined"!==typeof Reflect&&dt(Reflect.ownKeys);ht="undefined"!==typeof Set&&dt(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var mt=null;function yt(t){void 0===t&&(t=null),t||mt&&mt._scope.off(),mt=t,t&&t._scope.on()}var gt=function(){function t(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),_t=function(t){void 0===t&&(t="");var e=new gt;return e.text=t,e.isComment=!0,e};function bt(t){return new gt(void 0,void 0,void 0,String(t))}function wt(t){var e=new gt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}"function"===typeof SuppressedError&&SuppressedError;var xt=0,Ct=[],$t=function(){for(var t=0;t0&&(r=ue(r,"".concat(e||"","_").concat(n)),ce(r[0])&&ce(f)&&(l[c]=bt(f.text+r[0].text),r.shift()),l.push.apply(l,r)):u(r)?ce(f)?l[c]=bt(f.text+r):""!==r&&l.push(bt(r)):ce(r)&&ce(f)?l[c]=bt(f.text+r.text):(s(t._isVList)&&a(r.tag)&&i(r.key)&&a(e)&&(r.key="__vlist".concat(e,"_").concat(n,"__")),l.push(r)));return l}function fe(t,e){var n,r,i,s,c=null;if(o(t)||"string"===typeof t)for(c=new Array(t.length),n=0,r=t.length;n0,s=e?!!e.$stable:!a,c=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(s&&o&&o!==r&&c===o.$key&&!a&&!o.$hasNormal)return o;for(var u in i={},e)e[u]&&"$"!==u[0]&&(i[u]=Ae(t,n,u,e[u]))}else i={};for(var f in n)f in i||(i[f]=je(n,f));return e&&Object.isExtensible(e)&&(e._normalized=i),G(i,"$stable",s),G(i,"$key",c),G(i,"$hasNormal",a),i}function Ae(t,e,n,r){var i=function(){var e=mt;yt(t);var n=arguments.length?r.apply(null,arguments):r({});n=n&&"object"===typeof n&&!o(n)?[n]:se(n);var i=n&&n[0];return yt(e),n&&(!i||1===n.length&&i.isComment&&!Se(i))?void 0:n};return r.proxy&&Object.defineProperty(e,n,{get:i,enumerable:!0,configurable:!0}),i}function je(t,e){return function(){return t[e]}}function Te(t){var e=t.$options,n=e.setup;if(n){var r=t._setupContext=Pe(t);yt(t),St();var o=Qe(n,null,[t._props||Ht({}),r],t,"setup");if(Et(),yt(),f(o))e.render=o;else if(l(o))if(t._setupState=o,o.__sfc){var i=t._setupProxy={};for(var a in o)"__sfc"!==a&&Wt(i,o,a)}else for(var a in o)X(a)||Wt(t,o,a);else 0}}function Pe(t){return{get attrs(){if(!t._attrsProxy){var e=t._attrsProxy={};G(e,"_v_attr_proxy",!0),Re(e,t.$attrs,r,t,"$attrs")}return t._attrsProxy},get listeners(){if(!t._listenersProxy){var e=t._listenersProxy={};Re(e,t.$listeners,r,t,"$listeners")}return t._listenersProxy},get slots(){return Le(t)},emit:R(t.$emit,t),expose:function(e){e&&Object.keys(e).forEach((function(n){return Wt(t,e,n)}))}}}function Re(t,e,n,r,o){var i=!1;for(var a in e)a in t?e[a]!==n[a]&&(i=!0):(i=!0,Ie(t,a,r,o));for(var a in t)a in e||(i=!0,delete t[a]);return i}function Ie(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[r][e]}})}function Le(t){return t._slotsProxy||De(t._slotsProxy={},t.$scopedSlots),t._slotsProxy}function De(t,e){for(var n in e)t[n]=e[n];for(var n in t)n in e||delete t[n]}function Ne(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,o=n&&n.context;t.$slots=ke(e._renderChildren,o),t.$scopedSlots=n?Ee(t.$parent,n.data.scopedSlots,t.$slots):r,t._c=function(e,n,r,o){return Ke(t,e,n,r,o,!1)},t.$createElement=function(e,n,r,o){return Ke(t,e,n,r,o,!0)};var i=n&&n.data;Ft(t,"$attrs",i&&i.attrs||r,null,!0),Ft(t,"$listeners",e._parentListeners||r,null,!0)}var Me=null;function Fe(t){$e(t.prototype),t.prototype.$nextTick=function(t){return fn(t,this)},t.prototype._render=function(){var t=this,e=t.$options,n=e.render,r=e._parentVnode;r&&t._isMounted&&(t.$scopedSlots=Ee(t.$parent,r.data.scopedSlots,t.$slots,t.$scopedSlots),t._slotsProxy&&De(t._slotsProxy,t.$scopedSlots)),t.$vnode=r;var i,a=mt,s=Me;try{yt(t),Me=t,i=n.call(t._renderProxy,t.$createElement)}catch(Za){Ge(Za,t,"render"),i=t._vnode}finally{Me=s,yt(a)}return o(i)&&1===i.length&&(i=i[0]),i instanceof gt||(i=_t()),i.parent=r,i}}function Ue(t,e){return(t.__esModule||vt&&"Module"===t[Symbol.toStringTag])&&(t=t.default),l(t)?e.extend(t):t}function Ve(t,e,n,r,o){var i=_t();return i.asyncFactory=t,i.asyncMeta={data:e,context:n,children:r,tag:o},i}function Be(t,e){if(s(t.error)&&a(t.errorComp))return t.errorComp;if(a(t.resolved))return t.resolved;var n=Me;if(n&&a(t.owners)&&-1===t.owners.indexOf(n)&&t.owners.push(n),s(t.loading)&&a(t.loadingComp))return t.loadingComp;if(n&&!a(t.owners)){var r=t.owners=[n],o=!0,c=null,u=null;n.$on("hook:destroyed",(function(){return x(r,n)}));var f=function(t){for(var e=0,n=r.length;e1?I(n):n;for(var r=I(arguments,1),o='event handler for "'.concat(t,'"'),i=0,a=n.length;idocument.createEvent("Event").timeStamp&&(qn=function(){return zn.now()})}var Kn=function(t,e){if(t.post){if(!e.post)return 1}else if(e.post)return-1;return t.id-e.id};function Wn(){var t,e;for(Hn=qn(),Un=!0,Dn.sort(Kn),Vn=0;VnVn&&Dn[n].id>t.id)n--;Dn.splice(n+1,0,t)}else Dn.push(t);Fn||(Fn=!0,fn(Wn))}}function Yn(t){var e=t.$options.provide;if(e){var n=f(e)?e.call(t):e;if(!l(n))return;for(var r=Zt(t),o=vt?Reflect.ownKeys(n):Object.keys(n),i=0;i-1)if(i&&!$(o,"default"))a=!1;else if(""===a||a===j(t)){var c=Tr(String,o.type);(c<0||s-1)return this;var n=I(arguments,1);return n.unshift(this),f(t.install)?t.install.apply(t,n):f(t)&&t.apply(null,n),e.push(t),this}}function to(t){t.mixin=function(t){return this.options=$r(this.options,t),this}}function eo(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=ir(t)||ir(n.options);var a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=$r(n.options,t),a["super"]=n,a.options.props&&no(a),a.options.computed&&ro(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,z.forEach((function(t){a[t]=n[t]})),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=L({},a.options),o[r]=a,a}}function no(t){var e=t.options.props;for(var n in e)Rr(t.prototype,"_props",n)}function ro(t){var e=t.options.computed;for(var n in e)Ur(t.prototype,n,e[n])}function oo(t){z.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&d(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&f(n)&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}function io(t){return t&&(ir(t.Ctor.options)||t.tag)}function ao(t,e){return o(t)?t.indexOf(e)>-1:"string"===typeof t?t.split(",").indexOf(e)>-1:!!h(t)&&t.test(e)}function so(t,e){var n=t.cache,r=t.keys,o=t._vnode,i=t.$vnode;for(var a in n){var s=n[a];if(s){var c=s.name;c&&!e(c)&&co(n,a,r,o)}}i.componentOptions.children=void 0}function co(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,x(n,e)}Jr(Yr),Kr(Yr),kn(Yr),An(Yr),Fe(Yr);var uo=[String,RegExp,Array],fo={name:"keep-alive",abstract:!0,props:{include:uo,exclude:uo,max:[String,Number]},methods:{cacheVNode:function(){var t=this,e=t.cache,n=t.keys,r=t.vnodeToCache,o=t.keyToCache;if(r){var i=r.tag,a=r.componentInstance,s=r.componentOptions;e[o]={name:io(s),tag:i,componentInstance:a},n.push(o),this.max&&n.length>parseInt(this.max)&&co(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)co(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){so(t,(function(t){return ao(e,t)}))})),this.$watch("exclude",(function(e){so(t,(function(t){return!ao(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=He(t),n=e&&e.componentOptions;if(n){var r=io(n),o=this,i=o.include,a=o.exclude;if(i&&(!r||!ao(i,r))||a&&r&&ao(a,r))return e;var s=this,c=s.cache,u=s.keys,f=null==e.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):e.key;c[f]?(e.componentInstance=c[f].componentInstance,x(u,f),u.push(f)):(this.vnodeToCache=e,this.keyToCache=f),e.data.keepAlive=!0}return e||t&&t[0]}},lo={KeepAlive:fo};function po(t){var e={get:function(){return W}};Object.defineProperty(t,"config",e),t.util={warn:dr,extend:L,mergeOptions:$r,defineReactive:Ft},t.set=Ut,t.delete=Vt,t.nextTick=fn,t.observable=function(t){return Mt(t),t},t.options=Object.create(null),z.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,L(t.options.components,lo),Zr(t),to(t),eo(t),oo(t)}po(Yr),Object.defineProperty(Yr.prototype,"$isServer",{get:lt}),Object.defineProperty(Yr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Yr,"FunctionalRenderContext",{value:er}),Yr.version=dn;var ho=b("style,class"),vo=b("input,textarea,option,select,progress"),mo=function(t,e,n){return"value"===n&&vo(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},yo=b("contenteditable,draggable,spellcheck"),go=b("events,caret,typing,plaintext-only"),_o=function(t,e){return $o(e)||"false"===e?"false":"contenteditable"===t&&go(e)?e:"true"},bo=b("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),wo="http://www.w3.org/1999/xlink",xo=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Co=function(t){return xo(t)?t.slice(6,t.length):""},$o=function(t){return null==t||!1===t};function ko(t){var e=t.data,n=t,r=t;while(a(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(e=Oo(r.data,e));while(a(n=n.parent))n&&n.data&&(e=Oo(e,n.data));return So(e.staticClass,e.class)}function Oo(t,e){return{staticClass:Eo(t.staticClass,e.staticClass),class:a(t.class)?[t.class,e.class]:e.class}}function So(t,e){return a(t)||a(e)?Eo(t,Ao(e)):""}function Eo(t,e){return t?e?t+" "+e:t:e||""}function Ao(t){return Array.isArray(t)?jo(t):l(t)?To(t):"string"===typeof t?t:""}function jo(t){for(var e,n="",r=0,o=t.length;r-1?No[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:No[t]=/HTMLUnknownElement/.test(e.toString())}var Fo=b("text,number,password,search,email,tel,url");function Uo(t){if("string"===typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function Vo(t,e){var n=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n}function Bo(t,e){return document.createElementNS(Po[t],e)}function Ho(t){return document.createTextNode(t)}function qo(t){return document.createComment(t)}function zo(t,e,n){t.insertBefore(e,n)}function Ko(t,e){t.removeChild(e)}function Wo(t,e){t.appendChild(e)}function Jo(t){return t.parentNode}function Xo(t){return t.nextSibling}function Go(t){return t.tagName}function Qo(t,e){t.textContent=e}function Yo(t,e){t.setAttribute(e,"")}var Zo=Object.freeze({__proto__:null,createElement:Vo,createElementNS:Bo,createTextNode:Ho,createComment:qo,insertBefore:zo,removeChild:Ko,appendChild:Wo,parentNode:Jo,nextSibling:Xo,tagName:Go,setTextContent:Qo,setStyleScope:Yo}),ti={create:function(t,e){ei(e)},update:function(t,e){t.data.ref!==e.data.ref&&(ei(t,!0),ei(e))},destroy:function(t){ei(t,!0)}};function ei(t,e){var n=t.data.ref;if(a(n)){var r=t.context,i=t.componentInstance||t.elm,s=e?null:i,c=e?void 0:i;if(f(n))Qe(n,r,[s],r,"template ref function");else{var u=t.data.refInFor,l="string"===typeof n||"number"===typeof n,p=Kt(n),d=r.$refs;if(l||p)if(u){var h=l?d[n]:n.value;e?o(h)&&x(h,i):o(h)?h.includes(i)||h.push(i):l?(d[n]=[i],ni(r,n,d[n])):n.value=[i]}else if(l){if(e&&d[n]!==i)return;d[n]=c,ni(r,n,s)}else if(p){if(e&&n.value!==i)return;n.value=s}else 0}}}function ni(t,e,n){var r=t._setupState;r&&$(r,e)&&(Kt(r[e])?r[e].value=n:r[e]=n)}var ri=new gt("",{},[]),oi=["create","activate","update","remove","destroy"];function ii(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&a(t.data)===a(e.data)&&ai(t,e)||s(t.isAsyncPlaceholder)&&i(e.asyncFactory.error))}function ai(t,e){if("input"!==t.tag)return!0;var n,r=a(n=t.data)&&a(n=n.attrs)&&n.type,o=a(n=e.data)&&a(n=n.attrs)&&n.type;return r===o||Fo(r)&&Fo(o)}function si(t,e,n){var r,o,i={};for(r=e;r<=n;++r)o=t[r].key,a(o)&&(i[o]=r);return i}function ci(t){var e,n,r={},c=t.modules,f=t.nodeOps;for(e=0;ev?(l=i(n[g+1])?null:n[g+1].elm,$(t,l,n,d,g,r)):d>g&&O(e,p,v)}function A(t,e,n,r){for(var o=n;o-1?_i(t,e,n):bo(e)?$o(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):yo(e)?t.setAttribute(e,_o(e,n)):xo(e)?$o(n)?t.removeAttributeNS(wo,Co(e)):t.setAttributeNS(wo,e,n):_i(t,e,n)}function _i(t,e,n){if($o(n))t.removeAttribute(e);else{if(nt&&!rt&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var bi={create:yi,update:yi};function wi(t,e){var n=e.elm,r=e.data,o=t.data;if(!(i(r.staticClass)&&i(r.class)&&(i(o)||i(o.staticClass)&&i(o.class)))){var s=ko(e),c=n._transitionClasses;a(c)&&(s=Eo(s,Ao(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var xi,Ci={create:wi,update:wi},$i="__r",ki="__c";function Oi(t){if(a(t[$i])){var e=nt?"change":"input";t[e]=[].concat(t[$i],t[e]||[]),delete t[$i]}a(t[ki])&&(t.change=[].concat(t[ki],t.change||[]),delete t[ki])}function Si(t,e,n){var r=xi;return function o(){var i=e.apply(null,arguments);null!==i&&ji(t,o,n,r)}}var Ei=en&&!(st&&Number(st[1])<=53);function Ai(t,e,n,r){if(Ei){var o=Hn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}xi.addEventListener(t,e,ut?{capture:n,passive:r}:n)}function ji(t,e,n,r){(r||xi).removeEventListener(t,e._wrapper||e,n)}function Ti(t,e){if(!i(t.data.on)||!i(e.data.on)){var n=e.data.on||{},r=t.data.on||{};xi=e.elm||t.elm,Oi(n),ne(n,r,Ai,ji,Si,e.context),xi=void 0}}var Pi,Ri={create:Ti,update:Ti,destroy:function(t){return Ti(t,ri)}};function Ii(t,e){if(!i(t.data.domProps)||!i(e.data.domProps)){var n,r,o=e.elm,c=t.data.domProps||{},u=e.data.domProps||{};for(n in(a(u.__ob__)||s(u._v_attr_proxy))&&(u=e.data.domProps=L({},u)),c)n in u||(o[n]="");for(n in u){if(r=u[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===c[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var f=i(r)?"":String(r);Li(o,f)&&(o.value=f)}else if("innerHTML"===n&&Io(o.tagName)&&i(o.innerHTML)){Pi=Pi||document.createElement("div"),Pi.innerHTML="".concat(r,"");var l=Pi.firstChild;while(o.firstChild)o.removeChild(o.firstChild);while(l.firstChild)o.appendChild(l.firstChild)}else if(r!==c[n])try{o[n]=r}catch(Za){}}}}function Li(t,e){return!t.composing&&("OPTION"===t.tagName||Di(t,e)||Ni(t,e))}function Di(t,e){var n=!0;try{n=document.activeElement!==t}catch(Za){}return n&&t.value!==e}function Ni(t,e){var n=t.value,r=t._vModifiers;if(a(r)){if(r.number)return _(n)!==_(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}var Mi={create:Ii,update:Ii},Fi=k((function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach((function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}));function Ui(t){var e=Vi(t.style);return t.staticStyle?L(t.staticStyle,e):e}function Vi(t){return Array.isArray(t)?D(t):"string"===typeof t?Fi(t):t}function Bi(t,e){var n,r={};if(e){var o=t;while(o.componentInstance)o=o.componentInstance._vnode,o&&o.data&&(n=Ui(o.data))&&L(r,n)}(n=Ui(t.data))&&L(r,n);var i=t;while(i=i.parent)i.data&&(n=Ui(i.data))&&L(r,n);return r}var Hi,qi=/^--/,zi=/\s*!important$/,Ki=function(t,e,n){if(qi.test(e))t.style.setProperty(e,n);else if(zi.test(n))t.style.setProperty(j(e),n.replace(zi,""),"important");else{var r=Ji(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(Qi).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" ".concat(t.getAttribute("class")||""," ");n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Zi(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Qi).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{var n=" ".concat(t.getAttribute("class")||""," "),r=" "+e+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?t.setAttribute("class",n):t.removeAttribute("class")}}function ta(t){if(t){if("object"===typeof t){var e={};return!1!==t.css&&L(e,ea(t.name||"v")),L(e,t),e}return"string"===typeof t?ea(t):void 0}}var ea=k((function(t){return{enterClass:"".concat(t,"-enter"),enterToClass:"".concat(t,"-enter-to"),enterActiveClass:"".concat(t,"-enter-active"),leaveClass:"".concat(t,"-leave"),leaveToClass:"".concat(t,"-leave-to"),leaveActiveClass:"".concat(t,"-leave-active")}})),na=tt&&!rt,ra="transition",oa="animation",ia="transition",aa="transitionend",sa="animation",ca="animationend";na&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ia="WebkitTransition",aa="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(sa="WebkitAnimation",ca="webkitAnimationEnd"));var ua=tt?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function fa(t){ua((function(){ua(t)}))}function la(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Yi(t,e))}function pa(t,e){t._transitionClasses&&x(t._transitionClasses,e),Zi(t,e)}function da(t,e,n){var r=va(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===ra?aa:ca,c=0,u=function(){t.removeEventListener(s,f),n()},f=function(e){e.target===t&&++c>=a&&u()};setTimeout((function(){c0&&(n=ra,f=a,l=i.length):e===oa?u>0&&(n=oa,f=u,l=c.length):(f=Math.max(a,u),n=f>0?a>u?ra:oa:null,l=n?n===ra?i.length:c.length:0);var p=n===ra&&ha.test(r[ia+"Property"]);return{type:n,timeout:f,propCount:l,hasTransform:p}}function ma(t,e){while(t.length1}function xa(t,e){!0!==e.data.show&&ga(e)}var Ca=tt?{create:xa,activate:xa,remove:function(t,e){!0!==t.data.show?_a(t,e):e()}}:{},$a=[bi,Ci,Ri,Mi,Gi,Ca],ka=$a.concat(mi),Oa=ci({nodeOps:Zo,modules:ka});rt&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&Ia(t,"input")}));var Sa={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?re(n,"postpatch",(function(){Sa.componentUpdated(t,e,n)})):Ea(t,e,n.context),t._vOptions=[].map.call(t.options,Ta)):("textarea"===n.tag||Fo(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Pa),t.addEventListener("compositionend",Ra),t.addEventListener("change",Ra),rt&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Ea(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,Ta);if(o.some((function(t,e){return!U(t,r[e])}))){var i=t.multiple?e.value.some((function(t){return ja(t,o)})):e.value!==e.oldValue&&ja(e.value,o);i&&Ia(t,"change")}}}};function Ea(t,e,n){Aa(t,e,n),(nt||ot)&&setTimeout((function(){Aa(t,e,n)}),0)}function Aa(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,s=0,c=t.options.length;s-1,a.selected!==i&&(a.selected=i);else if(U(Ta(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function ja(t,e){return e.every((function(e){return!U(e,t)}))}function Ta(t){return"_value"in t?t._value:t.value}function Pa(t){t.target.composing=!0}function Ra(t){t.target.composing&&(t.target.composing=!1,Ia(t.target,"input"))}function Ia(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function La(t){return!t.componentInstance||t.data&&t.data.transition?t:La(t.componentInstance._vnode)}var Da={bind:function(t,e,n){var r=e.value;n=La(n);var o=n.data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,ga(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value,o=e.oldValue;if(!r!==!o){n=La(n);var i=n.data&&n.data.transition;i?(n.data.show=!0,r?ga(n,(function(){t.style.display=t.__vOriginalDisplay})):_a(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},Na={model:Sa,show:Da},Ma={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Fa(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Fa(He(e.children)):t}function Ua(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var r in o)e[S(r)]=o[r];return e}function Va(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function Ba(t){while(t=t.parent)if(t.data.transition)return!0}function Ha(t,e){return e.key===t.key&&e.tag===t.tag}var qa=function(t){return t.tag||Se(t)},za=function(t){return"show"===t.name},Ka={name:"transition",props:Ma,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(qa),n.length)){0;var r=this.mode;0;var o=n[0];if(Ba(this.$vnode))return o;var i=Fa(o);if(!i)return o;if(this._leaving)return Va(t,o);var a="__transition-".concat(this._uid,"-");i.key=null==i.key?i.isComment?a+"comment":a+i.tag:u(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=Ua(this),c=this._vnode,f=Fa(c);if(i.data.directives&&i.data.directives.some(za)&&(i.data.show=!0),f&&f.data&&!Ha(i,f)&&!Se(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var l=f.data.transition=L({},s);if("out-in"===r)return this._leaving=!0,re(l,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Va(t,o);if("in-out"===r){if(Se(i))return c;var p,d=function(){p()};re(s,"afterEnter",d),re(s,"enterCancelled",d),re(l,"delayLeave",(function(t){p=t}))}}return o}}},Wa=L({tag:String,moveClass:String},Ma);delete Wa.mode;var Ja={props:Wa,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Sn(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=Ua(this),s=0;s=0&&(e=t.slice(r),t=t.slice(0,r));var o=t.indexOf("?");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}function A(t){return t.replace(/\/(?:\s*\/)+/g,"/")}var j=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},T=G,P=N,R=M,I=V,L=X,D=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function N(t,e){var n,r=[],o=0,i=0,a="",s=e&&e.delimiter||"/";while(null!=(n=D.exec(t))){var c=n[0],u=n[1],f=n.index;if(a+=t.slice(i,f),i=f+c.length,u)a+=u[1];else{var l=t[i],p=n[2],d=n[3],h=n[4],v=n[5],m=n[6],y=n[7];a&&(r.push(a),a="");var g=null!=p&&null!=l&&l!==p,_="+"===m||"*"===m,b="?"===m||"*"===m,w=n[2]||s,x=h||v;r.push({name:d||o++,prefix:p||"",delimiter:w,optional:b,repeat:_,partial:g,asterisk:!!y,pattern:x?H(x):y?".*":"[^"+B(w)+"]+?"})}}return i1||!$.length)return 0===$.length?t():t("span",{},$)}if("a"===this.tag)C.on=x,C.attrs={href:c,"aria-current":g};else{var k=at(this.$slots.default);if(k){k.isStatic=!1;var O=k.data=r({},k.data);for(var S in O.on=O.on||{},O.on){var E=O.on[S];S in x&&(O.on[S]=Array.isArray(E)?E:[E])}for(var A in x)A in O.on?O.on[A].push(x[A]):O.on[A]=b;var j=k.data.attrs=r({},k.data.attrs);j.href=c,j["aria-current"]=g}else C.on=x}return t(this.tag,C,this.$slots.default)}};function it(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function at(t){if(t)for(var e,n=0;n-1&&(s.params[l]=n.params[l]);return s.path=Y(u.path,s.params,'named route "'+c+'"'),p(u,s,a)}if(s.path){s.params={};for(var d=0;d-1}function Kt(t,e){return zt(t)&&t._isRouter&&(null==e||t.type===e)}function Wt(t,e,n){var r=function(o){o>=t.length?n():t[o]?e(t[o],(function(){r(o+1)})):r(o+1)};r(0)}function Jt(t){return function(e,n,r){var o=!1,i=0,a=null;Xt(t,(function(t,e,n,s){if("function"===typeof t&&void 0===t.cid){o=!0,i++;var c,u=Zt((function(e){Yt(e)&&(e=e.default),t.resolved="function"===typeof e?e:tt.extend(e),n.components[s]=e,i--,i<=0&&r()})),f=Zt((function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=zt(t)?t:new Error(e),r(a))}));try{c=t(u,f)}catch(p){f(p)}if(c)if("function"===typeof c.then)c.then(u,f);else{var l=c.component;l&&"function"===typeof l.then&&l.then(u,f)}}})),o||r()}}function Xt(t,e){return Gt(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function Gt(t){return Array.prototype.concat.apply([],t)}var Qt="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag;function Yt(t){return t.__esModule||Qt&&"Module"===t[Symbol.toStringTag]}function Zt(t){var e=!1;return function(){var n=[],r=arguments.length;while(r--)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var te=function(t,e){this.router=t,this.base=ee(e),this.current=m,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function ee(t){if(!t)if(ct){var e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}function ne(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n0)){var e=this.router,n=e.options.scrollBehavior,r=It&&n;r&&this.listeners.push(xt());var o=function(){var n=t.current,o=le(t.base);t.current===m&&o===t._startLocation||t.transitionTo(o,(function(t){r&&Ct(e,t,n,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,(function(t){Lt(A(r.base+t.fullPath)),Ct(r.router,t,i,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,(function(t){Dt(A(r.base+t.fullPath)),Ct(r.router,t,i,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(le(this.base)!==this.current.fullPath){var e=A(this.base+this.current.fullPath);t?Lt(e):Dt(e)}},e.prototype.getCurrentLocation=function(){return le(this.base)},e}(te);function le(t){var e=window.location.pathname,n=e.toLowerCase(),r=t.toLowerCase();return!t||n!==r&&0!==n.indexOf(A(r+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var pe=function(t){function e(e,n,r){t.call(this,e,n),r&&de(this.base)||he()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router,n=e.options.scrollBehavior,r=It&&n;r&&this.listeners.push(xt());var o=function(){var e=t.current;he()&&t.transitionTo(ve(),(function(n){r&&Ct(t.router,n,e,!0),It||ge(n.fullPath)}))},i=It?"popstate":"hashchange";window.addEventListener(i,o),this.listeners.push((function(){window.removeEventListener(i,o)}))}},e.prototype.push=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,(function(t){ye(t.fullPath),Ct(r.router,t,i,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,(function(t){ge(t.fullPath),Ct(r.router,t,i,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;ve()!==e&&(t?ye(e):ge(e))},e.prototype.getCurrentLocation=function(){return ve()},e}(te);function de(t){var e=le(t);if(!/^\/#/.test(e))return window.location.replace(A(t+"/#"+e)),!0}function he(){var t=ve();return"/"===t.charAt(0)||(ge("/"+t),!1)}function ve(){var t=window.location.href,e=t.indexOf("#");return e<0?"":(t=t.slice(e+1),t)}function me(t){var e=window.location.href,n=e.indexOf("#"),r=n>=0?e.slice(0,n):e;return r+"#"+t}function ye(t){It?Lt(me(t)):window.location.hash=t}function ge(t){It?Dt(me(t)):window.location.replace(me(t))}var _e=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){var t=e.current;e.index=n,e.updateRoute(r),e.router.afterHooks.forEach((function(e){e&&e(r,t)}))}),(function(t){Kt(t,Nt.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(te),be=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=dt(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!It&&!1!==t.fallback,this.fallback&&(e="hash"),ct||(e="abstract"),this.mode=e,e){case"history":this.history=new fe(this,t.base);break;case"hash":this.history=new pe(this,t.base,this.fallback);break;case"abstract":this.history=new _e(this,t.base);break;default:0}},we={currentRoute:{configurable:!0}};be.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},we.currentRoute.get=function(){return this.history&&this.history.current},be.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof fe||n instanceof pe){var r=function(t){var r=n.current,o=e.options.scrollBehavior,i=It&&o;i&&"fullPath"in t&&Ct(e,t,r,!1)},o=function(t){n.setupListeners(),r(t)};n.transitionTo(n.getCurrentLocation(),o,o)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},be.prototype.beforeEach=function(t){return Ce(this.beforeHooks,t)},be.prototype.beforeResolve=function(t){return Ce(this.resolveHooks,t)},be.prototype.afterEach=function(t){return Ce(this.afterHooks,t)},be.prototype.onReady=function(t,e){this.history.onReady(t,e)},be.prototype.onError=function(t){this.history.onError(t)},be.prototype.push=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.push(t,e,n)}));this.history.push(t,e,n)},be.prototype.replace=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.replace(t,e,n)}));this.history.replace(t,e,n)},be.prototype.go=function(t){this.history.go(t)},be.prototype.back=function(){this.go(-1)},be.prototype.forward=function(){this.go(1)},be.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},be.prototype.resolve=function(t,e,n){e=e||this.history.current;var r=Z(t,e,n,this),o=this.match(r,e),i=o.redirectedFrom||o.fullPath,a=this.history.base,s=$e(a,i,this.mode);return{location:r,route:o,href:s,normalizedTo:r,resolved:o}},be.prototype.getRoutes=function(){return this.matcher.getRoutes()},be.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==m&&this.history.transitionTo(this.history.getCurrentLocation())},be.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==m&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(be.prototype,we);var xe=be;function Ce(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function $e(t,e,n){var r="hash"===n?"#"+e:e;return t?A(t+"/"+r):r}be.install=st,be.version="3.6.5",be.isNavigationFailure=Kt,be.NavigationFailureType=Nt,be.START_LOCATION=m,ct&&window.Vue&&window.Vue.use(be)},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n}}]); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "router", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build", 8 | "lint": "vue-cli-service lint" 9 | }, 10 | "dependencies": { 11 | "core-js": "^3.6.5", 12 | "vue": "^2.6.11", 13 | "vue-router": "^3.2.0" 14 | }, 15 | "devDependencies": { 16 | "@vue/cli-plugin-babel": "~4.5.0", 17 | "@vue/cli-plugin-eslint": "~4.5.0", 18 | "@vue/cli-plugin-router": "~4.5.0", 19 | "@vue/cli-service": "~4.5.0", 20 | "babel-eslint": "^10.1.0", 21 | "eslint": "^6.7.2", 22 | "eslint-plugin-vue": "^6.2.2", 23 | "vue-template-compiler": "^2.6.11" 24 | }, 25 | "eslintConfig": { 26 | "root": true, 27 | "env": { 28 | "node": true 29 | }, 30 | "extends": [ 31 | "plugin:vue/essential", 32 | "eslint:recommended" 33 | ], 34 | "parserOptions": { 35 | "parser": "babel-eslint" 36 | } 37 | }, 38 | "browserslist": [ 39 | "> 1%", 40 | "last 2 versions", 41 | "not dead" 42 | ] 43 | } -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cjd6568358/router/cd3eda9d8651b4c73e50b66108be98b5a79c0eab/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | <%= htmlWebpackPlugin.options.title %> 8 | 9 | 10 | 13 |
14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 29 | -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cjd6568358/router/cd3eda9d8651b4c73e50b66108be98b5a79c0eab/src/assets/logo.png -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | import router from './router' 4 | 5 | Vue.config.productionTip = false 6 | 7 | new Vue({ 8 | router, 9 | render: h => h(App) 10 | }).$mount('#app') 11 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import VueRouter from 'vue-router' 3 | 4 | Vue.use(VueRouter) 5 | 6 | const routes = [ 7 | { 8 | path: '/index', 9 | name: 'Index', 10 | component: () => import(/* webpackChunkName: "Index" */ '../views/Index/index.vue') 11 | }, 12 | { 13 | path: '/zte/eeprom/e8820v2', 14 | name: 'E8820V2', 15 | component: () => import(/* webpackChunkName: "E8820V2" */ '../views/ZTE/E8820V2/index.vue') 16 | }, 17 | { 18 | path: '/zte/eeprom/e8820s', 19 | name: 'E8820S', 20 | component: () => import(/* webpackChunkName: "E8820S" */ '../views/ZTE/E8820S/index.vue') 21 | }, 22 | { 23 | path: '/tplink/eeprom/wdr7300', 24 | name: 'WDR7300', 25 | component: () => import(/* webpackChunkName: "WDR7300" */ '../views/TPLINK/WDR7300/index.vue') 26 | }, 27 | { 28 | path: '/tplink/eeprom/wdr8620', 29 | name: 'WDR8620', 30 | component: () => import(/* webpackChunkName: "WDR8620" */ '../views/TPLINK/WDR8620/index.vue') 31 | }, 32 | { 33 | path: '/tplink/eeprom/mw300rv6', 34 | name: 'MW300RV6', 35 | component: () => import(/* webpackChunkName: "MW300RV6" */ '../views/TPLINK/MW300RV6/index.vue') 36 | }, 37 | { 38 | path: '/tplink/eeprom/fwr310v4', 39 | name: 'FWR310V4', 40 | component: () => import(/* webpackChunkName: "FWR310V4" */ '../views/TPLINK/FWR310V4/index.vue') 41 | }, 42 | { 43 | path: '/xiaomi/eeprom/r4a', 44 | name: 'R4A', 45 | component: () => import(/* webpackChunkName: "R4A" */ '../views/XIAOMI/R4A/index.vue') 46 | }, 47 | { 48 | path: '/newifi/eeprom/y1', 49 | name: 'Y1', 50 | component: () => import(/* webpackChunkName: "Y1" */ '../views/NEWIFI/Y1/index.vue') 51 | }, 52 | { 53 | path: '*', 54 | redirect: "/index" 55 | }, 56 | ] 57 | 58 | const router = new VueRouter({ 59 | mode: 'history', 60 | base: process.env.BASE_URL, 61 | routes 62 | }) 63 | 64 | export default router 65 | -------------------------------------------------------------------------------- /src/views/Index/index.vue: -------------------------------------------------------------------------------- 1 | 49 | -------------------------------------------------------------------------------- /src/views/NEWIFI/Y1/index.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 64 | -------------------------------------------------------------------------------- /src/views/TPLINK/FWR310V4/index.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 64 | -------------------------------------------------------------------------------- /src/views/TPLINK/MW300RV6/index.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 64 | -------------------------------------------------------------------------------- /src/views/TPLINK/WDR7300/index.vue: -------------------------------------------------------------------------------- 1 | 27 | 28 | 99 | -------------------------------------------------------------------------------- /src/views/TPLINK/WDR8620/index.vue: -------------------------------------------------------------------------------- 1 | 33 | 34 | 99 | -------------------------------------------------------------------------------- /src/views/XIAOMI/R4A/index.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 64 | -------------------------------------------------------------------------------- /src/views/ZTE/E8820S/8820s-eeprom.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cjd6568358/router/cd3eda9d8651b4c73e50b66108be98b5a79c0eab/src/views/ZTE/E8820S/8820s-eeprom.bin -------------------------------------------------------------------------------- /src/views/ZTE/E8820S/8820s_eeprom_b70gs_yh_nomac.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cjd6568358/router/cd3eda9d8651b4c73e50b66108be98b5a79c0eab/src/views/ZTE/E8820S/8820s_eeprom_b70gs_yh_nomac.bin -------------------------------------------------------------------------------- /src/views/ZTE/E8820S/E8820s原厂备份编程器固件.7z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cjd6568358/router/cd3eda9d8651b4c73e50b66108be98b5a79c0eab/src/views/ZTE/E8820S/E8820s原厂备份编程器固件.7z -------------------------------------------------------------------------------- /src/views/ZTE/E8820S/gen_eeprom.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | ## 通过原版固件生成breed用的eeprom 4 | ## ver 1.0 5 | ## contact hyx0329@163.com 6 | 7 | import sys 8 | 9 | # 中兴MAC注册数据库 10 | zte_database = [b'\x00\x15\xEB', b'\x00\x19\xC6', b'\x00\x1E\x73', b'\x00\x22\x93', b'\x00\x25\x12', b'\x00\x26\xED', b'\x00\x4A\x77', b'\x04\x1D\xC7', b'\x04\x95\x73', b'\x08\x18\x1A', b'\x08\x3F\xBC', b'\x08\x60\x83', b'\x0C\x12\x62', b'\x0C\x37\x47', b'\x0C\x72\xD9', b'\x10\xD0\xAB', b'\x14\x3E\xBF', b'\x14\x60\x80', b'\x18\x13\x2D', b'\x18\x44\xE6', b'\x18\x68\x6A', b'\x1C\x27\x04', b'\x20\x89\x86', b'\x20\xE8\x82', b'\x24\x58\x6E', b'\x24\x7E\x51', b'\x24\xC4\x4A', b'\x24\xD3\xF2', b'\x28\x7B\x09', b'\x28\x8C\xB8', b'\x28\xFF\x3E', b'\x2C\x26\xC5', b'\x2C\x95\x7F', b'\x30\x0C\x23', b'\x30\x99\x35', b'\x30\xD3\x86', b'\x30\xF3\x1D', b'\x34\x37\x59', b'\x34\x4B\x50', b'\x34\x4D\xEA', b'\x34\x69\x87', b'\x34\xDA\xB7', b'\x34\xDE\x34', b'\x34\xE0\xCF', b'\x38\x46\x08', b'\x38\x6E\x88', b'\x38\xD8\x2F', b'\x38\xE1\xAA', b'\x38\xE2\xDD', b'\x3C\xDA\x2A', b'\x44\x13\xD0', b'\x44\xF4\x36', b'\x44\xFB\x5A', b'\x44\xFF\xBA', b'\x48\x28\x2F', b'\x48\x59\xA4', b'\x48\xA7\x4E', b'\x4C\x09\xB4', b'\x4C\x16\xF1', b'\x4C\x49\x4F', b'\x4C\xAB\xFC', b'\x4C\xAC\x0A', b'\x4C\xCB\xF5', b'\x50\x78\xB3', b'\x50\xAF\x4D', b'\x54\x09\x55', b'\x54\x22\xF8', b'\x54\xBE\x53', b'\x58\x5F\xF6', b'\x5C\x3A\x3D', b'\x60\x14\x66', b'\x60\x18\x88', b'\x60\x73\xBC', b'\x64\x13\x6C', b'\x68\x1A\xB2', b'\x68\x8A\xF0', b'\x68\x9F\xF0', b'\x6C\x8B\x2F', b'\x6C\xA7\x5F', b'\x6C\xD2\xBA', b'\x70\x2E\x22', b'\x70\x9F\x2D', b'\x74\x4A\xA4', b'\x74\x97\x81', b'\x74\xA7\x8E', b'\x74\xB5\x7E', b'\x78\x1D\x4A', b'\x78\x31\x2B', b'\x78\x96\x82', b'\x78\xC1\xA7', b'\x78\xE8\xB6', b'\x7C\x39\x53', b'\x80\xB0\x7B', b'\x84\x13\x9F', b'\x84\x1C\x70', b'\x84\x74\x2A', b'\x84\x74\x60', b'\x88\x5D\xFB', b'\x88\xD2\x74', b'\x8C\x14\xB4', b'\x8C\x68\xC8', b'\x8C\x79\x67', b'\x8C\xDC\x02', b'\x8C\xE0\x81', b'\x8C\xE1\x17', b'\x90\x1D\x27', b'\x90\x86\x9B', b'\x90\xC7\xD8', b'\x90\xD8\xF3', b'\x90\xFD\x73', b'\x94\xA7\xB7', b'\x94\xBF\x80', b'\x98\x13\x33', b'\x98\x6C\xF5', b'\x98\xF4\x28', b'\x98\xF5\x37', b'\x9C\x63\xED', b'\x9C\x6F\x52', b'\x9C\xA9\xE4', b'\x9C\xD2\x4B', b'\x9C\xE9\x1C', b'\xA0\x91\xC8', b'\xA0\xEC\x80', b'\xA4\x40\x27', b'\xA4\x7E\x39', b'\xA8\xA6\x68', b'\xAC\x00\xD0', b'\xAC\x64\x62', b'\xB0\x0A\xD5', b'\xB0\x75\xD5', b'\xB0\xAC\xD2', b'\xB0\xC1\x9E', b'\xB4\x1C\x30', b'\xB4\x98\x42', b'\xB4\xB3\x62', b'\xB4\xDE\xDF', b'\xB8\x05\xAB', b'\xC0\x9F\xE1', b'\xC0\xFD\x84', b'\xC4\x74\x1E', b'\xC4\xA3\x66', b'\xC8\x5A\x9F', b'\xC8\x64\xC7', b'\xC8\x7B\x5B', b'\xC8\xEA\xF8', b'\xCC\x1A\xFA', b'\xCC\x7B\x35', b'\xD0\x15\x4A', b'\xD0\x58\xA8', b'\xD0\x5B\xA8', b'\xD0\x60\x8C', b'\xD0\x71\xC4', b'\xD4\x37\xD7', b'\xD4\x72\x26', b'\xD4\x76\xEA', b'\xD4\x9E\x05', b'\xD4\xB7\x09', b'\xD4\xC1\xC8', b'\xD8\x55\xA3', b'\xD8\x74\x95', b'\xDC\x02\x8E', b'\xDC\x71\x37', b'\xDC\xDF\xD6', b'\xDC\xF8\xB9', b'\xE0\x19\x54', b'\xE0\x38\x3F', b'\xE0\x7C\x13', b'\xE0\xC3\xF3', b'\xE4\x47\xB3', b'\xE4\x77\x23', b'\xE4\x7E\x9A', b'\xE4\xBD\x4B', b'\xE4\xCA\x12', b'\xE8\xAC\xAD', b'\xE8\xB5\x41', b'\xEC\x1D\x7F', b'\xEC\x23\x7B', b'\xEC\x82\x63', b'\xEC\x8A\x4C', b'\xEC\xF0\xFE', b'\xF0\x84\xC9', b'\xF4\x1F\x88', b'\xF4\x6D\xE2', b'\xF4\xB5\xAA', b'\xF4\xB8\xA7', b'\xF4\xE4\xAD', b'\xF8\x0D\xF0', b'\xF8\xA3\x4F', b'\xF8\xDF\xA8', b'\xFC\x2D\x5E', b'\xFC\x94\xCE', b'\xFC\xC8\x97'] 11 | 12 | # 获取2.4G参数 13 | # 失败返回空 14 | def get_param_24g(file): 15 | file.seek(0x36F000,0) 16 | param = file.read(0x130) 17 | check = bytearray(param)[:2] 18 | if check == b'\x03\x76': 19 | return param 20 | return None 21 | 22 | # 获取5G参数 23 | # 失败返回空 24 | def get_param_5g(file): 25 | file.seek(0x36F800,0) 26 | param = file.read(0x1F0) 27 | check = bytearray(param)[:2] 28 | if check == b'\x62\x76': 29 | return param 30 | return None 31 | 32 | # 获取2.4G MAC地址 33 | # 失败返回空 34 | def get_mac_24g(file): 35 | file.seek(0x220012,0) 36 | mac = file.read(0x6) 37 | check = bytearray(mac)[:3] 38 | if check in zte_database: 39 | return mac 40 | return None 41 | 42 | # 获取5G MAC地址 43 | # 失败返回空 44 | def get_mac_5g(file): 45 | file.seek(0x22001E,0) 46 | mac = file.read(0x6) 47 | check = bytearray(mac)[:3] 48 | if check in zte_database: 49 | return mac 50 | return None 51 | 52 | # 写操作 53 | def write_eeprom(data:list, filename, size): 54 | file = open(filename, 'xb') 55 | 56 | data = sorted(data, key=lambda x:x['offset']) 57 | for entry in data: 58 | while file.tell() < entry['offset']: 59 | file.write(b'\xff') 60 | file.write(entry['data']) 61 | while file.tell() < size: 62 | file.write(b'\xff') 63 | file.close() 64 | 65 | 66 | if __name__ == "__main__": 67 | if len(sys.argv) != 3: 68 | print("Usage:",sys.argv[0],"inputfile outputfile") 69 | exit(1) 70 | 71 | inputfile = sys.argv[1] 72 | outputfile = sys.argv[2] 73 | 74 | # inputfile = 'mtd0.bin' 75 | # outputfile = 'eeprom.bin' 76 | 77 | with open(inputfile, 'rb') as f: 78 | mac24g = get_mac_24g(f) 79 | print(mac24g) 80 | mac5g = get_mac_5g(f) 81 | print(mac5g) 82 | param24g = get_param_24g(f) 83 | param5g = get_param_5g(f) 84 | 85 | data = [ 86 | { 87 | 'offset': 0x0, 88 | 'data': param24g 89 | }, 90 | { 91 | 'offset': 0x8000, 92 | 'data': param5g 93 | }, 94 | { 95 | 'offset': 0xe000, 96 | 'data': mac24g 97 | }, 98 | { 99 | 'offset': 0xe006, 100 | 'data': mac5g 101 | }, 102 | { 103 | 'offset': 0x81e0, 104 | 'data': b'\xC0\x81\x82\xC3\x04\x45\x46\x07\x08\x09' 105 | } 106 | ] 107 | 108 | for data_ in data: 109 | if data_['data'] == None: 110 | print('Data error! Please check the stock firmware!11111') 111 | print('数据有误! 请手动操作!') 112 | exit(1) 113 | 114 | try: 115 | write_eeprom(data, outputfile, 64*1024) 116 | except TypeError: 117 | print('Data error! Please check the stock firmware!') 118 | print('数据有误! 请手动操作!') 119 | exit(1) 120 | except FileExistsError: 121 | print("Please check the file's name! I won't overwrite existing files!") 122 | print("请检查文件名! 本脚本为安全起见不会覆盖已有文件!") 123 | exit(1) 124 | 125 | -------------------------------------------------------------------------------- /src/views/ZTE/E8820S/index.vue: -------------------------------------------------------------------------------- 1 | 33 | 34 | 111 | 124 | -------------------------------------------------------------------------------- /src/views/ZTE/E8820V2/index.vue: -------------------------------------------------------------------------------- 1 | 26 | 27 | 93 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | const HtmlWebpackPlugin = require('html-webpack-plugin') 2 | 3 | module.exports = { 4 | chainWebpack: config => { 5 | if (process.env.NODE_ENV === 'production') { 6 | let option = null 7 | config.plugin('html').tap(args => { 8 | args[0].title = "路由器提取工具"; 9 | option = Object.assign({}, args[0]) 10 | return args 11 | }) 12 | option.filename = '404.html' 13 | config 14 | .plugin('404') 15 | .use(HtmlWebpackPlugin, [option]); 16 | } else { 17 | // 为开发环境修改配置... 18 | } 19 | }, 20 | outputDir: 'docs', 21 | publicPath: '/router', 22 | productionSourceMap: false, 23 | lintOnSave: false 24 | } --------------------------------------------------------------------------------