Forwarded from Yuuta 🎀
Updating 8a161b9..9d2cf8c
Fast-forward
agent/src/main/java/moe/yuuta/dn42peering/agent/Main.java | 7 +-
agent/src/main/java/moe/yuuta/dn42peering/agent/grpc/AgentServiceImpl.java | 124 ++++++--------------------
agent/src/main/java/moe/yuuta/dn42peering/agent/provision/BGPProvisioner.java | 145 ++++++++++++++++++++++++++++++
agent/src/main/java/moe/yuuta/dn42peering/agent/provision/Change.java | 27 ++++++
agent/src/main/java/moe/yuuta/dn42peering/agent/provision/CommandChange.java | 27 ++++++
agent/src/main/java/moe/yuuta/dn42peering/agent/provision/FileChange.java | 66 ++++++++++++++
agent/src/main/java/moe/yuuta/dn42peering/agent/provision/IProvisionService.java | 84 ------------------
agent/src/main/java/moe/yuuta/dn42peering/agent/provision/IProvisioner.java | 12 +++
agent/src/main/java/moe/yuuta/dn42peering/agent/provision/ProvisionServiceImpl.java | 302 ---------------------------------------------------------------
agent/src/main/java/moe/yuuta/dn42peering/agent/provision/ProvisionVerticle.java | 36 --------
agent/src/main/java/moe/yuuta/dn42peering/agent/provision/WireGuardProvisioner.java | 199 +++++++++++++++++++++++++++++++++++++++++
agent/src/main/resources/bird2.conf.ftlh | 12 +++
agent/src/main/resources/bird2_v4.conf.ftlh | 5 --
agent/src/main/resources/bird2_v6.conf.ftlh | 4 -
central/build.gradle | 2 +
central/src/main/java/moe/yuuta/dn42peering/Main.java | 34 +++++--
central/src/main/java/moe/yuuta/dn42peering/admin/AdminHandler.java | 19 +++-
central/src/main/java/moe/yuuta/dn42peering/admin/AdminUI.java | 72 ++++++++++-----
central/src/main/java/moe/yuuta/dn42peering/admin/nodes/NodeAdminUI.java | 142 ++++++++++++++++++++++++++++++
central/src/main/java/moe/yuuta/dn42peering/admin/nodes/NodeHandler.java | 285 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
central/src/main/java/moe/yuuta/dn42peering/asn/ASNHttpVerticle.java | 1 +
central/src/main/java/moe/yuuta/dn42peering/asn/ASNServiceImpl.java | 16 +++-
central/src/main/java/moe/yuuta/dn42peering/asn/ASNVerticle.java | 12 ++-
central/src/main/java/moe/yuuta/dn42peering/asn/IASNService.java | 4 +
central/src/main/java/moe/yuuta/dn42peering/database/DatabaseConfiguration.java | 46 ++++++++++
central/src/main/java/moe/yuuta/dn42peering/database/DatabaseMigration.java | 91 +++++++++++++++++++
central/src/main/java/moe/yuuta/dn42peering/database/DatabaseUtils.java | 42 +++++++++
central/src/main/java/moe/yuuta/dn42peering/database/package-info.java | 4 +
central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java | 37 +++++---
central/src/main/java/moe/yuuta/dn42peering/manage/ManagementProvision.java | 199 -----------------------------------------
central/src/main/java/moe/yuuta/dn42peering/node/DuplicateNodeException.java | 4 +
central/src/main/java/moe/yuuta/dn42peering/node/INodeService.java | 12 +++
central/src/main/java/moe/yuuta/dn42peering/node/Node.java | 18 ++--
central/src/main/java/moe/yuuta/dn42peering/node/NodeServiceImpl.java | 100 +++++++++++++++++++--
central/src/main/java/moe/yuuta/dn42peering/node/NodeVerticle.java | 12 ++-
central/src/main/java/moe/yuuta/dn42peering/peer/DuplicatePeerException.java | 4 +
Forwarded from Yuuta 🎀
central/src/main/java/moe/yuuta/dn42peering/peer/IPeerService.java | 9 ++
central/src/main/java/moe/yuuta/dn42peering/peer/Peer.java | 55 +++++++-----
central/src/main/java/moe/yuuta/dn42peering/peer/PeerServiceImpl.java | 86 +++++++++++++-----
central/src/main/java/moe/yuuta/dn42peering/peer/PeerVerticle.java | 12 ++-
central/src/main/java/moe/yuuta/dn42peering/portal/HTTPPortalVerticle.java | 10 +++
central/src/main/java/moe/yuuta/dn42peering/provision/BGPRequestCommon.java | 127 ---------------------------
central/src/main/java/moe/yuuta/dn42peering/provision/IProvisionRemoteService.java | 34 +------
central/src/main/java/moe/yuuta/dn42peering/provision/NodeCommon.java | 112 -----------------------
central/src/main/java/moe/yuuta/dn42peering/provision/ProvisionRemoteServiceImpl.java | 148 ++++++++++++++-----------------
central/src/main/java/moe/yuuta/dn42peering/provision/ProvisionVerticle.java | 1 +
central/src/main/java/moe/yuuta/dn42peering/provision/WGRequestCommon.java | 155 --------------------------------
central/src/main/java/moe/yuuta/dn42peering/whois/WhoisVerticle.java | 1 +
central/src/main/resources/admin/index.ftlh | 30 +++++++
central/src/main/resources/admin/nodes/edit.ftlh | 16 ++++
central/src/main/resources/admin/nodes/form.ftlh | 76 ++++++++++++++++
central/src/main/resources/admin/nodes/new.ftlh | 13 +++
docs/central/sql/0-init.sql => central/src/main/resources/db/migration/V1__Init.sql | 1 -
docs/central/sql/1.sql => central/src/main/resources/db/migration/V2__Node_Add_NonLL.sql | 0
central/src/main/resources/db/migration/V3__Node_PublicIP_30.sql | 1 +
central/src/main/resources/db/migration/V4__Node_Internal_IP_Unique.sql | 1 +
central/src/main/resources/db/migration/V5__Peer_Node_ASN_Unique.sql | 1 +
central/src/main/resources/index.ftlh | 6 ++
central/src/main/resources/manage/index.ftlh | 2 -
docs/central/Configuration.md | 3 +-
docs/central/Database.md | 35 +++++++-
docs/central/sql/agent.sql | 24 -----
rpc-common/src/main/proto/agent.proto | 54 ++++++------
63 files changed, 1792 insertions(+), 1427 deletions(-)
create mode 100644 agent/src/main/java/moe/yuuta/dn42peering/agent/provision/BGPProvisioner.java
create mode 100644 agent/src/main/java/moe/yuuta/dn42peering/agent/provision/Change.java
create mode 100644 agent/src/main/java/moe/yuuta/dn42peering/agent/provision/CommandChange.java
create mode 100644 agent/src/main/java/moe/yuuta/dn42peering/agent/provision/FileChange.java
delete mode 100644 agent/src/main/java/moe/yuuta/dn42peering/agent/provision/IProvisionService.java
create mode 100644 agent/src/main/java/moe/yuuta/dn42peering/agent/provision/IProvisioner.java
delete mode 100644 agent/src/main/java/moe/yuuta/dn42peering/agent/provision/ProvisionServiceImpl.java
delete mode 100644 agent/src/main/java/moe/yuuta/dn42peering/agent/provision/ProvisionVerticle.java
create mode 100644 agent/src/main/java/moe/yuuta/dn42peering/agent/provision/WireGuardProvisioner.java
create mode 100644 agent/src/main/resources/bird2.conf.ftlh
delete mode 100644 agent/src/main/resources/bird2_v4.conf.ftlh
delete mode 100644 agent/src/main/resources/bird2_v6.conf.ftlh
create mode 100644 central/src/main/java/moe/yuuta/dn42peering/admin/nodes/NodeAdminUI.java
Forwarded from Yuuta 🎀
create mode 100644 central/src/main/java/moe/yuuta/dn42peering/admin/nodes/NodeHandler.java
create mode 100644 central/src/main/java/moe/yuuta/dn42peering/database/DatabaseConfiguration.java
create mode 100644 central/src/main/java/moe/yuuta/dn42peering/database/DatabaseMigration.java
create mode 100644 central/src/main/java/moe/yuuta/dn42peering/database/DatabaseUtils.java
create mode 100644 central/src/main/java/moe/yuuta/dn42peering/database/package-info.java
delete mode 100644 central/src/main/java/moe/yuuta/dn42peering/manage/ManagementProvision.java
create mode 100644 central/src/main/java/moe/yuuta/dn42peering/node/DuplicateNodeException.java
create mode 100644 central/src/main/java/moe/yuuta/dn42peering/peer/DuplicatePeerException.java
delete mode 100644 central/src/main/java/moe/yuuta/dn42peering/provision/BGPRequestCommon.java
delete mode 100644 central/src/main/java/moe/yuuta/dn42peering/provision/NodeCommon.java
delete mode 100644 central/src/main/java/moe/yuuta/dn42peering/provision/WGRequestCommon.java
create mode 100644 central/src/main/resources/admin/nodes/edit.ftlh
create mode 100644 central/src/main/resources/admin/nodes/form.ftlh
create mode 100644 central/src/main/resources/admin/nodes/new.ftlh
rename docs/central/sql/0-init.sql => central/src/main/resources/db/migration/V1__Init.sql (96%)
rename docs/central/sql/1.sql => central/src/main/resources/db/migration/V2__Node_Add_NonLL.sql (100%)
create mode 100644 central/src/main/resources/db/migration/V3__Node_PublicIP_30.sql
create mode 100644 central/src/main/resources/db/migration/V4__Node_Internal_IP_Unique.sql
create mode 100644 central/src/main/resources/db/migration/V5__Peer_Node_ASN_Unique.sql
delete mode 100644 docs/central/sql/agent.sql
The account of the user that owns this channel has been inactive for the last 5 months. If it remains inactive in the next 18 days, that account will self-destruct and this channel may no longer have an owner.
Forwarded from dnaugsuz
fetch还有这么多选择,然后 es6兼容、模块也不止babel ,不过我一般只写ts或原生es6/dom🙈 ,不用虚拟dom
WASM还算好 ,其它npm真的一群无聊的概念,做不好还硬做,函数式也是科普不好还硬广
WASM还算好 ,其它npm真的一群无聊的概念,做不好还硬做,函数式也是科普不好还硬广
Forwarded from dnaugsuz
b,i是html定义的,未来肯定支持 img=alt src 这种用户定义
然后我最近在忙绘制科普的视频,任务队列还有一大堆
然后我最近在忙绘制科普的视频,任务队列还有一大堆
Forwarded from ┗|∵|┓Hz ❁ HoneyWorks
Forwarded from dnaugsuz
然后你的还支持 sym.context ,能bind数组吧,我之前弄的还在试验阶段
el'' ({}) 大概就是 el(emet'', wAll().xxx ,childs ) 这样,但是我得考虑classList需动态更新
https://github.com/duangsuse/mkey/blob/main/making_reco/exper.js#L128
它是靠call(this=new Proxy 然后检查,但对Array有专门优化的key变更计算方法
然后你这个也支持 DOMMutation $edit:v=> 啊.. 然后parser组合子还挺正经的,居然还monad
el'' ({}) 大概就是 el(emet'', wAll().xxx ,childs ) 这样,但是我得考虑classList需动态更新
https://github.com/duangsuse/mkey/blob/main/making_reco/exper.js#L128
它是靠call(this=new Proxy 然后检查,但对Array有专门优化的key变更计算方法
然后你这个也支持 DOMMutation $edit:v=> 啊.. 然后parser组合子还挺正经的,居然还monad
GitHub
mkey/exper.js at main · duangsuse/mkey
Monkey🙉, a relational interpreter using goal/unify(a,b), ES6 ver of miniKanren - mkey/exper.js at main · duangsuse/mkey
┗|∵|┓Hz ❁ HoneyWorks
https://github.com/codehz/bin.js/blob/master/test.html
这个Parser还挺经典的, next=> s=> regex.exec(s) ret={next:s.slice(N), result: } 就是函数式后缀回溯parser, 用CPS也是
genXX 就是暴露全局变量(如createElm/SVG)为参数. genMonad=(z,b,a=NO)=>{ f=z.next(a);b,a=f(b) } ;其中 a=next,b=res ,!next返回f; 然后 func* parseElm() 来实现顺序,真·经典Monad Parser Combinator.. 只是照我的讲法没有Mon内味了,只像在缩短f(b) 变量,因为(a,b)是无关mon的; 不过也体现纯函数不能改变量,只能缩小参数,靠z.next提供do(>>=) 的限制
的确是很大的约束,函数的值仅据no-mut参数确定,后缀需要靠yield tail=> 来提供变参,执行,不然就不纯(打散循环,隐式上次结果已经够好了,CPS都不会返回)
yield相当于 f(tail=>) 吗?这里f实际上也是不纯的(含b变量),mon的妙处在于时间和变量上,RealWorld和表达式是没有交集的,所以可以用休眠循环替代伪(尾)递归;对我而言这类是意义全无的,但作为文字游戏仍有趣
render就是加个dataset["data-x-y".replace(/-(\w)/,(_,k)=>k.toUpperCase())]=xY
genStr
f=(s,...v)=>s.slice(1).reduce((ac,x,i)=>ac+v[i]+x,s[0])//首(次v末x)* 项
genXX 就是暴露全局变量(如createElm/SVG)为参数. genMonad=(z,b,a=NO)=>{ f=z.next(a);b,a=f(b) } ;其中 a=next,b=res ,!next返回f; 然后 func* parseElm() 来实现顺序,真·经典Monad Parser Combinator.. 只是照我的讲法没有Mon内味了,只像在缩短f(b) 变量,因为(a,b)是无关mon的; 不过也体现纯函数不能改变量,只能缩小参数,靠z.next提供do(>>=) 的限制
的确是很大的约束,函数的值仅据no-mut参数确定,后缀需要靠yield tail=> 来提供变参,执行,不然就不纯(打散循环,隐式上次结果已经够好了,CPS都不会返回)
yield相当于 f(tail=>) 吗?这里f实际上也是不纯的(含b变量),mon的妙处在于时间和变量上,RealWorld和表达式是没有交集的,所以可以用休眠循环替代伪(尾)递归;对我而言这类是意义全无的,但作为文字游戏仍有趣
render就是加个dataset["data-x-y".replace(/-(\w)/,(_,k)=>k.toUpperCase())]=xY
genStr
a${1}b =push(str,param),join 是什么鬼.. 一般f=(s,...v)=>s.slice(1).reduce((ac,x,i)=>ac+v[i]+x,s[0])//首(次v末x)* 项
Forwarded from Rachel 🐨
我用的 Hamachi 但我的需求仅限于不超过五台设备的场景(
可以考虑 https://beebom.com/hamachi-alternatives/
可以考虑 https://beebom.com/hamachi-alternatives/
Beebom
Top 12 Hamachi Alternatives for Virtual LAN Gaming
Tired of limitations in LogMeIn Hamachi and looking for Hamachi like programs? Here are top 12 Hamachi alternatives (free and paid) for virtual LAN gaming.
Forwarded from Deleted Account
Telegram
iQDNS - 频道Channel
iQDNS 自建免费公益长期服务 ZeroTier One 月球Moon中继服务器(BGP G口)
可用于远程桌面,文件传输,自建代理,开游戏服务器,以及一切需要公网IP才能做到的事情,只要你的服务器/电脑 支持公网访问 就可以利用该软件全端口内网穿透。
中继服务器位于广东深圳三线服务器(联通、电信、移动) 最高频宽1Gbps 欢迎使用。
基于ZeroTier内网穿透技术。只需加入我们的ZeroTier房间即可使用该中继服务器,再无法P2P直连的情况下自动切换到iQMoon月球 内网穿透。
使用教程:…
可用于远程桌面,文件传输,自建代理,开游戏服务器,以及一切需要公网IP才能做到的事情,只要你的服务器/电脑 支持公网访问 就可以利用该软件全端口内网穿透。
中继服务器位于广东深圳三线服务器(联通、电信、移动) 最高频宽1Gbps 欢迎使用。
基于ZeroTier内网穿透技术。只需加入我们的ZeroTier房间即可使用该中继服务器,再无法P2P直连的情况下自动切换到iQMoon月球 内网穿透。
使用教程:…
Forwarded from 每日 AWESOME 观察
Sergio0694 / ComputeSharp
一个 .NET 5 库,用于通过DX12和动态生成的HLSL计算着色器在GPU上并行运行C#代码,目的是使所有.NET开发人员都可以轻松使用GPU计算。
但由于这个库是面向 DX12 构建的,所以无法在Linux上使用。
一个 .NET 5 库,用于通过DX12和动态生成的HLSL计算着色器在GPU上并行运行C#代码,目的是使所有.NET开发人员都可以轻松使用GPU计算。
但由于这个库是面向 DX12 构建的,所以无法在Linux上使用。
GitHub
GitHub - Sergio0694/ComputeSharp: A .NET library to run C# code in parallel on the GPU through DX12, D2D1, and dynamically generated…
A .NET library to run C# code in parallel on the GPU through DX12, D2D1, and dynamically generated HLSL compute and pixel shaders, with the goal of making GPU computing easy to use for all .NET dev...
Forwarded from 螺莉莉的黑板报