Emby 国内加速服务效果展示

前言

因为众所周知的原因,中国网络对 fanart.tv、imvdb.com、themoviedb.org、www.thetvdb.com 等剧集刮削网站访问十分缓慢甚至无法访问。
此项目旨在破解 Emby 的同时加速中国用户对 Emby 刮削器 的访问,你无需折腾 Emby 的科学上网即可享受剧集刮削服务。你可以直接勾选 TheMovieDb、The Open Movie Database、TheTVDB 来刮削电影、剧集、动画。
因为有一定量的开销,此项目不是免费的,你需要支付 8 元来获得永久使用授权,购买链接

效果




Visual Studio Code 以 root 用户调试

修改 launch.json

添加 pipeTransport,修改 debuggerPath 为你的 vsdbg 路径

"pipeTransport": {
                "pipeCwd": "${workspaceFolder}",
                "pipeProgram": "sudo",
                "pipeArgs": [ "-i" ],
                "debuggerPath": "/Users/yukino/vsdbg/vsdbg",
                "quoteArgs": false
}

下载安装 vsdbg

curl -sSL https://aka.ms/getvsdbgsh | proxychains4 bash /dev/stdin -v latest -l ~/vsdbg

注意这里有个坑!!!

MacOS 的默认应该是 vsdbg-osx-x64.zip ,直接执行上面的命令会变成下载 https://vsdebugger.azureedge.net/vsdbg-16-8-11005-1/vsdbg-osx-x64.tar.gz 然后下不下来,只能手动修改为 vsdbg-osx-x64.zip 然后手动下载解压,最后别忘了设置权限 chmod 755 ~/vsdbg

记一次 Ubuntu 使用 SkiaSharp 库出现的错误

环境

AWS LightSail
Ubuntu 20.04 LTS (GNU/Linux 5.4.0-1018-aws x86_64)
.net core 3.1

问题

使用 SkiaSharp.NativeAssets.Linux 库时出现错误

Unable to load shared library 'libSkiaSharp' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibSkiaSharp: cannot open shared object file: No such file or directory

解决方法

使用 ldd libSkiaSharp.so 查看缺少的链接库

linux-vdso.so.1 (0x00007ffc42ff5000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f470fa0f000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f470fa09000)
libfontconfig.so.1 =>  not found
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f470f873000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f470f681000)
/lib64/ld-linux-x86-64.so.2 (0x00007f471035f000)
libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f470f5c2000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f470f592000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f470f589000)
libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f470f551000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f470f535000)

可以看到第4行有一个 libfontconfig.so.1 => not found
通过 Google 很容易查到 libfontconfig.so.1libfontconfig1
使用 apt-get install libfontconfig1 安装相关的链接库即可

Emby IOS客户端破解方法

吐槽

IOS 这个闸总系统这么封闭,想改个 hosts 都不可以,iPad 这样我忍了,这辈子都别让我买 iPhone。

路由器修改 hosts

目的

在路由器的hosts 加上148.251.255.245 mb3admin.com 或者将 mb3admin.com 的解析 ip 劫持为 148.251.255.245,不同路由器操作不同。
下面除了 OpenWrt 之外我是从网上 COPY 过来的,自己看着改吧,主要目的就是上面所说的。

OpenWrt

网络->DHCP/DNS->自定义挟持域名

斐讯路由

功能设置->高级设置->HOST配置或高级设置->系统设置->系统参数->hosts配置,使用标准hosts格式

潘多拉固件

网络->DHCP/DNS->HOSTS和解析文件->自定义DNS解析,根据提示添加即可

华硕梅林固件

首先登陆路由器后台,在系统管理 > 系统设置中开启【JFFS】和【SSH】,然后重启路由器。
使用SSH登陆路由器,在【/jffs/configs】下建立【dnsmasq.conf.add】文件,文件内容【addn-hosts=/jffs/configs/hosts】
在/jffs/configs下创建自己的hosts文件,按照标准hosts规则填写需劫持的域名,然后执行service restart_dnsmasq重启或者重启路由器即可生效。

爱快固件

网络设置->DNS设置->DNS设置->增加->填写要劫持的域名和IP->保存

极路由

在应用中心,安装自定义hosts,添加劫持,重启路由器即可

tomato固件

在高级设置->DHCP/DNS>Dnsmasq自定义设置中,添加如下规则即可【address=/域名/IP】,截获DNS端口(UDP 53)打勾。

老毛子固件

内部网络->DHCP服务器->自定义HOSTS文件->添加一行->保存,重启生效。

