| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- window._gwen = {}
- window._gwen.kv = {}
- const apiserver = localStorage.getItem('api-server')
- function stringToUint8Array(str) {
- var arr = [];
- for (var i = 0, j = str.length; i < j; ++i) {
- arr.push(str.charCodeAt(i));
- }
- var tmpUint8Array = new Uint8Array(arr);
- return tmpUint8Array
- }
- function getQueryVariable() {
- const query = window.location.hash.substring(3);
- const vars = query.split("&");
- for (var i = 0; i < vars.length; i++) {
- var pair = vars[i].split("=");
- window._gwen.kv[pair[0]] = pair[1]
- }
- }
- getQueryVariable()
- const id = window._gwen.kv.id || ''
- if (id) {
- localStorage.setItem('remote-id', id)
- }
- const share_token = window._gwen.kv.share_token || ''
- if (share_token) {
- fetch(apiserver + "/api/shared-peer", {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify({share_token})
- }).then(res => res.json()).then(res => {
- if (res.code === 0) {
- localStorage.setItem('custom-rendezvous-server', res.data.id_server)
- localStorage.setItem('key', res.data.key)
- const peer = res.data.peer
- localStorage.setItem('remote-id', peer.info.id)
- peer.tmppwd = stringToUint8Array(window.atob(peer.tmppwd)).toString()
- const oldPeers = JSON.parse(localStorage.getItem('peers')) || {}
- oldPeers[peer.info.id] = peer
- localStorage.setItem('peers', JSON.stringify(oldPeers))
- }
- })
- }
- let fetching = false
- export function getServerConf(token) {
- if (!token) {
- return
- }
- const prefix = 'wc-'
- console.log('getServerConf', token)
- if (fetching) {
- return
- }
- fetching = true
- fetch(apiserver + "/api/server-config-v2", {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- 'Authorization': 'Bearer ' + token
- }
- }
- ).then(res => res.json()).then(res => {
- fetching = false
- if (res.code === 0) {
- if (!localStorage.getItem(prefix + 'custom-rendezvous-server') || !localStorage.getItem('key')) {
- localStorage.setItem(prefix + 'custom-rendezvous-server', res.data.id_server)
- localStorage.setItem(prefix + 'key', res.data.key)
- }
- }
- }).catch(_ => {
- fetching = false
- })
- }
|