Commit Graph

749 Commits

Author SHA1 Message Date
Simone Basso
c81393b31a
refactor: move ooni into the internal package (#168)
With this commit we've reorganised the package structure. Now I will
go more in depth and perform further refactoring.
2020-11-13 17:47:29 +01:00
Simone Basso
bc85efa6e5
refactor: version is now an internal package (#167)
Like for previous commits, just refactoring/yak shaving.
2020-11-13 17:37:06 +01:00
Simone Basso
a4ae94b5ec
refactor: now utils is an internal package (#166)
Let us make internal everything because this is not a library.
2020-11-13 17:28:02 +01:00
Simone Basso
a58dff3050
refactor: nettests is now an internal package (#165)
I'm moving everything into internal packages since this ain't a library.

While there, remove typo that was causing a build breakage.
2020-11-13 17:14:26 +01:00
Simone Basso
fb2ca32004
refactor: config is now a private package (#164)
We are working on ooniprobe for Debian. Before starting to apply
changes to the codebase, I'd like to apply some refactoring steps
that I've been thinking about for quite some time.

The general concept here is that the purpose of this repository
changed since it was designed and now there is probe-engine which
is a library, therefore, this repo can be mostly private.
2020-11-13 16:58:14 +01:00
Sarath
73d6b550e5
Replace ooni with ooniprobe in example usage (#163) 2020-11-13 16:57:01 +01:00
Arturo Filastò
c0a95c037f
Add support for deleting all measurements (#158)
Co-authored-by: Simone Basso <bassosimone@gmail.com>
2020-11-13 07:43:00 +01:00
Simone Basso
f1f2350bfa
Release v3.0.7 (#152)
* Update go-bindata and regenerate binary data

* Pin to ooni/probe-engine 0.17.0 and update dependencies

* Set version to 3.0.7

* Readme.md: better release instructions
2020-09-30 10:54:58 +02:00
Simone Basso
4c65147009
WIP: Start preparing release v3.0.7 (#147)
* Use ooni/probe-engine 0.16.0
* Update all the other dependencies
* Use GitHub Actions rather than Travis CI
* Automatically build and test binaries on the target OS (for Windows, macOS, Linux on amd64)
* Make sure we correctly measure coverage
* Make sure we use `-race` when running tests
* Remove unnecessary scripts
* Make sure the README is up-to-date
* Write small script to update binary data and add GitHub Actions checks for it
* Notice that we needed to run ./updatebindata.sh and run it
* Self documenting instructions regarding cross compiling
* Set version number to v3.0.7-beta

Part of https://github.com/ooni/probe-engine/issues/748
2020-08-22 11:20:50 +02:00
Simone Basso
b4934b1619
Use ooni/probe-engine 0.12.0+patches (#133)
* nettests/groups.go: remove redundant struct names

* go.mod go.sum: update deps except probe-engine

* Update to ooni/probe-engine@e768161f91

The API has changed. Methods that used to change bits of the session have
been removed. Now the session is more immutable than before.

As such, we need to completely fill the config before using it.

* Set IncludeCountry to always true

Co-authored-by: Arturo Filastò <arturo@filasto.net>
2020-06-04 11:19:38 +02:00
Arturo Filastò
f2e62b7ad7 Always include the country code and drop include_probe_cc setting
Fixes: https://github.com/ooni/probe/issues/1183
2020-06-02 19:16:09 +02:00
Arturo Filastò
35016a183e Interrupt the nettestGroup loop early on termination
Fixes ooni/probe#1013
2020-02-20 12:24:24 +01:00
Simone Basso
040bee0ee6
Optionally treat EOF on stdin just like SIGTERM (#111)
* Optionally treat EOF on stdin just like SIGTERM

On Unix, Node.js allows us to gracefully kill a process. On Windows
this is more compex. You certainly cannot rely on the default `kill()`
function, which calls `TerminateProcess`.

There is a bunch of C/C++ extensions that in principle allow you to
attempt to gracefully shutdown a Windows process.

But, hey, here's a reality check. Node.js controls our stdin. Node.js
does IPC easy. Controlling uv_spawn flags and using the right not well maintained
C/C++ Node.js extension to kill a process is fragile.

So, treat EOF and any other error on stdin as equivalent to SIGTERM.

However, systemd.

The sane thing to do with systemd is `StandardInput=null`. With such
configuration, stdin immediately returns EOF.

Then, introduce the `OONI_STDIN_EOF_IMPLIES_SIGTERM` environment
variable. When it is `true`, this behaviour is enabled, e.g.:

```bash
export OONI_STDIN_EOF_IMPLIES_SIGTERM=true  # behaviour enabled
ooniprobe run
```

I want the default to be disabled because:

1. in the future we may find a better way to solve this problem and I
don't want the _default behaviour_ to change in such case

2. we know we need this knob for ooniprobe-desktop, and we will not
fail to provide it, so it won't suprise/damage us

3. a person trying to write a systemd unit for ooniprobe would be very
surprised to find out they need to disable this behaviour, if it was
enabled by default by this PR

Hence, I believe this design is consistent with designing for the
future and for trying to minimize surprises.

Also, why an environment variable and not a command line flag? Because:

1. we don't want such hypothetical flag to be available where it does not
make sense, e.g., for all subcommands but `run`

2. we don't want the ooni/probe-desktop app to write conditional
code because it needs to check the command we're using and then decide
whether to add such hypothetical flag

Also, why not enabling this only on Windows? Because again we don't
want the ooni/probe-desktop app to write conditional code.

To summarize: we want ooni/probe-desktop app to see the same behaviour
everywhere and we want others to be the least surprised.

Related to https://github.com/ooni/probe/issues/1005

* Update ooni.go
2020-02-13 14:53:06 +01:00
Arturo Filastò
20fb419126 Explicitly handle SIGINT 2020-02-07 15:33:37 +01:00
Arturo Filastò
cf21fd1fd8 Improve error handling 2020-02-05 18:28:10 +01:00
Arturo Filastò
b22f224ad3 Fix bug in measurement_file_path collision
We were writing to the same measurement_file_path for a given test
group, because we were using a different filename only in the case of a
many input test, but not in the case of many test_names inside of a
given test group.
2020-02-05 18:26:26 +01:00
Arturo Filastò
52332c0977 Changes based on feedback from @bassosimone 2020-01-29 18:48:12 +01:00
Arturo Filastò
4711a76c11 Handle the case when we try to access an old measurement 2020-01-29 10:43:08 +01:00
Arturo Filastò
e38d42d33a Update the actions tests 2020-01-28 12:08:09 +01:00
Arturo Filastò
e3d68457b3 Implement writing using the new single measurement pattern 2020-01-28 11:53:00 +01:00
Arturo Filastò
af46a495f4 Update bindata 2020-01-28 11:52:37 +01:00
Arturo Filastò
27d98a8660 Small cosmetic fix 2020-01-28 11:05:09 +01:00
Arturo Filastò
8dff1cc54a Use ~/.ooniprobe as the home directory (#101)
* Use ~/.ooniprobe as the home directory

Remove all probe-legacy related to code since there is no more conflict
between the two
Fixes: ooni/probe#972

* Update .gitignore

Co-authored-by: Simone Basso <bassosimone@gmail.com>
2020-01-27 15:19:32 +01:00
Arturo Filastò
24316728b9 Improve the output and extraction of psiphon metrics 2020-01-07 16:13:13 +02:00
Simone Basso
1e8b482c23
Allow to specify custom software name and version (#94)
In turn, this allows us to identify as ooniprobe-cli v3.0.0-rc.5.

Closes #41.
2019-12-29 14:07:57 +01:00
Simone Basso
955509e6f8 nettests: don't say ETA is infinite
1. only print time left if ETA is positive

2. skip ETA calculation with a single input

3. don't compute ETA for first entry[*]

[*] this is actually what avoids emitting infinite but the other
parts of this diff felt useful yak shaving as well.

Closes #91
2019-12-28 18:28:08 +01:00
Simone Basso
259ab41b15 Implement the circumvention nettest group
Only Psiphon for now. Closes #87 #77.
2019-12-28 17:48:07 +01:00
Arturo Filastò
7bbbab8774 Handle the SIGINT and SIGTERM signals to support stopping a test cleanly (#84) 2019-12-27 11:32:08 +01:00
Arturo Filastò
274e533b2e Fix import for groups 2019-12-02 18:05:02 +02:00
Arturo Filastò
58199a020e Refactoring to reduce package count
* Consolidate util and utils into the same package
* Move internal/onboard into internal/cli/onboard
* Move maybeOnboard into the onboard package
2019-12-02 15:15:50 +02:00
Arturo Filastò
bc1314ca61
Add support for calculating the estimate time remaining (#71) 2019-11-14 12:01:40 +01:00
Simone Basso
946289d6fe
Use more general ooni/probe-engine API (#67)
No functional change, just importing less stuff and meddling
much less with the internals of ooni/probe-engine.
2019-10-28 14:05:05 +01:00
Simone Basso
7cde93fca4
Make sure ooniprobe show <id> is WAI (#61)
1. the description of the command and the helper function are
clear hints that the command is intended to show a single JSON
measurement at a time (also the use case seems clear) [*]

2. the function used to read lines was failing for all my
measurements that take input. Since that was not the optimal
pattern anyway, use a better pattern to fix it.

3. some changes are automatically applied by my editor (VSCode
with the Go plugin) and I am fine with them.

4. while reading code, I also applied my preferred pattern
wrt whitespaces, i.e.: no whitespace inside functions, if a
function feels too long in this way, just break it.

Closes #57

[*] Even if we want to show many measurements at a time, which
does not seem needed, given the UI patterns, this functionality
won't be P0. What is P0 is to bless a new beta and give to
@sarathms binaries for all archs that support a basic `show`.
2019-10-03 11:18:07 +02:00
Simone Basso
f3865d2ec0
Upgrade to ooni/probe-engine@v0.1.1 (#60) 2019-10-03 09:43:25 +02:00
Arturo Filastò
f425d3f007 Implement the show command (#53) 2019-10-02 18:23:14 +02:00
Simone Basso
b9b555ba68 Integrate further with ooni/probe-engine: episode two (#46)
* utils/geoip.go: use github.com/ooni/probe-engine

Let's start using the engine by rewriting utils/geoip.go to
be just a thin wrapper around the engine functionality.

* Ready for review

* Checkpoint: the im tests are converted

Still have some doubts with respect to the variables that
are passed to MK via probe-engine. Will double check.

* fix(i/c/r/run.go): write the correct logic

* nettests: one more comment and also fix a format string

* Tweak previous

* progress

* Fix doofus

* better comment

* XXX => actionable comment

* Add glue to simplify test keys management

Making the concept of measurement more abstract in the engine is
not feasible because, when submitting a measurement, we need to
modify it to update the report ID and the measurement ID. Therefore,
returning a serialized measurement is not a good idea. We will
keep using a model.Measurement in the engine.

Changing model.Measurement.TestKeys's type from a `interface{}`
pointing to a well defined data structure to `map[string]interface{}`
is a regression because means that we are moving from code that
has a clear and defined structure to code that is more complicated
to parse and validate. Since we're already suffering havily from
the lack of a good schema, I'm not going to make the situation
worst by worsening the engine. At least for ndt7 and psiphon, we
now have a good schema and I don't want to lose that.

However, the current code in this repository is expecting the
test keys to be a `map[string]interface{}`. This choice was
dictated by the fact that we receive a JSON from Measurement Kit
and by the fact that there's not a clear schema.

To solve this tension, in this commit I am going to write glue
adapter code that makes sure that the TestKeys of a Measurement
are converted to `map[string]interface{}`. This will be done
using a type cast where possible and JSON serialization and parsing
otherwise. In a perfect world, glue is not a good idea, but in a
real world it may actually be useful.

When all tests in the engine will have a clear Go data structure,
we'll then remove the glue and just cast to the proper data
structure from `interface{}` where required.

* nettests/performance: use probe-engine

* go.{mod,sum}: upgrade to latest probe-engine

* nettests/middlebox: use ooni/probe-engine

* Update to the latest probe-engine

* web_connectivity: rewrite to use probe-engine

* Cosmetic change suggested by @hellais

* nettests/nettests.go: remove unused code

* nettests/nettests.go: fix progress

* nettests/nettests.go: remove go-measurement-kit code

* We don't depend on go-measurement-kit anymore

* Improve non-verbose output where possible

See also: https://github.com/measurement-kit/measurement-kit/issues/1856

* Make web_connectivity output pleasant

* Update to the latest probe-engine

* nettests/nettests.go: honour sharing settings

* Update to the latest probe-engine

* Use log.WithFields for probe-engine

* Update go.mod go.sum

* Revert "Update go.mod go.sum"

This reverts commit 5ecd38d8236f4a4e9b77ddb8e8a0d1e3cdd4b818.

* Revert "Revert "Update go.mod go.sum""

This reverts commit 6114b31eca98826112032776bd0feff02d763ecd.

* Upgrade ooni/probe-engine

* Unset GOPATH before running go build commands

* Dockefile: fix linux build by using latest

* Update to the latest ooni/probe-engine

```
go get -u github.com/ooni/probe-engine
go mod tidy
```

* Repair build
2019-08-15 18:08:43 +02:00
Simone Basso
df629237be
Use ooni/probe-engine: episode 1 (#42) 2019-05-23 16:38:46 +02:00
Arturo Filastò
9ad7c6507a Remove shutil tests 2019-05-15 18:13:34 +02:00
Arturo Filastò
826822df31 Copy and delete instead of rename
Fixes: https://github.com/ooni/probe-cli/issues/21
2019-05-15 18:06:09 +02:00
Arturo Filastò
dbed661357 Vendor shutil from: bcacb06fec 2019-05-15 18:05:51 +02:00
Simone Basso
9992690f8f Use MK v0.10.x, zap legacy GeoIP, build also on Linux (#29)
* Gopkg.lock: use MK v0.10.3

* ooni: stop using legacy GeoIP database files

* Some yak shaving of Makefile

1. remove now broken commands to download deps

2. also define the CXX cross compiler

* chore(dep): migrate from dep to go 1.11+ modules

See https://blog.callr.tech/migrating-from-dep-to-go-1.11-modules/

I need this to simplify my life in building for Travis.

* Introduce build.sh and repair build

In going forward, I believe we don't actually need a Makefile but I
didn't want to make such a radical change now.

* Another strategy wrt gopath

* travis: run regress tests on macOS

Closes #30
2019-05-15 15:48:06 +03:00
Arturo Filastò
34556dcbf1 Add support for running all tests with ooni run 2018-09-27 18:38:37 +02:00
Arturo Filastò
8916ff8398 Add note about the testKeys extraction function 2018-09-27 11:42:55 +02:00
Arturo Filastò
6735c8d617 Strip the trailing slash from the bouncer url 2018-09-26 15:35:17 +02:00
Arturo Filastò
2b01dfaa17 Close the DB before deleting ooni_home 2018-09-26 15:09:59 +02:00
Arturo Filastò
a60f376846 Adjust the progress bars depending on the test type 2018-09-24 15:57:28 +02:00
Arturo Filastò
4fc745172d Update bindata 2018-09-21 18:54:56 +02:00
Arturo Filastò
0d21186492 Add support for custom collectors and bouncers 2018-09-21 18:54:44 +02:00
Arturo Filastò
8402446e47 Use Stdout in CLI logging 2018-09-18 09:55:23 +02:00
Arturo Filastò
47a2fbb88c Add rm command to delete results 2018-09-18 09:54:27 +02:00
Arturo Filastò
e6a67ca5aa Improve output of CLI 2018-09-18 09:36:26 +02:00
Arturo Filastò
aad8a395ed Fix return value of database.Connect method 2018-09-17 17:57:26 +02:00
Arturo Filastò
41f449d6c9 Remove debug log from unittests 2018-09-17 17:35:57 +02:00
Arturo Filastò
18a89f4cbd [schema-change] Prefix all columns that could cause conflicts 2018-09-17 17:30:38 +02:00
Arturo Filastò
52bfe5df6c Add support for deleting measurements 2018-09-17 17:30:29 +02:00
Arturo Filastò
30c6041423 Remove unused nettest command 2018-09-17 16:33:56 +02:00
Arturo Filastò
d55cccc236 Exit with non-zero code when trying to do interactive onboarding and --batch is set 2018-09-17 16:16:56 +02:00
Arturo Filastò
6c49bd694f Improve output of incomplete measurements
Rename done to is_done
2018-09-17 13:04:48 +02:00
Arturo Filastò
5cae6b0b83 Make it possible to disable uploading of results 2018-09-17 11:51:54 +02:00
Arturo Filastò
867204adfb Improve the testKeys logging 2018-09-13 15:59:29 +02:00
Arturo Filastò
4ed94dfc53 Improve the presentation of the measurement listing from the CLI 2018-09-13 14:54:56 +02:00
Arturo Filastò
251f136b53 Move include_country to the sharing options 2018-09-13 11:02:49 +02:00
Arturo Filastò
7f5df07782 Fix a very annoying logic bug in URL insertion
Write test case for it
2018-09-12 18:47:57 +02:00
Arturo Filastò
b1ae8bc13e Show data usage in summary of measurements 2018-09-12 15:41:54 +02:00
Arturo Filastò
2b1fb662fb Fix showing data usage indicators 2018-09-12 14:03:07 +02:00
Arturo Filastò
54af7170d4 Add support for data_usage event 2018-09-12 13:42:16 +02:00
Arturo Filastò
2081c25b73 Expose the median_bitrate in the list view 2018-09-11 18:41:15 +02:00
Arturo Filastò
044748c2ce Fix exposing the country code 2018-09-11 18:16:14 +02:00
Arturo Filastò
0ee0c28129 Resolve country code ambigious selection 2018-09-11 18:06:15 +02:00
Arturo Filastò
d02ed117f9 Include total_runtime in the summary of measurements 2018-09-11 16:36:09 +02:00
Arturo Filastò
8da12a9c07 Add measurement summary to list command 2018-09-11 15:40:42 +02:00
Arturo Filastò
31ccb1c181 Improvements to the list output 2018-09-11 15:19:08 +02:00
Arturo Filastò
1637fdbf93 Structured output of measurements 2018-09-10 18:03:32 +02:00
Arturo Filastò
e5c508a94c Fix bug in result listing 2018-09-10 16:56:32 +02:00
Arturo Filastò
e0c0acffeb Make error reporting more robust to panic 2018-09-10 16:29:14 +02:00
Arturo Filastò
5055eaa88a Add info and reset commands 2018-09-10 15:15:29 +02:00
Arturo Filastò
898332064b Add result testkeys projection 2018-09-10 15:03:52 +02:00
Arturo Filastò
73fafacc2c Zap unused method 2018-09-10 12:53:43 +02:00
Arturo Filastò
b29071f37b Replace summary with test_keys 2018-09-10 12:41:28 +02:00
Arturo Filastò
b727aba854 Update result listing 2018-09-07 15:39:22 +02:00
Arturo Filastò
ca505dfff3 Write a unittest for the URL creation function 2018-09-07 15:29:16 +02:00
Arturo Filastò
6f0defc672 Refactor URL table row creation into the actions file 2018-09-07 15:23:29 +02:00
Arturo Filastò
c2ea0c2a63 Fix List* workflows and add unittests for them 2018-09-07 15:16:20 +02:00
Arturo Filastò
dabbdc15d2 Fix bug in the test creation workflow 2018-09-07 14:06:08 +02:00
Arturo Filastò
ecc8216ceb Update bindata 2018-09-07 12:56:06 +02:00
Arturo Filastò
35bd334cfc Update the measurement, network and url creation to the new schema 2018-09-07 12:55:27 +02:00
Arturo Filastò
5ed67ee422 Update bindata 2018-09-06 16:17:00 +02:00
Arturo Filastò
b75cee5e84 Progress on schema and fixing unittests 2018-09-06 16:13:04 +02:00
Arturo Filastò
a518ca79da Fix DB schema, write a basic unittest for the DB operations 2018-09-06 15:34:56 +02:00
Arturo Filastò
ff2f973523 Start integrating upper/db as a new ORM 2018-09-05 18:40:37 +02:00
Arturo Filastò
ec459a7f15 Update bindata 2018-09-05 17:58:27 +02:00
Arturo Filastò
247d128b19 Add _is_beta flag to config file 2018-07-30 18:51:44 +02:00
Arturo Filastò
8fb5e397d7 Cleanup the output of the progress handler 2018-07-16 13:15:01 +02:00
Arturo Filastò
69ec294ad4 Go for a much more minimal progress update 2018-07-14 17:19:06 +02:00
Arturo Filastò
45aea93e6b Fix default config and version 2018-07-14 16:58:08 +02:00
Arturo Filastò
83ed5fa767 Fix bug in version info 2018-07-11 18:06:13 +02:00
Arturo Filastò
d8cbfd1b90 One color package to rule them all. 2018-06-29 16:50:05 +02:00
Arturo Filastò
c4c13cb279 Properly compute the padding by fixing the ansi escape regexp 2018-06-29 16:38:13 +02:00
Arturo Filastò
d88764aa34 Add support for crash reporting via sentry and change the send_crash_reports key 2018-06-29 15:29:05 +02:00
Arturo Filastò
cf588c8466 Move summary related code into it's own package 2018-06-28 13:51:43 +02:00
Arturo Filastò
d23f30d159 Update bindata 2018-06-27 15:45:27 +02:00
Arturo Filastò
a6b95f50c9 Move onboard into a separate package 2018-06-25 17:14:29 +02:00
Arturo Filastò
aae2805786 Write the config file when onboarding is run 2018-06-25 17:09:10 +02:00
Arturo Filastò
7951ee6bb5 Add onboard command 2018-06-25 16:31:44 +02:00
Arturo Filastò
38a5637cf5 Write to output when a function is not implemented 2018-06-25 13:19:54 +02:00
Arturo Filastò
030ecacf80 Improve the help output of run 2018-06-22 14:55:00 +02:00
Arturo Filastò
65b5feef0d Make the geoip lookup output prettier 2018-06-22 14:25:30 +02:00
Arturo Filastò
5b31403061 Implement progressbar for web_connectivity test 2018-06-22 13:56:42 +02:00
Arturo Filastò
eb4e6988b3 Implement quick and dirty measurement listing 2018-06-22 12:12:35 +02:00
Arturo Filastò
04eb07624c Add zero state 2018-06-22 11:57:25 +02:00
Arturo Filastò
6ff00eeed1 Rename result_item to results 2018-06-22 11:53:30 +02:00
Arturo Filastò
703b260903 Implement missing bits in result listing 2018-06-22 11:53:10 +02:00
Arturo Filastò
15c901ed68 Make the download of geoip data files conditional 2018-06-22 11:17:51 +02:00
Arturo Filastò
1bba0c7899 Add basic unittests for the config related functionality 2018-06-22 11:01:15 +02:00
Arturo Filastò
a0be45e323 Fix paths to be windows friendly 2018-05-31 12:33:08 +02:00
Arturo Filastò
c620bc9726 Make path and homedir related logic more robust
Add ability to pass OONI_HOME environment variable
2018-05-21 17:33:59 -07:00
Arturo Filastò
ecf3370f53 Implement result listing from CLI
Change the schema to include ASN and Network Name in the results table
2018-05-03 18:40:52 +02:00
Arturo Filastò
0c5b6aa37c Rename gooni to probe-cli
This is the command I used:
```
rg 'github.com/openobservatory/gooni' --files-with-matches \
    | xargs sed -i '' 's/github.com\/openobservatory\/gooni/github.com\/ooni\/probe-cli/g'
```
2018-05-03 14:59:55 +02:00
Arturo Filastò
cffb9ea74c Move all directory related functionality into paths utils
As per suggestion by @willscott in: https://github.com/OpenObservatory/gooni/pull/9#discussion_r176760264
2018-03-27 15:09:34 +02:00
Arturo Filastò
749cc665af Add support for downloading legacy geoip databases
Pass the geoip databases to measurement-kit
2018-03-23 15:26:25 +01:00
Arturo Filastò
98e95b8b7e Add support for generating the web connectivity summary 2018-03-23 14:58:33 +01:00
Arturo Filastò
f5ff3ac87a Add support for generating the Measurement summary
To generate the result summary we need to refactor how the SummaryMap
works
2018-03-23 13:17:39 +01:00
Arturo Filastò
00859e87a6 Get web_connectivity to work with dynamic URL fetching 2018-03-23 12:41:06 +01:00
Arturo Filastò
7fe1551951 Refactor how we create the context 2018-03-23 12:10:14 +01:00
Arturo Filastò
e852713ed7 Add functions for structured progress logging 2018-03-22 15:22:29 +01:00
Arturo Filastò
bd6c5b20d0 Minor style fixes 2018-03-20 14:31:05 +01:00
Arturo Filastò
ce0e077175 Add hooks for generating result summaries 2018-03-20 14:19:19 +01:00
Arturo Filastò
e0bb4000e9 Implement most of the measurement & result DB workflow 2018-03-20 12:38:33 +01:00
Arturo Filastò
6a70fe7da1 Update bindata 2018-03-20 12:38:28 +01:00
Arturo Filastò
9f438ae068 Implement state tracking in database 2018-03-19 19:28:32 +01:00
Arturo Filastò
25c15dc3ab Edit SQL creation 2018-03-19 19:28:22 +01:00
Arturo Filastò
e2499dc4b0 Keep track of the measurement state in the database 2018-03-19 16:23:30 +01:00
Arturo Filastò
90c1c2de87 Start adding support for writing measurements to disk 2018-03-19 13:20:42 +01:00
Will Scott
1d40171e04 add a Dash Test. 2018-03-14 06:44:37 -07:00
Will Scott
e47554cae2 remove the system go-bindata requirement.
close #1
close #3
2018-03-08 11:34:30 -08:00
Will Scott
41e56f6a41 Merge branch 'master' of github.com:openobservatory/gooni 2018-03-08 05:12:52 -08:00
Will Scott
90edffb1d7 ensure presence of home and home/db dir's during creation of the default config file 2018-03-08 05:07:25 -08:00
Arturo Filastò
9cf8008c01 Fix MK integration 2018-03-08 13:46:21 +01:00
Will Scott
7e9a4fc3b7 implement db update 2018-03-08 02:53:04 -08:00
Will Scott
8d5da14c4b Initial creation of the '.ooni/db' folders when not yet setup 2018-03-08 02:25:40 -08:00
Arturo Filastò
3cdb927eb0 Implement handlers to normalise how logging is handled 2018-02-21 17:06:30 +02:00
Arturo Filastò
e7ee54436e Get some data into the database 2018-02-13 18:11:22 +02:00
Arturo Filastò
d3d3ce9d78 Get NDT test to run via gooni 2018-02-13 17:16:23 +02:00
Arturo Filastò
7cf5bd2718 Lay out the structure of nettests 2018-02-13 11:48:46 +02:00
Arturo Filastò
138b394cf0 Update bindata 2018-02-12 18:30:27 +02:00
Arturo Filastò
ca231bca9f Start fleshing out database related functions 2018-02-12 18:29:03 +02:00
Arturo Filastò
6008b5c7c5 Config file workflow management 2018-02-12 17:45:13 +02:00
Arturo Filastò
602a5dc952 Add functions to handling migration from legacy OONI Probe 2018-02-12 12:18:14 +02:00
Arturo Filastò
7327e1ff7f Start laying out the structure of gooni 2018-02-07 20:02:18 +02:00