其他固件

如果实在找不到,你也可以直接 ssh 连接到路由器
输入 sudo -i 进入 root
输入 vi /etc/hosts 修改hosts
i 键进入修改模式,在末尾添加 148.251.255.245 mb3admin.com
esc 键,再输入 :wq 保存修改

安装描述文件

在 IOS 上用浏览器访问描述文件下载链接,然后进入设置安装描述文件

进入 Emby

如果有提示这个点 OK

然后打开 Emby Premiere,有状态提示即破解完成

外网访问破解

如果你想在外网也能使用破解服务,那上面的方法是行不通了。
购买 Http Catcher APP,添加 DNS劫持,然后左下角开启代理。

我知道你不想付钱,那咋办嘛,又不能在系统修改 hosts,草了都。

《我在孤岛上迎接黎明》死是生的延续

《我在孤岛上迎接黎明》是王小波的短篇小说。书中的“我”在小时候认为宇宙和永恒是无限的,包括我在内的人却是有限的,我每每想到这眼前就会出现寂寞的大海,人所做的一切都不过是死前的游戏……

我喜欢写诗,然而上百首以内仅仅有几首是“好诗”,更可怕的是我甚至都不知道这“好诗”是怎么写出来的,这让我懊恼不已。

我同学生一同出海后遭遇了海潮,当我把学生全都推上小船上后,自己却被没有浆的小船带画到孤岛上。

我独自在荒岛上迎接黎明。太阳初升时,十万喇叭齐鸣。在黑暗尚未退去的地方,十万支蜡烛燃烧。在这样的情景下,我心中的某一部分被触动,似乎一把锋利的剑穿过内心,而我感觉到的,是愉悦。字句在我眼中燃烧,我完全凭自己的灵感写出了属于自己的诗篇。我把它刻在石头上,反复刻了数遍,让它不会被岁月抹去。我终于找到了对抗死亡的方法,让死作为生延续。

我也时常考虑活着的意义是为何,如果活着就是为了走向死亡,那“活着”岂不是无聊透顶。这篇小说给了我另外一种活着的灵感:在这个世界留下什么东西。它将作为我生的延续,永远存在于这里。由此可以解释我为何要做开源项目,我为何要开这么一个博客,我为何要写下这些文字——让我能够坦然面对死亡,让死作为生继续存在。

Emby 动画添加字幕脚本

最近看动画从 PT 站下了生肉,需要手动添加字幕,挨个添加显然太麻烦,写了个 python 脚本.

原理是 Emby 会自动扫描目录下和动画文件同名的字幕文件并加载.

import os

example_file_name = '[Snow-Raws] 新妹魔王の契約者 第<number>話 (BD 1920x1080 HEVC-YUV420P10 FLAC).mkv'
example_ass_name = '[Moozzi2] Shinmai Maou no Testament - <number> (BD 1920x1080 x.264 Flac).ass'
count = 1

while True:
    if count < 10:
        count_str = '0' + str(count)
    else:
        count_str = str(count)
    file_name = example_file_name.replace('<number>', count_str)
    ass_name = example_ass_name.replace('<number>', count_str)
    if os.path.isfile(file_name) & os.path.isfile(ass_name):
        os.rename(ass_name, os.path.splitext(file_name)[0] + os.path.splitext(ass_name)[1])
        print('替换 %s' % (ass_name))
        count += 1
    else:
        break

解压字幕到动画文件夹下, example_file_nameexample_ass_name 替换为动画和字幕名称,并用 <number> 替换剧集数,在动画文件夹下保存为 AssToAnime.py 然后 python3 AssToAnime.py 运行即可,回去看 Emby 就会有字幕出现了。

附上我常用的字幕网站:射手网

emby 破解版完全食用方法

Telegram 交流群
最新教程更新于 2020/09/13,添加 IOS破解方案

小广告

Emby 国内加速服务

是否在为 Emby 无法刮削片子而烦恼?Emby 国内加速服务加速所有刮削器访问下载,拒绝手动刮削,直接勾选 TheMovieDb、The Open Movie Database、TheTVDB 来刮削电影、剧集、动画,让海报布满你的 Emby,让刮削不再成问题!旨在为了提高中国用户的 Emby 使用体验,了解一下
演示

网络加速

全中继高速线路,月付仅10元
新用户更有首月 8 折优惠
不限设备数量、不限带宽速度、全球节点分布,直接起飞
节点解锁 Netflix ,畅享 YouTube 4K
先试用 1G 流量再上车,用得安心

