简单的链接中心软件yal

在这里插入图片描述

什么是 yal ?

yal(Yet Another Landingpage) 是一个简单的链接中心,用于显示和搜索链接。允许轻松打造品牌,以最少的权限运行并且易于使用。可以设置吉祥物和徽标(目前是强制性的)。

软件特点

  • 静态生成的站点
  • 单个静态编译的 go 二进制文件
  • 默认情况下以非 root 身份运行
  • 集成任何搜索引擎
  • 简单直观的设计
  • 综合搜索
  • 启动时内联外部图像
  • 无依赖性

准备

yal 通过 json 配置文件维护链接和搜索引擎

items.json

items.json 用于配置要显示的链接

[{"title": "<章节标题>","entries": [{"text": "<显示链接文本>","link": "<链接>","description": "<搜索和悬停时的简短描述>","icon": "<url或本地路径,可以是相对的;需要容器可以访问,并在启动时内联>"}]}
]

下面是一个示例,因为使用了中文,记得使用 UTF-8 编码

[{"title": "内网","entries": [{"text": "DS3617xs","link": "http://192.168.0.197:5000","description": "DS3617xs管理入口","icon": "https://icons.iconarchive.com/icons/simpleicons-team/simple/256/synology-icon.png"},{"text": "DS918","link": "http://192.168.0.199:5000","description": "DS918管理入口","icon": "https://icons.iconarchive.com/icons/simpleicons-team/simple/256/synology-icon.png"},{"text": "路由器","link": "http://192.168.0.1","description": "主路由器管理入口","icon": "https://icons.iconarchive.com/icons/inipagi/job-seeker/256/route-icon.png"}]},{"title": "常用","entries": [{"text": "老苏的blog","link": "https://laosu.tech","description": "老苏的博客","icon": "https://icons.iconarchive.com/icons/aha-soft/3d-social/256/Blog-icon.png"},{"text": "CSDN","link": "https://blog.csdn.net/wbsu2004","description": "CSDN上的博客","icon": "https://icons.iconarchive.com/icons/chromatix/keyboard-keys/128/blog-icon.png"}]}
]

searchEngines.json

searchEngines.json 用于配置搜索引擎,使搜索框显示为最后一个元素

[{"title": "Name","urlPrefix": "https://my.search?text=<搜索词>"}
]

下面是一个示例

[{"title": "Bing","urlPrefix": "https://www.bing.com/search?q="},{"title": "baidu","urlPrefix": "https://www.baidu.com/s?wd="}
]

上面两个设置文件,需放在 config 目录中

图片

目前的版本,吉祥物和徽标是强制的,所以还需要准备 4 个图片文件

为了方便,老苏将需要的文件打包放在了这里: https://github.com/wbsu2003/synology/raw/main/yal/yal.zip,需下载解压后放入 docker 目录

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 timoreymann/yal ,版本选择 latest

本文写作时, latest 版本对应为 1.0.0

yal.zip 解压在 docker 文件夹中,默认带了 3 个子文件夹

文件夹装载路径说明
docker/yal/config/app/config存放设置文件文件
docker/yal/icons/app/icons存放本地 icon 文件
docker/yal/images/app/images存放图片文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
20242024

默认没有对外暴露端口

需要点 + 号自行添加

环境

可变
YAL_PORT监听端口
YAL_PAGE_TITLE页面标题
YAL_CONFIG_FOLDER指定设置文件目录
YAL_IMAGES_FOLDER指定图片文件目录
YAL_MASCOT吉祥物图片文件名,不需要带扩展名,目前只支持本地图片
YAL_LOGOlogo 标志图片文件名,不需要带扩展名,目前只支持本地图片
YAL_BACKGROUND背景图片文件名,不需要带扩展名,目前只支持本地图片
YAL_FAVICON图标图片文件名,不需要带扩展名,目前只支持本地图片

只需要添加 YAL_PAGE_TITLE,其他的都用默认值即可

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 yal 和 子目录
mkdir -p /volume1/docker/yal/{config,icons,images}# 进入 yal 目录
cd /volume1/docker/yal# 运行容器
docker run -d \--name yal \--restart always \-p 2024:2024 \-v $(pwd)/config:/app/config \-v $(pwd)/icons:/app/icons \-v $(pwd)/images:/app/images \-e YAL_PORT=2024 \-e YAL_PAGE_TITLE="老苏的 nas 主页" \-e YAL_CONFIG_FOLDER=/app/config \-e YAL_IMAGES_FOLDER=/app/images \-e YAL_MASCOT=mascot \-e YAL_LOGO=logo \-e YAL_BACKGROUND=background \-e YAL_FAVICON=favicon \timoreymann/yal:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

因为使用了中文标题,记得使用 UTF-8 编码保存

version: "3.5"services:yal:image: timoreymann/yal:latestcontainer_name: yalrestart: alwaysports:- 2024:2024volumes:- ./config:/app/config- ./icons:/app/icons- ./images:/app/imagesenvironment:YAL_PORT: 2024YAL_PAGE_TITLE: 老苏的 nas 主页YAL_CONFIG_FOLDER: /app/configYAL_IMAGES_FOLDER: /app/imagesYAL_MASCOT: mascotYAL_LOGO: logoYAL_BACKGROUND: backgroundYAL_FAVICON: favicon

