[scode type="red"] 写在前面:本文内容仅用于学习、科研及跨境工作相关的网络技术交流,请读者在使用过程中遵守所在地及中华人民共和国相关法律法规,合理、合法使用网络资源。[/scode]
| 机场名称 | 机场类别 | 关键词 | 详细介绍 | 快速通道 |
|---|---|---|---|---|
| GsouCloud | V2ray/SS | 性价比高,稳定坚挺,有独立客户端 | 了解更多 | 注册 |
| ⭐Gatern | V2ray | 内网专线,稳定性价比高,小众节点支持 | 了解更多 | 注册 |
| 可可云 | SSR/V2ray | 新起之秀,平价稳定 | 了解更多 | 注册 |
| ⭐库洛米Kuromis | SS/Trojan/Https | 高速节点,唯云莞港专线,苏日专线 | 了解更多 | 注册 |
| ⭐Anyland | SS/Trojan | 多功能综合型机场 | 了解更多 | 注册 |
| 大哥云 | SS/V2Ray | 海外运营,稳定专线,优质客服 | 了解更多 | 注册 |
| 觅云(MeCloud) | V2ray/SS | 平价灵活,多年老站 | 了解更多 | 注册 |
| ByWave | SS | 多年老站,附赠丰富 | 了解更多 | 注册 |
| CMYNetwork | SSR/V2ray/Trojan | 内网专线,游戏专线 (部分) | 了解更多 | 注册 |
更多机场请查看: [button type="round" color="success" url="https://www.msl.la/category/Promote/"]点我查看全部机场[/button]
近期拦截频繁,如无法访问请及时告知,本站会尽快更新新的访问地址或移除无法使用的机场
ps:本页所列机场均较为稳定靠谱且价格合理,排序先后不代表排名先后,请根据需求自行选择。本站仅介绍和引荐,不参与购买、服务和售后,此类问题请通过官方联系方式联系官方。
(本站推荐的商家均为可用商家,)
[scode type="lblue"]官网传送门:点此前往(可用)
官网链接: 点此前往(可用)
官网备用传送门1:点此前往(可用)
官网备用传送门2:点此前往(可用)
[/scode]
注:由于最近拦截比较频繁 如无法访问请使用备用地址
[tabs]
[tab name="简介" active="true"]GsouCloud 是全站专线节点,专线不过墙,高强度加密可保护数据安全性,特点就是稳快 ,无视任何晚高峰、会议,依然4k流畅,油管长期速度保持再5万-20万之间;
不仅仅如此,亦包含以下诸多特性
[/tab]
[tab name="套餐"]
| 套餐 | 每月流量(GB) | 月付(元) | 季付(元) | 半年(元) | 年付(元) |
|---|---|---|---|---|---|
| Simple | 100 | 20 | 48 | 84 | 144 |
| Lite | 150 | 25 | 60 | 105 | 180 |
| Pro | 225 | 30 | 72 | 126 | 216 |
[/tab]
[tab name="优惠"]
[scode type="green"]全部套餐在官网购买时,在支付前界面中优惠码框,使用优惠码可享8折优惠。
优惠码:msl.la
[/scode]
[/tab]
[/tabs]
[scode type="lblue"]官网传送门:点此前往
[/scode]
[tabs]
[tab name="简介" active="true"]Gatern是一家专业的高速稳定V2Ray机场,支持看奈飞Netflix/HULU/HBO/TVB/动画疯等国外流媒体视频,全部使用BGP隧道中转和IPLC内网专线,因为IPLC内网专线不过GFW,不会被封锁,在特殊时期也非常稳定。此外,Gatern不限制同时在线的设备数量,只要您套餐流量充足,可以随意使用。本人使用一段时间后,我认为其服务器线路节点稳定性和网络连接质量都是非常优秀的。
客户服务支持在线提交工单和实时聊天沟通。[/tab]
[tab name="套餐"]
| 套餐 | 每月流量(GB) | 月付(元) | 季付(元) | 半年(元) | 年付(元) |
|---|---|---|---|---|---|
| Nano | 100 | 24 | 71 | 140 | 271 |
| Micro | 180 | 40 | 118 | 233 | 451 |
| Small | 380 | 76 | 255 | 442 | 857 |
| Medium | 740 | 148 | 437 | 861 | 1669 |
| Large | 1460 | 292 | 863 | 1699 | 3294 |
购买套餐:点击直达Gatern官网购买套餐
注意事项:Gatern套餐流量在每月结算日会自动重置流量,多次购买流量包套餐,流量不可叠加,仅可用完后再次购买使用。
[/tab]
[tab name="优惠"]
[scode type="green"]通过本站专属Gatern注册链接,并使用本站专属Gatern优惠码: msl.la
可享受9折优惠~(试用套餐和流量包不可用)
[/scode]
充值获取赠金:
充100到账110
充200到账230
充300到账350
充500到账600
充1000到账1200
[/tab]
[/tabs]
[scode type="lblue"]官网传送门:点我进入
备用传送门:点我进入[/scode]
[tabs]
[tab name="简介" active="true"]CMYNetwork 红莓网络 是一家我最近发现一家宝藏机场,除入门套餐外采用全内网中转节点;入门套餐采用 Trojan 新协议,保证稳定性;更有回国专用套餐。经测速和日常使用,可以说是稳定高速,高峰期速度也能拉满。提供网页在线客服和工单,服务还不错。持续使用体验仍在继续跟踪。
注册并绑定手机号,赠送3天试用会员(非强制)
[/tab]
[tab name="套餐"]
| 套餐名称 | 每月流量 | 时间/天 | 费用/元 | 线路 | 备注 |
|---|---|---|---|---|---|
| Return/海外回国版 | 100 GiB | 30 | 39 | 仅有回国节点,无海外节点 | 2个公网IP同时在线 解锁国内音乐/视频/直播 |
| 90 | 117 | ||||
| 365 | 412 | ||||
| Air/入门版 | 100 GiB | 30 | 18 | 国际轻量优化链路 仅支持 Trojan 协议 |
2个公网IP同时在线 |
| 100 GiB | 90 | 54 | |||
| 125 GiB | 180 | 108 | |||
| 150 GiB | 395 | 191 | |||
| Pro/专业版 | 200 GiB | 30 | 35 | Air版基础上解锁: - CN2优化直连专线(Trojan) - IPLC流媒体专线(SSR) - 港/台/日/美原生IP线路(Trojan) |
3个公网IP同时在线 |
| 200 GiB | 90 | 105 | |||
| 250 GiB | 180 | 210 | |||
| 300 GiB | 395 | 366 | |||
| Extreme/至尊版 | 512 GiB | 30 | 68 | Pro版基础上解锁: - IEPL 流媒体专线 - IEPL 游戏专线 (内网) |
4个公网IP同时在线 Netflix/HULU/HBO/PH 等价值千元福利账号 |
| 643 GiB | 90 | 199 | |||
| 768 GiB | 180 | 399 | |||
| 1024 GiB | 395 | 688 | |||
| Business/企业定制版 | 2048 GiB | 30 | 298 | 10个公网IP同时在线 | |
| 180 | 1788 | ||||
| 定制 | |||||
[/tab]
[tab name="优惠"]使用本站专属邀请码注册,可免费获得10元网站余额红包,可用于购买套餐。
[scode type="green"]邀请码:1BQEEV
官网传送门:点此前往
[/scode]
[/tab]
[/tabs]
[scode type="lblue"]官网传送门:点此进入[/scode]
[tabs]
[tab name="简介" active="true"]ByWave,是一家主打高端的V2ray机场。已使用一段时间,体验良好。这家机场主要走高端,拥有阿里云/WTT/HKT等线路,且全内网中转节点,更提供有IPLC专线(专线套餐),现在我将其作为主要加速服务使用。
ps:内网中转线路及IPLC专线成本极高,但质量极佳,体验十分稳定,在历次冲击下均无影响。
| 套餐 | 每月流量(GB) | 月付(元) | 季付(元) | 半年(元) | 年付(元) | 年付(元) | 年付(元) |
|---|---|---|---|---|---|---|---|
| Bronze | 100 | 25 | 75 | 150 | 280 | 500 | 720 |
| Silver | 180 | 45 | 135 | 270 | 480 | 900 | 1320 |
| Gold | 265 | 65 | 195 | 390 | 680 | 1300 | 1920 |
| Platinum | 505 | 125 | 375 | 750 | 1480 | 2900 | 4320 |
| Diamond | 850 | 205 | 615 | 1230 | 2280 | 4500 | 6720 |
| RedBeryl | 1700 | 405 | 1215 | 2430 | 4680 | 9300 | 13920 |
[/tab]
[tab name="优惠"]
官方优惠
[scode type="green"]
ByWave 2022虎年优惠
以下优惠码均可在续费或新购时使用。
优惠代码:虎虎生风
额度: 7折一次性优惠
适用范围: 年付或以上(兩年或更久)
优惠代码:大吉大利
额度: 8折循环5次优惠
适用范围: 月付 季付 半年付 一次性流量包
循环优惠是购买套餐或续费管理可以使用优惠,并在在当前购买套餐后还可以再以五次的优惠价格进行续费
[/scode]
充值获取赠金长期活动
充100到账115
充200到账240
充500到账600
充1000到账1200
充值以上指定数额自动到账(可以分开充不限次数,指定数额以外比如201 300不送)
[/tab]
[/tabs]
WP Real IP Checker 是一款适用于 WordPress 的插件,用于在反向代理或 CDN(如 Cloudflare、Nginx、Akamai 等)环境下获取访问者的真实客户端 IP。
支持可信代理 CIDR 白名单,可选安全模式,并支持自动获取 Cloudflare 官方网段(手动同步 + 定时任务刷新)。
CF-Connecting-IP、True-Client-IP,Nginx 常用头 X-Forwarded-For、X-Real-IP 等。[real_ip] 显示当前访问者的 IP。下载插件文件 real-ip-checker ,将整个文件夹上传到:
/wp-content/plugins/real-ip-checker/支持:
REMOTE_ADDR来源在 Cloudflare 官方网段 → 只解析:
CF-Connecting-IP(优先)True-Client-IP(备选)来源在其他可信代理网段 → 按顺序解析:
X-Forwarded-For(取最左公共 IP)X-Real-IP、Client-IP 等REMOTE_ADDR[real_ip] 在 wp-config.php 中开启:
define('WP_DEBUG', true);后台页脚会显示:
REMOTE_ADDR)ric_cron_refresh_cf。本插件遵循 GPLv2 或更高版本 开源协议。
]]>闲得无聊弄的玩的,有兴趣的可以试试
API地址:https://dl-get.ytools.cc/
所有接口统一前缀:/api
接口地址: /api/latest-tag
请求方式: POST
{
"repo": "owner/repository", // 例如 "moshaoli688/miaospeed"
"pre": false // 是否包含预发布版本(可选,默认 false)
}{
"tag": "v2.3.1"
}接口地址: /api/releases
请求方式: POST
{
"repo": "owner/repository",
"pre": false
}{
"releases": [
{
"tag_name": "v2.3.1",
"name": "Release Title",
"prerelease": false,
"assets": [
{
"name": "example-linux-x64.tar.gz",
"browser_download_url": "https://github.com/xxx/xxx/releases/download/..."
}
]
}
]
}接口地址: /api/download-url
请求方式: POST
{
"repo": "owner/repository",
"tag": "v2.3.1", // 可选,默认使用最新版本
"os": "linux",
"arch": "amd64",
"cpu": "v3" // 可选,如 v1/v2/v3/avx2 等
}{
"tag": "v2.3.1",
"assets": [
{
"name": "example-linux-amd64-v3.tar.gz",
"url": "https://github.com/xxx/xxx/releases/download/..."
}
]
}
]]>[tabs]
[tab name="国内NTP服务器" active="true"]
| 名称 | 地址 |
|---|---|
| 国家授时中心 NTP 服务器 NTSC NTP Server | ntp.ntsc.ac.cn |
| 中国 NTP 快速授时服务 NTP ORG CN | cn.ntp.org.cn edu.ntp.org.cn |
| 国际 NTP 快速授时服务 Pool NTP ORG | cn.pool.ntp.org |
| 阿里云公共 NTP 服务器 Aliyun NTP Server | time.pool.aliyun.com time1.aliyun.com time2.aliyun.com time3.aliyun.com time4.aliyun.com time5.aliyun.com time6.aliyun.com time7.aliyun.com |
| 腾讯云公共 NTP 服务器 Tencent Cloud NTP Server | time1.cloud.tencent.com time2.cloud.tencent.com time3.cloud.tencent.com time4.cloud.tencent.com time5.cloud.tencent.com |
| 教育网(高校自建) EDU NTP Server | ntp.sjtu.edu.cn ntp.neu.edu.cn ntp.bupt.edu.cn ntp.shu.edu.cn ntp.tsinghua.edu.cn ntp.fudan.edu.cn |
| 中国科学院 NTP 服务器 CAS NTP Server | ntp.cas.cn |
[/tab]
[tab name="国际NTP服务器"]
| 名称 | 地址 |
|---|---|
| 国际 NTP 快速授时服务 Pool NTP ORG | pool.ntp.org 0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org asia.pool.ntp.org europe.pool.ntp.org north-america.pool.ntp.org |
| 谷歌公共 NTP 服务器 Google NTP Server | time1.google.com time2.google.com time3.google.com time4.google.com |
| 苹果公司公共 NTP 服务器 Apple NTP Server | time.apple.com time1.apple.com time2.apple.com time3.apple.com time4.apple.com time5.apple.com time6.apple.com time7.apple.com |
| 微软 Windows NTP 服务器 Microsoft Windows NTP Server | time.windows.com |
| 美国标准技术研究院 NTP 服务器 NIST NTP Server | time.nist.gov time-nw.nist.gov time-a.nist.gov time-b.nist.gov time-c.nist.gov time-d.nist.gov |
| 香港天文台公共 NTP 服务器 Hong Kong Observatory NTP Server | stdtime.gov.hk time.hko.hk |
| 亚马逊公共 NTP 服务器 Amazon NTP Server | time.aws.com |
| Cloudflare NTP 服务器 Cloudflare NTP Server | time.cloudflare.com |
| Facebook NTP 服务器 Facebook NTP Server | time.facebook.com |
| 德国物理技术研究所 PTB NTP Server | ptbtime1.ptb.de ptbtime2.ptb.de ptbtime3.ptb.de |
[/tab]
[/tabs]
NTP(Network Time Protocol,网络时间协议)用于在计算机系统之间进行时间同步。为了确保系统时钟准确,管理员可通过配置可靠的 NTP 服务节点,实现系统时间自动同步。
NTP服务器地址大全整理了国内及国外常用的公共NTP时间同步服务器IP地址列表,用户在选择NTP服务器地址时,需要根据自己的实际需求,并避免选择高危NTP服务器地址,以保证网络安全。
NTP 服务器(Network Time Protocol Server)是一种用于提供准确时间信息和实现时间同步的服务器。NTP 是一种网络协议,用于在计算机网络中同步各个设备的时间。
NTP 服务器通过连接到可靠的时间源(如原子钟、GPS 信号等)获取准确的时间,并将其传递给连接到服务器的客户端。NTP 服务器会对时间进行精确的校准和调整,以提供准确的时间信息。

