Giter VIP home page Giter VIP logo

miner-proxy's Introduction


谨慎使用0.5以上版本, 推荐使用0.4/0.35版本

📃 简介

  • miner-proxy底层基于TCP协议传输,支持stratum、openvpn、socks5、http、ssl等协议。
  • miner-proxy内置加密、数据检验算法,使得他人无法篡改、查看您的原数据。混淆算法改变了您的数据流量特征无惧机器学习检测。
  • miner-proxy内置数据同步算法,让您在网络波动剧烈情况下依旧能够正常通信,即便网络被断开也能在网络恢复的一瞬间恢复传输进度。

🛠️ 功能

  • 加密混淆数据, 破坏数据特征
  • 客户端支持随机http请求, 混淆上传下载数据
  • 服务端管理页面快捷下载客户端运行脚本
  • 单个客户端监听多端口并支持转发多个地址
  • 官网 可以快速下载服务端运行脚本
  • 临时断网自动恢复数据传输, 永不掉线
  • 多协议支持

🏛 官网

你可以访问 miner-proxy 获取服务端的安装方式

如果在寻找v0.5.0以下版本的帮助文档,你可以访问 v0.5.0以下版本文档

⚠️ 证书

miner-proxy 需在遵循 MIT 开源证书的前提下使用。

🎉 JetBrains 开源证书支持

miner-proxy 在 JetBrains 公司旗下的 GoLand 集成开发环境中进行开发,感谢 JetBrains 公司提供的 free JetBrains Open Source license(s) 正版免费授权,在此表达我的谢意。

miner-proxy's People

Contributors

0x7e3x0 avatar fang-aunt avatar kayuii avatar perrornet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

miner-proxy's Issues

V0.5.4 频繁发生链接断开错误

客户端 message:miner close connection error: EOF. close connection
服务端read data from miner pool error read tcp 172.31.40.48:40074->172.65.231.156:4444 use of closed network connection
服务器追踪地址至矿池 没有发生过丢包 ping 2.4 ms,客户端至服务端 没有发生丢包 ping 40 ms

请问这款软件 抽水吗

描述错误
清晰简洁地描述错误是什么。

重现
重现行为的步骤:

  1. xxx
  2. xxx

截图
如果适用,请添加屏幕截图以帮助解释您的问题。

您的系统信息

  • 系统名称: win
  • 系统版本: 10

miner-proxy信息

  • 版本: v0.4.0 或者 填写 启动时输出的 "版本日志:"

程序崩溃,进程退出

unexpected fault address 0x1017e7c39
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x1 addr=0x1017e7c39 pc=0x466849]

goroutine 38289 [running]:
runtime.throw({0x7e8145, 0x81000009})
        /usr/local/go/src/runtime/panic.go:1198 +0x71 fp=0xc0002494c0 sp=0xc000249490 pc=0x435491
runtime.sigpanic()
        /usr/local/go/src/runtime/signal_unix.go:742 +0x2f6 fp=0xc000249510 sp=0xc0002494c0 pc=0x44abf6
runtime.memmove()
        /usr/local/go/src/runtime/memmove_amd64.s:410 +0x489 fp=0xc000249518 sp=0xc000249510 pc=0x466849
runtime.concatstrings(0xc0001d0200, {0xc0002495b0, 0x3, 0x40e854})
        /usr/local/go/src/runtime/string.go:52 +0x17c fp=0xc000249590 sp=0xc000249518 pc=0x44f67c
runtime.concatstring3(0x203000, {0x7e825d, 0xc0001c73b0}, {0x865770, 0x40c8b4}, {0x807e7cb6, 0x432c90})
        /usr/local/go/src/runtime/string.go:63 +0x6f fp=0xc0002495f0 sp=0xc000249590 pc=0x44f8af
net.(*OpError).Error(0xc00045cc30)
        /usr/local/go/src/net/net.go:470 +0x58 fp=0xc000249648 sp=0xc0002495f0 pc=0x5c3638
fmt.(*pp).handleMethods(0xc0001160d0, 0xfe7df0a8)
        /usr/local/go/src/fmt/print.go:620 +0x23c fp=0xc0002498f8 sp=0xc000249648 pc=0x4dbf5c
