html2canvas开源的网页生成图片js脚本

开源地址:https://github.com/niklasvh/html2canvas

该脚本允许您直接在用户浏览器上对网页或部分网页进行“截图”。截图是基于DOM的,因此可能不是100%准确的真实的表示,因为它没有制作实际的截图,而是基于页面上可用的信息构建截图。

例子:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTML to Image Example</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.3.2/html2canvas.min.js"></script>
</head>
<body>

<div id="content">
<!-- 这里是你想要生成图片的HTML内容 -->
<h1>Hello World</h1>
<p>这是一个例子。</p>
</div>

<button onclick="convertToImage()">生成图片</button>

<script>
function convertToImage() {
html2canvas(document.querySelector("#content")).then(canvas => {
// 创建一个图片元素
var img = new Image();
// 将canvas转换为DataURL格式的图片
img.src = canvas.toDataURL("image/png");
// 将图片添加到DOM中以便查看
document.body.appendChild(img);
});
}
</script>

</body>
</html>

该脚本通过阅读DOM和应用于元素的不同样式,将当前页面呈现为画布图像。

它不需要服务器的任何渲染,因为整个图像都是在客户端的浏览器上创建的。然而,由于它严重依赖于浏览器,这个库不适合在nodejs中使用。它也不会神奇地规避任何浏览器内容策略限制,因此渲染跨源内容将需要一个代理将内容获取到同一个源。

该脚本仍处于非常实验性的状态,因此我不建议在生产环境中使用它,也不建议开始使用它构建应用程序,因为仍然会有重大的更改。

浏览器兼容性
该库应该在以下浏览器上工作正常(使用 Promise polyfill):

Firefox 3.5+
谷歌Chrome
Opera 12+
IE9+
Safari浏览器6+
由于每个CSS属性都需要手动构建才能支持,因此有许多属性尚未支持。

IPTVnator管理和播放IPTV内容

开源地址:https://github.com/4gray/iptvnator

支持中文。

IPTVnator 是一款免费的跨平台视频播放器应用程序,专门设计用于管理和播放IPTV内容。它支持播放IPTV播放列表格式,包括m3u和m3u8文件,用户可以通过输入远程URL或从本地文件系统上传来导入播放列表。此播放器还集成了对基于XMLTV的EPG(电子节目指南)的支持,意味着用户可以获取频道的节目信息。

IPTVnator可在多种操作系统上使用,包括Linux、macOS、和Windows,提供了一个统一的观看体验。此外,它还支持以Progressive Web App (PWA)的形式直接从浏览器使用,从而间接地支持了iOS和Android平台。这意味着用户不仅可以在桌面设备上享受服务,还可以在移动设备的浏览器上使用它。

值得注意的是,尽管IPTVnator提供了便利的功能,但它在播放某些特定流媒体地址时的性能可能不如其他专业播放器如PotPlayer。此外,它支持通过Docker部署到服务器或NAS(Network Attached Storage)设备上,为用户提供自托管的Web界面管理选项,增加了灵活性和便利性。

综上所述,IPTVnator是一个综合性的解决方案,适合那些需要在多平台上管理和播放IPTV内容的用户,尤其是偏好开源和自托管服务的用户群体。

frp服务端配置文件frps.toml参考

 

frp服务端配置文件frps.toml参考

bindAddr = "10.1.5.1"
bindPort = 7000
kcpBindPort = 7000
vhostHTTPPort = 8080
vhostHTTPSPort = 8081
subDomainHost = "xxxx.net"
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "user"
webServer.password = "xxxx"
transport.maxPoolCount = 50
auth.token = "xxxx"
custom404Page = "/frps/404.html"

frps.service文件及路径

/etc/systemd/system/frps.service

[Unit]
Description = Frp Server Service
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
User=root
Group=root
Restart = on-failure
RestartSec = 5s
ExecStart = /frps/frps -c /frps/frps.toml
LimitNOFILE = 1048576

[Install]
WantedBy = multi-user.target

 

电影《大空头》(The Big Short)

不懂之事,自会小心;惹祸上身,皆是自以为是。” ——马克·吐温

It ain't what you don't know that gets you into trouble.It's what you know for sure that just ain't so.

——Mark Twain

让我们陷入困境的不是无知,而是看似正确的谬误论断。——马克·吐温

Everyone, deep in their hearts, is waiting for the end of the world to come.
——Haruki Murakami
其实 每个人的内心深处, 都在期待着世界末日的降临
——村上春树

batocera

官网:https://batocera.org/

Batocera,中文名被称为:巴托塞拉,它 是一个把各种游戏模拟器集中到一起的linux系统。所以它的英文的全称为Batocera.linux 。