Merge branch 'master' of http://192.168.9.19:3000/axiom-team/astroport
This commit is contained in:
commit
ca3011162b
|
@ -0,0 +1,136 @@
|
|||
#!/bin/bash
|
||||
########################################################################
|
||||
# Author: Fred (support@qo-op.com)
|
||||
# Version: 0.3
|
||||
# License: GPL (http://www.google.com/search?q=GPL)
|
||||
########################################################################
|
||||
# ASTROPORT COMMAND RECEIVER & DISPACHER
|
||||
# Rise Up by unid@chan && Run corresponding command.sh
|
||||
########################################################################
|
||||
# NOT WORKING YET
|
||||
# TODO! CONVERT G1SMS+ FROM PHONE TO MULTICHANNEL
|
||||
########################################################################
|
||||
MY_PATH="`dirname \"$0\"`" # relative
|
||||
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||||
source ./zen/functions.sh
|
||||
|
||||
SOURCE="$1" # id@channel
|
||||
COMMAND="$2" # command received (message, comment, ...)
|
||||
|
||||
[[ $SOURCE == "" ]] && SOURCE="unid@channel"
|
||||
[[ $COMMAND == "" ]] && COMMAND="cmd arg1 arg2 ..."
|
||||
|
||||
SOURCEH=$(echo -n $SOURCE | sha512sum | cut -d ' ' -f 1) # Hash SOURCE
|
||||
|
||||
SRC=$(echo "$SOURCE" | cut -d '@' -f 1)
|
||||
CHAN=$(echo "$SOURCE" | cut -d '@' -f 2)
|
||||
CMD=$(echo "$COMMAND" | awk '{print toupper($1)}') # CMD is first word
|
||||
|
||||
########################################################################
|
||||
# ANTI SPAM
|
||||
##################################################################
|
||||
NOspam
|
||||
|
||||
##################################################################
|
||||
# Handle commands CMD
|
||||
##################################################################
|
||||
case "$CMD" in
|
||||
# RAZ MEMERUID?
|
||||
RAZ)
|
||||
MEMBERUID=$(echo "$COMMAND" | awk '{print $2}' | grep -E "([A-Za-z0-9\-\_]+$)")
|
||||
./shell/chan_RAZ.sh "$SOURCE" "$MEMBERUID"&
|
||||
;;
|
||||
|
||||
# HELP
|
||||
HELP)
|
||||
./shell/chan_HELP.sh "$SOURCE" &
|
||||
;;
|
||||
|
||||
# NEW MEMERUID?
|
||||
NEW)
|
||||
MEMBERUID=$(echo "$COMMAND" | awk '{print $2}' | grep -E "([A-Za-z0-9\-\_]+$)")
|
||||
./shell/chan_NEW.sh "$SOURCE" "$MEMBERUID" &
|
||||
;;
|
||||
|
||||
# PAY DESTINATION! MONEY!
|
||||
PAY)
|
||||
DESTINATION=$(echo "$COMMAND" | awk '{print tolower($2)}' | grep -E "[a-z0-9._%+-]+@[a-z0-9._%+-]")
|
||||
MONEY=$(echo "$COMMAND" | awk '{print $3}' | grep -E "^\-?[0-9]+$")
|
||||
if [[ "$DEST" != "" && "$MONEY" != "" ]]; then
|
||||
./shell/chan_PAY.sh "$SOURCE" "$DEST" "$MONEY" &
|
||||
else
|
||||
./shell/chan_ERROR.sh "$SOURCE" "PAY DESTINATION! MONEY!" &
|
||||
fi
|
||||
;;
|
||||
|
||||
# VIR AMOUNT! VIRDEST! PERIOD? TIME?
|
||||
VIR)
|
||||
AMOUNT=$(echo "$COMMAND" | awk '{print $2}' | grep -E "^\-?[0-9]+$")
|
||||
VIRDEST=$(echo "$COMMAND" | awk '{print $3}' | grep -E "([A-Za-z0-9\-\_]+$)")
|
||||
PERIOD=$(echo "$COMMAND" | awk '{print toupper($4)}' | grep -E "([A-Za-z0-9\-\_]+$)")
|
||||
TIME=$(echo "$COMMAND" | awk '{print $5}' | grep -E "^\-?[0-9]+$")
|
||||
if [[ "$VIRDEST" != "" && "$AMOUNT" != "" && "$PERIOD" != "" && "$TIME" != "" ]]; then
|
||||
./shell/chan_VIR.sh "$SOURCE" "$VIRDEST" "$AMOUNT" "$PERIOD" "$TIME" &
|
||||
else
|
||||
./shell/chan_ERROR.sh "$SOURCE" "VIR AMOUNT! VIRDEST! PERIOD? TIME?" &
|
||||
fi
|
||||
;;
|
||||
|
||||
# BAL
|
||||
BAL)
|
||||
./shell/chan_COUNT.sh "$SOURCE" &
|
||||
;;
|
||||
|
||||
# EMAIL MAIL!
|
||||
EMAIL)
|
||||
MAIL=$(echo "$COMMAND" | awk '{print tolower($2)}' | grep -E "[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}")
|
||||
if [[ "$MAIL" != "" ]]; then
|
||||
./shell/chan_EMAIL.sh "$SOURCE" "$MAIL" &
|
||||
else
|
||||
./shell/chan_ERROR.sh "$SOURCE" "EMAIL MAIL!" &
|
||||
fi
|
||||
;;
|
||||
|
||||
# BILL VAL!
|
||||
BILL)
|
||||
VAL=$(echo "$COMMAND" | awk '{print $2}' | grep -E "^\-?[0-9]+$")
|
||||
if [[ "$VAL" != "" ]]; then
|
||||
./shell/chan_BILLET.sh "$SOURCE" "$VAL" &
|
||||
else
|
||||
./shell/chan_ERROR.sh "$SOURCE" "BILL VAL!" &
|
||||
fi
|
||||
;;
|
||||
|
||||
# CHK W1! W2! W3? W4? W5? W6? W7?
|
||||
CHK)
|
||||
W1=$(echo "$COMMAND" | awk '{print tolower($2)}' | grep -E "^[a-z0-9]+$")
|
||||
W2=$(echo "$COMMAND" | awk '{print tolower($3)}' | grep -E "^[a-z0-9]+$")
|
||||
W3=$(echo "$COMMAND" | awk '{print tolower($4)}' | grep -E "^[a-z0-9]+$")
|
||||
W4=$(echo "$COMMAND" | awk '{print tolower($5)}' | grep -E "^[a-z0-9]+$")
|
||||
W5=$(echo "$COMMAND" | awk '{print tolower($6)}' | grep -E "^[a-z0-9]+$")
|
||||
W6=$(echo "$COMMAND" | awk '{print tolower($7)}' | grep -E "^[a-z0-9]+$")
|
||||
W7=$(echo "$COMMAND" | awk '{print tolower($8)}' | grep -E "^[a-z0-9]+$")
|
||||
if [[ "$W1" != "" && "$W2" != "" ]]; then
|
||||
./shell/chan_BILLETCHK.sh "$SOURCE" "$W1" "$W2" "$W3" "$W4" "$W5" "$W6" "$W7" &
|
||||
else
|
||||
./shell/chan_ERROR.sh "$SOURCE" "CHK W1! W2! W3? W4? W5? W6? W7?" &
|
||||
fi
|
||||
;;
|
||||
|
||||
CMD)
|
||||
echo "==================================================="
|
||||
echo "HELLO $SOURCE your ASTROPORT suit is $SOURCEH"
|
||||
echo "RUN ./command_received.sh \"$SOURCE\" \"$COMMAND\""
|
||||
;;
|
||||
|
||||
ACK|DELIVERED|PENDING|FAILED)
|
||||
exit 0
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "$SOURCE :: UNKNOWN $COMMAND"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,44 @@
|
|||
#!/bin/bash
|
||||
########################################################################
|
||||
# Author: Fred (support@qo-op.com)
|
||||
# Version: 0.3
|
||||
# License: GPL (http://www.google.com/search?q=GPL)
|
||||
########################################################################
|
||||
MY_PATH="`dirname \"$0\"`" # relative
|
||||
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||||
|
||||
########################################################################
|
||||
# check /tmp/cmd_received_$SOURCEH and /tmp/cmd_SPAM_$SOURCEH within 1mn
|
||||
function NOspam () {
|
||||
# Remove older than a minute received COMMAND
|
||||
find /tmp -cmin +1 -type f -name "cmd_received_*" -exec rm -f '{}' \; 2>/dev/null
|
||||
# Filter Acknowlegement
|
||||
if [[ "$CMD" != "ACK" && "$CMD" != "DELIVERED" && "$CMD" != "PENDING" ]]; then
|
||||
# Still less than a minute with same $SOURCEH
|
||||
if [[ -f "/tmp/cmd_received_$SOURCEH" ]]; then
|
||||
# Create SPAM file => Stop answering
|
||||
if [[ ! -f "/tmp/cmd_SPAM_$SOURCEH" ]]; then
|
||||
echo $(date) > "/tmp/cmd_SPAM_$SOURCEH"
|
||||
fi
|
||||
return 1
|
||||
fi
|
||||
echo "$COMMAND" > "/tmp/cmd_received_$SOURCEH"
|
||||
# Remove SPAM flag older than one day
|
||||
find /tmp -ctime +1 -type f -name "cmd_SPAM_*" -exec rm -f '{}' \; 2>/dev/null
|
||||
else
|
||||
# THIS IS AN AKNOWLEGEMENT
|
||||
return 1
|
||||
fi
|
||||
# Remove SPAM flag older than one day
|
||||
find /tmp -ctime +1 -type f -name "cmd_SPAM_*" -exec rm -f '{}' \; 2>/dev/null
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
########################################################################
|
||||
# PUBLISH ~/.zen/wallets ON /ipns/$NODEIPNS
|
||||
function wallets_ipfs_publish (){
|
||||
IWALLETS=$(ipfs add -rHq '~/.zen/wallets' | tail -n 1)
|
||||
NODEIPNS=$(ipfs name publish --quieter /ipfs/$IWALLETS)
|
||||
echo $IWALLETS
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
# This Python script gets Duniter creddentials as arguments, and writes a PubSec file that should be compatible with Cesium and Silkaj(DuniterPy) clients.
|
||||
# launch with :
|
||||
# python3 key_create_dnuikey.py <id> <mdp>
|
||||
|
||||
# depends on duniterpy 0.56
|
||||
|
||||
### Licence - WTFPL
|
||||
# This script was written my Matograine, in the hope that it will be helpful.
|
||||
# Do What The Fuck you like with it. There is :
|
||||
# * no guarantee that this will work
|
||||
# * no support of any kind
|
||||
#
|
||||
# If this is helpful, please consider making a donation to the developper's pubkey : 78ZwwgpgdH5uLZLbThUQH7LKwPgjMunYfLiCfUCySkM8
|
||||
# Have fun
|
||||
|
||||
from sys import argv
|
||||
from duniterpy.key import SigningKey
|
||||
|
||||
# path to save to
|
||||
path = "./.secret.dunikey"
|
||||
|
||||
key = SigningKey.from_credentials(argv[1], argv[2], None)
|
||||
key.save_pubsec_file(path)
|
||||
print(
|
||||
"G1 Wallet: ",
|
||||
key.pubkey,
|
||||
)
|
Loading…
Reference in New Issue