signal-cli selber compilieren
cd apt-get update apt-get -y install build-essential \ gradle \ curl \ protobuf-compiler \ clang \ libclang-dev \ cmake \ make \ git \ openjdk-17-jre \ zip curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh cd git clone https://github.com/signalapp/libsignal cd libsignal source "$HOME/.cargo/env" cargo build cargo test cd java sed -i "s/, ':android'//" settings.gradle ./build_jni.sh desktop cd .. mkdir -p /usr/java/packages/lib/ cp target/release/libsignal_jni.so /usr/java/packages/lib/ cd git clone https://github.com/AsamK/signal-cli.git cd signal-cli ./gradlew build ./gradlew installDist ./gradlew distTar ./gradlew fatJar ./gradlew run --args="--help" zip -d build/install/signal-cli/lib/libsignal-client*.jar libsignal_jni.so cp build/install/signal-cli/bin/signal-cli /usr/local/bin cp build/install/signal-cli/lib/* /usr/local/lib cat > /etc/rc.local << 'EOF' #!/bin/bash until ping -c1 www.google.com >> /dev/null 2>&1; do :; done su signal-cli -c "/usr/local/bin/signal-cli --config /home/signal-cli/.local/share/signal-cli/ -a +49........ daemon --http 0.0.0.0:8080" exit 0 EOF chmod 755 /etc/rc.local adduser signal-cli # reboot
Nachrichten werden dann folgendermaßen gesendet:
ID1=$(date +%s) ; ID2+=$ID1 ; curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"send","params":{"recipient":["+49.....1", "+49.......2"],"message":"MESSAGE"},"id":'$ID1'} RESPONSE: {"jsonrpc":"2.0","result":{"timestamp":999},"id":'$ID2'}' 'http://localhost:8080/api/v1/rpc'