进入官网 注册体验一下

前言

我从 dotnet CoreFx 重新编译了 System.Net.Http.dll ,将认证服务器指向我的 api,达到通过认证的目的。

除了破解认证以外,我还修改了默认插件源,用我的服务器反代了官方的插件源,以加速国内用户下载插件。(其实官方插件源直接打不开

注意事项

因为自动更新会覆盖原来替换过的文件,所以 Emby 服务端自动更新后需要重新替换文件!
您不想麻烦可以在 设置->自动更新 关闭自动更新

服务端破解

注意:如果以前使用其他破解方案,必须将系统的 hosts 的 mb3admin.com www.mb3admin.com 条目删除,否则破解不会生效

简要方法:只需要将破解程序集替换原有文件即完成破解,原有文件地址为 system/System.Net.Http.dll,或使用 docker 直接安装破解版。

  • Unix x64:http://file.neko.re/EmbyCrack/unix-x64/System.Net.Http.dll
  • Unix arm:http://file.neko.re/EmbyCrack/unix-arm64/System.Net.Http.dll
  • Windows x64:http://file.neko.re/EmbyCrack/windows-x64/System.Net.Http.dll

具体方法:

群晖套件版

  1. 套件去 Emby 官网下载:下载链接 ,一般选择 64-bit NAS 下载即可,如果下载速度缓慢的话……何不尝试一下上面的网络加速呢嘻嘻嘻。
  2. 下载后打开套件中心上传刚才下载的套件安装。
  3. ssh 登录控制台, sudo -i 进入 root 用户,执行
    wget https://neko.re/wp-content/uploads/simple-file-list/NyaaHost.sh ; sh NyaaHost.sh
    即完成破解。
  4. 浏览这片文章下面的客户端破解方法。

威联通(Linux)

关闭 Emby 后使用 wget -O /share/CACHEDEV1_DATA/.qpkg/EmbyServer/system/System.Net.Http.dll 'http://file.neko.re/EmbyCrack/unix-x64/System.Net.Http.dll' --no-check-certificate 下载破解程序集替换原有程序

华芸nas(Linux)

关闭 Emby 后使用 wget -O /volume1/.@plugins/AppCentral/emby-server/system/System.Net.Http.dll 'http://file.neko.re/EmbyCrack/unix-x64/System.Net.Http.dll' --no-check-certificate 下载破解程序集替换原有程序

如果上述方法提示找不到文件,请参考 Linux 安装方法找到 Emby 目录

Linux

  1. sudo -i 切换为 root 用户
  2. 使用 systemctl stop emby-server.service 结束 emby 进程
  3. 使用 find / -name EmbyServer 找到 emby,比如这里我的 emby 所在目录为/opt/emby-server/system/
  4. 使用 wget -O /opt/emby-server/system/System.Net.Http.dll 'http://file.neko.re/EmbyCrack/unix-x64/System.Net.Http.dll' --no-check-certificate(注意替换掉命令中的 emby 所在目录)下载破解程序集替换原有程序
  5. 启动 Emby 进程 systemctl start emby-server.service

Windows

下载 程序集 后进入 Emby 目录替换原来的文件即可。

Docker

替换安装

输入 docker ps 得到 emby docker 的 CONTAINER ID
输入 docker exec -it CONTAINER ID /bin/sh 进入 docker 终端
输入 wget http://file.neko.re/EmbyCrack/unix-x64/System.Net.Http.dll 下载 dll
输入 cp System.Net.Http.dll system/ 替换原有 dll ,然后重启 emby docker 即可。

全新安装

安装 Docker 源使用
yukinococo/emby_crack:unix-x64 (Unix)
yukinococo/emby_crack:windows-x64 (Windows)

至此,服务端破解就已经生效了,接下来还需要在浏览器做一些小修改才能在 PC 上完全使用,坐和放宽 :)

客户端破解

注意:如果以前使用其他破解方案,必须将系统的 hosts 的 mb3admin.com www.mb3admin.com 条目删除,否则破解不会生效

  • PC 浏览器:安装 URLRedirector(Chrome, Firefox) 插件,添加用户规则

原始地址 https://mb3admin.com ,目标地址 https://crackemby.neko.re ,然后确认并保存,别忘了勾选重定向。

img

别忘了勾选这里
img

img

输入任意字符后这样显示,就是破解完成了。

高级应用

服务端获取插件源已经替换为我的,但是后台显示插件图片采用的是 https://raw.githubusercontent.com 这个节点,国内访问速度很慢,建议加入到自己的代理白名单。