Given the power supply is a Telecoms spare part (most likely for a Huawei mobile phone Base Terminal Station), a surprisable amount of official documentation exists on the hardware from the manufacturer:
But when it comes to the CAN communications protocol and operation, the best source of information, although sketchy, comes from radio/electronics enthusiasts in Chinese forums.
We strive to demystify some of the details below and provide reference software to talk to the unit via CAN.
I was first made aware of the R4850G2 by YouTuber Schematix. He presented a 17 minute video on the power supply at Cheap 3Kw PSU for Induction Heater ll Huawei R4850G2 PSU
My PSU was purchased from a local Australian ebay merchant (link here) for $49 AUD plus $15.35 shipping (Approximately $50 USD). However, if shipping from Australia is cost prohibitive, Aliexpress and Alibaba appear to also be a good source.
While Schematix details modifying the supply to make good connection to the edge connector, you can pick up a suitable connector: i.e. For Huawei R4850G2 rectifier module communication power plug. This set me back $23.28 AUD, but allows for a more professional connection.

The power supply is designed to be inserted into a slot/backplane and hence all connections to the power supply is by means of a edge connector. Inclusion of Pre-charge pins allow multiple units to be paralleled and hot swapped.
Huawei go someway in documenting the connector in version 1.4 of their User Manual. However, they miss off two critical pins required to enable an output. Next to the CAN pins are what we call ‘slot detect 1’ and ‘slot detect 2’

