tordam

A library for peer discovery inside the Tor network
git clone https://git.parazyd.org/tordam
Log | Files | Refs | README | LICENSE

DateCommit messageAuthorFiles+-
2021-03-29 21:07cmd/tor-dam: Use fmt rather than log to print JSON struct on the end.parazyd1+1-1
2021-03-21 12:50Update go.modparazyd1+1-1
2021-03-21 11:31Add some notes in the Readme.parazyd1+18-5
2021-03-21 11:18Simplify logging/fname.parazyd1+7-15
2021-03-21 10:38Improve logging.parazyd5+67-29
2021-03-21 10:06Remove functionality for writing peers.json.parazyd6+1-74
2021-03-11 23:27Use filepath.Join instead of strings.Join to create paths.parazyd4+22-18
2021-03-09 14:56Some code linting.parazyd2+15-3
2021-03-08 01:01Add note about documentation in Readme.parazyd1+2-0
2021-03-08 00:58peer_announce: Validate onionaddr from param in Announce.parazyd1+4-0
2021-03-08 00:58Update docs.parazyd4+9-8
2021-03-08 00:44cmd/tor-dam: Doc typo fix.parazyd1+6-5
2021-03-08 00:26announce_test: Set up Cfg.Datadir.parazyd1+8-0
2021-03-08 00:11cmd/tor-dam: Write some more documentation and clean up.parazyd1+16-14
2021-03-08 00:00database: Correct doc typo.parazyd1+2-1
2021-03-07 23:56Tidy go mod.parazyd2+1-2
2021-03-07 23:55Implement writing of JSON peer database file.parazyd6+70-0
2021-03-07 23:20Add JSON to Peer struct.parazyd2+16-9
2021-03-07 23:19peer_announce: Fix Validate call.parazyd1+3-1
2021-03-07 22:52rpc_announce: Fix wording in Ann doc.parazyd1+1-1
2021-03-07 22:18rpc_announce: Doc formatting.parazyd1+8-4
2021-03-07 22:03Sherrif badge order.parazyd1+1-1
2021-03-07 21:57Report Sherrif badge.parazyd1+1-0
2021-03-07 21:57Cleanups.parazyd2+3-1
2021-03-07 21:50Update go.mod.parazyd1+2-2
2021-03-07 21:45cmd/tor-dam: Use x from internal scope.parazyd1+1-1
2021-03-07 21:35Add more documentation.parazyd4+16-7
2021-03-07 20:53Sherrif badges.parazyd1+2-0
2021-03-07 20:51Fix up some compile warnings.parazyd1+3-2
2021-03-07 20:46Create go.ymlparazyd1+28-0
2021-03-07 20:31Add integration example in cmd/tor-dam.parazyd7+222-11
2021-03-07 20:20Export ValidateOnionInternal function.parazyd4+5-5
2021-03-07 19:29Create codeql-analysis.ymlparazyd1+67-0
2021-03-07 19:25Remove old files.parazyd5+0-181
2021-03-07 19:22Library implementation.parazyd15+858-0
2021-03-07 19:07Remove old code.parazyd13+8-1276
2021-01-11 15:15Update readme with usage.parazyd1+20-0
2021-01-11 15:09Refactor repository and rewrite some parts of the code.parazyd39+1379-2028
2020-10-05 20:03Fix compilation with latest Redis library.parazyd5+31-38
2019-10-04 13:34Add a flag in dam-client for a dynamic portmap.parazyd2+5-1
2019-10-04 13:31Make flags global variables in dam-client and dam-dir.parazyd2+30-29
2019-07-24 11:15python/damhs.py: Fix -p flag.parazyd1+1-1
2019-03-06 16:32Update the README file with some example.parazyd1+23-1
2019-03-06 15:27Add echoserver Python examples.parazyd2+78-0
2018-12-26 14:58Use argparse in damhs.py.parazyd2+18-6
2018-12-17 14:45Apply my full name in the license headers.parazyd12+97-77
2018-11-01 19:05Remove unreached os.Exit in dam-dir.parazyd1+0-1
2018-11-01 15:52Add a GIF visualizing the network in the README.parazyd2+2-0
2018-11-01 14:42dam-dir: Be verbose with expire time when -ttl is enabled.parazyd1+1-1
2018-11-01 14:39dam-client: Fix typo in fetchNodeList.parazyd1+1-1
2018-11-01 12:59Apply some linting to dam-client.parazyd1+2-8
2018-11-01 12:43Defer and kill damhs.py and redis when exiting.parazyd2+3-3
2018-11-01 12:34Tidy up validate_test.go.parazyd1+25-29
2018-11-01 12:10Note specific version requirements in README.parazyd1+3-2
2018-11-01 11:40Merge branch 'ed25519'parazyd26+597-1460
2018-10-29 16:56Change bufsize for zenroom to 1M.parazyd1+2-1
2018-10-29 16:53Add zenroom.go test unit.parazyd1+49-0
2018-10-29 16:52Trim outbuf and errbuf in ZenroomExecToBuf function return.parazyd1+9-4
2018-10-29 16:50Use Facebook's onion address for the Tor tests.parazyd1+1-1
2018-10-29 16:19Move Zenroom code to separate file in damlib.parazyd2+48-11
2018-10-29 13:23Add the Zenroom dependency and implement a ZenroomExec wrapper.parazyd3+127-0
2018-10-29 09:32Fix typo in pollNodeTTL.parazyd1+1-1
2018-10-28 20:39Simplify time.Now call in dam-dir.parazyd1+1-1
2018-10-28 11:40Be a little bit more informative in dam-gource.parazyd1+3-0
2018-10-27 11:49dam-dir: Remove unnecessary conversion in pollNodeTTL.parazyd1+1-1
2018-10-27 11:48dam-client: Move the init of the working directory to a separate function.parazyd1+26-15
2018-10-27 11:28dam-client: Don't bail out when there are no succesful authentications.parazyd1+1-3
2018-10-27 11:28Implement dam-gource binary for fetching Gource logs from Redis.parazyd1+19-0
2018-10-27 11:03Update TODOparazyd1+0-8
2018-10-27 11:02Implement deletion in damlib's PublishToRedis function.parazyd2+6-4
2018-10-27 10:49Implement polling routine for deleting expired nodes.parazyd1+33-0
2018-10-27 08:52Don't append a newline to redis' pubsub channel.parazyd1+1-1
2018-10-26 16:24Implement a Redis publish/subscribe channel.parazyd3+39-1
2018-10-26 15:56dam-client: Remove duplicates from final slice in fetchDirlist.parazyd1+11-0
2018-10-26 15:53Remove announcements to ourselves (localhost).parazyd2+0-17
2018-10-26 09:46Change default announce interval to 5 minutes.parazyd1+1-1
2018-10-23 10:37Mitigate Redis(Cli) bug by not panicking on the error.parazyd2+7-2
2018-10-22 14:01dam-dir: Avoid sending secrets when propagating notes.parazyd1+2-0
2018-10-22 09:37Update TODO.parazyd1+8-0
2018-10-22 09:36Update the protocol document and fix some wording.parazyd1+37-40
2018-09-03 13:25Add some comments through the code.parazyd2+6-5
2018-09-03 11:58Implement flag for (re)generating keypairs.parazyd1+7-2
2018-09-03 11:53Add a commandline flag for allowing custom remote directory lists.parazyd1+9-6
2018-09-03 11:32Add a commandline flag for a variable announce interval.parazyd1+4-2
2018-07-30 09:33Run 'install-init' contrib/Makefile target in main 'install' target.parazyd1+1-1
2018-07-19 14:51Add a commandline flag example in dam-client's initscript.parazyd2+4-1
2018-07-19 14:50Implement "-d" flag in dam-client to allow not fetching remote directories.parazyd2+22-6
2018-07-19 14:28Add a commandline opts example in the dam-dir initscript.parazyd2+4-1
2018-07-19 14:22Implement -t flag for choosing between nodes being (in)valid initially.parazyd3+18-1
2018-07-10 10:10Enable all nodes to be initially valid.parazyd1+1-1
2018-05-29 10:46Open additional needed ports in config.go.parazyd1+1-1
2018-03-26 10:38Open port 13010 for the hidden service.parazyd1+1-1
2018-03-21 15:33Add proper permission handling to initscript logs.parazyd4+6-2
2018-03-21 14:40Switch the initscripts to supervise-daemon.parazyd2+16-12
2018-03-14 15:46Initscripts should start after ntp.parazyd2+2-2
2018-03-13 12:32Add cleanups to binaries.parazyd3+6-13
2018-03-13 10:36Add some damlib style cleanups.parazyd3+17-45
2018-03-13 10:10Add support for local directories.txt and add the DIR: parsing in damlib.parazyd2+25-11
2018-03-12 13:31Add improvements to OpenRC initscripts.parazyd2+20-2
2018-03-12 11:28Add some test cases for damlib.parazyd5+238-0
2018-03-12 10:40Add TODO.mdparazyd1+2-0
2018-03-12 10:17Use crypto/rand in dam-client to select random directories.parazyd1+5-5
2018-02-20 13:14Fix the log path of dam-dir initscript.parazyd1+1-1
2018-02-20 13:04Remove TODO note about loading private key on loop iterations.parazyd1+0-2
2018-02-20 12:37Also use local nodes know to redis in fetchDirlist().parazyd1+11-1
2018-02-20 12:06Write the onion hostname on key generation to a corresponding file.parazyd1+6-1
2018-02-20 11:21Add TODO note in dam-client.parazyd1+3-0
2018-02-20 11:15Add license headers to the source code files.parazyd15+268-13
2018-02-19 12:31Add install-init contrib/Makefile target.parazyd1+15-1
2018-02-19 12:28Add openrc initscriptsparazyd4+57-0
2018-02-13 22:40Fix wording in protocol.mdparazyd1+2-2
2018-02-12 09:50Don't panic when directory fetch fails.parazyd1+6-1
2018-01-24 18:17Enable dam.decodeproject.eu directory listing.parazyd1+1-2
2018-01-23 12:13Add comment about constantly loading the private key.parazyd1+2-0
2017-12-21 12:42Use the constant WelcomeMsg in dam-dir.parazyd1+1-1
2017-12-21 12:31Fix comment for GzipEncodeparazyd1+2-2
2017-12-20 15:03Add propagation functionality.parazyd4+103-9
2017-12-20 12:44Implement fetching of network entry points.parazyd3+121-39
2017-12-13 02:36Style fixes.parazyd5+20-34
2017-12-13 02:15damhs.py: Don't spam stdout when looping.parazyd1+2-3
2017-12-13 01:53crypto_rsa.go comment cleanup.parazyd1+0-1
2017-12-13 01:48Validate v3 hidden service addresses in ValidateOnionAddressparazyd1+4-4
2017-12-13 00:10Rename handshake validation functions.parazyd2+6-6
2017-12-13 00:02Remove useless bool returns from Save{Pub,Priv}Rsa in crypto_rsa.goparazyd2+15-18
2017-12-12 23:57Implement ed25519 functionality.parazyd2+110-0
2017-12-12 21:17Separate RSA functions into a separate file.parazyd3+224-219
2017-12-12 17:04Enable passing the port mapping to damhs.py.parazyd3+26-20
2017-12-12 13:46Rename Privpath constant to PrivKeyPathparazyd2+6-6
2017-12-12 12:08dam-client: Don't bail out on announce error, just log it.parazyd1+3-1
2017-12-12 12:07Update dam-dir tests.parazyd1+9-5
2017-12-12 12:07Implement more control over the HTTP server.parazyd1+12-5
2017-12-12 11:45Handle HTTP 400 in dam-client.parazyd1+1-1
2017-12-12 11:40Move ProxyAddr to config.goparazyd2+3-3
2017-12-12 02:14Reformat and reenable all tests.parazyd2+58-48
2017-12-12 01:53Be more verbose when bailing in dam-dirparazyd2+40-30
2017-12-12 01:17Put GoDoc badge in readme.parazyd1+1-0
2017-12-12 00:56Refactor handshake validation.parazyd6+284-222
2017-12-12 00:43Add incomplete test for invalid second handshake.parazyd1+35-2
2017-12-11 21:49Add TODO note about node promotion.parazyd1+2-0
2017-12-11 21:44Add more test casesparazyd1+47-1
2017-12-11 21:37Add test case for invalid onion address in first handshake.parazyd1+24-0
2017-12-11 21:32Test case for invalid nodetypeparazyd2+27-0
2017-12-11 21:23Recognize when a descriptor could not be fetched (tests).parazyd1+35-19
2017-12-11 21:21Allow nodetype of either "node" or "directory".parazyd2+10-2
2017-12-11 20:52Add test for ValidSecondHandshakeparazyd3+56-4
2017-12-11 20:24Start redoing dam-dir tests.parazyd1+26-269
2017-12-11 16:28Improvements to 2/2 handshake handling.parazyd1+22-13
2017-12-11 16:20More tests. Shameful how bad they are.parazyd1+160-0
2017-12-11 15:26Implement simpler postback to the client.parazyd1+32-37
2017-12-11 15:06Add very primitive tests for dam-dir.parazyd1+177-0
2017-12-11 13:48Drop out of handlePost sooner if there are missing fields.parazyd2+9-4
2017-12-10 21:34dam-client: Disable log message about Chdir on startupparazyd1+0-1
2017-12-10 16:27Update protocol documentation.parazyd1+21-14
2017-12-10 16:02Rename lib to damlib and separate functions into more filesparazyd9+395-371
2017-12-10 12:50More robustness in dam-dirparazyd3+31-9
2017-12-09 19:32Make the client also sign the decrypted secret.parazyd2+40-3
2017-12-09 19:08Remove .gitignoreparazyd1+0-1
2017-12-09 19:07Be explicit in naming of crypto functionsparazyd4+33-33
2017-12-09 19:02Chdir to a working directory where we can keep our files on startupparazyd2+26-7
2017-12-09 17:38Start redis if it's not already running on dam-dir startup.parazyd1+17-1
2017-12-09 17:31More Makefileparazyd3+26-3
2017-12-09 17:25Makefile fixes; rename dirauth.py to damauth.pyparazyd3+19-21
2017-12-09 17:13Generic namingparazyd7+20-19
2017-12-09 16:35Update pkg/lib docparazyd2+48-12
2017-12-09 15:02fix misplaced log messageparazyd1+1-1
2017-12-09 14:54Announce to known directories concurrently.parazyd1+14-5
2017-12-09 14:41dam-dir: Don't request a descriptor if we have already seen the node.parazyd2+31-19
2017-12-09 14:06dam-client: Do the announce process in a separate functionparazyd1+88-46
2017-12-09 13:24Update port numbers in dir and clientparazyd2+5-3
2017-12-08 18:03Whitespace fixesparazyd5+2-37
2017-12-08 17:40Add note about directoriesparazyd1+1-0
2017-12-08 17:40Write "firstseen" and "valid" only if the node is not in redisparazyd1+10-6
2017-12-08 17:06Flush stdout in python when writing to itparazyd2+4-1
2017-12-08 17:06Use dirauth.py from $PATHparazyd1+1-1
2017-12-08 17:05Fail if we did not publish a descriptor within 90 secondsparazyd1+13-0
2017-12-08 14:35Implement hidden service startup through dam-clientparazyd1+28-5
2017-12-08 13:23use 0400 perms after writing filesparazyd1+10-0
2017-12-08 12:46Better error handlingparazyd4+89-41
2017-12-08 12:23Add example configurations; improve makefilesparazyd5+63-3
2017-12-08 11:57Separate protocol doc into its own file. Note about installation.parazyd2+118-102
2017-12-08 11:30Add Makefile to install python scriptsparazyd1+15-0
2017-12-08 11:20Add the ephemeral hidden service daemonparazyd2+56-91
2017-12-08 10:40Remove finished TODOsparazyd2+0-5
2017-12-08 10:37This repo has multiple cmds so use /... with go getparazyd1+1-1
2017-12-08 02:36Remove obsolete Python codeparazyd3+0-97
2017-12-08 02:33Update documentationparazyd1+84-30
2017-12-08 01:28Sort directory structure to something conventionalparazyd7+277-277
2017-12-08 01:01Avoid using relative importsparazyd2+2-3
2017-12-08 01:00move packages to root directoryparazyd5+0-0
2017-12-08 00:27Implement redis as directory storage backendparazyd2+56-12
2017-12-07 22:56Expand the nodeStruct struct to hold more informationparazyd1+12-0
2017-12-07 22:22Finalize the second handshake when sending the decrypted secret.parazyd2+45-2
2017-12-07 22:02Become two seconds faster in fetching a descriptorparazyd1+6-6
2017-12-07 21:32Implement client-side secret decryptionparazyd3+29-1
2017-12-07 21:19Currently there is no need to save the generated pubkey to a file.parazyd1+2-2
2017-12-07 21:18Implement handling of error replies from server in dam.goparazyd2+15-6
2017-12-07 21:03Handle signature verification in ddir.goparazyd1+18-2
2017-12-07 21:02Proper signature creation in dam.goparazyd1+5-2
2017-12-07 21:01Bug #23032 resolved.parazyd2+16-24
2017-12-07 21:00Style fixesparazyd2+11-5
2017-12-07 20:01Handle the JSON response in dam.goparazyd1+8-1
2017-12-07 19:59Implement secret encryption in ddir.parazyd1+25-1
2017-12-07 19:57Implement ParseKey, which parses a []byte pubkey into rsa.PublicKeyparazyd1+33-19
2017-12-07 19:54Return the public key as []byte in ValidateReqparazyd1+4-4
2017-12-07 19:21Be more informative with some helper functions.parazyd1+5-2
2017-12-07 18:19ListenAndServe in a goroutineparazyd1+8-1
2017-12-07 18:15Use a const for ddir's listening addressparazyd1+7-3
2017-12-07 18:14Implement generation of random ASCII stringsparazyd1+19-0
2017-12-07 17:56Change log.Fatal to log.Fatallnparazyd2+2-2
2017-12-07 17:53Disable signature validation until #23032 is resolved.parazyd2+13-9
2017-12-07 17:15Use the new HTTPPost in dam.goparazyd1+1-5
2017-12-07 17:13add license header to ddir.goparazyd1+2-0
2017-12-07 17:12Implement wrapping around HTTP requests for sending socksified POSTparazyd1+40-0
2017-12-07 17:12make consts out of vars in dam.goparazyd1+3-3
2017-12-07 16:27add go implementationparazyd5+329-0
2017-12-07 16:26move python to separate directoryparazyd4+0-0
2017-12-07 15:48relicense to AGPL3parazyd1+68-81
2017-11-28 17:05rename to Tor-DAMparazyd3+95-93
2017-11-25 13:52forgot to assign a None to prxparazyd1+1-0
2017-11-25 12:40readme fixparazyd1+22-15
2017-11-25 12:38announce both to self and a remote directoryparazyd1+13-7
2017-11-25 12:35add creds file with fake credentialsparazyd1+1-0
2017-11-25 03:17update the readmeparazyd1+52-5
2017-11-25 02:39implement basic PoCparazyd4+181-0
2017-11-25 02:39add license and readmeparazyd3+699-0