检查F12后会发现是CORS相关错误。使用Firefox 87.0 on win64配合Allow CORS这个插件会发现问题解决了。

但是大多数浏览器无法通过这个方法解决问题,因为最新版本chrome和firefox开始禁止使用Access-Control-Allow-Origin: *

I'm looking into this problem, and Firefox 87.0 on win64 is a verified working solution. Try it if you're stuck!

Are you writing an v2ray setup script for others, but still asking noob users to prepare their own domain?

Are you running remote powershell, but got fucked by the TrustedHosts limitation?

Are you running a test-only https server, but acme.sh refuses to provide certificate for bare ip?

Convert your IP to a domain!

If your ip address is, then your domain is

If your ip address is, then your domain is

The domain name "$ipaddr.$prefix" always points to $ipaddr! You can get an available prefix list with this api: https://recolic.net/api/ip2domain-prefix.list.

I'll deploy a highly-available server only if there're already enough users.

Binary download



This guide is for building smbclient and smbd (https://github.com/samba-team/samba) for windows.

Install dependencies

Use cygwin64 (usually better) or cygwin32. Install latest version of the following mandatory package: gcc-g++, bash, flex, libintl-devel, libgnutls-devel, perl, python3, python3-devel, zlib-devel, liblmdb-devel, rpcsvc-proto, m4 and the following optional package: libjansson-devel, libarchive-devel, openldap-devel, libicu-devel.

Then run pip3 install dnspython markdown

Then install perl-parse-yapp manually. You should manually copy these file into correct directory in your cygwin shell. You may download the following file here or get the latest version from archlinux pacman -S perl-parse-yapp.

perl-parse-yapp /usr/bin/vendor_perl/yapp => /usr/bin/yapp
perl-parse-yapp /usr/lib/perl5/5.32/vendor_perl/auto/Parse/Yapp/
perl-parse-yapp /usr/share/perl5/vendor_perl/ => You may have to move to /usr/share/perl5/5.32/vendor_perl/
perl-parse-yapp /usr/share/perl5/vendor_perl/Parse/
perl-parse-yapp /usr/share/perl5/vendor_perl/Parse/Yapp.pm
perl-parse-yapp /usr/share/perl5/vendor_perl/Parse/Yapp/
perl-parse-yapp /usr/share/perl5/vendor_perl/Parse/Yapp/Driver.pm
perl-parse-yapp /usr/share/perl5/vendor_perl/Parse/Yapp/Grammar.pm
perl-parse-yapp /usr/share/perl5/vendor_perl/Parse/Yapp/Lalr.pm
perl-parse-yapp /usr/share/perl5/vendor_perl/Parse/Yapp/Options.pm
perl-parse-yapp /usr/share/perl5/vendor_perl/Parse/Yapp/Output.pm
perl-parse-yapp /usr/share/perl5/vendor_perl/Parse/Yapp/Parse.pm

Please run echo 'use Parse::Yapp::Driver;' | perl, and make sure it works. Then run yapp, also make sure it works.


Then download the samba git repository, run ./configure --without-gpgme --without-pam. Please add corresponding argument if you skipped any optional package in previous step:

Missing Package Extra Command Line
libjansson-devel --without-json
libarchive-devel –without-libarchive
openldap-devel –without-ldap

If configure is success, continue.


Run the following command to patch ld:

cd /usr/x86_64-pc-cygwin/bin
mv ld ld.real

echo '#!/bin/bash
for ele in "$@"; do
    [[ "$ele" = "--export-dynamic" ]] && _result+=("--export-all-symbols") || _result+=("$ele")
/usr/bin/ld.real "${_result[@]}"
exit $?
' > ld

chmod +x ld

And apply this git-patch to your repository:

diff --git a/source3/lib/cluster_support.c b/source3/lib/cluster_support.c
index c11b1f76dbb..007e76f0953 100644
--- a/source3/lib/cluster_support.c
+++ b/source3/lib/cluster_support.c
@@ -59,7 +59,7 @@ const char *lp_ctdbd_socket(void)
        const char *ret;

-       ret = lp__ctdbd_socket();
+       ret = NULL; /* lp__ctdbd_socket(); */
        if (ret != NULL && strlen(ret) > 0) {
                return ret;
diff --git a/third_party/popt/poptconfig.c b/third_party/popt/poptconfig.c
index f0a92e01bd5..d9fa848a786 100644
--- a/third_party/popt/poptconfig.c
+++ b/third_party/popt/poptconfig.c
@@ -42,7 +42,7 @@ extern int glob_pattern_p (const char *__pattern, int __quote)
 /*@=declundef =exportheader =incondefs =protoparammatch =redecl =type @*/
 #endif /* __LCLINT__ */

-#if !defined(__GLIBC__)
+#if 0
 /* Return nonzero if PATTERN contains any metacharacters.
    Metacharacters can be quoted with backslashes if QUOTE is nonzero.  */
 static int


OK. Now run make bin/smbclient -j8 and you're all set.

Realtime status board: https://recolic.net/status

Telegram channel t.me/net_recolic has been deprecated. I'll use this post to update incident about recolic.net services. (A private blog is so useful!)

News in the last month

  • Apr 5 - Apr 6, drive.recolic.net, git.recolic.net is down, because of Azure billing issue. Resolved at 06:00 UTC, Apr 6.


传统的DNS数据报文不加密,可以被任意劫持和篡改。DNS over TLS(RFC7858,RFC8310) 和 DNS over HTTPS(RFC 8484)是很好的解决方案,它们用不同的方法达成了相同的目的:防止DNS报文被中间人窥探、篡改或伪造。

浏览器ONLY 安全DNS解决方案



  • Firefox 在右上角->Preferences->最下面的Network Settings->勾上最下面的Enable DNS over HTTPS->确定即可。
    (翻译: 在右上角->选项->最下面的网络设置->勾上最下面的启用DNS over HTTPS->确定即可。)



Windows推荐: SimpleDNSCrypt

请访问这个网站下载安装包。https://simplednscrypt.org/ 安装之后,启动软件,点击中间的Service的开关启动服务,然后在下方点击你的WLAN或者网线的图标,即可对这条网络连接启用安全DNS服务。

Linux推荐: stubby


  • Ubuntu
sudo apt-get install -y stubby ; sudo systemctl disable systemd-resolved --now ; sudo systemctl enable stubby --now
  • ArchLinux
sudo pacman  -S --noconfirm stubby ; sudo systemctl disable systemd-resolved --now ; sudo systemctl enable stubby --now
  • Android 9+ 请在Settings -> Network&internet -> Private DNS -> Private DNS provider hostname填写dns.google并确定。我不清楚这个路径的中文翻译会被翻译成什么样,请自己寻找吧。

  • 其他Android和IOS设备 请搜索下载Cloudflare的手机app,这是全球最大的网络公司,能帮助你一键解决DNS不安全的问题。当然,中国对它不太友好,因为它是安全的。
    在Google Play Store或Apple App Store搜索Cloudflare或1.1.1.1即可找到这个好用的App。


请尝试访问https://recolic.net 。选择全局方案的Windows用户可能需要用命令ipconfig /flushdns来清理缓存,如果能正常访问,说明配置成功。