As indicated earlier, I had also purchased a mating connector for the PSU from ebay. Below are the pictures on arrival.

On the bottom of the connector is the part number. It appears to be a connector from Chinese manufacturer Jonhon. The part number is DP4SC0504-001.
The drawing doesn’t include the flying lead connectors for the CAN or Slot Detection, only making mention that there are five signal contacts with wires and termination when customised.
The connectors appear to be JST SM connectors. The female is the Slot Detection (‘on/off’) connection, while the male is the CAN Bus. You can choose to purchase some, or cut them off and add your own. For the time being, I have shoved a 0.1″ header into the Slot Detection.
To enable the power supply, connect both the slot detect 1 and slot detect 2 pins to OUTPUT- (negative).
While not mandatory to enable the output, you should also connect Pre-Charge to OUTPUT-. For those using the DP4SC0504-001, the Pre-Charge is wired internally to the OUTPUT-.
At this stage, you should have a dumb 53.5V, 56.1A power supply unit.
The CAN interface operates at 125kbps with extended 29 bit identifiers.
On power up, the unit will send out unsolicited packets and this can be useful in ensuring your hardware is working correctly.
To request statistics such as the Input Voltage/Frequency/Current, Output Voltage/Current, Efficiency etc. one can send a single eight byte zero padded frame to the CAN address/ID 0x108040FE. The device should respond with a series of frames with ID 0x1081407F conforming the following format:
The 2nd byte in the frame appears to indicate what parameter is being sent. The parameter’s value is contained in the last four bytes with byte 7 being the least significant byte.
For example, this is a output from candump:
can0 1081407F [8] 01 0E 00 00 00 00 00 0A
can0 1081407F [8] 01 70 00 00 00 01 A6 84 (Input Power)
can0 1081407F [8] 01 71 00 00 00 00 C8 0A (Input Freq)
can0 1081407F [8] 01 72 00 00 00 00 01 C2 (Input Current)
can0 1081407F [8] 01 73 00 00 00 01 80 8E (Output Power)
can0 1081407F [8] 01 74 00 00 00 00 03 A4 (Efficiency)
can0 1081407F [8] 01 75 00 00 00 00 D5 C8 (Output Voltage)
can0 1081407F [8] 01 76 00 00 00 00 04 6A (Maximum Output Current)
can0 1081407F [8] 01 78 00 00 00 03 C0 80 (Input Voltage)
can0 1081407F [8] 01 7F 00 00 00 00 64 00 (Output Stage Temperature)
can0 1081407F [8] 01 80 00 00 00 00 70 00 (Input Stage Temperature)
can0 1081407F [8] 01 81 00 00 00 00 07 B2
can0 1081407F [8] 01 82 00 00 00 00 07 32 (Output Current)
can0 1081407E [8] 01 83 00 10 00 00 00 00Note: It’s currently not known what the two different (0x81 & 0x82) current parameters are. I personally find 0x81 is more accurate compared to a bench meter in series with the output. If you know more, please leave a comment below.
To set either the output voltage or current limit, send a frame to 0x108180FE with the following format:
Again, the 2nd byte in the frame indicates what parameter is being set.
The power supply should acknowledge the command with a packet of ID 0x1081807E. The ack frame should have identical contents, except if an error has occurred, in which case the first byte contains 0x21.
If the set value is out of range, an error will be flagged. This is a useful way of determining the range of acceptable values.
The power supply can operate in two different modes – we call this on-line and off-line.
Off-line is when there is no CAN communications – i.e. the power supply is operating in standalone mode. Off-line values are non-volatile and also used as the default value when the power supply first powers up.
On-line is when there is valid CAN communications addressed to the power supply. This mode will time-out approximately 60 seconds after the last CAN message and will be indicated on the front panel via a flashing yellow alarm indicator.
On-line values are volatile and set to the default values upon entry into this mode.
Therefore, if you send a command to set the on-line output voltage (0x00), the output voltage should be reflected immediately. If no further messages are sent (to any valid CAN ID), the output voltage will return to the default off-line voltage after approximately 60 seconds. Provided a valid CAN message is sent within the timeout period, the output should remain equivalent to the on-line output voltage parameter.
To date, I’m unaware how to read the above parameters back. If you know more, please leave us a comment below.
While the data sheet indicates the output voltage is adjustable from 42~58VDC, different ranges exist between on-line and off-line:
To test the protocol, I have developed some reference software at https://github.com/craigpeacock/Huawei_R4850G2_CAN
It takes advantage of the Linux SocketCAN interface meaning you can use it on a Linux Desktop with an appropriate SocketCAN CAN Interface Adapter, or on embedded platforms such as the Raspberry PI / Beaglebone with suitable controllers/transceivers.
The software can be used to set the output voltage and maximum current:
Huawei R4850G2 53.5VDC 3000W Rectifier Configuration Utility V1.1
http://www.beyondlogic.org
Usage: r4850 [options] <CAN interface>
Options:
-v <voltage> (Set Power Supply Voltage)
-c <current> (Set Maximum Current)
-s (Save settings to non-volatile memory/off-line)And report statistics:
Input Voltage 237.88V @ 50.03Hz
Input Current 0.41A
Input Power 98.18W
Output Voltage 47.98V
Output Current 1.97A of 37.70A Max, 0.002Ah
Output Power 89.36W
Input Temperature 27.0 DegC
Output Temperature 27.0 DegC
Efficiency 91.0%The current limiting on the R4850 makes it perfect for charging 48V battery packs.

