Giter VIP home page Giter VIP logo

clinacl's Introduction

clinacl

A command line tool for playing with the NaCl cryptography library, with support for Keybase-style signatures. This is a toy, so please don't feed it any private data or rely on it in production.

Use pip to install it:

pip install clinacl

Note that depending on how Python is set up on your machine, you might need to use sudo with that.

Examples

NaCl Symmetric Encryption

$ plaintext="Release the hounds."
$ key=$(clinacl secretgen)
$ echo $key
5c6f65e7a9c2a8cb8107dcd0601a02285895e7c9dd60450f682003f82bd3aa39
$ nonce="deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef"
$ ciphertext=$(echo $plaintext | clinacl encrypt $key --nonce $nonce)
$ echo $ciphertext
deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef52ab40194806e3c4dec342a6aebf456bde3d50773ec977b8bcd3db3f07c86391d778ba97
$ echo $ciphertext | clinacl decrypt $key
Release the hounds.

NaCl Public Key Signatures

$ message="The truth, the whole truth, and nothing but the truth."
$ signingkey=$(clinacl signinggen)
$ echo $signingkey
95faf19820c827aae2959e01beb81195a14d23d70018d79c26976f027fc405ec
$ verifykey=$(clinacl verifygen $signingkey)
$ echo $verifykey
b83e67e7b5c2b35e09745bf559392e17dc960e18a39bec2adae8b97b5ab02fd9
$ echo message | clinacl sign $signingkey
ec94d3a3c3aeac1d8361c4be719314f396815c7852706252698091034b42f75416bfafe203f61876d2f6185fd495ca656fe6fdb4a0b86ba9323efe77a8410c006d6573736167650a
$ echo $message | clinacl sign $signingkey | clinacl verify $verifykey
The truth, the whole truth, and nothing but the truth.

Verify a Keybase Signature

$ link="g6Rib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEgb0QEGch1mSRBwXnmm+ElpwHWSpGF4Y5wGq9Wz1BEOsYKp3BheWxvYWTFA5x7ImJvZHkiOnsiZGV2aWNlIjp7ImlkIjoiZjRmZTNkMWYwYzgxM2QxMzBiZDUwNTllMWFkMzI4MTgiLCJzdGF0dXMiOjIsInR5cGUiOiJkZXNrdG9wIn0sImtleSI6eyJlbGRlc3Rfa2lkIjoiMDEwMTA0ZTcyNDM2MmU3YmE2NjMzOTgwYTYyNTdmMDQzZjdjM2Q4NzMzNTUwNTk0YTc5MmFhY2Y2YzZkNDY3N2RkOTQwYSIsImhvc3QiOiJrZXliYXNlLmlvIiwia2lkIjoiMDEyMDZmNDQwNDE5Yzg3NTk5MjQ0MWMxNzllNjliZTEyNWE3MDFkNjRhOTE4NWUxOGU3MDFhYWY1NmNmNTA0NDNhYzYwYSIsInVpZCI6ImJmNjUyNjZkMGQ4ZGYzYWQ1ZDFiMzY3ZjU3OGU2ODE5IiwidXNlcm5hbWUiOiJyYWxwaCJ9LCJyZXZva2UiOnsia2lkcyI6WyIwMTIwNWVkYzAwYTE3M2E1NDMyNGFkNTIzN2M5MzlhNmFiYmY5ZmY2MTIxMDk0NjY4OWRhMWQ3MjEzMjlhY2RhYjlkZTBhIiwiMDEyMWE1M2MyMzcxMGUxODUwYTMyODJhMWFhZDZmNTM4NjczZDA3OGMxMTJmMWYyM2UyYjE3MTE5NDFiZTFjM2RkNGIwYSJdfSwidHlwZSI6InJldm9rZSIsInZlcnNpb24iOjF9LCJjbGllbnQiOnsibmFtZSI6ImtleWJhc2UuaW8gZ28gY2xpZW50IiwidmVyc2lvbiI6IjAuMS43In0sImN0aW1lIjoxNDI5NjUxNDk5LCJleHBpcmVfaW4iOjMxNTM2MDAwMCwibWVya2xlX3Jvb3QiOnsiY3RpbWUiOjE0Mjk2NTEzOTIsImhhc2giOiIyZGVhODhjMjNiYjc0OWY5ZGQ5OWNlYjAyYzQ2MGM2NTgxYzc4NjVhMmFiZTU0Y2ZkNDVmZmU2OWZlODA0MWFjY2UyOWJmOGMwMzcxZjgwZGZlZWMwNWY4NmY5MWVhYzMxN2RhY2JjMmU1MDM2NmIxNGJkOTg2ZjZhMjVmNDZhMiIsInNlcW5vIjoyNTd9LCJwcmV2IjoiNTgwOGQ2OTRlOWFjNDFhMDEwZjMwNTk5YmRmNGM4MDdlNzc4Mjg2YWYyMmZkNWY0NWExMmJjZWM3NDBjMGEzNiIsInNlcW5vIjoxNSwidGFnIjoic2lnbmF0dXJlIn2jc2lnxEAaomeO/0vh2uEtIo1HQ6lQW07IKoSqfLyYnpbbks3tYxo+a7VXMC/NgzdUExivyhira4cUzk43Q7EboDF2EDEMqHNpZ190eXBlIKN0YWfNAgKndmVyc2lvbgE="
$ echo $link | clinacl keybase
{"body":{"device":{"id":"f4fe3d1f0c813d130bd5059e1ad32818","status":2,"type":"desktop"},"key":{"eldest_kid":"010104e724362e7ba6633980a6257f043f7c3d8733550594a792aacf6c6d4677dd940a","host":"keybase.io","kid":"01206f440419c875992441c179e69be125a701d64a9185e18e701aaf56cf50443ac60a","uid":"bf65266d0d8df3ad5d1b367f578e6819","username":"ralph"},"revoke":{"kids":["01205edc00a173a54324ad5237c939a6abbf9ff61210946689da1d721329acdab9de0a","0121a53c23710e1850a3282a1aad6f538673d078c112f1f23e2b1711941be1c3dd4b0a"]},"type":"revoke","version":1},"client":{"name":"keybase.io go client","version":"0.1.7"},"ctime":1429651499,"expire_in":315360000,"merkle_root":{"ctime":1429651392,"hash":"2dea88c23bb749f9dd99ceb02c460c6581c7865a2abe54cfd45ffe69fe8041acce29bf8c0371f80dfeec05f86f91eac317dacbc2e50366b14bd986f6a25f46a2","seqno":257},"prev":"5808d694e9ac41a010f30599bdf4c807e778286af22fd5f45a12bcec740c0a36","seqno":15,"tag":"signature"}

