Code Monkey home page Code Monkey logo

node64_client's Introduction

IPv64 Client

alt text alt text

Syntax Check Docker Container

Installation

Install the dependencies and start the server.

apt install python3 python3-pip git -y
git clone https://github.com/ipv64net/ipv64_client
cd ipv64_client
pip3 install -r requirements.txt
python3 ipv64_client.py <Dein Node Secret Key>

Installation on hardware devices

Debian 11

Docker

Mango (GL-MT300N-V2)

node64_client's People

Contributors

androidseb25 avatar fkfreak1234 avatar ipv64net avatar jonathann1203 avatar lauchigerlauchyt avatar mr-phil1 avatar pandora1986 avatar thethink3r avatar twitchcalthapalustris 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

Watchers

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

node64_client's Issues

Error when not running as root

Wenn ich das Script als Nicht-Root-User ausführe, bekomme ich(zumindest bei Debian) diesen Fehler:

IPv64.net - Initialisierung
Wait for next Job.
Wait for next Job.
Wait for next Job.
Start ICMPv4 Task ID: t3AHUznIvaXV
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/icmplib/sockets.py", line 88, in init
self._sock = self._create_socket(
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/icmplib/sockets.py", line 486, in _create_socket
return socket.socket(
^^^^^^^^^^^^^^
File "/usr/lib/python3.11/socket.py", line 232, in init
_socket.socket.init(self, family, type, proto, fileno)
PermissionError: [Errno 1] Operation not permitted

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/pi/ipv64_client/functions.py", line 33, in icmp
response_list = ping(icmp_dst, count=icmp_count, interval=icmp_interval, timeout=icmp_timeout, payload_size=icmp_size, family=family)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/icmplib/ping.py", line 141, in ping
with _Socket(source, privileged) as sock:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/icmplib/sockets.py", line 97, in init
raise SocketPermissionError(privileged)
icmplib.exceptions.SocketPermissionError: Root privileges are required to create the socket

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/pi/ipv64_client/ipv64_client.py", line 41, in
task_result = functions.icmp(icmp_dst, icmp_size, icmp_count, icmp_interval, icmp_timeout, 4)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pi/ipv64_client/functions.py", line 41, in icmp
packet_loss = response_list.packet_loss
^^^^^^^^^^^^^
UnboundLocalError: cannot access local variable 'response_list' where it is not associated with a value

Python3.9 JSON Fehler

Heute den 17.5.2023 ist beim neustarten der Nods volgener Fehler aufgetreten:
`root@IPv64-Node:/opt/ipv64_client# ls
README.md devices files functions.py ipv64_client.py requirements.txt
root@IPv64-Node:/opt/ipv64_client# python3 ipv64_client.py kxxxxxxxt
IPv64.net - Initialisierung
using node_secret $kxxxxxxxt
Skip: IPv6 could not be resolved
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/requests/models.py", line 971, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/lib/python3.9/json/init.py", line 346, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.9/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.9/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/opt/ipv64_client/ipv64_client.py", line 42, in
x = x.json()
File "/usr/local/lib/python3.9/dist-packages/requests/models.py", line 975, in json
raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)`

Python 3.11 pip package install on Debian 12 daily build: "This environment is externally managed - Massage"

  • Python version: Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
  • Debian Version: Debian GNU/Linux 12 \n \ [via cat /etc/issue]
  • pip Version: pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11)
______________________________________________________
                   _         ____    ___     _        
                  | |       / ___|  /   |   (_)       
 _ __    ___    __| |  ___ / /___  / /| |    _   ___  
| '_ \  / _ \  / _` | / _ \| ___ \/ /_| |   | | / _ \ 
| | | || (_) || (_| ||  __/| \_/ |\___  | _ | || (_) |
|_| |_| \___/  \__,_| \___|\_____/    |_/(_)|_| \___/ 
______________________________________________________
****************************
Install the node64_io Client
****************************
Cloning into 'ipv64_client'...
remote: Enumerating objects: 538, done.
remote: Counting objects: 100% (286/286), done.
remote: Compressing objects: 100% (178/178), done.
remote: Total 538 (delta 125), reused 214 (delta 100), pack-reused 252
Receiving objects: 100% (538/538), 113.04 KiB | 1.74 MiB/s, done.
Resolving deltas: 100% (222/222), done.
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
    
    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
################################################################

IPLeak

Please fix in code line 666

Schalter für das erstellen eines log-files

python3 ipv64_client.py <node64-secret-key> -l <pfad/zum/log/file.log>
  • Dieser Schalter -l sollte dann alle Ausgabe in ein Log File schreiben, das mit gegeben wird.
  • Dies würde das log sammeln enorm vereinfachen.

Python Version Check

Bitte mal ein Check einbauen ob die installierte Python Version kompatible ist mit dem code, 3.7.x ist es nämlich nicht :)

[Suggestion] RESTful API

Wie wäre es, wenn wir die Schnittstelle stärker gängigem Design von REST APIs angleichen?
Dazu müsste @ipv64net allerdings auch seine Server-Seite anpassen.

Probleme mit den Bereiben der Nod auf Banana Pi R2

Hallo,
Ich Habe von en Tollen Projekt gehört und dache probiers mit deine Banana Pi R2 mit OpenWRT 18.6.2
Folgene Pakete habe ich mit pip nachinstalire
pythonping-1.1.4
requests 2.27.1
multiping 1.1.2
dnspython 2.2.1
icmplib 2.1.1

Bei Der Instalation mit den requirement.txt ist bei mit folgender Felhel aufgetreten:
root@OpenWrt:/opt/ipv64_client# pip3 install -r requirements.txt Collecting pythonping~=1.1.4 Downloading pythonping-1.1.4-py3-none-any.whl (16 kB) ERROR: Could not find a version that satisfies the requirement requests~=2.28.2 (from versions: 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.4.0, 0.4.1, 0.5.0, 0.5.1, 0.6.0, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.7.4, 0.7.5, 0.7.6, 0.8.0, 0.8.1, 0.8.2, 0.8.3, 0.8.4, 0.8.5, 0.8.6, 0.8.7, 0.8.8, 0.8.9, 0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.6, 0.10.7, 0.10.8, 0.11.1, 0.11.2, 0.12.0, 0.12.1, 0.13.0, 0.13.1, 0.13.2, 0.13.3, 0.13.4, 0.13.5, 0.13.6, 0.13.7, 0.13.8, 0.13.9, 0.14.0, 0.14.1, 0.14.2, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.1.0, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0, 2.4.1, 2.4.2, 2.4.3, 2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.8.0, 2.8.1, 2.9.0, 2.9.1, 2.9.2, 2.10.0, 2.11.0, 2.11.1, 2.12.0, 2.12.1, 2.12.2, 2.12.3, 2.12.4, 2.12.5, 2.13.0, 2.14.0, 2.14.1, 2.14.2, 2.15.1, 2.16.0, 2.16.1, 2.16.2, 2.16.3, 2.16.4, 2.16.5, 2.17.0, 2.17.1, 2.17.2, 2.17.3, 2.18.0, 2.18.1, 2.18.2, 2.18.3, 2.18.4, 2.19.0, 2.19.1, 2.20.0, 2.20.1, 2.21.0, 2.22.0, 2.23.0, 2.24.0, 2.25.0, 2.25.1, 2.26.0, 2.27.0, 2.27.1) ERROR: No matching distribution found for requests~=2.28.2
nach den hänischen nachinstalliren mit pip3 kann den forlgend Felermeldung:
`IPv64.net - Initialisierung
Skip: IPv6 could not be resolved
Start ICMPv4 Task ID: FSTI2qUsRWCw
Traceback (most recent call last):
File "/opt/ipv64_client/functions.py", line 36, in icmp
response_list = ping(icmp_dst, count=icmp_count, interval=icmp_interval, timeout=icmp_timeout, payload_size=icmp_size, family=family)
File "/usr/lib/python3.6/site-packages/icmplib/ping.py", line 147, in ping
**kwargs)
TypeError: init() got an unexpected keyword argument 'family'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "ipv64_client.py", line 62, in
task_result = functions.icmp(icmp_dst, icmp_size, icmp_count, icmp_interval, icmp_timeout, 4)
File "/opt/ipv64_client/functions.py", line 44, in icmp
packet_loss = response_list.packet_loss
UnboundLocalError: local variable 'response_list' referenced before assignment`
ich gehe jetzt davon aus das sie OpenWRT Software zu alt ist. Kann mann da was Machen.

Implement WHOIS Request in Node64 Client

WHOIS
Anfrage IP-Addresse
Antwort:
ORG-NAME / desc - Vodafone, Hetzner, IONOS
COUNTRY
AS NUM / origin
CITY
route
inetnum

task type: whois

Task_Infos:
Task_ID, Dst_IP

Reply format: (Wie immer als JSON)

RECOMMENDED PYTHON BIB ==> "ipwhois"

Docker Container for ARM64

Wäre es möglich dieses Container Image für ARM64 zur Verfügung zu stellen ?
Ggf. sogar noch für andere Architekturen ?

Fehler beim Aktivieren des Debian Service

Wenn ich den Systemd Service für Node64 in Debian aktivieren will, bekomme ich diesen Fehler:
update-rc.d: error: node64_client Default-Start contains no runlevels, aborting.

report_node_status.php

Liefert kein Antwort
Sollte bei ipv4 die erkannte ipv4 und bei ipv6 halt die erkannte ipv4 zurückliefern (als JSON)

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.