Huawei R4850G2 53.5VDC 3000W Rectifier Configuration Utility V1.1
http://www.beyondlogic.org
Input Voltage 237.34V @ 49.98Hz
Input Current 4.86A
Input Power 1154.06W
Output Voltage 55.01V
Output Current 20.32A of 20.00A Max
Output Power 1110.10W, 5.230Ah
Input Temperature 22.0 DegC
Output Temperature 38.0 DegC
Efficiency 96%资料来源:
https://www.beyondlogic.org/review-huawei-r4850g2-power-supply-53-5vdc-3kw/
https://github.com/craigpeacock/Huawei_R4850G2_CAN
https://github.com/BotoX/huawei-r48xx-esp32
docker.moshaoli.com
quay.moshaoli.com
gcr.moshaoli.com
k8s-gcr.moshaoli.com
k8s.moshaoli.com
ghcr.moshaoli.com至于怎么用 懂得都懂
]]>// 禁止用户注册时发送电子邮件给管理员
add_filter( 'wp_new_user_notification_email_admin', '__return_false' );
// 禁止用户重置修改密码时发送电子邮件给管理员
add_filter( 'wp_password_change_notification_email', '__return_false' );
// 禁止用户注册时发送电子邮件给注册者
add_filter( 'wp_new_user_notification_email', '__return_false' );
// 禁止邮箱地址改变时发送邮件给注册者
add_filter( 'send_email_change_email', '__return_false' );
// 禁止更改密码时发送电子邮件给注册者
add_filter( 'send_password_change_email', '__return_false' );
以下代码是用来禁止WordPress在用户注册、重置密码、更改密码时发送电子邮件通知的。具体来说,它包括了五个过滤器,每个过滤器都有不同的功能。
wp_new_user_notification_email_admin
这个过滤器是用来禁止用户注册时向管理员发送电子邮件通知的。默认情况下,当有新用户注册时,WordPress会向网站管理员发送一封电子邮件通知,告知管理员有新用户注册了。使用这个过滤器后,当有新用户注册时,管理员将不会收到任何电子邮件通知。
// 禁止用户注册时发送电子邮件给管理员
add_filter( 'wp_new_user_notification_email_admin', '__return_false' );wp_password_change_notification_email
这个过滤器是用来禁止重置密码时向管理员发送电子邮件通知的。默认情况下,当用户重置密码时,WordPress会向网站管理员发送一封电子邮件通知,告知管理员有用户重置了密码。使用这个过滤器后,当用户重置密码时,管理员将不会收到任何电子邮件通知。
// 禁止重置密码时发送电子邮件给管理员
add_filter( 'wp_password_change_notification_email', '__return_false' );wp_new_user_notification_email
这个过滤器是用来禁止用户注册时向注册者发送电子邮件通知的。默认情况下,当用户注册新账户时,WordPress会向注册者发送一封电子邮件通知,告知用户账户已经创建成功。使用这个过滤器后,当用户注册新账户时,注册者将不会收到任何电子邮件通知。
// 禁止用户注册时发送电子邮件给注册者
add_filter( 'wp_new_user_notification_email', '__return_false' );send_email_change_email
这个过滤器是用来禁止邮箱地址改变时向注册者发送电子邮件通知的。默认情况下,当用户更改其注册邮箱的时候,WordPress会向新邮箱地址发送一封电子邮件通知,告知用户邮箱地址已经更改成功。使用这个过滤器后,当用户更改其注册邮箱时,新邮箱地址将不会收到任何电子邮件通知。
// 禁止邮箱地址改变时发送禁止给注册者
add_filter( 'send_email_change_email', '__return_false' );send_password_change_email
这个过滤器是用来禁止更改密码时向注册者发送电子邮件通知的。默认情况下,当用户更改其密码时,WordPress会向用户发送一封电子邮件通知,告知用户密码已经更改成功。使用这个过滤器后,当用户更改密码时,用户将不会收到任何电子邮件通知。
// 禁止更改密码时发送电子邮件给注册者
add_filter( 'send_password_change_email', '__return_false' );需要注意的是,禁用这些电子邮件通知可能会影响网站的功能。因此,在使用这段代码之前,请确保您了解其影响,并在进行修改之前备份您的网站数据。
]]>
如果您不使用 Bing,或者对 Bing 聊天不感兴趣,但现在每次打开 Edge 浏览器时就会看到一个大大的 Bing 按钮,也着实让人有些无语。更让人无语的是,目前 Microsoft 还没有在 Edge 中集成一个选项来禁用悬停效果和这个图标。
Bing 按钮显示在标题栏的关闭按钮下面,它是 Edge Copilot 计划的一部分,旨在将基于人工智能的 Bing 聊天机器人引入浏览器。但许多 Edge 用户并不喜欢这个变化,因为在访问「设置」功能时,总会不小心误点到 Bing 图标。
好在,有解决方案可以永久性地禁用或移除 Microsoft Edge 工具栏上的 Bing 按钮图标。
此解决方案仅适用于将 Edge 快捷方式放置在「桌面」、「开始」菜单或「任务栏」上的情况:

–disable-features=msUndersideButton字符串(注意前面有空格):
4.(可选)如果重启浏览器之后没有生效,可能是「设置」——「系统和性能」中的「启动增强」功能的影响,将这个功能关掉再重启即可生效。
注意:要完全退出 Microsoft Edge 进程并且禁用「启动增强」才会生效;增加此参数只对已更改的快捷方式才生效。
要从 Windows 上的 Microsoft Edge 中完全移除 Bing 按钮图标,可以直接更改注册表:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Microsoft项目——右击选择「新建」一个名为Edge的「项」。
Edge项——右击选择「新建」一个名为HubsSidebarEnabled的DWORD(32 位)值 ,并将其十六进制值设置为0。
edge://policy——单击「重新加载策略」Bing 工具栏图标才会消失。
注意:更改注册表方式不受「启动增强」功能影响。
如果您在 macOS 或 Linux 上使用 Microsoft Edge 浏览器,则隐藏 Bing 按钮的步骤更简单。在这两个平台上,使用特殊的「终端」命令启动 Edge,就不会再显示 Bing 按钮了:
open -n -a "Microsoft Edge" --args --disable-features=msEdgeSidebarV2microsoft-edge-stable --disable-features=msEdgeSidebarV2注意:如果您正在使用 beta 或 dev 版本,则将命令中的 stable 部分替换为对应的版本。
Microsoft 似乎听到了用户的心声,已经可以在最新版本的 Microsoft Edge 中直接隐藏 Bing 工具栏图标:
edge://settings/help查看版本号,至少要在`111.0.1661.54或更高版本。
edge://settings/sidebar——并向下滚动到「特定于应用的设置」部分——找到并点击「Discover」图标。