clinacl's People

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

clinacl's Issues

Keybase.md

{"status":{"code":0,"name":"OK"},"sigs":[{"seqno":5,"payload_hash":"9109328971234ae051f9c1d9052659dfe88f653a2395e5112e4219546f68bd62","merkle_seqno":6641841,"sig_id":"25f45883bc1e1780c82710af44ff38c5b10978c240c8a4f891102f63a3cfbd1d0f","sig_id_short":"JfRYg7weF4DIJxCvRP84xbEJeMJAyKT4kRAv","kid":"0120837a1a940f57270d2f89f7c8825e55dc829ca0a2f5e669ca6f1a2cfb8b4b140f0a","sig":"hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEgg3oalA9XJw0viffIgl5V3IKcoKL15mnKbxos+4tLFA8Kp3BheWxvYWTESpcCBcQgyYAcjEeCxzwKAA1NTNmG4jvB1a2J32Su0cwBEwJsvG/EICIUCRlyUnU9o41BY4nKYDmr+BYZsl2xlSlFSbnawj0bAgHCo3NpZ8RAj7CfmeogCBm7xnQz5accyKHM8TP0fLEUG8XdHNb1N5Egly0PpQDQaRR2qSVcaiYla/UaDMAAqu5ItXsC13O8BahzaWdfdHlwZSCkaGFzaIKkdHlwZQildmFsdWXEINTkwVsAbthGmQpIsDFl59L1Qk41tzpxdZREkK4T/q/To3RhZ80CAqd2ZXJzaW9uAQ==","payload_json":"{"body":{"key":{"eldest_kid":"0120837a1a940f57270d2f89f7c8825e55dc829ca0a2f5e669ca6f1a2cfb8b4b140f0a","host":"keybase.io","kid":"0120837a1a940f57270d2f89f7c8825e55dc829ca0a2f5e669ca6f1a2cfb8b4b140f0a","uid":"251918ed3c5c2878c987fa04b37c1c19","username":"nleann31"},"merkle_root":{"ctime":1568189770,"hash":"454670530ac53fcb30ecc9ad691750776520047ab9bc108c8a7538934f4ee09188281f2bdf6565c664914105c70c716de71f61538b04a45522dbe73a435835d0","hash_meta":"11d7258fef2dea0d976406326c1b432a98e9f2b996b7007c7e990cca6202c39a","seqno":6641529},"service":{"entropy":"T2bzZJUegD712+KUNkKqGFqW","name":"github","username":"nleann31"},"type":"web_service_binding","version":2},"client":{"name":"keybase.io go client","version":"4.4.0"},"ctime":1568189835,"expire_in":504576000,"prev":"c9801c8c4782c73c0a000d4d4cd986e23bc1d5ad89df64aed1cc0113026cbc6f","seqno":5,"tag":"signature"}","sig_type":2,"sig_version":2,"ctime":1568189835,"etime":2072765835,"rtime":null,"eldest_seqno":1,"sig_status":0,"prev":"c9801c8c4782c73c0a000d4d4cd986e23bc1d5ad89df64aed1cc0113026cbc6f","proof_id":"4f5ed68585ad595ed0c09410","proof_type":3,"proof_text_check":"hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEgg3oalA9XJw0viffIgl5V3IKcoKL15mnKbxos+4tLFA8Kp3BheWxvYWTESpcCBcQgyYAcjEeCxzwKAA1NTNmG4jvB1a2J32Su0cwBEwJsvG/EICIUCRlyUnU9o41BY4nKYDmr+BYZsl2xlSlFSbnawj0bAgHCo3NpZ8RAj7CfmeogCBm7xnQz5accyKHM8TP0fLEUG8XdHNb1N5Egly0PpQDQaRR2qSVcaiYla/UaDMAAqu5ItXsC13O8BahzaWdfdHlwZSCkaGFzaIKkdHlwZQildmFsdWXEINTkwVsAbthGmQpIsDFl59L1Qk41tzpxdZREkK4T/q/To3RhZ80CAqd2ZXJzaW9uAQ==","proof_text_full":"### Keybase proof\n\nI hereby claim:\n\n * I am nleann31 on github.\n * I am nleann31 (https://keybase.io/nleann31) on keybase.\n * I have a public key ASCDehqUD1cnDS-J98iCXlXcgpygovXmacpvGiz7i0sUDwo\n\nTo claim this, I am signing this object:\n\njson\n{\n \"body\": {\n \"key\": {\n \"eldest_kid\": \"0120837a1a940f57270d2f89f7c8825e55dc829ca0a2f5e669ca6f1a2cfb8b4b140f0a\",\n \"host\": \"keybase.io\",\n \"kid\": \"0120837a1a940f57270d2f89f7c8825e55dc829ca0a2f5e669ca6f1a2cfb8b4b140f0a\",\n \"uid\": \"251918ed3c5c2878c987fa04b37c1c19\",\n \"username\": \"nleann31\"\n },\n \"merkle_root\": {\n \"ctime\": 1568189770,\n \"hash\": \"454670530ac53fcb30ecc9ad691750776520047ab9bc108c8a7538934f4ee09188281f2bdf6565c664914105c70c716de71f61538b04a45522dbe73a435835d0\",\n \"hash_meta\": \"11d7258fef2dea0d976406326c1b432a98e9f2b996b7007c7e990cca6202c39a\",\n \"seqno\": 6641529\n },\n \"service\": {\n \"entropy\": \"T2bzZJUegD712+KUNkKqGFqW\",\n \"name\": \"github\",\n \"username\": \"nleann31\"\n },\n \"type\": \"web_service_binding\",\n \"version\": 2\n },\n \"client\": {\n \"name\": \"keybase.io go client\",\n \"version\": \"4.4.0\"\n },\n \"ctime\": 1568189835,\n \"expire_in\": 504576000,\n \"prev\": \"c9801c8c4782c73c0a000d4d4cd986e23bc1d5ad89df64aed1cc0113026cbc6f\",\n \"seqno\": 5,\n \"tag\": \"signature\"\n}\n\n\nwith the key ASCDehqUD1cnDS-J98iCXlXcgpygovXmacpvGiz7i0sUDwo, yielding the signature:\n\n\nhKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEgg3oalA9XJw0viffIgl5V3IKcoKL15mnKbxos+4tLFA8Kp3BheWxvYWTESpcCBcQgyYAcjEeCxzwKAA1NTNmG4jvB1a2J32Su0cwBEwJsvG/EICIUCRlyUnU9o41BY4nKYDmr+BYZsl2xlSlFSbnawj0bAgHCo3NpZ8RAj7CfmeogCBm7xnQz5accyKHM8TP0fLEUG8XdHNb1N5Egly0PpQDQaRR2qSVcaiYla/UaDMAAqu5ItXsC13O8BahzaWdfdHlwZSCkaGFzaIKkdHlwZQildmFsdWXEINTkwVsAbthGmQpIsDFl59L1Qk41tzpxdZREkK4T/q/To3RhZ80CAqd2ZXJzaW9uAQ==\n\n\n\nAnd finally, I am proving ownership of the github account by posting this as a gist.\n\n### My publicly-auditable identity:\n\nhttps://keybase.io/nleann31\n\n### From the command line:\n\nConsider the keybase command line program.\n\nbash\n# look me up\nkeybase id nleann31\n\n","check_data_json":"{"entropy":"T2bzZJUegD712+KUNkKqGFqW","name":"github","username":"nleann31"}","remote_id":"","api_url":null,"human_url":null,"proof_state":2,"proof_status":201,"retry_count":3,"hard_fail_count":3,"last_check":1568190770,"last_success":null,"version":2,"is_eldest":0,"fingerprint":""}]}