fmt.(*pp).printArg(0xc0001160d0, {0x7a1280, 0xc00045cc30}, 0x76)
        /usr/local/go/src/fmt/print.go:709 +0x693 fp=0xc000249998 sp=0xc0002498f8 pc=0x4dcc53
fmt.(*pp).doPrintf(0xc0001160d0, {0x7f37b5, 0x1f}, {0xc0006b0020, 0xc00049a000, 0x0})
        /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc000249a90 sp=0xc000249998 pc=0x4df508
fmt.Sprintf({0x7f37b5, 0x1f}, {0xc0006b0020, 0x1, 0x1})
        /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc000249ae8 sp=0xc000249a90 pc=0x4d9919
go.uber.org/zap.getMessage({0x7f37b5, 0xa}, {0xc0006b0020, 0x0, 0xc00038cb58})
        /root/goProject/pkg/mod/go.uber.org/[email protected]/sugar.go:238 +0x74 fp=0xc000249b20 sp=0xc000249ae8 pc=0x6e05b4
go.uber.org/zap.(*SugaredLogger).log(0xc000010020, 0x1, {0x7f37b5, 0x1f}, {0xc0006b0020, 0x1, 0x1}, {0x0, 0x0, 0x0})
        /root/goProject/pkg/mod/go.uber.org/[email protected]/sugar.go:225 +0x9d fp=0xc000249b60 sp=0xc000249b20 pc=0x6e047d
go.uber.org/zap.(*SugaredLogger).Warnf(...)
        /root/goProject/pkg/mod/go.uber.org/[email protected]/sugar.go:143
go.uber.org/zap.(*SugaredLogger).Warnf-fm({0x7f37b5, 0xc000115020}, {0xc0006b0020, 0x7ff52cbb6f30, 0x50})
        /root/goProject/pkg/mod/go.uber.org/[email protected]/sugar.go:142 +0x55 fp=0xc000249bc0 sp=0xc000249b60 pc=0x6e8f15
miner-proxy/pkg.outByLog(0x1, {0x7f37b5, 0x1f}, {0xc0006b0020, 0x1, 0x1})
        /root/miner-proxy/pkg/log.go:98 +0x18b fp=0xc000249c80 sp=0xc000249bc0 pc=0x6e8bcb
miner-proxy/pkg.Warn(...)
        /root/miner-proxy/pkg/log.go:110
miner-proxy/proxy.(*Proxy).err(0xc00074e400, {0x7f37b5, 0x1f}, {0x869640, 0xc00045cc30})
        /root/miner-proxy/proxy/proxy.go:84 +0x105 fp=0xc000249cd0 sp=0xc000249c80 pc=0x70d3e5
miner-proxy/proxy.(*Proxy).ReadEncryptionSendPlaintext.func1({0xc000128078, {0xc000242000, 0x7e79c5, 0x1}})
        /root/miner-proxy/proxy/proxy.go:231 +0x2ea fp=0xc000249d88 sp=0xc000249cd0 pc=0x70e60a
miner-proxy/proxy.(*Package).Read(0xc00038ce50, {0x869680, 0xc000128078}, 0xc00038ce68)
        /root/miner-proxy/proxy/package.go:167 +0x2be fp=0xc000249e28 sp=0xc000249d88 pc=0x70c99e
miner-proxy/proxy.(*Proxy).ReadEncryptionSendPlaintext(0x40c5ea, {0x869680, 0xc000128078}, {0x8696a0, 0xc000128038})
        /root/miner-proxy/proxy/proxy.go:212 +0x91 fp=0xc000249ea8 sp=0xc000249e28 pc=0x70e2b1
miner-proxy/proxy.(*Proxy).ReadEncryptionSendPlaintext-fm({0x869680, 0xc000128078}, {0x8696a0, 0xc000128038})
        /root/miner-proxy/proxy/proxy.go:210 +0x49 fp=0xc000249ee0 sp=0xc000249ea8 pc=0x70f789
