All Projects → ooni → probe-desktop

ooni / probe-desktop

Licence: BSD-3-Clause license
The next generation OONI Probe desktop app

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to probe-desktop

Frameless Titlebar
Customizable Electron Titlebar for frameless windows
Stars: ✭ 167 (+160.94%)
Mutual labels:  desktop-app
HealthApp
A desktop application to fetch Wikipedia,Google,Disease results and save them as text file,in database.Have a Section to search details about doctors in location
Stars: ✭ 23 (-64.06%)
Mutual labels:  desktop-app
gh-notifications-snoozer
Lists and filters and snoozing pull requests, oh my! This is an app for managing your notifications on GitHub by way of filtering issues and pull requests that are of interest to you.
Stars: ✭ 15 (-76.56%)
Mutual labels:  desktop-app
Nyaovim
Web-enhanced Extensible Neovim Frontend
Stars: ✭ 2,166 (+3284.38%)
Mutual labels:  desktop-app
Quick Picture Viewer
🖼️ Lightweight, versatile desktop image viewer for Windows. The best replacement for the default Windows photo viewer.
Stars: ✭ 237 (+270.31%)
Mutual labels:  desktop-app
active-directory-dotnet-deviceprofile
This sample demonstrates how to leverage ADAL .NET to authenticate user calls to a web API (in this case, the directory Graph) from apps that do not have the capability of offering an interactive authentication experience.
Stars: ✭ 18 (-71.87%)
Mutual labels:  desktop-app
Pile
⚡️ A simple & powerful app to organize your piled work at one place~
Stars: ✭ 158 (+146.88%)
Mutual labels:  desktop-app
Haskell-Electron-app
Combining Electron and Haskell
Stars: ✭ 31 (-51.56%)
Mutual labels:  desktop-app
Revolut Emergency
👨‍🚀 Unofficial Revolut PC app – Freeze cards, list transactions, get notifications, contact support
Stars: ✭ 252 (+293.75%)
Mutual labels:  desktop-app
esteem-desktop
eSteem Desktop - Application to get paid for blogging, curating and more...
Stars: ✭ 15 (-76.56%)
Mutual labels:  desktop-app
Irccloud Desktop
IRCCloud Desktop App
Stars: ✭ 215 (+235.94%)
Mutual labels:  desktop-app
Instagram Live Streamer
[Unofficial] Broadcast to Instagram Live anything from your PC/Laptop
Stars: ✭ 232 (+262.5%)
Mutual labels:  desktop-app
media-dupes
a minimal content duplicator for common media services like youtube
Stars: ✭ 53 (-17.19%)
Mutual labels:  desktop-app
Computator.net
Computator.NET is a special kind of numerical software that is fast and easy to use but not worse than others feature-wise. It's features include: - Real and complex functions charts - Real and complex calculator - Real functions numerical calculations including different methods - Over 107 Elementary functions - Over 141 Special functions - Over 21 Matrix functions and operations - Scripting language with power to easy computations including matrices - You can declare your own custom functions with scripting language
Stars: ✭ 174 (+171.88%)
Mutual labels:  desktop-app
sliding-puzzle
Sliding puzzle game implemented in Scala / Scala.js / JavaFX
Stars: ✭ 25 (-60.94%)
Mutual labels:  desktop-app
Preact Photon
🚀 Beautiful desktop apps with Preact + Photon ❤️
Stars: ✭ 158 (+146.88%)
Mutual labels:  desktop-app
active-directory-dotnet-daemon-certificate-credential
A .NET 4.5 daemon application that uses a certificate to authenticate with Azure AD and get OAuth 2.0 access tokens.
Stars: ✭ 40 (-37.5%)
Mutual labels:  desktop-app
instatron
A simple Instagram desktop uploader & client app build with electron.Mobile Instagram on desktop!
Stars: ✭ 95 (+48.44%)
Mutual labels:  desktop-app
ray
HTML-powered text editor for creating and organizing personal notes.
Stars: ✭ 115 (+79.69%)
Mutual labels:  desktop-app
mp
Hybrid music player
Stars: ✭ 12 (-81.25%)
Mutual labels:  desktop-app

OONI Probe Desktop

OONI Probe Desktop

chat on Slack open issues follow on Twitter

OONI Probe is a free and open source software designed to measure internet censorship and other forms of network interference.

Click here to report a bug

Other supported platforms: iOS, Desktop, CLI

This is the desktop implementation of OONI Probe.

Our two primary target platforms are:

  • macOS
  • Windows > 7 (we may also support older versions, but not as primary targets)

Moreover, since it's written in electron, we plan on also supporting Linux desktop users.

For some background on the decision to use electron and the libraries we chose to use, see: Writing a modern cross-platform desktop app.

Setup

In order to start hacking on this, we assume you have node and yarn installed.

Then you can run:

yarn install

You will also need to have copied a compiled binary of probe-cli and tor into the directory for the platform you plan to do development on.

To verify the downloaded tor binaries you should import the PGP key of the tor developers as follows (it can be verified from: https://support.torproject.org/tbb/how-to-verify-signature/):

gpg --recv-keys EF6E286DDA85EA2A4BA7DE684E2C6E8793298290

You can then download the assets by running:

yarn run download:probe-cli
yarn run download:tor

Run app in development mode

To build and run a development mode electron instance run:

yarn run start

Update the translations

  • Save the strings from the canonical spreadsheet into data/lang-en.csv
  • Run node scripts/update-translations.js
  • Commit data/lang-en.csv, lang/*.json and renderer/static/translations.js into git

Build and sign macOS app

Obtain the development certificate and private key for our team (YWCG8FZTLT) from another OONI developer who has access to it. They need to ensure they export not only the certificate but also the related private key. You should receive a password encrypted .p12 file containing both. Just double click on this file and provide the password to import the certificate and the key into your keyring. At time point, dispose of the the .p12 file using rm -P.

Create a .env file in the root directory with the following content:

GH_TOKEN=TOKEN
[email protected]
OONI_APPLEIDPASS=XXXX
OONI_TEAMID=YWCG8FZTLT

where TOKEN is a personal github token with repository scope, [email protected] is the Apple ID you are using as part of our team, XXXX is a password specific application created by visiting appleid.apple.com and logging in as [email protected], and YWCG8FZTLT is the team ID used by OONI.

Then, run:

yarn install
yarn pack:mac

This will build ./dist/OONI Probe-$VERSION.dmg.

Build and sign an app on Windows

You will need a copy of the code signing key for windows that ends with .p12.

To generate a signed build you will have to set the environment variables:

WIN_CSC_LINK=/path/to/key.p12
WIN_CSC_KEY_PASSWORD=KEY_PASSWORD

You will then be able to run:

yarn install
yarn run pack:win

Publish a release

Run:

yarn install
yarn run publish:mac
yarn run publish:win

Important caveat be sure to not push the tag for the upcoming release until after the yarn run publish command has run successfully. If you do so users of the OONI Probe Desktop app will get an error when they start the app because the auto-update system will try to fetch the metadata associated with that tag.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].