Commit Graph

531 Commits

Author SHA1 Message Date
Kevin Froman 8727dc2241
Merge branch 'refactoring2' of gitlab.com:beardog/Onionr into refactoring2 2018-07-07 19:03:46 -05:00
Arinerron bdb9fa8cc4 Misc updates 2018-07-05 21:27:12 -07:00
Kevin Froman 06986d2703
* now use communicator2 by default
* fixed shutdown command crash
* now handle shutdown of api in communicator
* work on new POW system (block hash being the POW hash)
2018-07-05 02:31:47 -05:00
Arinerron c083d54abb Merge branch 'refactoring2' of https://gitlab.com/beardog/onionr into refactoring2 2018-07-04 12:07:27 -07:00
Arinerron bd3a3bfeed Fix type bug 2018-07-04 12:07:17 -07:00
Kevin Froman bd819a3ba6
* fixed validateMetadata not having self
+ added isIntegerString
* other fixes
2018-07-04 13:49:43 -05:00
Kevin Froman 80648cc920
added kex command 2018-07-03 18:44:12 -05:00
Kevin Froman 6f761aaeff
do not have linebreak in own hsaddr 2018-07-03 16:27:42 -05:00
Kevin Froman 58110e461e
improving new communicator bootstrapping, do not connect to self 2018-07-03 16:24:14 -05:00
Kevin Froman 267220ad72
only attempt announce with online peers 2018-07-03 14:26:53 -05:00
Kevin Froman f1c8c8b843
* changed how new communicator uses bootstrap (untested)
+ added function to calculate human readable strings from hex
2018-07-03 03:18:07 -05:00
Kevin Froman efb049fddd
fixed indent in test 2018-07-02 16:20:19 -05:00
Kevin Froman 3a7cefbf53
* do not fail localCommand if host file does not exist
* disabled plugin tests
2018-07-02 16:15:59 -05:00
Kevin Froman 75bb8a11bd
do not fail on plugin import 2018-07-02 16:08:47 -05:00
Kevin Froman 45234588e2
* fixed broken insertblock with bytes
* some work on improving tests
* temporarily disabled testblockapi test
2018-07-02 03:13:18 -05:00
Kevin Froman f5bd9220fc
improved communicator2 comments 2018-07-01 23:04:14 -05:00
Kevin Froman 5c49f544fe documented communicator2 better and bootstrap better 2018-07-01 16:01:19 -05:00
Kevin Froman a2ad90f2b9 fixed invalid conn commit 2018-06-30 22:38:57 -05:00
Kevin Froman 92b0ad975f
+ Now log running seconds in heartbeat
* Do not spam "could not connect to any peer" if we have a peer connected
2018-06-26 00:26:01 -05:00
Kevin Froman 6fd0f9aded
create daemon db table if it doesn't exist 2018-06-26 00:04:59 -05:00
Kevin Froman 65ea5cf6f0
completed validateMetadata function 2018-06-25 23:39:45 -05:00
Kevin Froman 956f720741 added call to new validateMetadata function 2018-06-25 02:34:43 -05:00
Kevin Froman f148724e69 work on peer/address exchange in new communicator 2018-06-23 02:36:22 -05:00
Kevin Froman a7d0d73b5b add new block to hash db in communicator 2018-06-21 19:57:12 -05:00
Kevin Froman 232bc4932a * fixed threadCount not lowering for getBlocks
* fixed onionrblockapi not properly converting bytes to string for block
hash
2018-06-21 19:34:42 -05:00
Kevin Froman ff8128ae33 use bytes instead of str when inserting 2018-06-21 14:07:00 -05:00
Kevin Froman 3c8d1a5b7f readded missing setdata in core 2018-06-21 13:56:07 -05:00
Kevin Froman ca53da854e readded forgotten setdata to insertblock 2018-06-21 02:34:42 -05:00
Kevin Froman 997e27b532 do not use blockapi for addmessage 2018-06-21 02:29:51 -05:00
Kevin Froman 9abb2f4f85 fixed undefined metadata in insertblock 2018-06-21 02:26:54 -05:00
Kevin Froman 9968a72fbc + added clear offline peers to new communicator
+ fixed unable to insert unencrypted block
2018-06-21 02:24:58 -05:00
Kevin Froman 829dba45cc temporarily disabled onionrblockapi metadata 2018-06-21 02:17:20 -05:00
Kevin Froman 4bc5317b63 fixed leftover break in core 2018-06-21 01:48:54 -05:00
Kevin Froman 0087e04f57 work on new blocks and encryption 2018-06-20 15:56:28 -05:00
Kevin Froman b3cbdbaceb Merge branch 'refactoring2' of gitlab.com:beardog/Onionr into refactoring2 2018-06-20 14:02:17 -05:00
Kevin Froman 0a8052a9a4
* work on new block system, encryption
+ added new exception
+ encryption now anonymous by default, will probably remove anonymous
param in future
2018-06-20 02:40:49 -05:00
Arinerron 06b4094d45 misc changes 2018-06-19 21:51:03 -07:00
Arinerron d77bb92e28 Refactor initializer 2018-06-19 21:36:07 -07:00
Kevin Froman 10ebdddb24
* work on new block system, working on encryption
* added onionrvalues file for onionr requirements
* added invalidmetadata exception
2018-06-19 02:01:59 -05:00
Kevin Froman 7864677498
+ added secrets.py
* work on communicator2, syncing blocks
* modify insertblock to use new pow metadata (may need more work for new
spec)
2018-06-16 15:54:56 -05:00
Kevin Froman a4824d9b8c
work on new communicator with downloading new blocks 2018-06-16 02:33:54 -05:00
Kevin Froman 31a35472ce
* fixed broken local command
* work on communicator2 block syncing
2018-06-15 14:09:41 -05:00
Kevin Froman e339b78e88
merge gitlab 2018-06-15 00:47:37 -05:00
Kevin Froman 21786c6885
work on getting new blocks in communicator2 2018-06-15 00:45:07 -05:00
Arinerron debd123ffc Don't sort config keys 2018-06-13 21:42:19 -07:00
Arinerron b5c06ce64c Add warning message to new communicator 2018-06-13 21:35:56 -07:00
Arinerron af237eab0b Refactor Onionr 2018-06-13 21:17:58 -07:00
Kevin Froman 6cb69c7187
work on new peer pool system in new communicator 2018-06-13 17:22:48 -05:00
Kevin Froman effeddc536 Merge branch 'refactoring2' of gitlab.com:beardog/Onionr into refactoring2 2018-06-13 02:34:35 -05:00
Kevin Froman 083ffd8af3
work on new communicator, added some communication to peers and imported some old
communicator features