miner-proxy/proxy.(*Proxy).pipe(0xc00074e400, {0x7ff5040b18d8, 0xc000128078}, {0x7ff5040b18d8, 0xc000128038})                                                                                 
        /root/miner-proxy/proxy/proxy.go:346 +0x2a6 fp=0xc000249fa8 sp=0xc000249ee0 pc=0x70f446                                                                                               
miner-proxy/proxy.(*Proxy).Start·dwrap·5()                                                                                                                                                    
        /root/miner-proxy/proxy/proxy.go:65 +0x36 fp=0xc000249fe0 sp=0xc000249fa8 pc=0x70d0b6                                                                                                 
runtime.goexit()                                                                                                                                                                              
        /usr/local/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc000249fe8 sp=0xc000249fe0 pc=0x465561                                                                                           
created by miner-proxy/proxy.(*Proxy).Start                                                                                                                                                   
        /root/miner-proxy/proxy/proxy.go:65 +0x3ef        

....

本软件是否支持代理模式?

类似一个代理网关的模式,,从代理客户端到服务端,只有一个TCP连接,进行任务分发,这样能大幅度降低带宽的占用,类似另一个minerproxy软件一样

linux端频繁增加连接数据

目前只有一台windows在连接服务端,轻松矿工显示连接断开,重新登录,然后服务端的连接数量就频繁增加了,不知道这是不是bug,会不会引起性能问题。

总是频繁出现runtime error

runtime error: slice bounds out of range [:-11]
goroutine 120 [running]:
runtime/debug.Stack(0x4e9f8c, 0xc000082000, 0x2)
/usr/local/go/src/runtime/debug/stack.go:24 +0x9d
runtime/debug.PrintStack()
/usr/local/go/src/runtime/debug/stack.go:16 +0x22
miner-proxy/pkg.Recover(0xc0000f5b01)
/home/miner-proxy/pkg/recover.go:12 +0x84
panic(0x644ec0, 0xc0000f5da0)
/usr/local/go/src/runtime/panic.go:679 +0x1b2
miner-proxy/proxy.(*Proxy).DecryptData(0xc0000be240, 0xc0001df7e8, 0x1, 0x8, 0x4bf43c, 0xc000012700, 0xc0001df7e5, 0x1, 0x1)
/home/miner-proxy/proxy/proxy.go:197 +0x185
miner-proxy/proxy.(*Proxy).connRemote.func1(0x1, 0xc0001df7e8, 0x1, 0x8)
/home/miner-proxy/proxy/proxy.go:293 +0x7a
miner-proxy/proxy.(*Package).Read(0xc000033e10, 0x6a9880, 0xc000010068, 0xc0000e5df8, 0xc000010068, 0x10000c00009f180)
/home/miner-proxy/proxy/package.go:160 +0x1fd
miner-proxy/proxy.(*Proxy).connRemote(0xc0000be240, 0x0, 0x0, 0xc0001a2e00, 0xc0001d90f8)
/home/miner-proxy/proxy/proxy.go:292 +0x612
miner-proxy/proxy.(*Proxy).Start(0xc0000be240)
/home/miner-proxy/proxy/proxy.go:86 +0x103
created by main.(*proxyService).run
/home/miner-proxy/cmd/miner-proxy/main.go:89 +0x6e9

安装中参数没生效

[root@exchangepool ~]# chmod 777 miner-proxy_linux_amd64
[root@exchangepool ~]# ./miner-proxy_linux_amd64 -l :5555 -r ethash.poolbinance.com:8888 -secret_key 1234 -sc -install
2021/12/12 15:38:13 代理服务安装成功
[root@exchangepool ~]# ./miner-proxy_linux_amd64 stat
2021-12-12 15:38:25 miner-proxy (0.0.0-src) proxing from :9999 to localhost:80
^C[root@exchangepool ~]# ./miner-proxy_linux_amd64 restart
2021-12-12 15:38:48 miner-proxy (0.0.0-src) proxing from :9999 to localhost:80

客户端一直提示正在打包

等了半个小时了 客户端还在打包。。。
我这边网络也不慢 从github 下载别的软件 100M也就几秒钟 这个客户端一直下载不下来
还有这个是只能代理ETH 还是所有币种都能代理