Mildan

Keybase proof

I hereby claim:

  • I am cerrberr on github.
  • I am mildan (https://keybase.io/mildan) on keybase.
  • I have a public key ASBzjOJ_mx0xV3dRhacsE3HZ3dXjfsYSyiqK7y8UV09rTAo

To claim this, I am signing this object:

{
  "body": {
    "key": {
      "eldest_kid": "0120f068a5899bb8dc804d921dccd4ebcac332714e48a6efdf9e1406ca5d57ca06a40a",
      "host": "keybase.io",
      "kid": "0120738ce27f9b1d3157775185a72c1371d9ddd5e37ec612ca2a8aef2f14574f6b4c0a",
      "uid": "1832e9b3712e1e66e0e58c6f22393219",
      "username": "mildan"
    },
    "merkle_root": {
      "ctime": 1574373803,
      "hash": "8e2579d9731fa14082a73048b50e0fa5bd8071b4743cd84ac5122dc0d96cc0fda6d402bdc4604a0ea6aa83460d6212c1765a38fc52d081a1562a4e0d0290bd4a",
      "hash_meta": "e15b4ce60eac839a2cfd4f1cdcfbaca2eaf310ae4a0fe97fed0066ace2c09ea6",
      "seqno": 10460521
    },
    "service": {
      "entropy": "/3J3ClXiGDnJFdxdsaD2nmX1",
      "name": "github",
      "username": "cerrberr"
    },
    "type": "web_service_binding",
    "version": 2
  },
  "client": {
    "name": "keybase.io go client",
    "version": "5.0.0"
  },
  "ctime": 1574373809,
  "expire_in": 504576000,
  "prev": "754a9c5067c89473c005d2f30f31ef58708af5b5edaa5f94c65a0e7db0a47e70",
  "seqno": 9,
  "tag": "signature"
}

with the key ASBzjOJ_mx0xV3dRhacsE3HZ3dXjfsYSyiqK7y8UV09rTAo, yielding the signature:

hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEgc4zif5sdMVd3UYWnLBNx2d3V437GEsoqiu8vFFdPa0wKp3BheWxvYWTESpcCCcQgdUqcUGfIlHPABdLzDzHvWHCK9bXtql+UxloOfbCkfnDEIDBMFQV/Qfx2h70WZwUXTT6DyXGH0UsWzAVmOltv+4DQAgHCo3NpZ8RAbxPR9ahkD58t3e68axCSfOK0aTrEgriWtclJYawEH5wYwadbVYsUMrp8xHtnf+7phDG5+8RlpRWbBQMf2CzeD6hzaWdfdHlwZSCkaGFzaIKkdHlwZQildmFsdWXEIC8hvWGReCihUdAHwe/fm9Lr2hVdgkruVVkH8HVUIsEbo3RhZ80CAqd2ZXJzaW9uAQ==

And finally, I am proving ownership of the github account by posting this as a gist.

My publicly-auditable identity:

https://keybase.io/mildan

From the command line:

Consider the keybase command line program.

# look me up
keybase id mildan

Keybase.md

hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEgeCUsvTJI0fIV2lrbob4KO9gBMdfKN7rKi7EKd9f5dh8Kp3BheWxvYWTFCsZ7ImJvZHkiOnsiZGV2aWNlIjp7ImlkIjoiMGQ5MTJmYWFlYWZiZWZmNWNlZWUwYjc4NGVjNjZmMTgiLCJraWQiOiIwMTIwNjdkODhkMjgzN2M2ZDQwYjg3OGExOTM2MGM5Y2FiODRmZjRjZGJiZjUwMTE2ZjQwM2FmYTQzNGRhMWFmNmY0MDBhIiwibmFtZSI6Im1vbnRoIHBpZ2VvbiIsInN0YXR1cyI6MSwidHlwZSI6ImJhY2t1cCJ9LCJrZXkiOnsiZWxkZXN0X2tpZCI6IjAxMjA3ODI1MmNiZDMyNDhkMWYyMTVkYTVhZGJhMWJlMGEzYmQ4MDEzMWQ3Y2EzN2JhY2E4YmIxMGE3N2Q3Zjk3NjFmMGEiLCJob3N0Ijoia2V5YmFzZS5pbyIsImtpZCI6IjAxMjA3ODI1MmNiZDMyNDhkMWYyMTVkYTVhZGJhMWJlMGEzYmQ4MDEzMWQ3Y2EzN2JhY2E4YmIxMGE3N2Q3Zjk3NjFmMGEiLCJ1aWQiOiI5Yzk3ZTBmYjcwMDE5M2JhYWZiYWYzMzE5MDAzNmUxOSIsInVzZXJuYW1lIjoibHV2bHluaiJ9LCJtZXJrbGVfcm9vdCI6eyJjdGltZSI6MTU2ODE4ODkzNCwiaGFzaCI6IjZmZDgyOTFhMDY3NjhmMGQ2MmZiMmY3Y2QzZjM3ZDM1YjdkOTdmMjc5M2IxOWY2OGJmNWIwMGY2ODViZmQxMzE1YmRkNGY3NzliOTU1NjE2YjE4YjZjNzY2ZjZkYWMwYmQ1MGFjNTBmMDc2ZmFiZjQzZjIyZTI4MTBhOWZmNTMxIiwiaGFzaF9tZXRhIjoiOTZmMWZmMzExNDg1NGIxNDc2ZTNlYjUwMzQ2NGVjMWMwNGM1MTIxYjA0ZDZlYjQ1ZDZiYWY2YWYyNTk0NGVmYyIsInNlcW5vIjo2NjM4MTQwfSwic2lia2V5Ijp7ImtpZCI6IjAxMjA2N2Q4OGQyODM3YzZkNDBiODc4YTE5MzYwYzljYWI4NGZmNGNkYmJmNTAxMTZmNDAzYWZhNDM0ZGExYWY2ZjQwMGEiLCJyZXZlcnNlX3NpZyI6ImhLUmliMlI1aHFoa1pYUmhZMmhsWk1PcGFHRnphRjkwZVhCbENxTnJaWG5FSXdFZ1o5aU5LRGZHMUF1SGloazJESnlyaFA5TTI3OVFFVzlBT3ZwRFRhR3ZiMEFLcDNCaGVXeHZZV1RGQkJ4N0ltSnZaSGtpT25zaVpHVjJhV05sSWpwN0ltbGtJam9pTUdRNU1USm1ZV0ZsWVdaaVpXWm1OV05sWldVd1lqYzROR1ZqTmpabU1UZ2lMQ0pyYVdRaU9pSXdNVEl3Tmpka09EaGtNamd6TjJNMlpEUXdZamczT0dFeE9UTTJNR001WTJGaU9EUm1aalJqWkdKaVpqVXdNVEUyWmpRd00yRm1ZVFF6TkdSaE1XRm1ObVkwTURCaElpd2libUZ0WlNJNkltMXZiblJvSUhCcFoyVnZiaUlzSW5OMFlYUjFjeUk2TVN3aWRIbHdaU0k2SW1KaFkydDFjQ0o5TENKclpYa2lPbnNpWld4a1pYTjBYMnRwWkNJNklqQXhNakEzT0RJMU1tTmlaRE15TkRoa01XWXlNVFZrWVRWaFpHSmhNV0psTUdFelltUTRNREV6TVdRM1kyRXpOMkpoWTJFNFltSXhNR0UzTjJRM1pqazNOakZtTUdFaUxDSm9iM04wSWpvaWEyVjVZbUZ6WlM1cGJ5SXNJbXRwWkNJNklqQXhNakEzT0RJMU1tTmlaRE15TkRoa01XWXlNVFZrWVRWaFpHSmhNV0psTUdFelltUTRNREV6TVdRM1kyRXpOMkpoWTJFNFltSXhNR0UzTjJRM1pqazNOakZtTUdFaUxDSjFhV1FpT2lJNVl6azNaVEJtWWpjd01ERTVNMkpoWVdaaVlXWXpNekU1TURBek5tVXhPU0lzSW5WelpYSnVZVzFsSWpvaWJIVjJiSGx1YWlKOUxDSnRaWEpyYkdWZmNtOXZkQ0k2ZXlKamRHbHRaU0k2TVRVMk9ERTRPRGt6TkN3aWFHRnphQ0k2SWpabVpEZ3lPVEZoTURZM05qaG1NR1EyTW1aaU1tWTNZMlF6WmpNM1pETTFZamRrT1RkbU1qYzVNMkl4T1dZMk9HSm1OV0l3TUdZMk9EVmlabVF4TXpFMVltUmtOR1kzTnpsaU9UVTFOakUyWWpFNFlqWmpOelkyWmpaa1lXTXdZbVExTUdGak5UQm1NRGMyWm1GaVpqUXpaakl5WlRJNE1UQmhPV1ptTlRNeElpd2lhR0Z6YUY5dFpYUmhJam9pT1RabU1XWm1NekV4TkRnMU5HSXhORGMyWlRObFlqVXdNelEyTkdWak1XTXdOR00xTVRJeFlqQTBaRFpsWWpRMVpEWmlZV1kyWVdZeU5UazBOR1ZtWXlJc0luTmxjVzV2SWpvMk5qTTRNVFF3ZlN3aWMybGlhMlY1SWpwN0ltdHBaQ0k2SWpBeE1qQTJOMlE0T0dReU9ETTNZelprTkRCaU9EYzRZVEU1TXpZd1l6bGpZV0k0TkdabU5HTmtZbUptTlRBeE1UWm1OREF6WVdaaE5ETTBaR0V4WVdZMlpqUXdNR0VpTENKeVpYWmxjbk5sWDNOcFp5STZiblZzYkgwc0luUjVjR1VpT2lKemFXSnJaWGtpTENKMlpYSnphVzl1SWpveGZTd2lZMnhwWlc1MElqcDdJbTVoYldVaU9pSnJaWGxpWVhObExtbHZJR2R2SUdOc2FXVnVkQ0lzSW5abGNuTnBiMjRpT2lJMExqUXVNQ0o5TENKamRHbHRaU0k2TVRVMk9ERTRPRGt6TlN3aVpYaHdhWEpsWDJsdUlqbzFNRFExTnpZd01EQXNJbkJ5WlhZaU9pSmhNek0xTmpFMlpHVTJNRFppWkdGaE1UQmlPV1JtT1dZME5UZzNNamRqTnpKa056TTJOVFJtTnpCbU1HSTJNemxpTjJWaE5tUXdPREZtWlRCaU5tRTVJaXdpYzJWeGJtOGlPakV3TENKMFlXY2lPaUp6YVdkdVlYUjFjbVVpZmFOemFXZkVRUGJwSkt1ekhDV1d6RjVlaC9NTzFGbXdwS1dhdXFzQXBZRWVYNXcrcnVzWnBxMnl5OW16VGZ1SlhSMFpQUy8zaVY1Z2VraEw1Mm9yVTB6WVMwcytVZzJvYzJsblgzUjVjR1VncEdoaGMyaUNwSFI1Y0dVSXBYWmhiSFZseENEWFVDL0NGSTFZQWg1K0FqaHRvbFQ0ajdGMk5OY0VRdllJZHozSVljYm8rS04wWVdmTkFnS25kbVZ5YzJsdmJnRT0ifSwidHlwZSI6InNpYmtleSIsInZlcnNpb24iOjF9LCJjbGllbnQiOnsibmFtZSI6ImtleWJhc2UuaW8gZ28gY2xpZW50IiwidmVyc2lvbiI6IjQuNC4wIn0sImN0aW1lIjoxNTY4MTg4OTM1LCJleHBpcmVfaW4iOjUwNDU3NjAwMCwicHJldiI6ImEzMzU2MTZkZTYwNmJkYWExMGI5ZGY5ZjQ1ODcyN2M3MmQ3MzY1NGY3MGYwYjYzOWI3ZWE2ZDA4MWZlMGI2YTkiLCJzZXFubyI6MTAsInRhZyI6InNpZ25hdHVyZSJ9o3NpZ8RAF1EZWYfRB7m9hkqq1ylN1POzLAVteFEm2BcJ3xMRfT71FycEhT

Verification identity

Keybase proof

I hereby claim:

  • I am rifat0114 on github.
  • I am rifat0114 (https://keybase.io/rifat0114) on keybase.
  • I have a public key ASAhZB7969rmEPSZuglnX9CRc7ibfgUoYcrjMJIlBwmurgo

To claim this, I am signing this object:

{
  "body": {
    "key": {
      "eldest_kid": "012021641efdebdae610f499ba09675fd09173b89b7e052861cae33092250709aeae0a",
      "host": "keybase.io",
      "kid": "012021641efdebdae610f499ba09675fd09173b89b7e052861cae33092250709aeae0a",
      "uid": "1012860e19512030840e59d6f4865d19",
      "username": "rifat0114"
    },
    "merkle_root": {
      "ctime": 1631552120,
      "hash": "1ce5d5470004450e6175f49cf11321cfdbe5fac62d99402348d709674ee8e36351c9f758d97fbdd6b7e08582e690575882b0dd9341fb3011b9d52a853f7bb02e",
      "hash_meta": "d071a557c92e265561462e95f948fa75ae3a1b7a56630acebcc3726f56510e15",
      "seqno": 20758787
    },
    "service": {
      "entropy": "J18U201L4Lda6L/6hOVG9GTl",
      "name": "github",
      "username": "rifat0114"
    },
    "type": "web_service_binding",
    "version": 2
  },
  "client": {
    "name": "keybase.io go client",
    "version": "5.7.0"
  },
  "ctime": 1631552135,
  "expire_in": 504576000,
  "prev": "9e78094a27371015d21a258aa3616895208fc5335c1a143202ec76ea847ec131",
  "seqno": 6,
  "tag": "signature"
}

with the key ASAhZB7969rmEPSZuglnX9CRc7ibfgUoYcrjMJIlBwmurgo, yielding the signature:

hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEgIWQe/eva5hD0mboJZ1/QkXO4m34FKGHK4zCSJQcJrq4Kp3BheWxvYWTESpcCBsQgnngJSic3EBXSGiWKo2FolSCPxTNcGhQyAux26oR+wTHEIB5jwVhPi8eq3h4PIk3hqLKv/39Nvm+SF122F7rlFfNOAgHCo3NpZ8RA+Rx4r8fY4/n3AVJuAR+9dWWa34glO3VzujDBRA8k2OCPg1diBBIbhxNpf++mjyGoUlS9eLqNbx9mDor6SdLDAqhzaWdfdHlwZSCkaGFzaIKkdHlwZQildmFsdWXEIDDXOiHKKdKediS3YrWGjTotOQQVFn5M89M0DYVXztdco3RhZ80CAqd2ZXJzaW9uAQ==

And finally, I am proving ownership of the github account by posting this as a gist.

My publicly-auditable identity:

https://keybase.io/rifat0114

From the command line:

Consider the keybase command line program.

# look me up
keybase id rifat0114

Keybase

{
"body": {
"key": {
"eldest_kid": "01207cd4e0bc0f65984271ce841db61f8425006542c7e7d4110a4747ba8f1399d6d50a",
"host": "keybase.io",
"kid": "01207cd4e0bc0f65984271ce841db61f8425006542c7e7d4110a4747ba8f1399d6d50a",
"uid": "dc6813449cdd49579c5f05ad6b359d19",
"username": "yasakya"
},
"merkle_root": {
"ctime": 1568306836,
"hash": "08d776195114ed2510b921fb0653a9aa66fd311b2fa26c15944ce48fdf1379f7cd0a7b5f36ecca4c2e659a4998994508687341123b6dc322453d8f6c21931039",
"hash_meta": "047e6e7b775a836aaf50467863bc8f4a5a197e6a0bb5ec60d925cde610868f90",
"seqno": 7003443
},
"service": {
"entropy": "2eYEzmfkX4IXkVQBiwXpqGqp",
"name": "github",
"username": "yasakya"
},
"type": "web_service_binding",
"version": 2
},
"client": {
"name": "keybase.io go client",
"version": "4.4.0"
},
"ctime": 1568306844,
"expire_in": 504576000,
"prev": "ac39b5b3768cf607aeb0ef6d57527418c41557c8ff6ffb02c306707130734b39",
"seqno": 18,
"tag": "signature"
}

Keybase

Keybase proof

I hereby claim:

  • I am haftrooz on github.
  • I am aliazizzadeh (https://keybase.io/aliazizzadeh) on keybase.
  • I have a public key ASAC0kHVVSi4tHx3SISrG3krOHD7lNdgz3h_yKNXNwljdAo

To claim this, I am signing this object:

{
  "body": {
    "key": {
      "eldest_kid": "012002d241d55528b8b47c774884ab1b792b3870fb94d760cf787fc8a357370963740a",
      "host": "keybase.io",
      "kid": "012002d241d55528b8b47c774884ab1b792b3870fb94d760cf787fc8a357370963740a",
      "uid": "35cc16fa1cb09723e168dc4013f1f719",
      "username": "aliazizzadeh"
    },
    "merkle_root": {
      "ctime": 1571110076,
      "hash": "9f9567463136fd4f3294b8e2411de979f5d5a549152ea37e688b490c23ab0ff27e22b20c1b14a8d0dad622822b9c7016e4aaecc2ea4c76bc854c9c099eee1394",
      "hash_meta": "b3546046f731cb81ec2be7ca357e45c58f496dbe72ddf783c7c41131b442c696",
      "seqno": 8128755
    },
    "service": {
      "entropy": "oAvifg54xyXlF/NfO37HrWAW",
      "name": "github",
      "username": "haftrooz"
    },
    "type": "web_service_binding",
    "version": 2
  },
  "client": {
    "name": "keybase.io go client",
    "version": "4.6.0"
  },
  "ctime": 1571110088,
  "expire_in": 504576000,
  "prev": "60355f10627eebc64b865064e925a3f0b78bd53dde04030e830f774b9e6f4988",
  "seqno": 20,
  "tag": "signature"
}

with the key ASAC0kHVVSi4tHx3SISrG3krOHD7lNdgz3h_yKNXNwljdAo, yielding the signature:

hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEgAtJB1VUouLR8d0iEqxt5Kzhw+5TXYM94f8ijVzcJY3QKp3BheWxvYWTESpcCFMQgYDVfEGJ+68ZLhlBk6SWj8LeL1T3eBAMOgw93S55vSYjEIIN+y9KZ38yjjxhKYZSsJ9aTzKnHQiNvWl5yAqKaaYPnAgHCo3NpZ8RABvCrZXxsxaH15p+t3wpIGFLCY/TRzXGP+I1dXCouZ1yo3l999gSby/VVABMm18n6W+191dOxc3CYct9QQCysB6hzaWdfdHlwZSCkaGFzaIKkdHlwZQildmFsdWXEII5Ccv/I02TClwgJWURIgDFLyJJZhOd41ukv5zpHX9c9o3RhZ80CAqd2ZXJzaW9uAQ==

And finally, I am proving ownership of the github account by posting this as a gist.

My publicly-auditable identity:

https://keybase.io/aliazizzadeh

From the command line:

Consider the keybase command line program.

# look me up
keybase id aliazizzadeh

keybase.com

Keybase proof

I hereby claim:

  • I am haftrooz on github.
  • I am aliazizzadeh (https://keybase.io/aliazizzadeh) on keybase.
  • I have a public key ASAC0kHVVSi4tHx3SISrG3krOHD7lNdgz3h_yKNXNwljdAo

To claim this, I am signing this object:

{
  "body": {
    "key": {
      "eldest_kid": "012002d241d55528b8b47c774884ab1b792b3870fb94d760cf787fc8a357370963740a",
      "host": "keybase.io",
      "kid": "012002d241d55528b8b47c774884ab1b792b3870fb94d760cf787fc8a357370963740a",
      "uid": "35cc16fa1cb09723e168dc4013f1f719",
      "username": "aliazizzadeh"
    },
    "merkle_root": {
      "ctime": 1571110076,
      "hash": "9f9567463136fd4f3294b8e2411de979f5d5a549152ea37e688b490c23ab0ff27e22b20c1b14a8d0dad622822b9c7016e4aaecc2ea4c76bc854c9c099eee1394",
      "hash_meta": "b3546046f731cb81ec2be7ca357e45c58f496dbe72ddf783c7c41131b442c696",
      "seqno": 8128755
    },
    "service": {
      "entropy": "oAvifg54xyXlF/NfO37HrWAW",
      "name": "github",
      "username": "haftrooz"
    },
    "type": "web_service_binding",
    "version": 2
  },
  "client": {
    "name": "keybase.io go client",
    "version": "4.6.0"
  },
  "ctime": 1571110088,
  "expire_in": 504576000,
  "prev": "60355f10627eebc64b865064e925a3f0b78bd53dde04030e830f774b9e6f4988",
  "seqno": 20,
  "tag": "signature"
}

with the key ASAC0kHVVSi4tHx3SISrG3krOHD7lNdgz3h_yKNXNwljdAo, yielding the signature:

hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEgAtJB1VUouLR8d0iEqxt5Kzhw+5TXYM94f8ijVzcJY3QKp3BheWxvYWTESpcCFMQgYDVfEGJ+68ZLhlBk6SWj8LeL1T3eBAMOgw93S55vSYjEIIN+y9KZ38yjjxhKYZSsJ9aTzKnHQiNvWl5yAqKaaYPnAgHCo3NpZ8RABvCrZXxsxaH15p+t3wpIGFLCY/TRzXGP+I1dXCouZ1yo3l999gSby/VVABMm18n6W+191dOxc3CYct9QQCysB6hzaWdfdHlwZSCkaGFzaIKkdHlwZQildmFsdWXEII5Ccv/I02TClwgJWURIgDFLyJJZhOd41ukv5zpHX9c9o3RhZ80CAqd2ZXJzaW9uAQ==

And finally, I am proving ownership of the github account by posting this as a gist.

My publicly-auditable identity:

https://keybase.io/aliazizzadeh

From the command line:

Consider the keybase command line program.

# look me up
keybase id aliazizzadeh

license

This project appears to lack a license notice. I would appreciate it if you would add a prominent licensing notice (e.g. a LICENSE file). I noticed you use the MIT/X11 License and the Revised BSD License on other projects, and I like both of those licenses well enough, so I would be happy to see you apply one of those to this project -- especially the MIT/X11 License, which I favor over the three-clause Revised BSD License.

Thanks in advance for your time and consideration of this issue.

Proof

{
"body": {
"key": {
"eldest_kid": "01201fbd3278152d29f373f26aac88217e9e4f46a1441ef6012c50a611bd1a95e6a40a",
"host": "keybase.io",
"kid": "01201fbd3278152d29f373f26aac88217e9e4f46a1441ef6012c50a611bd1a95e6a40a",
"uid": "cdad2b1c62cc3cf3ebbd31c5c91aaa19",
"username": "jonjonchevy"
},
"merkle_root": {
"ctime": 1625197342,
"hash": "acc8c73366d17cd9b4c698d5d82df154520ce646d4bc1c0764a59c8d39188d672387297c1249c21c2cc413c5ac3373a0acb1e2a4bc0ec9f4e04bb761787444fa",
"hash_meta": "00e7e85f838b8fcf805b4df9a874fde42f405c5844729da8949e750f7a9e0621",
"seqno": 20297651
},
"service": {
"entropy": "3jImH5HZdMRm7igVoQh+jhCj",
"name": "github",
"username": "jonjonchevy"
},
"type": "web_service_binding",
"version": 2
},
"client": {
"name": "keybase.io go client",
"version": "5.7.0"
},
"ctime": 1625197394,
"expire_in": 504576000,
"prev": "ab396a90765b13599af7bf0bdcd801fb7cd013dec56a7bdf020412083a3929b9",
"seqno": 4,
"tag": "signature"
}

so theresa update problem? or I', im stuid.

WARNING: Python 2.7 is not recommended.
This version is included in macOS for compatibility with legacy software.
Future versions of macOS will not include Python 2.7.
Instead, it is recommended that you transition to using 'python3' from within Terminal.

Python 2.7.16 (default, Jun 5 2020, 22:59:21)
[GCC 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.29.20) (- macos10.15-objc- on darwin
Type "help", "copyright", "credits" or "license" for more information.

install puython
File "", line 1
install puython

Keybase

Keybase proof

I hereby claim:

  • I am cerrberr on github.
  • I am mildan (https://keybase.io/mildan) on keybase.
  • I have a public key ASBzjOJ_mx0xV3dRhacsE3HZ3dXjfsYSyiqK7y8UV09rTAo

To claim this, I am signing this object:

{
  "body": {
    "key": {
      "eldest_kid": "0120f068a5899bb8dc804d921dccd4ebcac332714e48a6efdf9e1406ca5d57ca06a40a",
      "host": "keybase.io",
      "kid": "0120738ce27f9b1d3157775185a72c1371d9ddd5e37ec612ca2a8aef2f14574f6b4c0a",
      "uid": "1832e9b3712e1e66e0e58c6f22393219",
      "username": "mildan"
    },
    "merkle_root": {
      "ctime": 1574373803,
      "hash": "8e2579d9731fa14082a73048b50e0fa5bd8071b4743cd84ac5122dc0d96cc0fda6d402bdc4604a0ea6aa83460d6212c1765a38fc52d081a1562a4e0d0290bd4a",
      "hash_meta": "e15b4ce60eac839a2cfd4f1cdcfbaca2eaf310ae4a0fe97fed0066ace2c09ea6",
      "seqno": 10460521
    },
    "service": {
      "entropy": "/3J3ClXiGDnJFdxdsaD2nmX1",
      "name": "github",
      "username": "cerrberr"
    },
    "type": "web_service_binding",
    "version": 2
  },
  "client": {
    "name": "keybase.io go client",
    "version": "5.0.0"
  },
  "ctime": 1574373809,
  "expire_in": 504576000,
  "prev": "754a9c5067c89473c005d2f30f31ef58708af5b5edaa5f94c65a0e7db0a47e70",
  "seqno": 9,
  "tag": "signature"
}

with the key ASBzjOJ_mx0xV3dRhacsE3HZ3dXjfsYSyiqK7y8UV09rTAo, yielding the signature:

hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEgc4zif5sdMVd3UYWnLBNx2d3V437GEsoqiu8vFFdPa0wKp3BheWxvYWTESpcCCcQgdUqcUGfIlHPABdLzDzHvWHCK9bXtql+UxloOfbCkfnDEIDBMFQV/Qfx2h70WZwUXTT6DyXGH0UsWzAVmOltv+4DQAgHCo3NpZ8RAbxPR9ahkD58t3e68axCSfOK0aTrEgriWtclJYawEH5wYwadbVYsUMrp8xHtnf+7phDG5+8RlpRWbBQMf2CzeD6hzaWdfdHlwZSCkaGFzaIKkdHlwZQildmFsdWXEIC8hvWGReCihUdAHwe/fm9Lr2hVdgkruVVkH8HVUIsEbo3RhZ80CAqd2ZXJzaW9uAQ==

And finally, I am proving ownership of the github account by posting this as a gist.

My publicly-auditable identity:

https://keybase.io/mildan

From the command line:

Consider the keybase command line program.

# look me up
keybase id mildan

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.