Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux 1.2.1客户端 本地docker+hosts解决 #736

Open
MijazzChan opened this issue Apr 23, 2021 · 1 comment
Open

Linux 1.2.1客户端 本地docker+hosts解决 #736

MijazzChan opened this issue Apr 23, 2021 · 1 comment

Comments

@MijazzChan
Copy link

MijazzChan commented Apr 23, 2021

需要其他客户端的可以查看: #48

我正在使用的方案是:

  • Windows 客户端: 设置里http代理至局域网一台服务器, docker镜像 nondanee/unblockneteasemusic:latest, 带-p 8887拉起容器即可. docker正常映射+防火墙暴露就行. 不需要证书.

  • iOS客户端: 自签证书后 Issue48-自签证书 信任证书, 配合Shadowsocks规则(music.163.com -> PROXY, music.126.net -> PROXY).
    利用v2rayRoutingOutbound转发至docker内的服务. 有公网ip+ddns, 用v2ray向外暴露vmess当跳板.

{
                    "type": "field",
                    "outboundTag": "netease",
                    "domain": [
                        "music.163.com",
                        "music.126.net"
                    ]
}
{
            "tag": "netease",
            "protocol": "http",
            "settings":{
                "servers": [
                    {
                        "address": "docker.container.ip.or.host",
                        "port": "your.listen.port.here"
                    }
                ]
            },
            "streamSettings": null,
            "mux": null
}

这里的docker需要加RUN CMD参数-p port1:port2 -e https://music.163.com, 且要-v path/to/server.crt:/usr/src/app/server.crt:ro -v path/to/server.key:/usr/src/app/server.key:ro 把证书绑上.

  • Linux 客户端(1.2.1)

Linux manjaro 5.9.16-1-MANJARO
绑静态ip的话, 方便做/etc/hosts, 创建一个新的docker network, 给一个subnet

sudo docker network create --driver=bridge --subnet=172.18.0.0/24 dockerbr18
sudo docker network ls
#输出
NETWORK ID     NAME         DRIVER    SCOPE
204bddea61fe   bridge       bridge    local
4fd2583def16   dockerbr18   bridge    local
861d752f7647   host         host      local
6ff2f7b9a665   none         null      local

我本人不是docker-compose的粉丝. 所以

sudo docker run -d --net dockerbr18 --ip 172.18.0.2 -v /etc/unblocknetease-docker/cert/server.crt:/usr/src/app/server.crt:ro -v /etc/unblocknetease-docker/cert/server.key:/usr/src/app/server.key:ro --name unblocknetease --restart on-failure nondanee/unblockneteasemusic -p 80:443 -e https://music.163.com -f 59.111.181.38

此时你ping 172.18.0.2已经会有echo了.
再设一下宿主机的/etc/hosts

#/etc/hosts
172.18.0.2    music.126.net
172.18.0.2    music.163.com
172.18.0.2    interface.music.163.com

再尝试ping music.163.net

ping music.163.com
#输出
PING music.163.com (172.18.0.2) 56(84) bytes of data.
64 bytes from music.163.com (172.18.0.2): icmp_seq=1 ttl=64 time=0.063 ms

再根据» [SOLVED] Can I trust self-signed SSL certificate?

sudo trust anchor /etc/unblocknetease-docker/cert/ca.crt

直接正常启动网易云即可, --ignore-certificate-errors 在我这里貌似可有可无.
祭出检测专用Jay Chou.
image

@MijazzChan
Copy link
Author

感谢作者 @nondanee 以及各位Contributors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant