This device shows as 534d:2109 MacroSilicon USB Video in lsusb.

  1. If it's not working in OBS studio, try switching Video Format some times, or manually switch its Resolution to 1920x1080.
  2. If it's still not working, refer to this guide. (The bug in this guide was already fixed in latest kernel, but give it a try. )

Verified method to use this device: ffplay -f video4linux2 -framerate 50 -video_size 1920x1080 -input_format mjpeg /dev/video0

检查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 192.168.1.1, then your domain is 192.168.1.1.ip.rtmp.asia.

If your ip address is 13.80.82.152, then your domain is 13.80.82.152.ip.rtmp.asia.

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

Working-in-progress

Guide

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.

Build

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.

Fix

Run the following command to patch ld:

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

echo '#!/bin/bash
_result=()
for ele in "[email protected]"; do
    [[ "$ele" = "--export-dynamic" ]] && _result+=("--export-all-symbols") || _result+=("$ele")
done
/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

Build

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

浏览器ONLY 安全DNS解决方案

此方式难度较低!

目前(2019.7)Chrome还正在实现此功能,Firefox早已支持此功能了。如果你用的是中国浏览器,请不要指望他们。

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

全局安全DNS解决方案

这一类解决方案让你的所有网络流量不受DNS污染攻击的影响。这类小工具有很多,我的推荐不一定适合你,但我会推荐最容易操作、最广泛使用、足够安全的解决方案。

Windows推荐: SimpleDNSCrypt

请访问这个网站下载安装包。https://simplednscrypt.org/ 安装之后,启动软件,点击中间的Service的开关启动服务,然后在下方点击你的WLAN或者网线的图标,即可对这条网络连接启用安全DNS服务。
提示,右上角的设置里可以改界面为中文,可以禁止启动软件时检查更新(因为检查更新有点慢)。这软件的默认配置就足够大多数人用了,如果你不懂的话,不必自己改配置。
这是一个开源软件,发布的安装包也经过数字签名,如果你懂得计算机知识并且重视安全,你可以自行验证它的安全性。如果你不懂得计算机知识且重视安全,相信我,你没有能力重视安全。

Linux推荐: stubby

Linux直接用包管理器一条命令安装,然后systemd启动就好了。下面我写的命令只是示例,请修改成你使用的包管理器。同样,这个软件的默认配置就足够好用了。如果你希望加上GoogleDNS作为你的服务器,你可以参考这里的配置

  • 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来清理缓存,如果能正常访问,说明配置成功。