实测Docker搭建短链接服务YOURLS
URL缩短服务。可以让你在自己的服务器上运行的URL缩短服务
URL简化可以完全控制自己的数据,包括简单的统计、分析和许多插件
2024年10月25日:迁移数据库中的内容, 从carlzeng.top切换至carlzeng.com. 体现yourls工具的优势了.top域名开始陆续挂掉, 而拥有缩短服务的链接在后台一修改到新的地址, 原先的链接就依旧有效
2023年12月30日:逃离mysql数据库,拥抱它的分支MariaDB
原因:mysql在意外断电后,在此开启docker时报错无法解决,相比之下mariadb好香
有什么用
URL缩短服务。可以让你在自己的服务器上运行的URL缩短服务
URL简化, 还可以完全控制自己的数据,包括统计、分析、还可以安装一些插件。
发布clash的url链接,进行管理 【done yourls setup】
网上现成的其他方案,有的弊端很明显(有的进行隐藏式特殊的跳转)
现成网址缩短 url
短网址
https://t.hk.uy/b5kg
https://netlify.carlzeng.com 暂不支持您输入的域名(后缀)。
使用这个网址来缩短: https://sage-halva-bac054.netlify.app
https://t.hk.uy/b6qy
轻松缩短链接
https://goo.su/BwRaE1T
https://goo.su/prTA5T5
縮短網址產生器
https://tinyurl.com/yurgh2fm
老牌免费短网址工具
http://s8u.cn/HIG7o
优美,但无法接受:先跳转到一个链接以后,在恢复原始网址。
转变思路:
还是用自己的域名做Nname更短,
自己搭建一个短网址服务;短链接服务
实现方法及过程笔记
图文教程
【好玩儿的Docker项目】10分钟搭建一个自己的短链接服务——YOURLS
【伺服器】如何使用Docker自架私有短網址YOURLS服務
过程+遇到的问题及解决方案
bt 中新建docker-compose模版,
docker-compose -f yours.yml up
然后防火墙开放8200
添加了一条防火墙规则后,无法连接bt面板了;
自己搭建一个短网址服务;短链接服务
https://blog.laoda.de/archives/docker-compose-install-yourls/index.html
https://www.youtube.com/watch?v=pz3XZG_QZ-U
旧版https://www.cnblogs.com/CyLee/p/16152673.html
1 | version: "3.5" |
报错误:
1 | yours_mysql | 2023-11-07 13:33:44+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' |
成功了,原来是sql的 docker-compose,映射,写错了,
- ./mysql/conf/:/etc/mysql/conf.d
应该是:
- ./mysql/conf/:/etc/mysql/conf
安装QR Code插件
过程非常简单:https://yourls.org/docs/development/examples/qrcode
配置:同一条链接对应多个短链接
同样是在刚刚修改语言的地方…/yourls_data/user/config.php
下面一行,把这个改成true就可以了~ (正常应该改成false才对的,感觉是个BUG = =)
1 | /** Allow multiple short URLs for a same long URL |
新增其他功能列表
YOURLS Password Protection
https://c.carlzeng.com:3/yourls
Migration to MariaDB [Done]
这些都不着急,如何把该死的数据库从mysql换mariadb才是硬道理,数据都丢2次了;只要是意外关闭这个docker(比如强制断电后恢复通电,强制跳掉整台虚拟机),都会导致mysql无法正常启动,导致数据丢失.
切换成功, 把上面的yaml中的mysql数据库部分切换成这样,就ok了,
期待下次意外断电或任何特殊情况下的数据恢复表现。
1 |
|
灵感来源
持续更新中
Docker yours_mysql不断重启的
yours_mysql,查看日志:
1 | 2023-11-19 11:58:34+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.44-1.el7 started. |
安装目录:cd /www/server/panel/data/compose/yourls_service/template
发现是mysql 的冲突了
1 | docker update --restart=no mysql |
docker exec -it yourls_mysql /bin/bash
无法进入。
the issue is about the volume.
https://www.youtube.com/watch?v=pFQC2F8SRag
- docker info
Docker Root Dir: /var/lib/docker - cd /var/lib/docker
- cd volumes/
- ls
backingFsBlockDev metadata.db
没有发现视频中说的额外的volume,也就无从删除
20231120 无法解决[已解决];直接更换docker的映射目录,全部重装。数据丢失(包含缩短网址的数据和访问统计数据)。
这样配置的端地址的列表,要支持导出(或备份);在特殊情况下,直接全部重来(更省时)
完成的方案是:使用GautamGupta/YOURLS-Import-Export插件即可轻松实现导出和导入功能
详细的安装步骤为
- Download the zip.
- Extract the zip.
- Put the YOURLS-Import-Export folder in the user/plugins directory.
- Activate the plugin.
- Restart the docker
docker-compose -f ‘yourls_service.yaml’ restart
感受:非常好用,比如导出了一个当前的所有链接yourls_export.csv
衍生阅读:https://github.com/YOURLS/awesome#plugins
这个Plugins列表是按英文字母的顺序分类排列的,具体还是在页面上搜索文本来查找所需的功能
Next TODO
功能:分析用户的具体属性信息,比如IP地址,GEO地址,类似于statcounter.com那样的详细列表
yourls-geoip-update
https://mirror.ghproxy.com/https://github.com/ozh/yourls-geoip-update/archive/refs/heads/master.zip
1 | Database not updated. |
20231208 尝试在目录下手工更新mmdb数据库文件 ./yourls_data20231120/includes/geo
- 上传GeoLite2-City.mmdb
- 复制并覆盖原先的GeoLite2-Country.mmdb
- 这样就有两个从原先5.41MB的文件变成了两个最新版64.34MB的文件
- TODO 静观其变
20231216 实践证明没有变化。下一步动作
下载alecthw/mmdb_china_ip_list获得文件Country.mmdb
上传至./yourls_data20231120/includes/geo,覆盖原先的GeoLite2-Country.mmdb.
重启Docker,TODO 静观其变
优缺点
Yourls的优点
很多插件可以随意拼装。插件列表:https://github.com/YOURLS/awesome
Yourls的缺点
统计功能很初级,很弱;基本上在搞笑的级别。
文档也不清晰易得,GeoIP update失败,那么手动上传IP数据到那么目录呢? 居然google不到
Docker安装X-UI
docker 搭建 支持单端口多用户、多协议的 xray 面板,究极缝合怪
使用FranzKafkaYu/x-ui版本,仅需要讲上述镜像修改为 enwaiax/x-ui:alpha-zh
由于telegram bot暂时没用,切换回第一个默认https://github.com/vaxilu/x-ui
1 | version: "3.9" |
新建目录,并把上面的配置放到x-ui.yaml中
root@Debian11:/www/server/panel/data/compose/x-ui/template# docker-compose -f x-ui.yaml up
https://www.amadues.link/archives/dockerda-jian-jie-dian-vless-ws-tls-web
docker-compose.yaml的方案follow:https://hostloc.com/thread-1108468-1-1.html
配置的方案follow:https://iwanlab.com/npm-xui/
相关的视频:https://www.youtube.com/watch?v=V3nsDicSMBc
待测试:vless://39fde2d2-c88c-4bea-d491-fb6990d49741@vmess.carlzeng.com:17866?type=ws&security=none&path=%2Fgugu#gugugee
可以打开后台配置 http://192.168.6.116:54321/fk/xui/
没成功…期待更多的客户端连接测试, 等救援
思路有问题:x-ui是一个服务端的节点!
待续。。。