尝试下载文件时,服务器出现 创建临时文件失败:

描述错误
服务端在服务器上运行后,使用浏览器登录下载客户端时,出现
错误创建临时文件失败: open download/28WNS8RMBUNFBYGuujxlvCct7KL/miner-proxy_linux_arm: permission denied
检查后发现程序尝试创建文件夹但创建的文件夹权限为rw-rw-r-- ,在创建子文件夹时没有权限,

重现
重现行为的步骤:

  1. 下载服务器程序
  2. 使用网页下载客户端

截图
image

您的系统信息

  • 系统名称: Ubuntu
  • 系统版本: 20.04

miner-proxy信息

  • 版本: v0.5.4

请问怎么添加SSL证书呢

使用TREX的时候 提示证书校验失败
使用NBMiner的时候 本地有算算力但是矿池无提交(软件下载的最新版本,运行时长45分钟)

对0.4版本的一些建议

老大,我试用了0.4修正版的,有些建议给你提供下
1.在安装时候可选ID参数,这样能在掉线时候用"ID+内网IP"通知时候能具体找到是哪台机子掉线了;掉线重连也不会断开连接历史记录。如果安装是后不指定ID的话就由服务端在第一次连接时候生成存储在客户端上。
2.-API参数可以不需要设置成0.0.0.0:4567,直接用-api :4567(4567端口可以自己修改,默认是4567端口)
3.4567网页端可以在最下端增加一行总共收发多少数据,并添加一个清零按钮
4.可以增加一个参数,比如miner-proxy.exe -sever_stat直接在本地打开CMD窗口查看服务器的服务状态(比如连接的客户端,客户端连接时间 加密的数据量)(相当于本地查看在服务器运行的数据)
5.还有个小判断要加上,就是如果掉线的机子重连次数过于频繁也要报掉线(比如SSL版本错误会重连-->断开-->重连-->断开....这么重复下去。)

感谢老大开发了这么好的软件,祝老大新年吉祥,万事如意。

0.5.4 win下服务器多开端口,发生错误

Windows2019服务器

偶发性频繁错误

  • 2022-04-02T01:05:33.5262808+08:00 INFO [email protected]/server_windows.go:110 Server is being shutdown on the signal error:
    2022-04-02T01:05:33.526871+08:00 ERROR [email protected]/acceptor_windows.go:50 Accept() fails due to error: accept tcp [::]:1240: use of closed network connection
    github.com/panjf2000/gnet.(*server).listenerRun
    /home/runner/go/pkg/mod/github.com/panjf2000/[email protected]/acceptor_windows.go:50
    github.com/panjf2000/gnet.(*server).startListener.func1
    /home/runner/go/pkg/mod/github.com/panjf2000/[email protected]/server_windows.go:79
    panic: runtime error: invalid memory address or nil pointer dereference
    [signal 0xc0000005 code=0x0 addr=0x20 pc=0xd8db8f]

goroutine 15 [running]:
miner-proxy/proxy/server.(*Server).OnClosed(0xc0002df240, {0xfe0ae0, 0xc00010d3b0}, {0xc000977e50, 0xc000977e60})
/home/runner/work/miner-proxy/miner-proxy/proxy/server/server.go:155 +0x4f
github.com/panjf2000/gnet.(*eventloop).error(0xc0002df240, 0xe18680, {0xfc42a0, 0xc000fa2d70})
/home/runner/go/pkg/mod/github.com/panjf2000/[email protected]/eventloop_windows.go:214 +0xbe
github.com/panjf2000/gnet.(*eventloop).run(0xc0002df240, 0x0)
/home/runner/go/pkg/mod/github.com/panjf2000/[email protected]/eventloop_windows.go:80 +0x216
created by github.com/panjf2000/gnet.(*server).startEventLoops.func1
/home/runner/go/pkg/mod/github.com/panjf2000/[email protected]/server_windows.go:100 +0x73

连接频繁断开

已使用了46个小时,矿池算力比本地算力少了不少

