Commit Graph

58 Commits

Author SHA1 Message Date
Simone Basso
8dd1ae28a3
Update Readme.md 2022-11-11 12:26:27 +01:00
Simone Basso
0d57899f46
feat: stop cross compiling miniooni (#908)
See https://github.com/ooni/probe/issues/2119

While there, shrink the Makefile to only export the minimum
set of rules to comfortable build using GHA.
2022-08-30 11:36:59 +02:00
Simone Basso
208ffa253b
fix: disable psiphon when building with go1.19 (#871)
Part of https://github.com/ooni/probe/issues/2211.

See also https://github.com/ooni/probe/issues/2222, which
describes the issue we have with psiphon and go1.19.
2022-08-22 11:50:58 +02:00
Simone Basso
9ffa124511
chore: upgrade deps and attempt to enable using go1.19 (#869)
* upgrade to our go.mod enabled of psiphon-tunnel-core such that
we're now using v2.0.24 of the tunnel-core;

* upgrade to the latest lucas-clemente/quic-go release;

* upgrade to the latest ooni/oohttp release (which is based on go1.19
but the diff seems good enough to continue using go1.18.x as well);

* upgrade to the latest ooni/oocrypto release (for which we can make the
same remarks regarding using go1.18.x);

* deal with changes in lucas-clemente/quic-go API as well as changes
in what a go1.19 *tls.Conn compatible type should look like.

Unfortunately, we cannot switch to go1.19 because psiphon forks quic-go
and their fork's still not building using such a version of go.

Part of ooni/probe#2211.
2022-08-19 11:26:50 +02:00
Simone Basso
6de4c51315
doc: minor Readme.md changes 2022-08-17 13:54:23 +02:00
Simone Basso
2083edb258
cleanup: chmod -x mk && mv mk Makefile (#863)
While there, document what we need to document without mentioning too
many details about release builds, for which we have the Makefile.

See https://github.com/ooni/probe/issues/2218.
2022-08-17 13:46:41 +02:00
Simone Basso
3cc2ce0b81
cleanup: define required Go version just once (#861)
See https://github.com/ooni/probe/issues/2217
2022-08-17 11:39:38 +02:00
Simone Basso
d4f530b7ea
chore: use go1.18.3 (#816)
This diff changes all github actions and mk to use go1.18.3.

That's what I am using locally.

Also, both oohttp and oocrypto are on go1.18.3 already.
2022-06-17 20:12:14 +02:00
Simone Basso
2d721baa91
cleanup: merge httpheader and httpfailure into model (#758)
These two small packages could easily be merged into the model
package, since they're clearly model-like packages.

Part of https://github.com/ooni/probe/issues/2115
2022-05-25 09:54:50 +02:00
Simone Basso
928de50145
cleanup: minor Readme.md tweaks and changes (#757) 2022-05-25 09:22:35 +02:00
Simone Basso
c8f91983ca
fix(Readme.md): go1.18.2 is now required
Building with go1.17 would still probably work, but in going
forward it will not, and it's better anyway to specify the exact
version with which we expect people to build.
2022-05-23 07:15:08 +02:00
Simone Basso
872971ed8c
doc: clarify semantic versioning policy (#688)
The oonimkall package is only public for technical reasons. We
cannot use `go mobile` on a private package. We consider oonimkall
our private interface to our mobile apps, thus we reserve the
right to change its API without bumping the major number.

We'll bump the major number in case of breaking changes in the
cmd/ooniprobe CLI interface, or in case of other major improvements
that significantly modify cmd/ooniprobe.
2022-02-09 14:43:03 +01:00
Simone Basso
4e5f9bd254
fix(Readme.md): clarify what is the internal/engine pkg
One may otherwise wonder why there are some package still inside
the `internal/engine` package. This is a long running refactoring started
when we merged `probe-engine` into this package and it will
eventually be done :-).
2022-02-05 12:24:10 +01:00
Simone Basso
69aca619ea
fix(Readme.md): add explicit SPDX identifier (#641)
See https://github.com/ooni/probe-cli/pull/446#issuecomment-995226707
2021-12-16 09:56:15 +01:00
Simone Basso
8f202a71ac
doc(readme): improve the content and organisation (#557)
As mentioned in https://github.com/ooni/probe/issues/1506#issuecomment-949703011, it makes sense to tweak the readme while we're making a new release.
2021-10-22 17:02:18 +02:00
Simone Basso
c3bec9de2a
doc(Readme.md): minor refactoring (#444) 2021-08-20 13:18:39 +02:00
Simone Basso
b2209bb637
refactor: replace ./make (python3) with ./mk (makefile) (#343)
This pull request fixes https://github.com/ooni/probe/issues/1471. We have replaced the original build script (`./make`) with the `./mk` makefile (executable using `#!/usr/bin/make -f`). We concluded supporting direct builds from Windows is not worth the effort and halving the code we need to maintain is probably a good plus. Both macOS and Linux install GNU make at `/usr/bin/make`, so we should be okay in the common use cases.

I significantly simplified the management of Go versioning by requiring the user to manage it and by enforcing that we are using the desired Go version. This speeds up builds and works in sane operating systems that use the last version of a specific package. Otherwise, it's possible to use the `go get golang.org/dl/go${version}` feature.

The remaining question mark was related to updating the Android SDK. I have determined that a good course of action is pinning to the latest CLI tools and always forcing the CLI tools to install the latest required packages (e.g., the NDK).
2021-05-11 16:15:13 +02:00
Simone Basso
764293795e
feat(make): build miniooni (#322)
This change is useful to move forward with blessing a new
release (https://github.com/ooni/probe/issues/1439).
2021-04-29 19:24:25 +02:00
Simone Basso
62fd07374f cleanup: remove legacy scripts and update readme
Part of https://github.com/ooni/probe/issues/1440
2021-04-29 10:32:25 +02:00
Simone Basso
31e478b04e
refactor: redesign how we import assets (#260)
* fix(pkg.go.dev): import a subpackage containing the assets

We're trying to fix this issue that pkg.go.dev does not build.

Thanks to @hellais for this very neat idea! Let's keep our
fingers crossed and see whether it fixes!

* feat: use embedded geoip databases

Closes https://github.com/ooni/probe/issues/1372.

Work done as part of https://github.com/ooni/probe/issues/1369.

* fix(assetsx): add tests

* feat: simplify and just vendor uncompressed DBs

* remove tests that seems not necessary anymore

* fix: run go mod tidy

* Address https://github.com/ooni/probe-cli/pull/260/files#r605181364

* rewrite a test in a better way

* fix: gently cleanup the legacy assetsdir

Do not remove the whole directory with brute force. Just zap the
files whose name we know. Then attempt to delete the legacy directory
as well. If not empty, just fail. This is fine because it means the
user has stored other files inside the directory.

* fix: create .miniooni if missing
2021-04-01 16:57:31 +02:00
Simone Basso
7ca32b5ce6
release process: update dependencies (#280)
Part of the check-list at https://github.com/ooni/probe/issues/1369
2021-03-31 16:40:58 +02:00
Simone Basso
ae32ffa13b
chore: set version to 3.7.0-alpha (#240)
While there, make sure we don't always skip a currently failing
riseupvpn test, and slightly clarify the readme.
2021-03-04 11:36:41 +01:00
Simone Basso
322394fe63
feat: use go1.16 and resources embedding (#235)
* feat: use go1.16 embedding for resources

We want to embed everything that can be easily embedded. We should, at a
minimum, replace the downloading of resources and bindata.

Ref: https://github.com/ooni/probe/issues/1367.

* fix: get rid of bindata and use go embed instead

* fix: start unbreaking some automatic tests

* fix: fetch resources as part of the mobile build

* fix: convert more stuff to go1.16

I still expect many breakages, but we'll fix them.

* fix: make the windows CI green

* fix: get resources before running QA

* fix: go1.16 uses modules by default

* hopefully fix all other outstanding issues

* fix(QA/telegram.py): add another DC IP address

* Apply suggestions from code review
2021-03-02 12:08:24 +01:00
Federico Ceratto
c33af04e29
Debian package updates (#236)
Bump up package version, minor changes
2021-03-01 17:14:21 +00:00
Arturo Filastò
d482d907ab Update release instructions in Readme 2021-02-12 20:00:45 +01:00
Simone Basso
cc5fcede44
doc: merge the engine and the cli readmes (#215)
Part of https://github.com/ooni/probe/issues/1335
2021-02-03 19:29:12 +01:00
Arturo Filastò
862e27efcd
Update Readme.md 2020-12-09 12:52:57 +01:00
Arturo Filastò
72a3fa0bca
Update Readme.md 2020-12-09 12:51:59 +01:00
Arturo Filastò
5b838ec188
Update plist file 2020-12-09 12:51:28 +01:00
Simone Basso
fa9ac93804
fix(Readme.md): issues badge lands us on issue tracker
Before it was landing us onto the badge itself, which is quite useless :-).
2020-12-08 17:46:24 +01:00
Simone Basso
b9e619b22e
chore(Readme): add badge pointing to issue tracker
While there improve the wording around opening issues.
2020-12-08 17:45:10 +01:00
Simone Basso
1f5f6efd85
chore(Readme): say where to report issues 2020-12-08 17:39:50 +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
Federico Ceratto
6df2c34974
Initial packaging (#117)
* Add initial packaging

* Update Vcs URLs

* Disable test

* Update dh version

* Switch to ubuntu-20.04

* Add d/compat

* Update install

* Find file

* Update location

* Upload to bintray

* Add version

* Add dep

* Set vars

* Drop file

* Update Readme.md

* Update linux-debian-packages.yml

* Update linux-debian-packages.yml

Co-authored-by: Simone Basso <bassosimone@gmail.com>
2020-11-13 09:59:30 +01:00
Simone Basso
c4da81e894
chore: upgrade all dependencies (#159)
See https://github.com/ooni/probe-engine/issues/1004
2020-11-13 06:58:39 +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
ef4b1aee76
Upgrade to probe-engine@v0.13.0 and fix Psiphon logic (#138)
* go.mod go.sum: pin to ooni/probe-engine@v0.13.0, update all other deps

Make sure dependencies of probe-engine are at the same exact version to
which is probe-engine, to avoid any possible issue.

* Readme.md: clarify the procedure for updating deps
2020-06-15 14:57:00 +02:00
Simone Basso
1d5c913019
Update deps and pin to ooni/probe-engine@v0.8.0 (#118)
Part of https://github.com/ooni/probe/issues/1030
2020-03-10 12:02:30 +01:00
Simone Basso
4a9034d907
Readme.md: mention that MK must be up-to-date
Until we depend on MK, we need to ensure it's up-to-date using brew.

This was not specified earlier and led to https://github.com/ooni/probe-engine/issues/315
2020-02-17 11:38:59 +01:00
Arturo Filastò
20084a41b3 Add launchctl command to Readme 2020-01-29 09:45:51 +01:00
Arturo Filastò
1f56f1391f Move launchd script into the Readme 2020-01-29 09:43:39 +01:00
Simone Basso
03e7d2ccac
circumvention: add the tor experiment (#100)
* go.mod go.sum: update all non-probe-engine deps

For each line in the go.mod, run `go get -u -v $package` if the
line is not an indirect dependency and is not probe-engine.

Upgrading probe-engine is going to require the same spell that
is used in probe-engine to update psiphon.

* go get -v github.com/ooni/probe-engine@v0.5.0

This just pins to the latest probe-engine but we've not manually
pinned all the other dependencieds yet.

Take care of the trivial API changes in probe-engine as well, such
that we can have a working build after this commit.

* go.mod go.sum: pin to probe-engine dependencies

Basically: remove all indirect dependencies. Merge this go.mod with
the one of probe-engine, to pin dependencies. Run `go mod tidy`.

* circumvention: add basic implementation of tor

This needs to be polished further, of course. But at least we have
now added support for running tor in the circumvention group.

* Readme.md: document how to update dependencies

* go get -v github.com/ooni/probe-engine@fcc9ee0a7afb

* go get -v github.com/ooni/probe-engine@4d254f5b2

* nettests/tor.go: implement summary test keys
2020-01-28 10:05:54 +01:00
Simone Basso
5e868fe043 Readme.md build.sh: stop spreading lies about GOPATH
Turns out there's no need to unset GOPATH.
2019-12-27 12:22:20 +01:00
Arturo Filastò
7d97e3115d
Add minimal user setup for linux 2019-12-09 16:36:17 +01:00
Simone Basso
0c6862bb87 Readme.md: we require Go >= 1.13 now
While there, make sure the markdown output is not confusing.
2019-11-14 10:14:25 +01:00
Simone Basso
a9b2edc88e Readme.md: briefly document release procedure 2019-11-13 18:31:19 +01: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ò
dd70340b9c
Update the linux section of the install instructions 2018-10-14 21:57:21 +02:00
Arturo Filastò
ec7e6f939b Remove scary warning 2018-09-27 18:42:21 +02:00