在这篇文章中,我们将探讨如何使用Cloudflare API自动切换DNS。我们将使用Uptime Kuma来监控网站运行状态,并通过webhook进行通知。我们还将运行webhookd服务来接收Uptime Kuma的请求,并在网站状态出现问题时,使用Cloudflare API切换到备用服务器。
https://github.com/louislam/uptime-kuma
https://github.com/ncarlier/webhookd
https://github.com/ncarlier/webhookd/issues/82
https://www.tech-otaku.com/web-development/using-cloudflare-api-manage-dns-records/
首先,我们需要一个工具来监控我们的网站运行状态。这里,我们选择使用Uptime Kuma,它是一个功能强大的开源监控工具,可以帮助我们实时了解网站的运行状况。
当Uptime Kuma检测到网站状态发生变化时,它可以通过webhook发送通知。我们需要运行一个webhookd服务来接收这些通知。
https://jammykam.wordpress.com/2014/06/17/add-custom-drop-down-list-to-rich-text-editor-in-sitecore/
https://www.davidbuckell.com/blogs/development/sitecore/customising-the-rich-text-editor/adding-a-custom-dropdown-to-sitecore-rich-text-editor-toolbar/
https://sitecorerunner.com/2018/08/21/adding-rte-richtext-custom-dropdown-list-in-sitecore-9/
sitecore RichTextEditor是一个强大的文本编辑器,它可以让你在sitecore中创建和编辑富文本内容。它提供了很多常用的功能,比如字体、颜色、对齐、插入图片等。但是,有时候你可能需要一些更高级的功能,比如调整文本的行高。行高是指文本行之间的垂直距离,它可以影响文本的可读性和美观性。在sitecore richtexteditor中,你可以通过修改HTML源码来设置行高,但是这样做比较麻烦,而且需要一定的HTML知识。有没有一种更简单的方法呢?答案是肯定的。在本文中,我将教你如何在sitecore richtexteditor中添加一个自定义的下拉列表,让你可以方便地选择和插入不同的行高值。
在Core库中找到Profile , eg: /sitecore/system/Settings/Html Editor Profiles/Rich Text Default/Toolbar 3
创建名称为Line Height
, 模板为 /sitecore/templates/System/Html Editor Profiles/Html Editor Custom Drop Down Button
字段Click
为自定义字符串,下面的JS中会用到,eg: InsertCustomLineHeight
子节点模板为: /sitecore/templates/System/Html Editor Profiles/Html Editor List Item
https://sitecore.stackexchange.com/questions/9763/sitecore-8-2-rich-text-editor-drop-down-items
https://web.archive.org/web/20170407075518/http://www.awareweb.com/awareblog/profilespecificstylesheets
在Sitecore中,我们可以通过修改WebStylesheet设置来为富文本编辑器(RTE)添加自定义的CSS。但是,这种方法只允许我们指定一个CSS文件。如果我们想要使用多个CSS文件,或者我们想要为特定的用户角色或设备类型指定不同的CSS,那么我们需要寻找其他的方法。
我们可以创建一个自定义类EditorConfiguration,该类用于根据Sitecore配置文件设置富文本编辑器。它重写了SetupStylesheets方法,以添加在配置文件的Stylesheets文件夹中指定的CSS文件。
https://github.com/rclone/rclone/wiki/Systemd-rclone-mount#systemd
~/.config/rclone/rclone.conf
)[Unit]
Description=RClone mount of users remote %i using filesystem permissions
Documentation=http://rclone.org/docs/
After=network-online.target
....
Django是一个非常流行和强大的Python Web框架,它提供了很多内置的功能,让开发者可以快速地构建高性能、安全、可扩展的网站。其中一个功能就是国际化和本地化,也就是让网站能够根据用户的语言和地区偏好,显示不同的内容和格式。这样,网站就可以覆盖更多的用户群体,提高用户体验和满意度。
在这篇博客中,我将介绍如何使用Django的国际化和本地化功能,以及一些第三方库,来实现多语言网站的开发。我将以一个简单的博客网站为例,展示如何让它支持英语、法语、西班牙语、越南语、波兰语、泰语、韩语、日语、简体中文和繁体中文这十种语言。我将分为以下几个步骤:
首先,我们需要在项目的settings.py文件中,做一些基本的设置,来启用国际化和本地化功能,以及指定支持的语言和默认语言。具体的设置如下:
# 基本设置
LANGUAGE_CODE = 'zh-hans' # 默认语言,这里我设置为简体中文
#PARLER_DEFAULT_LANGUAGE_CODE = 'zh-hans' # 这是一个第三方库的设置,后面会介绍
TIME_ZONE = 'UTC' # 时区,这里我设置为UTC,你可以根据需要修改
USE_I18N = True # 启用国际化功能
USE_L10N = True # 启用本地化功能
USE_TZ = True # 启用时区支持
# https://github.com/django/django/blob/main/django/conf/global_settings.py#L56
LANGUAGES = ( # 指定支持的语言,这里我设置了十种语言,你可以根据需要增加或删除
('en', ('English')),
('fr', ('Français')),
('es', ('Español')),
('vi', ('Tiếng việt')),
('pl', ('Polskie')),
('th', ('ไทย')),
('ko', ('한국어')),
('ja', ('日本語')),
("zh-hans", ("简体中文")),
("zh-hant", ("繁體中文"))
)
LOCALE_PATHS = [ # 指定存放翻译文件的路径,这里我设置为项目根目录下的locale文件夹
os.path.join(os.path.dirname(os.path.dirname(__file__)), "locale")
]
在我们的工作中,遇到了一个关于Sitecore站点定义的问题,导致在Sitecore 10.1.3的CD环境中出现了链接生成错误的情况。在此,我将分享这个问题的细节以及解决方案。
https://archive.doc.sitecore.com/xp/en/SdnArchive/SDN5/Articles/Administration/Configuring%20Multiple%20Sites/Adding%20New%20Site/site%20Attribute%20Properties/targetHostName.html
https://support.sitecore.com/kb?id=kb_article_view&sysparm_article=KB1000633
具体现象是在站点A引用站点B的节点时,链接里的/sitecore/content关键字没有被正确解析,导致链接生成错误。需要特别注意的是,这个问题只在CD环境中出现,而在CM环境中是正确的。
由于CD环境不能调试,我们创建aspx文件上传到测试CD环境中,来尝试打印一些关键属性
https://docs.flarum.org/install
参考官方安装文档就行,先把基本都安装好,
其中有一个URL Rewriting ,我使用的Nginx,
所以需要创建一个,nginx.site.config
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name domain.com;
root /path/to/flarum/public;
index index.html index.htm index.php;
include /path/to/.nginx.conf;
# URI 符合正则表达式 [\.php$] 的请求将进入此段配置
location ~ \.php$ {
# 配置 FastCGI 服务地址,可以为 IP:端口,也可以为 Unix socket。
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# 配置 FastCGI 的主页为 index.php。
fastcgi_index index.php;
# 配置 FastCGI 参数 SCRIPT_FILENAME 为 $realpath_root$fastcgi_script_name。
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
# 引用更多默认的 FastCGI 参数。
include fastcgi_params;
}
#ssl_certificate xxx
#ssl_certificate_key yyy
}
https://github.com/sxyazi/free-hls
cd /var/www
git clone https://github.com/sxyazi/free-hls.git
cd free-hls
把APP 映射到宿主机/mnt/free-hls/app
- app:/var/app
+ - /mnt/hdd/free-hls/uploads:/var/app/web/uploads
....
volumes:
app:
这是94采集器下载链接最新版本5.2.4 下载
/var/www/94caiji
目录为例。virtualenv venv
创建虚拟环境。激活venv . venv/bin/activate
pip install -r requestments.txt
, 在安装的过程中可能提示错误如下,修改requestments.txt 为 pyppeteer==0.2.6
ERROR: Cannot install pyppeteer==0.2.5 and pyppeteer==0.2.6 because these package versions have conflicting dependencies.
cfscrape
, 错误如下, 需要安装 pip install cfscrape
ModuleNotFoundError: No module named 'cfscrape'
执行python3 index.py
看是否可以运行, 如果没有错误,可以正常运行,说明python环境依赖安装完成。
https://hostloc.com/thread-1154840-1-3.html
https://serverfault.com/questions/10811/how-to-add-a-script-to-startup-and-shutdown-in-debian
https://medium.com/@benmorel/creating-a-linux-service-with-systemd-611b5c8b91d6
按照些教程准备在armbian安装,前面都很好,就是创建 /etc/init.d/cloudflared启动脚本时,Armbian不工作, 无法启动。
然后就查到了 init已经被systemd替换了,所以就使用systemd来启动cloudflared.
https://serverfault.com/a/946483