你好,我用的e池asia2.ethermine.org有两天了,轻松矿工经常显示断开连接,本地算力490m,矿池平均算力却只有376.9m,想请教下是因为网络问题嘛还是有其它原因呢,服务器是日本东京aws,这是我的服务器日志:

root@ip-172-31-17-237:/home/ubuntu# journalctl -f -u miner-proxy
-- Logs begin at Sun 2022-01-09 15:37:12 UTC. --
Jan 10 13:58:32 ip-172-31-17-237 miner-proxy_linux_amd64[108871]: 2022/01/10 13:58:32 从 2022-01-08 16:19:32 至现在总计加密转发 328 MB 数据; 平均转发速度 2.0 kB/秒; 当前在线 12 个客户端
Jan 10 13:59:02 ip-172-31-17-237 miner-proxy_linux_amd64[108871]: 2022/01/10 13:59:02 从 2022-01-08 16:19:32 至现在总计加密转发 328 MB 数据; 平均转发速度 2.0 kB/秒; 当前在线 12 个客户端
Jan 10 13:59:32 ip-172-31-17-237 miner-proxy_linux_amd64[108871]: 2022/01/10 13:59:32 从 2022-01-08 16:19:32 至现在总计加密转发 328 MB 数据; 平均转发速度 2.0 kB/秒; 当前在线 12 个客户端
Jan 10 14:00:02 ip-172-31-17-237 miner-proxy_linux_amd64[108871]: 2022/01/10 14:00:02 从 2022-01-08 16:19:32 至现在总计加密转发 328 MB 数据; 平均转发速度 2.0 kB/秒; 当前在线 12 个客户端

有时候网络异常断开连接客户端计数没有减一,一直在累加

2022-01-11 14:09:21 connection 我的中转,替换的>> 读取加密数据, 发送明文 error read tcp 192.168.0.100:61035->我的中转,替换的: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
2022-01-11 14:09:21 connection 我的中转,替换的>> Closed (0 bytes sent, 0 bytes recieved)
2022-01-11 14:09:22 connection 我的中转,替换的>> 读取加密数据, 发送明文 error read tcp 192.168.0.100:61040->我的中转,替换的: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
2022-01-11 14:09:22 connection 我的中转,替换的>> Closed (0 bytes sent, 0 bytes recieved)
2022/01/11 14:09:35 从 2022-01-11 14:06:35 至现在总计加密转发 74 kB 数据; 平均转发速度 408 B/秒; 当前在线 2 个客户端
2022-01-11 14:09:51 connection 我的中转,替换的>> Remote connection failed: dial tcp 我的中转,替换的: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
2022-01-11 14:09:53 connection 我的中转,替换的>> Remote connection failed: dial tcp 我的中转,替换的: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
2022/01/11 14:10:05 从 2022-01-11 14:06:35 至现在总计加密转发 74 kB 数据; 平均转发速度 350 B/秒; 当前在线 3 个客户端
2022-01-11 14:10:26 connection 我的中转,替换的>> Remote connection failed: dial tcp 我的中转,替换的: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
2022-01-11 14:10:33 connection 我的中转,替换的>> Remote connection failed: dial tcp 我的中转,替换的: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
2022/01/11 14:10:35 从 2022-01-11 14:06:35 至现在总计加密转发 74 kB 数据; 平均转发速度 306 B/秒; 当前在线 4 个客户端
2022-01-11 14:11:01 connection 我的中转,替换的>> Remote connection failed: dial tcp 我的中转,替换的: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
2022/01/11 14:11:05 从 2022-01-11 14:06:35 至现在总计加密转发 74 kB 数据; 平均转发速度 272 B/秒; 当前在线 6 个客户端
2022-01-11 14:11:13 connection 我的中转,替换的>> Remote connection failed: dial tcp 我的中转,替换的: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
2022/01/11 14:11:35 从 2022-01-11 14:06:35 至现在总计加密转发 74 kB 数据; 平均转发速度 245 B/秒; 当前在线 8 个客户端
2022-01-11 14:11:36 connection 我的中转,替换的>> Remote connection failed: dial tcp 我的中转,替换的: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.