diff --git a/tun/ipstack.js b/tun/ipstack.js index 4ac592b..0887042 100644 --- a/tun/ipstack.js +++ b/tun/ipstack.js @@ -1 +1 @@ -"use strict";/*Compiled using Cheerp (R) by Leaning Technologies Ltd*/var se=Math.imul;var sf=Math.fround;var oSlot=0;var nullArray=[null];var nullObj={d:nullArray,o:0};function sE(p){return (typeof self==='object')?fetch(p).then(r=>r.arrayBuffer()):new Promise((y,n)=>{import('fs').then(r=>r.readFile(p,(e,d)=>{if(e)n(e);else y(d);}));});}function ox(){aX=ou();}function ow(){eb=ov();}function ov(){return new Map();}function ou(){return new Map();}function pQ(k){var i=null,g=null;i=gJ();g=gJ();k.a0=new Promise(function(__f,__r){i.inner=__f;g.inner=__r;});;k.a1=i.inner;k.a2=g.inner;}function gJ(){return new Object();}function d8(){return ~~ +performance.now()|0;}function pN(k,l,i){var g=null;g=new Uint8Array((+(i|0)));g.set(cY(k,l,i));g8(g);}function cY(k,l,i){var m=0,g=null;m=l;g=k;g=g;if((i|0)!==0){if((m|0)===0)if( +g.length===(+(i>>>0)))return g;return g.subarray((+(m>>>0)),(+(m+i>>>0)));}if((m|0)===0)return g;return g.subarray((+(m>>>0)));}function pH(){+setInterval(pG(),10);}function pG(){var g=null,i=null;g={a0:null,a1:null,a2:null};n3(g);i=n2(g);n1(g);return i;}function n3(g){nS(g);}function n2(i){var g=null;if(i.a1!==null){g=[{a0:null,a1:null}];g[0].a0=i.a1;g[0].a1=i.a2;g=sv(nZ,g[0]);gv(i.a0,g);i.a1=null;}return i.a0;}function n1(i){var g=null;g=i.a1;if(g!==null)g(i.a2);}function nZ(g){g.a0(g.a1);}function gv(i,g){if(eh===null)eh=new Map();eh.set(i,g);}function nS(g){nR(g);}function nR(g){var i=null;i=nP;g.a0=i;g.a1=null;g.a2=null;}function nP(){nO();}function nO(){lx();}function rY(g){nN();iP();iN();}function rX(F){var A=null,g=null,v=0,k=0,t=null,q=null,o=0,m=0,D=null,i=0,x=null,y=0;A=cf();g=-80+A|0;aZ(g);v=64+g|0;cR(v,F.localIp);k=40+g|0;m3(k);t=F.ipMap;if(t!==undefined){q=Object.keys(t);if(((q.length)|0)>0){o=24+g|0;m=8+g|0;i=0;while(1){x=m0(q,i);y=oSlot;x=x[y];D=t[x];cR(o,x);cR(m,D);mY(g|0,k,o,m);cC(m);cC(o);i=i+1|0;if((i|0)<((q.length)|0))continue;break;}}}nJ(v,k);mX(k);cC(v);aZ(A);}function cR(k,i){var m=null,n=0,g=0;od(k|0);qn(k|0,i.length);m=a;n=b6(k|0)|0;if(((i.length)|0)>0){g=0;while(1){m[n+g|0]=i.charCodeAt(g);g=g+1|0;if((g|0)<((i.length)|0))continue;break;}}}function m0(i,g){oSlot=0+g|0;return i;}function r4(){m5();}function r3(m){var i=0,g=0,k=null,l=0;i=~~ +m.length;g=ak(0,i)|0;if((g|0)!=(0|0)){l=c[4+g>>2];k=a;cY(k,l,i).set(m);oa(g);}}function r1(g){g8=g;}function n$(m,k,l,i){var g=null;g=b4(aX,((m|0)|0)).port2;if(n_(k,l)|0){dN(m|0);g.postMessage(null);return;}g.postMessage(cY(k,l,i));}function b4(i,g){return i.get(g);}function n_(i,j){var g=0;g=(i.buffer===__heap);if(g){g=j;return ((g|0)===0?1:0)|0;}return 0|0;}function kT(k,i){var g=0,o=null,m=null;g=((k|0)|0);o=kS(eb,g);m=b4(aX,g).port1;if((i|0)!==0)o(null);o(m);}function kS(i,g){return i.get(g);}function r0(o){var k=null,i=null,g=0,m=0;k=cf();i=-16+k|0;aZ(i);g=i|0;cR(g,o);m=iI(g)|0;cC(g);aZ(k);return m|0;}function rZ(q,o,m){var k=0,g=0,i=null;k=cT(o)|0;g=aD(88)|0;eF(g);gm(g);if(((ez(g,q)|0)&255)===0){i={a0:null,a1:null,a2:null};pQ(i);ns(eb,(g|0),i.a1);if(((kQ(g,k,m)|0)|0)===0)return i.a0;}ck(g);Y(g|0);return null;}function gm(i){var k=null,g=null;g=new MessageChannel();g.port1;k=g.port2;dU(aX,((i|0)|0),g);n7(i|0);g={a0:null,a1:0};g.a0=k;g.a1=(i|0);k.onmessage=nq(g);}function ns(k,i,g){k.set(i,g);}function dU(k,i,g){k.set(i,g);}function nq(i){var g=null,k=null;g={a0:null,a1:null,a2:null};np(g,i);k=dT(g);dS(g);return k;}function np(i,g){nl(i,g);}function dT(i){var g=null;if(i.a1!==null){g=[{a0:null,a1:null}];g[0].a0=i.a1;g[0].a1=i.a2;g=sv(nn,g[0]);gv(i.a0,g);i.a1=null;}return i.a0;}function dS(g){var i=null;i=g.a1;if(i!==null)i(g.a2);}function nn(g){g.a0(g.a1);}function nl(i,g){nk(i,g);}function nk(k,i){var g=null,m=null;g=[{a0:null,a1:0}];g[0].a0=i.a0;g[0].a1=(i.a1|0);m=sv(ni,g[0]);k.a0=m;k.a1=null;k.a2=g[0];}function ni(i,g){ng(i,g);}function ng(q,o){var m=null,v=null,i=0,t=null,u=0,k=null,l=0,g=0;m=cf();k=-16+m|0;aZ(k);v=o.data;if(v!==null){i=k|0;gj(i,~~ +v.length);if( +v.length>0){g=0;while(1){k=gi(v,g);l=oSlot;t=a;u=gh(i,g)|0;t[u]=k[l]|0;g=g+1|0;if( +v.length>(+(g|0)))continue;break;}}kU(q.a1|0,i);gg(i);}else{dN(q.a1|0);q.a0.onmessage=null;}aZ(m);}function gi(i,g){oSlot=0+g|0;return i;}function lZ(o,m,k,i){var v=0,t=null,g=null,q=null;v=cT(k)|0;gm(m|0);t=b4(aX,((o|0)|0)).port2;g=b4(aX,((m|0)|0)).port1;q={addr: v, port: i, arg1: g};t.postMessage(q,new Array(g));}function r2(o){var g=0,m=null,k=null,i=null;g=aD(88)|0;eF(g);if(((ez(g,o)|0)&255)===0)if(((mK(g)|0)&255)===0){i=new MessageChannel();m=i.port1;k=i.port2;dU(aX,(g|0),i);jN(g);i={a0:0};i.a0=g;k.onmessage=pi(i);return m;}ck(g);Y(g|0);return null;}function pi(i){var g=null,k=null;g={a0:null,a1:null,a2:null};ph(g,i);k=dT(g);dS(g);return k;}function ph(i,g){pg(i,g);}function pg(i,g){pf(i,g);}function pf(k,i){var g=null,m=null;g=[{a0:0}];g[0].a0=(i.a0|0);m=sv(pd,g[0]);k.a0=m;k.a1=null;k.a2=g[0];}function pd(i,g){pb(i);}function pb(g){dN(g.a0|0);}function pa(o,m,n,k,i,g){var t=0,q=null;t=cT(i)|0;q=b4(aX,((o|0)|0)).port2;q.postMessage({addr: t, port: g, data: cY(m,n,k)});}function rT(o){var g=0,m=null,k=null,i=null;g=aD(32)|0;mA(g);if(((mr(g,o)|0)&255)!==0){ml(g);Y(g|0);return null;}i=new MessageChannel();m=i.port1;k=i.port2;dU(aX,(g|0),i);o$(g);i={a0:0};i.a0=g;k.onmessage=i0(i);return m;}function i0(i){var g=null,k=null;g={a0:null,a1:null,a2:null};iZ(g,i);k=dT(g);dS(g);return k;}function iZ(i,g){iY(i,g);}function iY(i,g){iX(i,g);}function iX(k,i){var g=null,m=null;g=[{a0:0}];g[0].a0=(i.a0|0);m=sv(iV,g[0]);k.a0=m;k.a1=null;k.a2=g[0];}function iV(i,g){iT(i,g);}function iT(t,q){var o=null,A=null,k=null,i=0,x=null,y=0,v=0,m=null,n=0,g=0;o=cf();m=-16+o|0;aZ(m);A=q.data;if(A!==null){k=A.data;i=m|0;gj(i,~~ +k.length);if( +k.length>0){g=0;while(1){m=gi(k,g);n=oSlot;x=a;y=gh(i,g)|0;x[y]=m[n]|0;g=g+1|0;if( +k.length>(+(g|0)))continue;break;}}g=A.addr;v=A.port;i3(t.a0|0,i,g,v);gg(i);}else mm(t.a0|0);aZ(o);}function k7(i){var m=null,k=null,g=null;g=[0];g[0]=(1048616|0);m=[0];m[0]=((60|0)|0);k=[nullObj];k[0]={d:null,o:i};g=k5(k,0,g,0,m,0);ip(g);;}function k5(t,u,q,r,o,p){var v=0,k=0,i=null,g=0,m=null;k=d5|0;a:{b:{if((k|0)>1){i=cX;g=1;while(1){if((i[g]&255)!==0){g=g+1|0;if((g|0)===(k|0))break b;continue;}break;}}else{g=1;}if((g|0)!==(k|0)){k=g;break a;}}d5=k<<1;i=d6;g=se(k,88)|0;if(i!==nullArray||0!==0)i=rQ(i,i.length,g/44|0);else i=rP(g/44|0);d6=i;g=d5|0;i=cX;if(i!==nullArray||0!==0)i=(function(){var __old__=i;var __ret__=new Uint8Array(g/1|0);__ret__.set(__old__.subarray(0, Math.min(__ret__.length,__old__.length)));return __ret__;})();else i=new Uint8Array(g/1|0);cX=i;}i=d6;m=t[u];g=q[r]|0;v=o[p]|0;i[k].a1=m.d[m.o];i[k].a2=null;i[k].a3=g;i[k].a4=null;i[k].i5=v;i[k].i6=1;i[k].i7=0;i[k].a9=null;i[k].a10=null;m=cX;m[k]=1;return i[k];}function ip(k){var m=0,i=null,g=null,h=0;m=k.a3|0;h=c[4+m>>2];g=a;g=cj(g,h);i=new CheerpException(g);k.a0=i;throw i;;}function cj(i,j){var g=null,m=0,k=null;g=String();if((i[j]&255)===0)return String(g);m=0;while(1){k=String.fromCharCode(i[j+m|0]<<24>>24);g=g.concat(k);m=m+1|0;if((i[j+m|0]&255)!==0)continue;break;}return String(g);}function ie(i){var m=null,k=null,g=0;m=[0];m[0]=i;id(cj(a,1052384>>0),m,0);g=bg()|0;if((g|0)!=(1049344|0))while(1){k=cj(a,1052376>>0);m[0]=(g|0);ic(k,m,0,c,g>>2);g=c[4+g>>2]|0;if((g|0)!=(1049344|0))continue;break;}}function id(i,g,h){console.log(i,String(g[h]|0));}function ic(k,i,j,g,h){var o=null,m=null;o=String(i[j]|0);m=cj(a,1052368>>0);console.log(k,o,m,String(g[h]|0));}function h2(m,n,k){var g=null,i=0;g=h1(m,n,k);i=(g.length)-1|0;if(((g.charCodeAt(i))|0)===10){console.log(g.substr(0,i));return;}console.log(g);}function h1(v,w,t){var k=0,i=null,o=0,q=0,m=0,g=0;i=String();if((t|0)===0)return i;q=t;o=0;while(1){k=v[w+o|0]|0;if((k&255)!==0){g=k&255;if(k<<24<=-16777216)if((k&255)<192){g=(g&63)+(m<<6)|0;}else if((k&255)<224){g&=31;}else if((k&255)<240){g&=15;}else{g&=7;}q=q-1|0;o=o+1|0;a:{if((q|0)!==0)if((v[w+o|0]&192)===128){m=g;break a;}if(g>>>0<65536){m=g;}else{m=g-65536|0;i=i.concat(String.fromCharCode((m>>>10)+55296|0));g=(g&1023)+56320|0;}i=i.concat(String.fromCharCode(g));}if((q|0)!==0)continue;return i;}break;}return i;}function jq(){ru();ox();ow();}function nW(o,m,k,i,g){pa(o|0,a,m>>0,k,i,g);}function hJ(i,g){h2(a,i>>0,g);}function hK(k,i,g){n$(k|0,a,i>>0,g);}function hQ(i,g){pN(a,i>>0,g);}var eb=null;var aX=null;var eh=null;var g8=null;var d5=16;var pp=new Uint8Array(16);var cX=pp;var pq=rP(16);var d6=pq;function rM(){this.a0=null;this.a1=null;this.a2=null;this.a3=0;this.a4=null;this.i5=0;this.i6=0;this.i7=0;this.a8=null;this.a9=null;this.a10=null;}function rP(e){var r=[];for(var i=0;i>16;try{__asm.sF.grow(pages);__heap=__asm.sF.buffer;sA(__heap);return pages<<16;}catch(e){return -1;}}var IpStack={bind:null,connect:null,down:null,init:null,input:null,listen:null,output:null,parseIP:null,up:null,};var a=null,c=null,__asm=null,__heap=null;function sB(){throw new Error('this should be unreachable');};var ru=null;var aD=null;var mA=null;var mr=null;var ml=null;var o$=null;var mm=null;var gj=null;var gh=null;var i3=null;var gg=null;var cT=null;var bg=null;var eF=null;var ez=null;var mK=null;var jN=null;var ck=null;var dN=null;var n7=null;var kU=null;var kQ=null;var iI=null;var cC=null;var od=null;var qn=null;var b6=null;var ak=null;var oa=null;var m5=null;var m3=null;var mY=null;var nJ=null;var mX=null;var nN=null;var iP=null;var iN=null;var lx=null;var Y=null;var cf=null;var aZ=null;export default function(g){return (g&&g.buffer)?Promise.resolve(g.buffer):sE((g&&g.absPath)?g.absPath:new URL('ipstack.wasm', import.meta.url)).then(g=>WebAssembly.instantiate(g,{i:{bD:sB,lh:sB,fy:sB,lf:sB,le:sB,aq:sB,hQ:hQ,ie:ie,lw:sB,hK:hK,lv:sB,lZ:lZ,hJ:hJ,kT:kT,d8:d8,k7:k7,pH:pH,nW:nW,sz:sz,}})).then(g=>{__asm=g.instance.exports;__heap=__asm.sF.buffer;sA(__heap);ru=__asm.ru;aD=__asm.aD;mA=__asm.mA;mr=__asm.mr;ml=__asm.ml;o$=__asm.o$;mm=__asm.mm;gj=__asm.gj;gh=__asm.gh;i3=__asm.i3;gg=__asm.gg;cT=__asm.cT;bg=__asm.bg;eF=__asm.eF;ez=__asm.ez;mK=__asm.mK;jN=__asm.jN;ck=__asm.ck;dN=__asm.dN;n7=__asm.n7;kU=__asm.kU;kQ=__asm.kQ;iI=__asm.iI;cC=__asm.cC;od=__asm.od;qn=__asm.qn;b6=__asm.b6;ak=__asm.ak;oa=__asm.oa;m5=__asm.m5;m3=__asm.m3;mY=__asm.mY;nJ=__asm.nJ;mX=__asm.mX;nN=__asm.nN;iP=__asm.iP;iN=__asm.iN;lx=__asm.lx;Y=__asm.Y;cf=__asm.cf;aZ=__asm.aZ;IpStack.bind=function(a0){return rT(a0);};IpStack.connect=function(a0,a1,a2){return rZ(a0,a1,a2);};IpStack.down=function(){return r4();};IpStack.init=function(a0){return rY(a0);};IpStack.input=function(a0){return r3(a0);};IpStack.listen=function(a0){return r2(a0);};IpStack.output=function(a0){return r1(a0);};IpStack.parseIP=function(a0){return r0(a0);};IpStack.up=function(a0){return rX(a0);};jq();return{IpStack:IpStack,};});}function sA(g){a=new Uint8Array(g);c=new Int32Array(g);} \ No newline at end of file +"use strict";/*Compiled using Cheerp (R) by Leaning Technologies Ltd*/var oR=Math.imul;var oS=Math.fround;var oSlot=0;var nullArray=[null];var nullObj={d:nullArray,o:0};function pf(p){return (typeof self==='object')?fetch(p).then(r=>r.arrayBuffer()):new Promise((y,n)=>{import('fs').then(r=>r.readFile(p,(e,d)=>{if(e)n(e);else y(d);}));});}function dr(){return ~~ +performance.now()|0;}function lN(l,m,j){var i=0,g=null;i=m;g=l;g=g;if((j|0)!==0){if((i|0)===0)if( +g.length===(+(j>>>0))){g=new Uint8Array(g);b0(g);return;}g=new Uint8Array(g.subarray((+(i>>>0)),(+(i+j>>>0))));b0(g);return;}if((i|0)===0){g=new Uint8Array(g);b0(g);return;}g=new Uint8Array(g.subarray((+(i>>>0))));b0(g);}function j0(){var g=null;g=jZ;+setInterval(g,10);}function jZ(){fW();}function oF(g){jW();gR();gQ();}function oE(I){var G=null,u=0,H=null,j=null,p=null,q=0,x=null,y=0,l=0,i=0,g=0,r=0,w=0,F=null,A=null,B=0,n=0;G=bN();j=-104+G|0;aS(j);u=88+j|0;p=I.localIp;bn(u);bK(u,p.length);y=c[8+u>>2];x=a;if(((p.length)|0)>0){l=0;while(1){x[y+l|0]=p.charCodeAt(l);l=l+1|0;if((l|0)<((p.length)|0))continue;break;}}l=72+j|0;jM(l);p=I.ipMap;a:{if(p===undefined)break a;x=Object.keys(p);if(((x.length)|0)>0){i=56+j|0;g=40+j|0;r=32+j|0;w=0;while(1){H=x[0+w|0];F=p[H];bn(i);bK(i,H.length);B=c[8+i>>2];A=a;if(((H.length)|0)>0){n=0;while(1){A[B+n|0]=H.charCodeAt(n);n=n+1|0;if((n|0)<((H.length)|0))continue;break;}}bn(g);bK(g,F.length);B=c[8+g>>2];A=a;if(((F.length)|0)>0){n=0;while(1){A[B+n|0]=F.charCodeAt(n);n=n+1|0;if((n|0)<((F.length)|0))continue;break;}}hy(r,l,i,g);bj(g);bj(i);w=w+1|0;if((w|0)<((x.length)|0)){F=H;continue;}break;}}}i=16+j|0;bn(i);p=I.dnsIp;a:{if(undefined===p)break a;g=j|0;j=I.dnsIp;bn(g);bK(g,j.length);q=c[8+g>>2];p=a;if(((j.length)|0)>0){r=0;while(1){p[q+r|0]=j.charCodeAt(r);r=r+1|0;if((r|0)<((j.length)|0))continue;break;}}hw(i,g);bj(g);}jS(u,l,i);bj(i);jJ(l);bj(u);aS(G);}function oD(){jP();}function oC(n){var j=0,l=0,i=0,g=null,h=0;j=~~ +n.length;l=as(0,j)|0;a:if((l|0)!=(0|0)){h=c[4+l>>2];g=a;i=h;g=g;g=g;b:{if((j|0)!==0){if((i|0)===0)if( +g.length===(+(j>>>0)))break b;g=g.subarray((+(i>>>0)),(+(i+j>>>0)));break b;}if((i|0)===0)break b;g=g.subarray((+(i>>>0)));}g.set(n);jG(l);break a;}}function oB(g){b0=g;}function jF(p,n,o,l){var j=null,r=0,i=0,g=null;j=aY.get(((p|0)|0)).port2;r=(n.buffer===__heap);i=o;a:{if(r)if((i|0)===0){df(p|0);j.postMessage(null);break a;}g=n;g=g;b:{if((l|0)!==0){if((i|0)===0)if( +g.length===(+(l>>>0)))break b;g=g.subarray((+(i>>>0)),(+(i+l>>>0)));break b;}if((i|0)===0)break b;g=g.subarray((+(i>>>0)));}g=new Uint8Array(g);j.postMessage(g,new Array(g.buffer));break a;}}function jy(j,i){var g=0,n=null,l=null;g=((j|0)|0);n=du.get(g);l=aY.get(g).port1;a:if((i|0)!==0){n(null);break a;}n(l);}function oz(n){var l=null,g=0,j=null,k=0,i=0;l=bN();j=-16+l|0;aS(j);g=j|0;bn(g);bK(g,n.length);k=c[8+g>>2];j=a;if(((n.length)|0)>0){i=0;while(1){j[k+i|0]=n.charCodeAt(i);i=i+1|0;if((i|0)<((n.length)|0))continue;break;}}i=gL(g)|0;bj(g);aS(l);return i|0;}function oy(w,u,r){var p=null,l=0,j=0,g=0,i=null,n=null;l=4+1061080|0;j=c[l>>2]|0;a:if((j|0)!=(0|0)){g=l;while(1){b:{if(c[16+j>>2]>>>0>>0){j=c[4+j>>2]|0;break b;}g=j|0;j=c[j>>2]|0;}if((j|0)!=(0|0))continue;break;}if((g|0)==(l|0)){l=u;break a;}if(c[16+g>>2]>>>0>u>>>0){l=u;break a;}l=c[20+g>>2]|0;}else{l=u;}g=aE(88)|0;ex(g);i=new MessageChannel();i.port1;n=i.port2;j=(g|0);aY.set(j,i);e2(g);i=[{a0:null,a1:0}];i[0].a0=n;i[0].a1=g;i=o8(e0,i[0]);n.onmessage=i;a:{if(((eZ(g,w)|0)&255)!==0)break a;i=new Object();n=new Object();p=new Promise(function(__f,__r){i.inner=__f;n.inner=__r;});;i=i.inner;n.inner;du.set(j,i);if(((jw(g,l,r)|0)|0)!==0)break a;return p;}cm(g);aa(g|0);return null;}function e0(i,g){ji(i,g);}function ji(p,n){var l=null,r=null,g=0,j=null,k=0,i=0;l=bN();j=-16+l|0;aS(j);r=n.data;a:{if(r!==null){g=j|0;eU(g,~~ +r.length);if( +r.length>0){k=c[g>>2];j=a;i=0;while(1){j[k+i|0]=r[0+i|0]|0;i=i+1|0;if( +r.length>(+(i|0)))continue;break;}}jz(p.a1|0,g);eS(g);break a;}df(p.a1|0);p.a0.onmessage=null;}aS(l);}function jh(w,u,r,p){var x=null,n=0,j=0,i=0,g=null,l=null;n=4+1061080|0;j=c[n>>2]|0;a:if((j|0)!=(0|0)){i=n;while(1){b:{if(c[16+j>>2]>>>0>>0){j=c[4+j>>2]|0;break b;}i=j|0;j=c[j>>2]|0;}if((j|0)!=(0|0))continue;break;}if((i|0)==(n|0)){n=r;break a;}if(c[16+i>>2]>>>0>r>>>0){n=r;break a;}n=c[20+i>>2]|0;}else{n=r;}g=new MessageChannel();g.port1;l=g.port2;i=((u|0)|0);aY.set(i,g);e2(u|0);g=[{a0:null,a1:0}];g[0].a0=l;g[0].a1=(u|0);g=o8(e0,g[0]);l.onmessage=g;g=aY.get(((w|0)|0)).port2;l=aY.get(i).port1;x={addr: n, port: p, arg1: l};g.postMessage(x,new Array(l));}function ox(n){var g=0,l=null,j=null,i=null;g=aE(88)|0;ex(g);a:{if(((eZ(g,n)|0)&255)!==0)break a;if(((jl(g)|0)&255)!==0)break a;i=new MessageChannel();l=i.port1;j=i.port2;aY.set((g|0),i);jf(g);i=[{a0:0}];i[0].a0=g;i=o8(ha,i[0]);j.onmessage=i;return l;}cm(g);aa(g|0);return null;}function ha(i,g){df(i.a0|0);}function g_(w,u,v,r,p,n){var A=null,x=null,l=0,j=0,i=0,g=null;l=4+1061080|0;j=c[l>>2]|0;a:if((j|0)!=(0|0)){i=l;while(1){b:{if(c[16+j>>2]>>>0

>>0){j=c[4+j>>2]|0;break b;}i=j|0;j=c[j>>2]|0;}if((j|0)!=(0|0))continue;break;}if((i|0)==(l|0)){l=p;break a;}if(c[16+i>>2]>>>0>p>>>0){l=p;break a;}l=c[20+i>>2]|0;}else{l=p;}A=aY.get(((w|0)|0)).port2;i=v;g=u;g=g;a:{if((r|0)!==0){if((i|0)===0)if( +g.length===(+(r>>>0)))break a;g=g.subarray((+(i>>>0)),(+(i+r>>>0)));break a;}if((i|0)===0)break a;g=g.subarray((+(i>>>0)));}g=new Uint8Array(g);x={addr: l, port: n, data: g};A.postMessage(x,new Array(g.buffer));}function ow(n){var g=0,l=null,j=null,i=null;g=aE(32)|0;jr(g);if(((jp(g,n)|0)&255)!==0){jn(g);aa(g|0);return null;}i=new MessageChannel();l=i.port1;j=i.port2;aY.set((g|0),i);g9(g);i=[{a0:0}];i[0].a0=g;i=o8(g0,i[0]);j.onmessage=i;return l;}function g0(i,g){gY(i,g);}function gY(r,p){var n=null,w=null,j=null,i=0,u=0,l=null,m=0,g=0;n=bN();l=-16+n|0;aS(l);w=p.data;a:{if(w!==null){j=w.data;i=l|0;eU(i,~~ +j.length);if( +j.length>0){m=c[i>>2];l=a;g=0;while(1){l[m+g|0]=j[0+g|0]|0;g=g+1|0;if( +j.length>(+(g|0)))continue;break;}}g=w.addr;u=w.port;g4(r.a0|0,i,g,u);eS(i);break a;}jo(r.a0|0);}aS(n);}function c3(i,g){var l=null,j=null;l=b8;j=l[0+i|0];l[0+i|0]=null;j(g);}function ov(r){var n=null,i=0,p=null,j=null,k=0,g=0,l=null;n=bN();j=-16+n|0;aS(j);i=j|0;bn(i);bK(i,r.length);k=c[8+i>>2];j=a;if(((r.length)|0)>0){g=0;while(1){j[k+g|0]=r.charCodeAt(g);g=g+1|0;if((g|0)<((r.length)|0))continue;break;}}l=new Object();j=new Object();p=new Promise(function(__f,__r){l.inner=__f;j.inner=__r;});;l=l.inner;j.inner;g=b8.indexOf(null);j=b8;a:{if((g|0)<0){g=j.length;b8.push(l);break a;}j[0+g|0]=l;}gU(i,g);bj(i);aS(n);return p;}function kr(i){var l=null,j=null,g=null;g=[0];g[0]=(1050744|0);l=[0];l[0]=((9|0)|0);j=[nullObj];j[0]={d:null,o:i};g=kp(j,0,g,0,l,0);ko(g);;}function kp(r,s,p,q,n,o){var u=0,j=0,i=null,g=0,l=null;j=dl|0;a:{b:{if((j|0)>1){i=cq;g=1;while(1){if((i[g]&255)!==0){g=g+1|0;if((g|0)===(j|0))break b;continue;}break;}}else{g=1;}if((g|0)===(j|0))break b;j=g;break a;}dl=j<<1;i=dm;g=oR(j,88)|0;b:{if(i!==nullArray||0!==0){i=oq(i,i.length,g/44|0);break b;}i=op(g/44|0);}dm=i;g=dl|0;i=cq;b:{if(i!==nullArray||0!==0){i=(function(){var __old__=i;var __ret__=new Uint8Array(g/1|0);__ret__.set(__old__.subarray(0, Math.min(__ret__.length,__old__.length)));return __ret__;})();break b;}i=new Uint8Array(g/1|0);}cq=i;break a;}i=dm;l=r[s];g=p[q]|0;u=n[o]|0;i[j].a1=l.d[l.o];i[j].a2=null;i[j].a3=g;i[j].a4=null;i[j].i5=u;i[j].i6=1;i[j].i7=0;i[j].a9=null;i[j].a10=null;l=cq;l[j]=1;return i[j];}function ko(j){var l=0,i=null,g=null,h=0;l=j.a3|0;h=c[4+l>>2];g=a;g=gE(g,h);i=new CheerpException(g);j.a0=i;throw i;;}function gE(l,m){var g=null,j=0,i=null;g=String();if((l[m]&255)===0)return String(g);j=0;while(1){i=String.fromCharCode(l[m+j|0]<<24>>24);g=g.concat(i);j=j+1|0;if((l[m+j|0]&255)!==0)continue;break;}return String(g);}function fL(l,m,j){var g=null,i=0;g=fK(l,m,j);i=(g.length)-1|0;if(((g.charCodeAt(i))|0)===10){console.log(g.substr(0,i));return;}console.log(g);}function fK(u,v,r){var j=0,i=null,n=0,p=0,l=0,g=0;i=String();if((r|0)===0)return i;p=r;n=0;while(1){j=u[v+n|0]|0;if((j&255)!==0){g=j&255;a:{if(j<<24>-16777216)break a;if((j&255)<192){g=(g&63)+(l<<6)|0;break a;}if((j&255)<224){g&=31;break a;}if((j&255)<240){g&=15;break a;}g&=7;}p=p-1|0;n=n+1|0;a:{b:{if((p|0)===0)break b;if((u[v+n|0]&192)===128){l=g;break a;}}b:{if(g>>>0<65536){l=g;break b;}l=g-65536|0;i=i.concat(String.fromCharCode((l>>>10)+55296|0));g=(g&1023)+56320|0;}i=i.concat(String.fromCharCode(g));break a;}if((p|0)!==0)continue;return i;}break;}return i;}function f7(){no();aY=new Map();du=new Map();b8=new Array();}function jt(i,g){fL(a,i>>0,g);}function ht(n,l,j,i,g){g_(n|0,a,l>>0,j,i,g);}function hv(j,i,g){jF(j|0,a,i>>0,g);}function hN(i,g){lN(a,i>>0,g);}var aY=null;var du=null;var b8=null;var dl=16;var kP=new Uint8Array(16);var cq=kP;var kQ=op(16);var dm=kQ;var b0=null;function oo(){this.a0=null;this.a1=null;this.a2=null;this.a3=0;this.a4=null;this.i5=0;this.i6=0;this.i7=0;this.a8=null;this.a9=null;this.a10=null;}function op(e){var r=[];for(var i=0;i>16;try{__asm.pg.grow(pages);__heap=__asm.pg.buffer;pb(__heap);return pages<<16;}catch(e){return -1;}}var IpStack={bind:null,connect:null,down:null,init:null,input:null,listen:null,output:null,parseIP:null,resolve:null,up:null,};var a=null,c=null,__asm=null,__heap=null;function pc(){throw new Error('this should be unreachable');};var no=null;var bn=null;var bK=null;var gU=null;var bj=null;var aE=null;var jr=null;var jp=null;var jn=null;var g9=null;var jo=null;var eU=null;var g4=null;var eS=null;var ex=null;var eZ=null;var jl=null;var jf=null;var cm=null;var df=null;var e2=null;var jz=null;var jw=null;var gL=null;var as=null;var jG=null;var jP=null;var jM=null;var hy=null;var hw=null;var jS=null;var jJ=null;var jW=null;var gR=null;var gQ=null;var fW=null;var aa=null;var bN=null;var aS=null;export default function(g){return (g&&g.buffer)?Promise.resolve(g.buffer):pf((g&&g.absPath)?g.absPath:new URL('ipstack.wasm', import.meta.url)).then(g=>WebAssembly.instantiate(g,{i:{c3:c3,bu:pc,hW:pc,eK:pc,ky:pc,kx:pc,aw:pc,fV:pc,hN:hN,kr:kr,fU:pc,hv:hv,jh:jh,ht:ht,dr:dr,jy:jy,j0:j0,jt:jt,pa:pa,}})).then(g=>{__asm=g.instance.exports;__heap=__asm.pg.buffer;pb(__heap);no=__asm.no;bn=__asm.bn;bK=__asm.bK;gU=__asm.gU;bj=__asm.bj;aE=__asm.aE;jr=__asm.jr;jp=__asm.jp;jn=__asm.jn;g9=__asm.g9;jo=__asm.jo;eU=__asm.eU;g4=__asm.g4;eS=__asm.eS;ex=__asm.ex;eZ=__asm.eZ;jl=__asm.jl;jf=__asm.jf;cm=__asm.cm;df=__asm.df;e2=__asm.e2;jz=__asm.jz;jw=__asm.jw;gL=__asm.gL;as=__asm.as;jG=__asm.jG;jP=__asm.jP;jM=__asm.jM;hy=__asm.hy;hw=__asm.hw;jS=__asm.jS;jJ=__asm.jJ;jW=__asm.jW;gR=__asm.gR;gQ=__asm.gQ;fW=__asm.fW;aa=__asm.aa;bN=__asm.bN;aS=__asm.aS;IpStack.bind=function(a0){return ow(a0);};IpStack.connect=function(a0,a1,a2){return oy(a0,a1,a2);};IpStack.down=function(){return oD();};IpStack.init=function(a0){return oF(a0);};IpStack.input=function(a0){return oC(a0);};IpStack.listen=function(a0){return ox(a0);};IpStack.output=function(a0){return oB(a0);};IpStack.parseIP=function(a0){return oz(a0);};IpStack.resolve=function(a0){return ov(a0);};IpStack.up=function(a0){return oE(a0);};f7();return{IpStack:IpStack,};});}function pb(g){a=new Uint8Array(g);c=new Int32Array(g);} \ No newline at end of file diff --git a/tun/ipstack.wasm b/tun/ipstack.wasm index 732fd44..2f07151 100644 Binary files a/tun/ipstack.wasm and b/tun/ipstack.wasm differ diff --git a/tun/tailscale.wasm b/tun/tailscale.wasm old mode 100755 new mode 100644 index 1b118f7..f2338dc Binary files a/tun/tailscale.wasm and b/tun/tailscale.wasm differ diff --git a/tun/tailscale_tun.js b/tun/tailscale_tun.js index 19466b3..fee9d5f 100644 --- a/tun/tailscale_tun.js +++ b/tun/tailscale_tun.js @@ -51,7 +51,7 @@ export async function init() { IpStack.input(ev.data) }; IpStack.output(function(p){ - ipn.tun.postMessage(p); + ipn.tun.postMessage(p, [p.buffer]); }); }; setupIpStack(); @@ -65,10 +65,15 @@ export async function init() { if (localIp != newLocalIp) { localIp = newLocalIp; - IpStack.up({localIp, ipMap: { + try{ + IpStack.up({localIp, dnsIp, ipMap: { ["127.0.0.53"]: dnsIp, [dnsIp]: "127.0.0.53", }}); + }catch(e){ + console.log(e); + debugger; + } } }, notifyBrowseToURL: (l) => listeners.onloginurl(l), @@ -82,6 +87,7 @@ export async function init() { listen: IpStack.listen, bind: IpStack.bind, parseIP: IpStack.parseIP, + resolve: IpStack.resolve, up: async (conf) => { if (ipn == null) { await lazyRunIpn(); diff --git a/tun/tailscale_tun_auto.js b/tun/tailscale_tun_auto.js index c102e66..27b2e8c 100644 --- a/tun/tailscale_tun_auto.js +++ b/tun/tailscale_tun_auto.js @@ -1,17 +1,11 @@ import {State, init} from "./tailscale_tun.js"; -export async function autoConf({loginUrlCb, stateUpdateCb, netmapUpdateCb}) { - const { listen, connect, bind, parseIP, up, down, login, logout, listeners } = await init(); - - const getSettings = () => { - settings.controlUrl = null; - settings.exitNodeIp = null; - settings.dnsIp = null; - settings.wantsRunning = true; - }; +export async function autoConf({loginUrlCb, stateUpdateCb, netmapUpdateCb, controlUrl, authKey}) { + const { listen, connect, bind, parseIP, resolve, up, down, login, logout, listeners } = await init(); const settings = { - controlUrl: undefined, + controlUrl: controlUrl, + authKey: authKey, exitNodeIp: undefined, dnsIp: undefined, wantsRunning: true, @@ -75,6 +69,7 @@ export async function autoConf({loginUrlCb, stateUpdateCb, netmapUpdateCb}) { connect, listen, parseIP, + resolve, up: async () => { await up(settings); },