本帖最后由 55229lwj 于 2023-3-9 20:34 编辑
文接上回
【批处理】上传IP地址到git
https://www.52pojie.cn/thread-1711335-1-1.html
(出处: 吾爱破解论坛)
这里我已经实现ipv6地址上传到gitee,现在说一说怎么投入实际使用(emby、vnc等等)。
还是那句话,欢迎分享思路,本篇仅供参考!
实现思路
获取地址
这也是我要放到gitee的原因之一,毕竟有现成的api,申请一个私人令牌就行
https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoContents(Path)
网络访问引用了axios的库
注意:返回的文件内容是base64
静态网页托管
随便找个免费的,就是个重定向的跳板。
这样也就没必要有域名了
访问控制
可以用js获取访问url的参数,把访问密码和要访问的端口写上,如
https://example.com/jump.html?password=XXXX&port=XXXX
注意:密码我这里用hash值写死了,有什么其他思路欢迎分享
密码有误?重定向到首页或404
js代码实现:
别忘了引库
function getQueryParamByKey(paraName) {
let url = document.location.toString()
url = decodeURI(url)
let arrObj = url.split("?");
if (arrObj.length > 1) {
let arrPara = arrObj[1].split("&");
let arr;
for (let i = 0; i < arrPara.length; i++) {
arr = arrPara[i].split("=");
if (arr != null && arr[0] == paraName) {
return decodeURIComponent(arr[1]);
}
}
return "";
} else {
return "";
}
}
String.prototype.hashCode = function () {
let hash = 0, i, chr;
if (this.length === 0) return hash;
for (i = 0; i < this.length; i++) {
chr = this.charCodeAt(i);
hash = ((hash << 5) - hash) + chr;
hash |= 0;
}
return hash;
};
if (getQueryParamByKey('password').hashCode() == 预设密码的hash值) {
axios
.get(`https://gitee.com/api/v5/repos/你的git名称/仓库名称/contents/ip.txt(这是我放的文件)?access_token=你的私人令牌`)
.then((res) => {
let url = window.atob(res.data.content);
url = `http://[${url}]:${getQueryParamByKey('port')}`
window.location.replace(url)
});
} else {
window.location.href = "./";
console.log("登陆失败")
}
一些问题
如果没法用看看ipv6公网的配置吧,lz目前远程访问正常
如何更好用
手机上目前我找到一个叫Anywhere-的软件,酷安上有,不错。
或者浏览器把快捷方式加到桌面,手机或电脑都行。
|