然后执行下面的命令

# 新建文件夹 yal 和 子目录
mkdir -p /volume1/docker/yal/{config,icons,images}# 进入 yal 目录
cd /volume1/docker/yal# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:2024 就能看到主界面

点击搜索栏

支持动态搜索显示

每输入一个字都会过滤结果

参考文档

timo-reymann/yal: A simple link hub, to display and search links. Allows easy branding, runs with the least privileges and is simple to use.
地址:https://github.com/timo-reymann/yal

Link Hub | ACME Corp
地址:https://timo-reymann.github.io/yal/

YAL - Yet another landing page : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1bq93ya/yal_yet_another_landing_page/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/579041.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于java+springboot+vue实现的二手闲置物品置换系统(文末源码+Lw+ppt)23-375

摘 要 大学生二手闲置物品置换交易管理系统设计的目的是为用户提供免费物品、积分物品等功能。 与其它应用程序相比&#xff0c;大学生二手闲置物品置换交易的设计主要面向于学校&#xff0c;旨在为管理员和卖家、用户提供一个大学生二手闲置物品置换交易管理系统。用户可以…

爬虫学习(爬取音乐)

import re import requestsurl "http://www.yy8844.cn/ting/numes/sussoc.shtml" response requests.get(url) response.encoding "gbk" # print(r.text) #第一步&#xff0c;访问网页获取MusicID p re.compile(r"MusicId(.*?);",re.S) prin…

HAProxy + Vitess负载均衡

一、环境搭建 Vitess环境搭建&#xff1a; 具体vitess安装不再赘述&#xff0c;主要是需要启动3个vtgate&#xff08;官方推荐vtgate和vtablet数量一致&#xff09; 操作&#xff1a; 在vitess/examples/common/scripts目录中&#xff0c;修改vtgate-up.sh文件&#xff0c;…

unity内存优化Texture2D优化

作为unity开发者&#xff0c;我们使用memory Profiler来查看内存&#xff0c;本期我们项目中Texture2D的内存占有比较高&#xff0c;为了对这块做优化我们先看下内存的占有情况。 step1 使用memory Profiler对手机应用程序截图 打开截取后的内存页面&#xff0c;选择顶部Unit…

Linux(CentOS7)安装 MongoDB

目录 下载 上传 解压 创建mongodb.conf 创建数据文件夹和日志文件夹 启动服务 创建软链接 安装客户端 下载 上传 安装 下载 官方地址&#xff1a; Download MongoDB Community Server | MongoDBhttps://www.mongodb.com/try/download/community 上传 将下载好的 …

30.Python从入门到精通—Python3 命名空间和作用域 命名空间 作用域

30.从入门到精通&#xff1a;Python3 命名空间和作用域 命名空间 作用域 Python3 标准库概览 操作系统接口 文件通配符 命令行参数 错误输出重定向和程序终止 字符串正则匹配 访问 互联网 日期和 个人简介Python3 命名空间和作用域命名空间作用域 Python3 标准库概览操作系统接…

接口自动化框架搭建(九):接入钉钉消息通知

1&#xff0c;jenkins安装钉钉插件 2&#xff0c;在钉钉群聊设置机器人 3&#xff0c;jenkins配置钉钉 根据情况选择&#xff1a; 除了这些&#xff0c;其他不用配置&#xff0c;配置完成点击确认 4&#xff0c;项目配置 添加后保存 5&#xff0c;测试下效果 构建完成后&a…

常见手撕项目C++

常见手撕项目C 设计模式单例模式饿汉模式懒汉模式 策略模式策略接口实现具体的策略&#xff08;虚函数重写&#xff09;定义上下文用户调用 代码使用函数模板写冒泡排序写一个类模板 设计模式 单例模式 单例模式是一种常用的软件设计模式&#xff0c;其目的是确保一个类只有一…

2024 批量下载雪球文章导出pdf,以市场高标解读这个号为例

之前分享过我开发的雪球文章批量下载工具 2023 年苏生不惑开发的第 1 个工具 &#xff0c;最近又更新了下&#xff0c;今天以市场高标解读这个号为例。 首先登陆雪球账号&#xff0c;获取工具后打开工具输入雪球主页地址和浏览器cookie &#xff0c;如何获取cookie见教程 总有人…

Gitea 的详细介绍

什么是 Gitea&#xff1f; Gitea 是一个开源、轻量级的自托管 Git 服务&#xff0c;它允许用户搭建类似于 GitHub 或 GitLab 的代码托管平台。由于采用 Go 语言开发&#xff0c;Gitea 具有高效的性能和跨平台特性&#xff0c;适合个人开发者或小团队使用。 Gitea 的特点 轻量…

机器学习实验作业一----knn算法

机器学习课程的第一个算法knn算法&#xff0c;全称K-Nearest Neighbor&#xff0c;k最邻近算法&#xff0c;为机器学习中最常用&#xff0c;也是最简单的算法。KNN通过测量不同特征值之间的距离来进行分类。本文实现的是较为简单的knn算法&#xff0c;包括测试集&#xff0c;训…

【c++】类和对象(五)赋值运算符重载

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本篇文章带大家认识赋值运算符重载&#xff0c;const成员&#xff0c;取地址及const取地址操作符重载等内容 目录 1.赋值运算符重载1.1运算符重载1.1.1特性&#…