added powValue to address db, currently unused
2018-06-13 02:33:37 -05:00
Arinerron d382fca524 Dynamically adjust stats menu size 2018-06-12 23:09:55 -07:00
Arinerron 25208e4374 Fix division-by-zero error 2018-06-12 22:50:55 -07:00
Kevin Froman 22aa3110d5
+ now exit in new daemon on command
+ no exit in new daemon on api crash
2018-06-12 22:43:39 -05:00
Kevin Froman ed1d09a7b6
+ added timer object to new communicator 2018-06-12 18:32:33 -05:00
Kevin Froman b6da3385cb
+ added onionrpeers file
+ added onionrexceptions file
+ work on new communicator
2018-06-12 02:34:33 -05:00
Kevin Froman d73b69c9b4
work on new communicator, with nist beacon 2018-06-11 02:40:45 -05:00
Kevin Froman 7d3e7e7a30
started work on communicator2 2018-06-10 03:00:01 -05:00
Kevin Froman 77a847a0b7
* fixed addpeer command to work with pow
* improved stats screen to show pow token for your key
2018-06-09 01:21:14 -05:00
Kevin Froman f8657deaa3
work on new block system 2018-06-08 02:47:14 -05:00
Kevin Froman ee04c6d2bf
work on new block system 2018-06-08 02:46:05 -05:00
Kevin Froman 2703731053 Merge branch 'dev' of github.com:beardog108/onionr into refactoring2 2018-06-08 01:15:47 -05:00
Kevin Froman 8a16c972fd
work on new block system 2018-06-07 03:15:01 -05:00
Arinerron 0ca6480c79 silly me, missing type() 2018-06-06 18:58:40 -07:00
Arinerron 1a6fa19323 Fix 2 DOS vulns, improve Onionr efficiency 2018-06-06 18:54:35 -07:00
Arinerron 9e9595b4ec Fix header colors 2018-06-04 23:17:17 -07:00
Arinerron 4ec3d037e9 Few misc changes 2018-06-04 22:26:11 -07:00
Arinerron 9c2acb7099 Add createChain and mergeChain 2018-06-04 19:26:04 -07:00
Kevin Froman a25eca2818
merge import 2018-06-04 15:24:02 -05:00
20esaua 78f77c182d
Update onionrblockapi.py 2018-06-04 09:29:04 -07:00
Kevin Froman 640ce593f0
removed old commented out import 2018-06-02 00:05:46 -05:00
Arinerron cdb199e74d
Add block "chains" (ex. parent->child mergable blocks) 2018-06-01 00:02:56 -07:00
Arinerron 8846dcc2c6
See details
- Completes support for repositories
  - `./RUN-LINUX.sh create-repository [plugins...]`
  - `./RUN-LINUX.sh add-repository <block hash>`
  - `./RUN-LINUX.sh remove-repository <block hash>`
