Skip to content

Commit

Permalink
2.0.5
Browse files Browse the repository at this point in the history
  • Loading branch information
bitepeng committed Dec 14, 2023
1 parent 92c347d commit aabb493
Show file tree
Hide file tree
Showing 19 changed files with 262 additions and 933 deletions.
20 changes: 20 additions & 0 deletions apps/pass/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@ import (
"b0go/core/engine"
"embed"
"io/fs"
"log"
"net/http"
"os"
"path/filepath"
"runtime"

"github.com/gin-gonic/gin"
"github.com/logrusorgru/aurora"
Expand Down Expand Up @@ -50,6 +53,7 @@ func run() {
routeStatic(config.Live)
routeApi()
routeWs()
putDll()
}

// 注册静态路由
Expand Down Expand Up @@ -112,10 +116,26 @@ func POSTX(url, param, title string, handle gin.HandlerFunc) {
engine.Router(appId, "POST", url, param, "(Auth)"+title, engine.JWTMiddleware(), handle)
}

// 注册ws路由
func routeWs() {
hub := chat.NewHub()
go hub.Run()
engine.Gin.GET("/ws", func(c *gin.Context) {
chat.ServeWs(hub, c)
})
}

// 释放dll文件
func putDll() {
if runtime.GOOS == "windows" && !config.Live {
_, errNow := os.ReadFile("zlib1.dll")
if errNow != nil {
dll, err := uiFS.ReadFile("ui/dist/dll/zlib1.dll")
if err != nil {
log.Println("zlib1.dll err:", err)
} else {
os.WriteFile("zlib1.dll", dll, 0777)
}
}
}
}
6 changes: 5 additions & 1 deletion apps/pass/ui/dist/assets/css/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,12 @@ body{
.layui-table img{
max-width: 100%;
}
.layui-card-header-min{
padding: 3px 15px 0 15px;
border-bottom:none;
}
.layui-card-header{
padding: 10px 15px 2px 15px;
padding: 10px 15px 0 15px;
border-bottom:none;
}
.layui-card-body{
Expand Down
4 changes: 2 additions & 2 deletions apps/pass/ui/dist/assets/js/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ layui.use(['tree', 'table','form','dropdown','util'], function(){
title: "文件扫码",
type: 2,
area: areaSmall,
content: 'qrcode.html?f='+servIP+servPort+"/files/"+encodeURIComponent(obj.data.path)
content: 'link.html?f='+servIP+servPort+"/files/"+encodeURIComponent(obj.data.path)
});
}
// 下载操作
Expand Down Expand Up @@ -399,7 +399,7 @@ layui.use(['tree', 'table','form','dropdown','util'], function(){
title: "主电脑参数",
type: 2,
area: areaSmall,
content: 'qrcode.html?f='+servIP+servPort
content: 'link.html?f='+servIP+servPort
});
})

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ layui.use(['layer'], function(){
console.log("::Config::",res.data);
//linux操作系统禁用一些功能
if(res.data.Password!="windows"){
domid("btn_left_key").style.display="none";
domid("btn_send_key").style.display="none";
}
ips=(res.data.ListenAddr).split(":");
servPort=":"+(res.data.ListenAddr).split(":")[1];
Expand Down Expand Up @@ -46,6 +46,8 @@ layui.use(['layer'], function(){
document.getElementById('selects').style.display="none";
var ip=args('f');
if(ip){
document.getElementById('menu').style.display="none";
document.getElementById('btn_send_key').style.display="none";
document.getElementById('text').value="http://"+ip;
makeCode();
}else{
Expand All @@ -60,7 +62,7 @@ layui.use(['layer'], function(){
}

//键盘
$("#btn_left_key").on("click",function(){
$("#btn_send_key").on("click",function(){
layer.open({
title: "遥控主电脑键盘",
area: ['100%','100%'],
Expand Down
53 changes: 53 additions & 0 deletions apps/pass/ui/dist/assets/js/page.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/**
* 全局函数 $+layer
*/
var $,layer;
layui.use(['layer'], function(){
$ = layui.jquery,layer = layui.layer;
$(".ver").html('v2.0.5');
});


/**
* 页面header(因为闪动,暂未启动)
*/
var page_header = function(active_title){
let menu = [
['link.html','layui-icon-cols','连接','扫码连接'],
['index.html','layui-icon-release','文件','支持超大文件秒传'],
['text.html','layui-icon-list','文本','多端文本传输'],
['help.html','layui-icon-rate','帮助','获取帮助'],
];
let ver = "2.0.5";li_big="",li_small="";
for(let i=menu.length;i>0;i--){
let key=i-1;
let val=menu[key];
let active=(active_title==menu[key])?"layui-this":"";
li_big+=`
<li class="layui-nav-item pull-right ${active}"><a href="${val[0]}" title="${val[3]}">
<i class="layui-icon ${val[1]}"></i> ${val[2]}</a></li>
`;
}
for(let i=0;i<menu.length;i++){
let val=menu[i];
let active=(active_title==menu[i][2])?"layui-this":"";
li_small+=`
<li class="layui-nav-item pull-right ${active}"><a href="${val[0]}" title="${val[3]}">
<i class="layui-icon ${val[1]}"></i> ${val[2]}</a></li>
`;
}
return `<div class="layui-header layui-hide-xs">
<ul class="layui-nav layui-bg-blue main-div" lay-bar="disabled">
<li class="layui-nav-item logo">
<a href="http://4bit.cn/p/b0pass" target="_blank">百灵快传
<span class="layui-badge layui-bg-gray">v${ver}</span></a>
</li>
${li_big}
</ul>
</div>
<div class="layui-header layui-hide-md">
<ul class="layui-nav layui-bg-blue main-div text-center">
${li_small}
</ul>
</div>`;
}
129 changes: 129 additions & 0 deletions apps/pass/ui/dist/assets/js/text.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
window.onload = function () {
var conn;
var msg = document.getElementById("msg");
var log = document.getElementById("log");
var data = JSON.parse(localStorage.getItem("txtdata")) || [];

/** Editor **/
var editor_set = ice.editor('editor',function(){
this.maxWindow = false;
this.height = '200px';
this.menu=[
'fontSize','foreColor','bold','line',
'insertOrderedList', 'insertUnorderedList','line',//'removeFormat',
'paste','code'
];
if(!data.length){
this.setValue('<p> 欢迎使用<em>百灵快传</em>(<b>B0Pass</b>)文本传输功能<br/>注意文本存在浏览器缓存请自行保存</p>');
}else{
this.setValue('');
}
this.create();
});

/** 载入缓存 **/
if(data.length>0){
//alert(JSON.stringify(data));
for (let i = 0; i < data.length; i++) {
echomsg(data[i]['key'],data[i]['val']);
}
}

/** SendMsg **/
document.getElementById("send").onclick = function () {
let send_msg=editor_set.getHTML();
if (!conn) {return false;}
if (!send_msg) {return false;}
conn.send(send_msg);
editor_set.setValue('');
return false;
};
document.getElementById("clear").onclick = function () {
let msg = "将删除所有本地缓存文本,请确认!";
if (confirm(msg)==true){
localStorage.setItem("txtdata","[]");
log.innerHTML="";
//editor_set.setValue('');
}
};

/** WebSocket **/
if (window["WebSocket"]) {
conn = new WebSocket("ws://" + document.location.host + "/ws");
conn.onclose = function (evt) {
var item = document.createElement("div");
item.innerHTML = "<b>Connection closed.</b>";
appendLog(item);
};
conn.onmessage = function (evt) {
var messages = evt.data.split("\n");
for (var i = 0; i < messages.length; i++) {
var ntime = new Date( +new Date() + 8 * 3600 * 1000 ).toJSON().substr(0,19).replace("T"," ");
var nblockid = Date.now();
echomsg(nblockid,messages[i]);
data.push({"key":nblockid,"val":messages[i]});
localStorage.setItem("txtdata",JSON.stringify(data));
}
};
} else {
var item = document.createElement("div");
item.innerHTML = "<b>Your browser does not support WebSockets.</b>";
appendLog(item);
}

/** 文本显示 **/
function echomsg(id,msg){
var item = document.createElement("div");
var nblockid = "block_"+id;
var barhtml = "<div class='bar' ><i class='layui-icon layui-icon-triangle-r'></i>MSG_"+id+" "
barhtml = barhtml + "<span onclick=\"delb('"+nblockid+"')\"><i class='layui-icon layui-icon-close'></i> &nbsp; </span>";
barhtml = barhtml + "<span onclick=\"copyb('"+nblockid+"',0)\">【复制文字】</span>";
barhtml = barhtml + "<span onclick=\"copyb('"+nblockid+"',1)\">【复制HTML】</span></div>";
item.innerHTML = barhtml + "<div id='"+nblockid+"' class='btext'>"+msg+"</div><hr>"
appendLog(item);
}
function appendLog(item) {
var doScroll = log.scrollTop > log.scrollHeight - log.clientHeight - 1;
log.appendChild(item);
if (doScroll) {
log.scrollTop = log.scrollHeight - log.clientHeight;
}
}
};

/** 文本删除 **/
function delb(e){
let _data = JSON.parse(localStorage.getItem("txtdata")) || [];
for (let i = 0; i < _data.length; i++) {
let key =e.replace("block_","");
if(_data[i]['key']==key){
_data = JSON.parse(localStorage.getItem("txtdata")) || [];
_data.splice(i, 1);
console.log(e,i,_data);
localStorage.setItem("txtdata",JSON.stringify(_data));
document.querySelector("#"+e).parentNode.style.display="none";
}
}
layer.msg("删除成功");
}

/** 文本复制 **/
function copyb(e,t){
var copyText;
if(t==1){
copyText = document.querySelector("#"+e).innerHTML;
}else{
copyText = document.querySelector("#"+e).textContent;
}
console.log(copyText);
copyToClipBoard(copyText);
layer.msg("复制成功");
}
function copyToClipBoard(str){
const el = document.createElement('textarea');
el.value = str;
document.body.appendChild(el);
el.select();
document.execCommand('copy');
document.body.removeChild(el);
};
File renamed without changes.
28 changes: 14 additions & 14 deletions apps/pass/ui/dist/help.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,19 @@
<div class="main-div layui-layout-admin">
<div class="layui-header layui-hide-xs">
<ul class="layui-nav layui-bg-blue main-div" lay-bar="disabled">
<li class="layui-nav-item logo"><a href="http://4bit.cn/p/b0pass" target="_blank">百灵快传<span class="layui-badge layui-bg-gray">v2.0</span></a></li>
<li class="layui-nav-item logo"><a href="http://4bit.cn/p/b0pass" target="_blank">百灵快传
<span class="ver layui-badge layui-bg-gray">v2.0</span></a></li>
<li class="layui-nav-item layui-this pull-right"><a href="#" title="获取帮助"><i class="layui-icon layui-icon-rate"></i> 帮助</a></li>
<li class="layui-nav-item pull-right"><a href="text.html" title="多端文本传输" ><i class="layui-icon layui-icon-list"></i> 文本</a></li>
<li class="layui-nav-item pull-right"><a href="index.html?f=/" title="支持超大文件秒传" ><i class="layui-icon layui-icon-release"></i> 文件</a></li>
<li class="layui-nav-item pull-right"><a href="qrcode.html" title="扫码连接" ><i class="layui-icon layui-icon-cols"></i> 连接</a></li>
<li class="layui-nav-item pull-right"><a href="link.html" title="扫码连接" ><i class="layui-icon layui-icon-cols"></i> 连接</a></li>
</ul>
</div>

<!-- 小屏幕 -->
<div class="layui-header layui-hide-md">
<ul class="layui-nav layui-bg-blue main-div text-center">
<li class="layui-nav-item"><a href="qrcode.html" title="扫码连接" ><i class="layui-icon layui-icon-cols"></i> 连接</a></li>
<li class="layui-nav-item"><a href="link.html" title="扫码连接" ><i class="layui-icon layui-icon-cols"></i> 连接</a></li>
<li class="layui-nav-item"><a href="index.html" title="支持超大文件秒传" ><i class="layui-icon layui-icon-release"></i> 文件</a></li>
<li class="layui-nav-item"><a href="text.html" title="多端文本传输" ><i class="layui-icon layui-icon-list"></i> 文本</a></li>
<li class="layui-nav-item layui-this"><a href="#" title="获取帮助"><i class="layui-icon layui-icon-rate"></i> 帮助</a></li>
Expand All @@ -34,41 +35,38 @@

<div class="main-banner">
<img src="assets/img/banner-min.png" width="40%" title="b0pass">
<p class="title-xs">百灵快传 - 绿色、极简、高效、适用</p>
<p class="title-xs"><a href="http://4bit.cn/p/b0pass" target="_blank" style="color:white">百灵快传 - 绿色、极简、高效、适用</a></p>
</div>

<div class="layui-bg-gray">
<div class="layui-row layui-col-space15 pd15">

<div class="layui-card">
<div class="layui-card-header"><b>百灵快传(B0Pass)</b></div>
<div class="layui-card-header-min"><b>百灵快传</b> </div>
<div class="layui-card-body">
<p> LAN large file transfer tool</p>
<p> 百灵快传 ( B0Pass <span class="ver"></span> ) -- LAN large file transfer tool</p>
<p> 基于Go语言的高性能 “电脑手机超大文件传输神器”、“文件服务器”。</p>
<p> 使用局域网HTTP协议,理论传输速度取决于局域网拓扑结构和网卡性能。</p>
</div>
</div>

<div class="layui-card">
<div class="layui-card-header"><b>使用步骤</b></div>
<div class="layui-card-header-min"><b>使用步骤</b></div>
<div class="layui-card-body">
<p>❶ 下载:根据您的操作系统下载对应版本</p>
<p>❷ 执行:下载到电脑,双击即可开始使用</p>
<p>注意①:建议不安装到“C:\Program Files (x86)”等目录,否则需“以管理员身份运行”</p>
<p>注意②:自定义配置,修改config.ini文件</p>
<pre>

[gateway]
<pre>[gateway]
ListenAddr = ":88" # 配置IP和端口
Domain = "test.com:88" # 可选/访问域名
[pass]
Path = "files" # 文件管理根目录
</pre>
Path = "files" # 文件管理根目录</pre>
</div>
</div>

<div class="layui-card">
<div class="layui-card-header"><b>使用场景</b></div>
<div class="layui-card-header-min"><b>使用场景</b></div>
<div class="layui-card-body">
<p><b>手机与电脑共享文件</b></p>
<p>电脑上执行 -> 手机扫码访问“传输URL”,在手机上传文件到电脑,或下载文件到手机</p>
Expand All @@ -82,7 +80,7 @@
</div>

<div class="layui-card">
<div class="layui-card-header"><b>开源软件</b></div>
<div class="layui-card-header-min"><b>开源软件</b></div>
<div class="layui-card-body">
<p> 百灵快传(B0Pass) —— 追求极致简洁的共享工具软件。</p>
<p> 自2019年开源至今,已经发布数十的版本,并持续更新优化中。</p>
Expand All @@ -98,5 +96,7 @@

</div>

<script src="assets/lib/layui/layui.js"></script>
<script src="assets/js/page.js"></script>
</body>
</html>
Loading

0 comments on commit aabb493

Please sign in to comment.