img

设置光猫桥接,从光猫获取 pppoe 密码

最近换了 redmi ac2100 路由器,顺便把光猫改一下桥接,减少一层 nat

从网上找到光猫超级管理员的密码登录

先通过审查元素获取密码,被加密

9d75a99515bbc84fef0bbe5eec330cd5ff1ffa0b59803053064cd0a63f32415d

通过 hash-identifier 推测加密类型,挨个试

试出来的类型是 SHA-256(md5($pass))

然后使用 hashcat 解出密码

能够看到密码为 159482

然后进将光猫设置为桥接,进路由器 pppoe 拨号即可.

快速构建 nginx + v2ray + ws + tls 科学上网

前言

想想上一篇文章还是 2019年度总结,其实前几个月写了很多东西,都记在 Typecho 里,没写博客。为什么呢?因为知识点太过零散,自觉不方便写成文章,顶多记一记笔记这样子。

突然写这个是因为最近在 ruvds 租了一台机器用来挂给家里的 NAS 挂 bt 下载作代理用,因为移动不提供公网 ip,用 bt 下载速度太慢且几乎没有上传,我可不想一直做一个吸血鬼。

ruvds:一个月 60 卢布,6块钱左右,可以用万事达借记卡支付,很划算。

为什么使用 WebSocket + TLS

因为无论是 Vmess 亦或者 SS 协议,只要流量过大都会导致断流和封端口,遂只能另寻它路。Trojan 和 v2ray + ws 的伪装流量可以解决上述问题,这也就是这篇文章的由来。

准备工作

  • 一台墙外的机器
  • OS选择:Ubuntu / Debian / Centos
  • 一个域名

快速构建

开始

下列命令均在 root 用户下进行(su root 或者 sudo -i)且使用 Debian 9 系统,Centos 需要一些改变

  • nginx:提供网站服务
  • v2ray:提供 socket 代理服务
  • Certbot:自动配置证书,开启 tls

安装必要程序

安装 nginx:apt update && apt install -y nginx
安装 v2ray:wget https://install.direct/go.sh && bash go.sh

安装 Certbot:
OS 不同,方法不同,参考 https://certbot.eff.org/

配置 Nginx

先将域名解析到 vps 上,然后 cd 到 /etc/nginx/conf.d,添加文件 v2ray.conf,填入以下内容,文中 example.com 修改为你解析到 vps 的域名

server {
	server_name example.com;
	root /var/www/ray;
	location /ray { # 与 V2Ray 配置中的 path 保持一致
    if (http_upgrade != "websocket") { # WebSocket协商失败时返回404
        return 404;
    }
    proxy_redirect off;
    proxy_pass http://127.0.0.1:10086; # 假设WebSocket监听在环回地址的10000端口上
    proxy_http_version 1.1;
    proxy_set_header Upgradehttp_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host host;
    # Show real IP in v2ray access.log
    proxy_set_header X-Real-IPremote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }	
}

填写完成后使用 nginx -t 测试语法是否正确,然后 systemctl restart nginx 重启服务,创建 /var/www/ray 这个目录,建一个 index.html 文件,内容随意

配置 Certbot

输入 certbot ,选择你的域名

root@ip-172-26-6-133:/etc/nginx/conf.d# certbot
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: ray.yukino.ch
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for ray.yukino.ch
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/v2ray.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/v2ray.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://ray.yukino.ch

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=ray.yukino.ch
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/ray.yukino.ch/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/ray.yukino.ch/privkey.pem
   Your cert will expire on 2020-09-17. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

至此,直接在浏览器访问你的域名应该可以看到 index.html 文件,如果没有,检查一下 80 / 443 端口是否打开了(telnet exmple.com 80)

配置 V2ray

修改 /etc/v2ray/config.json 文件, id 改为 你 生成 的 UUID

{
    "inbounds": [
        {
            "port": 10086,
            "listen": "127.0.0.1",
            "protocol": "vmess",
            "settings": {
                "clients": [
                    {
                        "id": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                        "alterId": 64
                    }
                ]
            },
            "streamSettings": {
                "network": "ws",
                "wsSettings": {
                    "path": "/ray"
                }
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
            "settings": {}
        }
    ]
}

然后 systemctl restart v2ray 重启 v2ray,至此所有内容配置完毕

客户端连接

客户端连接的时候设置 path 为 ray,开启底层传输安全(tls),地址即为你的域名,用户 id 即为你的 uuid