Giter Site home page Giter Site logo

my-devices / sdk Goto Github PK

View Code? Open in Web Editor NEW
39.0 8.0 16.0 8.08 MB

macchina.io REMOTE provides secure remote access via web (HTTP), shell (SSH), remote desktop (VNC, RDP) and other protocols to IoT devices behind routers or firewalls. No port forwarding, scarce public IPv4 addresses, or complex and inflexible VPNs required. This SDK contains the Device Agent and client tools.

Home Page: https://macchina.io/remote.html

License: Other

Makefile 0.37% C++ 72.75% C 25.55% HTML 0.08% Shell 0.07% DIGITAL Command Language 0.08% CMake 1.07% Batchfile 0.03%
sdk remote-access tunnel-connection iot-device edge-device iot virtual-private-internet poco-libraries

sdk's People

Contributors

obiltschnig avatar whitewinter 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sdk's Issues

WebTunnelSSH failed with SSL Exception in Ubuntu 20.04 x86_64

The WebTunnelSSH failed on Ubuntu 20.04:

$ WebTunnelSSH --username=$user --password=$pw --login-name=$luser https://${id}.my-devices.net
Failed to open forwarding connection: SSL Exception: error:14161044:SSL routines:state_machine:internal error 
kex_exchange_identification: read: Connection reset by peer

There is no different in the resulting error if the the SDK is build with the installer script $ curl https://raw.githubusercontent.com/my-devices/agent-installer/master/install.sh | bash or with the GNU Make script $ ./buildsdk.sh.

Start the WebTunnelCient works but connect with ssh on the forwarded port failed with the same error:

ssh -p $port $user@localhost
Failed to open forwarding connection: SSL Exception: error:14161044:SSL routines:state_machine:internal error 
kex_exchange_identification: read: Connection reset by peer

Further information:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"

$ uname -a
Linux 5.4.0-53-generic #59-Ubuntu SMP Wed Oct 21 09:38:44 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

$ openssl version -a
OpenSSL 1.1.1f  31 Mar 2020
built on: Mon Apr 20 11:53:50 2020 UTC
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-P_ODHM/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-1.1"
Seeding source: os-specific

$ python --version
Python 2.7.18

Install on Amlogic S905 tv box running LibreElec

Nice project...

This could be great to access TV boxes, a big market. I am running LibreElec.tv on my Amlogic S905 TV box and the problem is that LibreElec is a read only Linux JeOS ( just enough OS) for media player KODI.

However LibreElec can install the Entware opkg package manager. So how can I install your build via Entware?

Cheers,
๐Ÿ˜

How to enable multiple http ports to Macchina?

I would like to enable multiple ports(services) in macchina. In the configuration file, it allows me to enable one http port. Is there anyway I can enable multiple http ports services to macchina?

SSH

I was able to get my remote connection going, but I was wondering if it were possible to SSH into them. According to the FAQ, I am suppose to run WebTunnelAgent on the client. I am trying to run the Windows 10 SDK but I get a "Not found: webTunnel.reflectorURI". I would really appreciate if I could get some guidance on this. Thanks.

Race Condition in Agent may lead to first data message to arrive at server before channel open confirmation

Server Log excerpt:

2023-01-19 15:09:40.930 [Debug] PortReflector<27>: Adding client connection for target bac45e53-7c19-4bf1-921b-15f241f9a756, port 5900
2023-01-19 15:09:40.930 [Debug] PortReflector<27>: Close timeout for channel 2 to target bac45e53-7c19-4bf1-921b-15f241f9a756.
2023-01-19 15:09:40.930 [Debug] PortReflector<27>: Now 2 channels to target bac45e53-7c19-4bf1-921b-15f241f9a756.
2023-01-19 15:09:40.978 [Debug] PortReflector<27>: Opening channel 4 to target bac45e53-7c19-4bf1-921b-15f241f9a756, port 5900.
2023-01-19 15:09:40.978 [Information] Security<27>: Successful WebTunnel client access by user '820b9535-52fb-418b-9f72-30e3e16b2896_1044' to device 'bac45e53-7c19-4bf1-921b-15f241f9a756'.
2023-01-19 15:09:40.978 [Information] osp.web.access<27>: GET /my-devices/websockify?port=5900 HTTP/1.1
2023-01-19 15:09:41.127 [Error] PortReflector<15>: Received unexpected data message for channel 4 on target bac45e53-7c19-4bf1-921b-15f241f9a756
2023-01-19 15:09:41.127 [Debug] PortReflector<15>: Channel 4 to target bac45e53-7c19-4bf1-921b-15f241f9a756 opened.

The responsible code is in RemotePortForwarder::openChannel(). The socket is added to the socket dispatcher before the WT_OP_OPEN_CONFIRM message is sent.

How to generate WebTunnel Configuration file automatically?

Hi Team,
I am using Macchina Remote Manager to connect my devices and access those on cloud. To register device I am downloading configuration file on Macchina Device Dashboard. Is there any way I can automate this downloading file by hitting API? or How to generate this file by my own?

SDK build failed

Getting a "cannot find -lz" followed by bSDK build failed error while running ./buildsdk.sh command

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.