转自:https://www.sysgeek.cn/microsoft-edge-remove-bing-chat-button/
]]>app/Jobs/StatServerJob.php
app/Jobs/StatUserJob.php这2个文件的代码是:
app/Jobs/StatServerJob.php
<?php
namespace App\Jobs;
use App\Models\StatServer;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
class StatServerJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $u;
protected $d;
protected $server;
protected $protocol;
protected $recordType;
public $tries = 3;
public $timeout = 60;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($u, $d, $server, $protocol, $recordType = 'd')
{
$this->onQueue('stat');
$this->u = $u;
$this->d = $d;
$this->server = $server;
$this->protocol = $protocol;
$this->recordType = $recordType;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$recordAt = strtotime(date('Y-m-d'));
if ($this->recordType === 'm') {
//
}
$data = StatServer::lockForUpdate()
->where('record_at', $recordAt)
->where('server_id', $this->server['id'])
->where('server_type', $this->protocol)
->first();
if ($data) {
try {
$data->update([
'u' => $data['u'] + $this->u,
'd' => $data['d'] + $this->d
]);
} catch (\Exception $e) {
abort(500, '节点统计数据更新失败');
}
} else {
if (!StatServer::create([
'server_id' => $this->server['id'],
'server_type' => $this->protocol,
'u' => $this->u,
'd' => $this->d,
'record_type' => $this->recordType,
'record_at' => $recordAt
])) {
abort(500, '节点统计数据创建失败');
}
}
}
}app/Jobs/StatUserJob.php
<?php
namespace App\Jobs;
use App\Models\StatServer;
use App\Models\StatUser;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
class StatUserJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $u;
protected $d;
protected $userId;
protected $server;
protected $protocol;
protected $recordType;
public $tries = 3;
public $timeout = 60;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($u, $d, $userId, array $server, $protocol, $recordType = 'd')
{
$this->onQueue('stat');
$this->u = $u;
$this->d = $d;
$this->userId = $userId;
$this->server = $server;
$this->protocol = $protocol;
$this->recordType = $recordType;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$recordAt = strtotime(date('Y-m-d'));
if ($this->recordType === 'm') {
//
}
$data = StatUser::where('record_at', $recordAt)
->where('server_rate', $this->server['rate'])
->where('user_id', $this->userId)
->first();
if ($data) {
try {
$data->update([
'u' => $data['u'] + ($this->u * $this->server['rate']),
'd' => $data['d'] + ($this->d * $this->server['rate'])
]);
} catch (\Exception $e) {
abort(500, '用户统计数据更新失败');
}
} else {
if (!StatUser::create([
'user_id' => $this->userId,
'server_rate' => $this->server['rate'],
'u' => $this->u,
'd' => $this->d,
'record_type' => $this->recordType,
'record_at' => $recordAt
])) {
abort(500, '用户统计数据创建失败');
}
}
}
}然后修改
app/Services/UserService.php
查找代码 TrafficFetchJob::dispatch($u, $d, $userId, $server, $protocol);
在下方增加
StatServerJob::dispatch($u, $d, $server, $protocol, 'd');
StatUserJob::dispatch($u, $d, $userId, $server, $protocol, 'd');保存 完工。。
]]>(1)本配置假设物理服务器内存为 16G,总表数量在300之内,中小型企业业务
(2)请根据实际情况作调整部分参数
(3)本人不对这些建议结果负相应责任 ,仅作参考
###########################################################################
## my.cnf for MySQL 8.0.x
## 本配置参考 https://imysql.com/my-cnf-wizard.html
## 注意:
## (1)本配置假设物理服务器内存为 16G,总表数量在300之内,中小型企业业务
## (2)请根据实际情况作调整部分参数
## (3)本人不对这些建议结果负相应责任 ,仅作参考
###########################################################################
###########################################################################
##客户端参数配置
###########################################################################
[client]
port = 3306
socket =/var/lib/mysql/mysqld.sock
[mysql]
#prompt="\u@mysqldb \R:\m:\s [\d]> "
#关闭自动补全sql命令功能
no-auto-rehash
###########################################################################
##服务端参数配置
###########################################################################
[mysqld]
port = 3306
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysqld.sock
log-error = /var/lib/mysql/error.log
pid-file = /var/lib/mysql/mysqld.pid
#只能用IP地址检查客户端的登录,不用主机名
skip_name_resolve = 1
#若你的MySQL数据库主要运行在境外,请务必根据实际情况调整本参数
default_time_zone = "+8:00"
#数据库默认字符集, 主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server = utf8mb4
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci
#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
# 执行sql的模式,规定了sql的安全等级, 暂时屏蔽,my.cnf文件中配置报错
#sql_mode = STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
transaction_isolation = READ-COMMITTED
#TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp = true
#它控制着mysqld进程能使用的最大文件描述(FD)符数量。
#需要注意的是这个变量的值并不一定是你设定的值,mysqld会在系统允许的情况下尽量获取更多的FD数量
open_files_limit = 65535
#最大连接数
max_connections = 300
#最大错误连接数
max_connect_errors = 600
#在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中
#官方建议 back_log = 50 + (max_connections / 5),封顶数为65535,默认值= max_connections
back_log = 110
# The number of open tables for all threads
# For example, for 200 concurrent running connections, specify a table cache size of at least 200 * N,
# where N is the maximum number of tables per join in any of the queries which you execute.
table_open_cache = 600
# The number of table definitions that can be stored in the definition cache
# MIN(400 + table_open_cache / 2, 2000)
table_definition_cache = 700
# 为了减少会话之间的争用,可以将opentables缓存划分为table_open_cache/table_open_cache_instances个小缓存
table_open_cache_instances = 64
# 每个线程的堆栈大小 如果线程堆栈太小,则会限制执行复杂SQL语句
thread_stack = 512K
# 禁止外部系统锁
external-locking = FALSE
#SQL数据包发送的大小,如果有BLOB对象建议修改成1G
max_allowed_packet = 128M
#order by 或group by 时用到
#建议先调整为4M,后期观察调整
sort_buffer_size = 4M
#inner left right join时用到
#建议先调整为4M,后期观察调整
join_buffer_size = 4M
# How many threads the server should cache for reuse.
# 如果您的服务器每秒达到数百个连接,则通常应将thread_cache_size设置得足够高,以便大多数新连接使用缓存线程
# default value = 8 + ( max_connections / 100) 上限为100
thread_cache_size = 20
#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout 值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800
#Metadata Lock最大时长(秒), 一般用于控制 alter操作的最大时长sine mysql5.6
#执行 DML操作时除了增加innodb事务锁外还增加Metadata Lock,其他alter(DDL)session将阻塞
lock_wait_timeout = 3600
#内部内存临时表的最大值。
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size = 64M
max_heap_table_size = 64M
#--###########################-- 慢SQL日志记录 开始 --##########################################
#是否启用慢查询日志,1为启用,0为禁用
slow_query_log = 1
#记录系统时区
log_timestamps = SYSTEM
#指定慢查询日志文件的路径和名字
slow_query_log_file = /var/lib/mysql/slow.log
#慢查询执行的秒数,必须达到此值可被记录
long_query_time = 5
#将没有使用索引的语句记录到慢查询日志
log_queries_not_using_indexes = 0
#设定每分钟记录到日志的未使用索引的语句数目,超过这个数目后只记录语句数量和花费的总时间
log_throttle_queries_not_using_indexes = 60
#对于查询扫描行数小于此参数的SQL,将不会记录到慢查询日志中
min_examined_row_limit = 5000
#记录执行缓慢的管理SQL,如alter table,analyze table, check table, create index, drop index, optimize table, repair table等。
log_slow_admin_statements = 0
#作为从库时生效, 从库复制中如何有慢sql也将被记录
#对于ROW格式binlog,不管执行时间有没有超过阈值,都不会写入到从库的慢查询日志
log_slow_slave_statements = 1
#--###########################-- 慢SQL日志记录 结束 --##########################################
#--###########################-- Bin-Log设置 开始 --############################################
server-id = 110
#开启bin log 功能
log-bin=mysql-bin
#binlog 记录内容的方式,记录被操作的每一行
binlog_format = ROW
#对于binlog_format = ROW模式时,FULL模式可以用于误操作后的flashBack。
#如果设置为MINIMAL,则会减少记录日志的内容,只记录受影响的列,但对于部分update无法flashBack
binlog_row_image = FULL
#bin log日志保存的天数
#如果 binlog_expire_logs_seconds 选项也存在则 expire_logs_days 选项无效
#expire_logs_days 已经被标注为过期参数
#expire_logs_days = 7
binlog_expire_logs_seconds = 1209600
#master status and connection information输出到表mysql.slave_master_info中
master_info_repository = TABLE
#the slave's position in the relay logs输出到表mysql.slave_relay_log_info中
relay_log_info_repository = TABLE
#作为从库时生效, 想进行级联复制,则需要此参数
log_slave_updates
#作为从库时生效, 中继日志relay-log可以自我修复
relay_log_recovery = 1
#作为从库时生效, 主从复制时忽略的错误
#如果在备份过程中执行ddl操作,从机需要从主机的备份恢复时可能会异常,从而导致从机同步数据失败
#如果对数据完整性要求不是很严格,那么这个选项确实可以减轻维护的成本
slave_skip_errors = ddl_exist_errors
#####RedoLog日志 和 binlog日志的写磁盘频率设置 BEGIN ###################################
# RedoLog日志(用于增删改事务操作) + binlog日志(用于归档,主从复制)
# 为什么会有两份日志呢?
# 因为最开始MySQL没有 InnoDB 引擎,自带MyISAM引擎没有 crash-safe能力,binlog日志只用于归档
# InnoDB 引擎是另一个公司以插件形式引入MySQL的,采用RedoLog日志来实现 crash-safe 能力
# redo log 的写入(即事务操作)拆成两阶段提交(2PC):prepare阶段 和 commit阶段
#(事务步骤1) 执行commit命令,InnoDB redo log 写盘,然后告知Mysql执行器:[你可以写binlog了,且一并提交事务],事务进入 prepare 状态
#(事务步骤2) 如果前面 prepare 成功,Mysql执行器生成 binlog 并且将binlog日志写盘
#(事务步骤3) 如果binlog写盘成功,Mysql执行器一并调用InnoDB引擎的提交事务接口,事务进入 commit 状态,操作完成,事务结束
#参数设置成 1,每次事务都直接持久化到磁盘
#参数设置成 0,mysqld进程的崩溃会导致上一秒钟所有事务数据的丢失。
#参数设置成 2,只有在操作系统崩溃或者系统掉电的情况下,上一秒钟所有事务数据才可能丢失。
#即便都设置为1,服务崩溃或者服务器主机crash,Mysql也可能丢失但最多一个事务
#控制 redolog 写磁盘频率 默认为1
innodb_flush_log_at_trx_commit = 1
#控制 binlog 写磁盘频率
sync_binlog = 1
#####RedoLog日志 和 binlog日志的写磁盘频率设置 END #####################################
#一般数据库中没什么大的事务,设成1~2M,默认32kb
binlog_cache_size = 4M
#binlog 能够使用的最大cache 内存大小
max_binlog_cache_size = 2G
#单个binlog 文件大小 默认值是1GB
max_binlog_size = 1G
#开启GTID复制模式
gtid_mode = on
#强制gtid一致性,开启后对于create table ... select ...或 CREATE TEMPORARY TABLE 将不被支持
enforce_gtid_consistency = 1
#解决部分无主键表导致的从库复制延迟问题
#其基本思路是对于在一个ROWS EVENT中的所有前镜像收集起来,
#然后在一次扫描全表时,判断HASH中的每一条记录进行更新
#该参数已经被标注为过期参数
#slave-rows-search-algorithms = 'INDEX_SCAN,HASH_SCAN'
# default value is CRC32
#binlog_checksum = 1
# default value is ON
#relay-log-purge = 1
#--###########################-- Bin-Log设置 结束 --##########################################
#--###########################-- 可能用到的MyISAM性能设置 开始 --#############################
#对MyISAM表起作用,但是内部的临时磁盘表是MyISAM表,也要使用该值。
#可以使用检查状态值 created_tmp_disk_tables 得知详情
key_buffer_size = 15M
#对MyISAM表起作用,但是内部的临时磁盘表是MyISAM表,也要使用该值,
#例如大表order by、缓存嵌套查询、大容量插入分区。
read_buffer_size = 8M
#对MyISAM表起作用 读取优化
read_rnd_buffer_size = 4M
#对MyISAM表起作用 插入优化
bulk_insert_buffer_size = 64M
#--###########################-- 可能用到的MyISAM性能设置 开始 --################################
#--###########################-- innodb性能设置 开始 --##########################################
# Defines the maximum number of threads permitted inside of InnoDB.
# A value of 0 (the default) is interpreted as infinite concurrency (no limit)
innodb_thread_concurrency = 0
#一般设置物理存储的 60% ~ 70%
innodb_buffer_pool_size = 8G
#当缓冲池大小大于1GB时,将innodb_buffer_pool_instances设置为大于1的值,可以提高繁忙服务器的可伸缩性
innodb_buffer_pool_instances = 4
#默认启用。指定在MySQL服务器启动时,InnoDB缓冲池通过加载之前保存的相同页面自动预热。 通常与innodb_buffer_pool_dump_at_shutdown结合使用
innodb_buffer_pool_load_at_startup = 1
#默认启用。指定在MySQL服务器关闭时是否记录在InnoDB缓冲池中缓存的页面,以便在下次重新启动时缩短预热过程
innodb_buffer_pool_dump_at_shutdown = 1
# Defines the name, size, and attributes of InnoDB system tablespace data files
innodb_data_file_path = ibdata1:1G:autoextend
#InnoDB用于写入磁盘日志文件的缓冲区大小(以字节为单位)。默认值为16MB
innodb_log_buffer_size = 32M
#InnoDB日志文件组数量
innodb_log_files_in_group = 3
#InnoDB日志文件组中每一个文件的大小
innodb_log_file_size = 2G
#是否开启在线回收(收缩)undo log日志文件,支持动态设置,默认开启
innodb_undo_log_truncate = 1
#当超过这个阀值(默认是1G),会触发truncate回收(收缩)动作,truncate后空间缩小到10M
innodb_max_undo_log_size = 4G
#The path where InnoDB creates undo tablespaces
#没有配置则在数据文件目录下
#innodb_undo_directory = /var/lib/mysql/undolog
#用于设定创建的undo表空间的个数
#已经弃用了,只能手动添加undo表空间
#The innodb_undo_tablespaces variable is deprecated and is no longer configurable as of MySQL 8.0.14
#innodb_undo_tablespaces = 95
#提高刷新脏页数量和合并插入数量,改善磁盘I/O处理能力
#根据您的服务器IOPS能力适当调整
#一般配普通SSD盘的话,可以调整到 10000 - 20000
#配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000
#如果打开参数innodb_flush_sync, checkpoint时,flush操作将由page cleaner线程来完成,此时page cleaner会忽略io capacity的限制,进入激烈刷脏
innodb_flush_sync = 0
innodb_flush_neighbors = 0
#CPU多核处理能力设置,假设CPU是4颗8核的,设置如下
#读多,写少可以设成 2:6的比例
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_purge_threads = 4
innodb_page_cleaners = 4
innodb_open_files = 65535
innodb_max_dirty_pages_pct = 50
#该参数针对unix、linux,window上直接注释该参数.默认值为 NULL
#O_DIRECT减少操作系统级别VFS的缓存和Innodb本身的buffer缓存之间的冲突
innodb_flush_method = O_DIRECT
innodb_lru_scan_depth = 4000
innodb_checksum_algorithm = crc32
#为了获取被锁定的资源最大等待时间,默认50秒,超过该时间会报如下错误:
# ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
innodb_lock_wait_timeout = 20
#默认OFF,如果事务因为加锁超时,会回滚上一条语句执行的操作。如果设置ON,则整个事务都会回滚
innodb_rollback_on_timeout = 1
#强所有发生的死锁错误信息记录到 error.log中,之前通过命令行只能查看最近一次死锁信息
innodb_print_all_deadlocks = 1
#在创建InnoDB索引时用于指定对数据排序的排序缓冲区的大小
innodb_sort_buffer_size = 67108864
#控制着在向有auto_increment 列的表插入数据时,相关锁的行为,默认为2
#0:traditonal (每次都会产生表锁)
#1:consecutive (mysql的默认模式,会产生一个轻量锁,simple insert会获得批量的锁,保证连续插入)
#2:interleaved (不会锁表,来一个处理一个,并发最高)
innodb_autoinc_lock_mode = 1
#表示每个表都有自已独立的表空间
innodb_file_per_table = 1
#指定Online DDL执行期间产生临时日志文件的最大大小,单位字节,默认大小为128MB。
#日志文件记录的是表在DDL期间的数据插入、更新和删除信息(DML操作),一旦日志文件超过该参数指定值时,
#DDL执行就会失败并回滚所有未提交的当前DML操作,所以,当执行DDL期间有大量DML操作时可以提高该参数值,
#但同时也会增加DDL执行完成时应用日志时锁定表的时间
innodb_online_alter_log_max_size = 4G
#--###########################-- innodb性能设置 结束 --##########################################
[mysqldump]
quick
max_allowed_packet = 128M
转自:https://blog.csdn.net/gzt19881123/article/details/109511245
]]>lsb_release -a
ubuntu 22.04.
2、进入/etc/netplan/目录,列出该目录下的内容
cd /etc/netplan/
ls
3、利用vim编辑器打开xxx.yaml文件,进行编辑:
vim 01-network-manager-all.yaml内容如下:(修改网卡名称、IP、网关后保存退出)
# Let NetworkManager manage all devices on this system
network:
ethernets:
ens32: ## network card name
dhcp4: false
addresses:
- 192.168.3.88/24 ## set static IP
routes:
- to: default
via: 192.168.3.1 ## gateway
nameservers:
addresses: [8.8.8.8,8.8.4.4,192.168.3.1]
version: 2
格式的缩进很容易出错, 可以直接复制以上模板,只修改网卡名称、IP和网关即可。
4、开启 systemd-networkd服务(可选)
sudo systemctl start systemd-networkd
5、查看systemd-networkd服务状态(可选)
sudo systemctl status systemd-networkd
5、查看systemd-networkd服务状态(可选)
sudo systemctl status systemd-networkd
说明systemd-networkd服务已经启动。
6、重启网络服务
sudo netplan apply
没有报错说明格式正确。
7、查看设定的IP是否生效
ifconfig | head -n 3
设定的IP已生效。
8、测试网络连接是否正常
ping -c 3 www.baidu.com
说明网络连接正常。
参考:
https://linuxconfig.org/netplan-network-configuration-tutorial-for-beginners
https://blog.csdn.net/cal_room2032/article/details/124629068