- Fixes several misc bugs
- Refactors code
  - Some messy code was rewritten
  - Variables renamed
  - Migrated old block api (insertBlock) to new Block API (onionrblockapi)
  - Kept to standards
  - Made code more reusable in `onionrproofs.py`
- Improves logging messages
  - Added error output for some features missing it
  - Capitalized sentences
  - Added punctuation where it is missing
  - Switched `logger.info` and `logger.debug` in a few places, where it is logical
  - Removed or added timestamps depending on the circumstance
- Added a few misc features
  - Added command aliases for `add-file` and `import-blocks`
  - Improved statistics menu
    - Displays `Known Block Count`
    - Calculates and displays `Percent Blocks Signed`
2018-05-31 21:25:28 -07:00
Arinerron a232e663a7
Change pluginmanager to dependency 2018-05-19 15:52:24 -07:00
Arinerron a611c7de34
Add tuple of onionr version 2018-05-19 15:27:26 -07:00
Arinerron e03a47d7f8
Fix resource leaking 2018-05-19 15:22:35 -07:00
Arinerron 0ac27ad0e2
add block tests 2018-05-19 15:21:35 -07:00
Arinerron 007d7ad9fb
Update to new Block API 2018-05-19 15:11:51 -07:00
Kevin Froman 500658808f Merge I2P Branch (#19)
* work on i2p support

* work on i2p support

* redid socks check

* redid socks check

* redid socks check

* work on i2p and fixed broken block processing

* fixed no newline delim on block list in api

* fixed no newline delim on block list in api

* fixed no newline delim on block list in api

* use extend instead of append for blocklist after newline changes
2018-05-19 21:32:21 +00:00
Kevin Froman a38eb667ef
increased allowed pow id size 2018-05-18 23:06:22 -05:00
Kevin Froman 5b2e9f9265
fixed whitelist in setaddressinfo 2018-05-18 16:59:46 -05:00
Kevin Froman 78265990ab
fixed broken getepoch 2018-05-18 16:49:05 -05:00
Kevin Froman 16282d79d3
refactored timers and added lastconnect to address database 2018-05-18 01:22:16 -05:00
Arinerron c1105c5f0f
Delete core 2018-05-16 11:26:15 -07:00
Arinerron 30f617c83e
Update plugins to use new Block API 2018-05-15 20:08:42 -07:00
Arinerron 3c8cbd2291
Refactor onionrpluginapi 2018-05-15 19:16:33 -07:00
Arinerron e50659753a
complevit! 2018-05-15 19:12:23 -07:00
Arinerron 9fdb6d8609
Create block API (todo docs) 2018-05-15 18:47:58 -07:00
Arinerron e95feb06db
Work on block api, finish later 2018-05-14 23:43:29 -07:00
Arinerron 93338e3fb9
Add repository support 2018-05-14 23:16:55 -07:00
Arinerron bc60b6bfc0
Fix unit tests 2018-05-14 23:16:40 -07:00
Kevin Froman 03eb98fd16
fixed key pow verification 2018-05-15 00:16:00 -05:00
Kevin Froman d02af9600a
removed btc and stopped delivering pow hash 2018-05-14 23:28:12 -05:00
Kevin Froman c13a742335
removed btc and stopped delivering pow hash 2018-05-14 23:24:38 -05:00
Kevin Froman 973b8583b6
Fixed index error when checking for pow 2018-05-14 20:10:05 -05:00
Kevin Froman 0f455b50c9 Merge branch 'communicator-multithreading-newline' into communicator-multithreading 2018-05-14 19:45:15 -05:00
Kevin Froman 2e9af7a4a3
fix thread crash 2018-05-14 19:44:54 -05:00
Kevin Froman 361f1e3d54 Merge branch 'communicator-multithreading' of github.com:beardog108/onionr into communicator-multithreading 2018-05-14 11:32:01 -05:00
Kevin Froman 7098103445
small commit before merge 2018-05-14 11:31:55 -05:00
Arinerron 019f13fe8d
Fix bug involving plugin duplicate names 2018-05-13 21:22:28 -07:00
Arinerron 15d0e7c6fd
Fix small bug with description and authors 2018-05-13 21:19:33 -07:00
Arinerron b1e9e61430
Make pluginmanager functional 2018-05-13 21:11:31 -07:00
Arinerron f0e842eae4
Fix positional argument bug 2018-05-12 23:37:47 -07:00
Arinerron f9b93fd491
Add newline delimiter to metadata+content 2018-05-12 20:55:34 -07:00
Arinerron fe4261c4a2
Various improvements
- Adds a lot more to the pluginmanager
- Refactors code
- Relocates functions
2018-05-12 20:45:32 -07:00
Arinerron adf007bf30
Make progress bar 2018-05-10 22:18:39 -07:00
Arinerron adc85c76c4
Improve console output and status message 2018-05-10 20:19:48 -07:00
Arinerron 6b9f21fd08
Add color configuration to statistics command 2018-05-10 19:20:14 -07:00
Arinerron 2f7002fc67
Improve statistics command 2018-05-10 19:05:56 -07:00
Kevin Froman 193845104e
onionr can now import blocks from disk 2018-05-10 02:42:24 -05:00
Kevin Froman 5813190cc4 work on pow for public keys 2018-05-07 02:46:07 -05:00
Kevin Froman d0994b8ef6
work on pow for public keys 2018-05-07 02:40:08 -05:00
Kevin Froman 5af0b5b7a5 Merge branch 'communicator-multithreading' of github.com:beardog108/onionr into communicator-multithreading 2018-05-07 01:55:28 -05:00
Kevin Froman bc88e8107c
work on pow for public keys 2018-05-07 01:55:03 -05:00
Arinerron 07eb512977
Move default-plugins, debug gui 2018-05-06 16:00:28 -07:00
Kevin Froman 54a3557fd0
hopefully finished pow on blocks 2018-05-05 18:45:35 -05:00
Kevin Froman 9c3416e707
work on proof of work 2018-05-05 18:32:10 -05:00
Kevin Froman 1f8eb925c6 work on proof of work 2018-05-05 17:36:03 -05:00
Kevin Froman 7d9936e55c work on proof of work 2018-05-05 16:50:15 -05:00
Kevin Froman 268cd10f34 work on proof of work 2018-05-05 15:20:48 -05:00
Kevin Froman e2cc375b1a
work on proof of work 2018-05-05 15:07:32 -05:00
Kevin Froman 908ccbe664
hopefully fixed everything for new sig format 2018-05-05 03:03:05 -05:00
Kevin Froman ff5bdd62f2
work on fixing mallable metadata & thread work 2018-05-05 01:19:25 -05:00
Kevin Froman ab1cce3616
more work on thread logic 2018-05-04 22:39:00 -05:00
Kevin Froman c3bf73d821
fixed thread crash in highfailurerate check in communicator 2018-05-04 21:09:54 -05:00
Kevin Froman d8b5127845
improved communicator threading 2018-05-04 21:07:43 -05:00
Kevin Froman 72f104e447
fixed crash in communicator 2018-05-04 14:38:47 -05:00
Kevin Froman ccea91e260
fixed merge issues 2018-05-04 12:44:35 -05:00
Kevin Froman 56ca0abc63
merge crypto 2018-05-04 12:36:58 -05:00
Arinerron 0af569acff
Move config to static-data 2018-05-04 00:14:27 -07:00
Kevin Froman 26fd456702
work on converting communicator to multithreads 2018-05-03 17:41:12 -05:00
Arinerron c3d86eafa1
Add direct connection feature and multithreading to events
Add direct connection feature and multithreading to events
2018-05-03 03:22:07 +00:00
Kevin Froman 1a02124122
fixed broken shutdown command 2018-05-02 20:14:00 -05:00
Kevin Froman 98dac40139 Merge branch 'crypto' of github.com:beardog108/onionr into crypto 2018-05-02 02:40:35 -05:00
Kevin Froman 6bf8a56979
improved pow 2018-05-02 02:31:33 -05:00
Arinerron 7973d7c8a6
Fix bug involving runcheck 2018-05-01 23:50:29 -07:00
Arinerron 0a7c3aeaab
Improve daemon stopping error handling 2018-05-01 23:35:08 -07:00
Arinerron cfb1986ad0
Add run check to node introduction function 2018-05-01 23:25:44 -07:00
Arinerron c144bc40b3
Add status check function 2018-05-01 23:22:40 -07:00
Arinerron 7b7c4e01cb
Add debug info on exceptions 2018-05-01 23:01:20 -07:00
Kevin Froman 7fd9319cfc
changed http server to gevent from flask built in 2018-05-01 02:26:48 -05:00
Kevin Froman 0d9e0c7066
changed http server to gevent from flask built in 2018-05-01 02:25:31 -05:00
Kevin Froman a7244b2a0a
fixed debug being enabled in web api 2018-05-01 02:01:57 -05:00
Kevin b82486bff0 Added i2p file 2018-04-30 18:38:34 -05:00
Kevin Froman c6c819bd28
PMs now disguise sender (needs testing) 2018-04-30 02:38:53 -05:00
Kevin Froman a376e583e6 fixed missing import in crypto 2018-04-26 21:58:00 -05:00
Kevin Froman 717035a136 fixed missing import in crypto 2018-04-26 21:23:43 -05:00
Kevin Froman e140e8560f signed blocks related crashes fixed hopefully, wrong exception 2018-04-26 21:18:17 -05:00
Kevin Froman 5086a839ee signed blocks related crashes fixed hopefully 2018-04-26 21:14:31 -05:00
Kevin Froman 28e080fe1a signed blocks related crashes fixed hopefully 2018-04-26 21:08:56 -05:00
Kevin Froman 388b1b6e1f signed blocks related crashes fixed hopefully 2018-04-26 20:37:48 -05:00
Kevin Froman ac7bb63225 signed blocks related crashes fixed hopefully 2018-04-26 20:28:39 -05:00
Kevin Froman 8a9d1326fb
signed blocks related crashes fixed hopefully 2018-04-26 20:15:30 -05:00
Kevin Froman 3cba6b30c7
working on issue for hashid being bytes on some versions 2018-04-26 19:04:35 -05:00
Kevin Froman 9f4aef7465
do not encode prev if its already bytes 2018-04-26 15:39:02 -05:00
Kevin Froman c9b7528db4
more work on block headers, PMs now signed/verified 2018-04-26 14:56:17 -05:00
Kevin Froman ad56082271
work on new header system 2018-04-26 02:40:39 -05:00
Kevin Froman acd5494979
fixed wrong var used for peer causing crash 2018-04-25 18:21:43 -05:00
Kevin Froman c249a42bb7
added addres+pubkey to stats 2018-04-25 18:01:18 -05:00
Kevin Froman 66e55d5a50
efficiency improvements 2018-04-25 17:42:42 -05:00
Kevin Froman 3aa539ce82
added banner 2018-04-25 02:39:13 -05:00
Kevin Froman c8fce63412
fixed invalid sqlite3 2018-04-25 02:20:10 -05:00
Kevin Froman b0271e7779
removed secrets 2018-04-25 02:09:28 -05:00
Kevin Froman 1e32446f2a fixed self issue 2018-04-25 01:56:40 -05:00
Kevin Froman 6b9d4f8fc6
work on new block metadata format and some small bug fixes 2018-04-24 23:04:12 -05:00
Kevin Froman bbd881785d More than halved time to keep invalid blocks during development 2018-04-23 01:46:05 -05:00
Kevin Froman 686e30f1ba
do not re merge ignored hash 2018-04-23 01:14:49 -05:00
Kevin Froman 0db21e2c32
onionr now removes and ignores blocks it cant get after a long time, added removeblock function 2018-04-23 01:03:10 -05:00
Arinerron db2babac29
Fix this GUI bug once and for all 2018-04-22 21:54:51 -07:00
Arinerron 4052a91f35 Merge branch 'crypto' of https://github.com/beardog108/Onionr into crypto 2018-04-22 21:50:17 -07:00
Arinerron 4afe7e45c3
suppress tkinter 2018-04-22 21:50:07 -07:00
Kevin Froman 2dfe735aad fixed arinerrons bootstrap address 2018-04-22 23:49:48 -05:00
Kevin Froman f4da15c2f4 fixed arinerrons bootstrap address 2018-04-22 23:48:43 -05:00
Arinerron 3f6f981847
Change bootstrap node list 2018-04-22 21:47:14 -07:00
Arinerron 0d23d176ce
Move tkinter requirement to openGUI function 2018-04-22 21:42:34 -07:00
Arinerron e820cc65ac
Fix bug involving removing enabled plugins 2018-04-22 21:25:54 -07:00
Kevin Froman 3e8d76e246 fixed exception caused by probably check for missing block 2018-04-22 23:17:16 -05:00
Arinerron 0dc6a0b6c5
Refactor code 2018-04-22 20:49:53 -07:00
Arinerron a5dbf73df4
Simple fix for GUI plugin 2018-04-22 20:45:25 -07:00
Arinerron 36d9ebd4f1 Merge branch 'crypto' of https://github.com/beardog108/Onionr into crypto 2018-04-22 20:42:50 -07:00
Arinerron 654703d902
Start working on plugin manager 2018-04-22 20:42:37 -07:00
Kevin Froman 8300cd1c91
fixed messed up gethostname() 2018-04-22 22:20:52 -05:00
Kevin Froman 62737ea2c1
added bootstrap node and removed debug message 2018-04-22 22:15:20 -05:00
Kevin Froman 583480629a
hopefully working again, hopefully less block validation issues 2018-04-22 21:58:24 -05:00
Kevin Froman c807056ef2
convert data to bytes if it isnt 2018-04-22 21:24:34 -05:00
Kevin Froman 7578ac874b
now only show block contents debug if txt 2018-04-22 21:19:57 -05:00
Kevin Froman 8853926287
bumped api version and removed encode on setdata since it is always bytes now 2018-04-22 21:16:11 -05:00
Kevin Froman ae79b7ee3a
fixed stupid mistake 2018-04-22 21:13:55 -05:00
Kevin Froman d41f86a27a
what 2018-04-22 21:10:09 -05:00
Kevin Froman 7199b0e5da
now check base64 after bool check 2018-04-22 20:59:44 -05:00
Kevin Froman c562fabbbd
removed bytes conversion on downloadblock data 2018-04-22 20:56:20 -05:00
Kevin Froman 23d092fb94
added binascii import 2018-04-22 20:46:22 -05:00
Kevin Froman 89f1b11dac
started work on base64 transporting 2018-04-22 20:43:17 -05:00
Kevin Froman 4ff6baa279
fixed messed up message for missing bootstrap file 2018-04-22 18:38:32 -05:00
Kevin Froman c9cfeac303
added self check, bootstrap node file 2018-04-22 18:36:09 -05:00
Kevin Froman 7706d4e04c
added self check, bootstrap node file 2018-04-22 18:35:00 -05:00
Kevin 0ce3c7d940 now kill tor more often when shutting down, use own tor data directory, and check for api crash to stop daemon 2018-04-21 20:53:12 -05:00
Arinerron c0e08eae79
Improve plugin error handling 2018-04-21 17:37:20 -07:00
Arinerron 9cf07355ce
Convert gui.py into a default plugin 2018-04-21 17:09:48 -07:00
Arinerron bd0a175dfc
Improve first-run and add default plugins 2018-04-20 22:04:03 -07:00
Arinerron 098abb8e55
Improve support for plugins 2018-04-20 20:10:50 -07:00