Git Product home page Git Product logo

app's Issues

Upon restart no seeds/peers are found

This behaviour can be observed when the node is shutdown for a long period of time (say, a month). It could be that the opennet peers are not responding / online and the node doesn't tries to announce itself.

This is how the logs look like when the node is bootstrapped into the network (e.g. has opennet peers):

I/System.out: Read 7 opennet peers from /data/user/0/org.freenetproject.mobile/app_data/openpeers-41027
I/System.out: Read 0 old-opennet-peers from /data/user/0/org.freenetproject.mobile/app_data/openpeers-old-41027
I/System.out: Not attempting immediate announcement: dark peers=0 open peers=7 old open peers=0 - will wait 1 minute...

Otherwise it will report as follows:

I/System.out: Attempting announcement to seednodes...

Related code:

APK for testing

It should be nice to have a downloadable link for testing in the installation instructons (direct) link to assets.

A download button could be a solution.

Freenet bootstrap site

Freenet current main page is a mix of admin panel and bootstrap site from where the user can start to explore the network. While it's functional it may expose too much functionality and list indexes with random content that may put off most people.

I'll like to have a clean, sleek, helpful bootstrap site with links to help pages, plugins (default and recommended), and link to the default admin UI.

Action items

  • Mock up / similar pages
  • HTML template (should be only html, css)
  • Content writing, helpful links for a new comer to Freenet
  • Clean enough to be the main page to access daily (no big logos, titles, useless content)

Define transitive dependencies on freenet-mobile/fred

In order to pull dependencies without having to copy them from project to project freenet-mobile/fred should define the dependencies as transitive. As well as being able to work with upstream freenet/fred without having to have a custom branch/mirrored repo (since needed changed to work on Android are already present in upstream).

Describe the solution you'd like

  • Define transitive dependencies
  • Investigate a way to have a single build.gradle with both legacy dependencies (fred-ext) and newer ones

Add "force quit" when the app get stuck in an anomalous state

There are situations where the app may get stuck in an error status and reports "Error starting Freenet" / "Restart... re-install if error persist".

In these scenarios, where the notification ("Freenet is running") is present it seems the app is stuck for good and ultimately it needs to be uninstalled and installed again.

Add about and donate

Add about Freenet mobile and Freenet Project. Add donate link to freenetproject.org

Add version number.

Export/Import identity

Functionality to export/import WoT identity and node keys (node refs?).

This is important to preserve own pseudo-identity on the network (ie, a journalist)

Show version number

I can't seem to find the version number in the user interface. I've looked in settings and the main screen. The version number in the Android application manager entry shows 0.0.9 event though I'm running the latest release. Can it be added to the main screen or in the settings?

please take care for your versionCode!

your latest release, v0.2.2beta, has versionCode 293. The previous one, v0.2.1beta, had versionCode 295 – thus you DECREASED it – which is an absolute no-go: Android refuses to accept this as update, as it considers it a downgrade. Please fix ASAP (setting versionCode to 296 or higher) – and please also replace the APK then 😉 Thanks!

"Error starting Freenet" after it successfully started

Often, (but not always) when re-opening the app after having already started it, it says "Error starting Freenet. Restart the application and try again. If the error persists reinstall the application". Freenet still works if I open a browser and go to 127.0.0.1:8888, but the button to open it in a browser is gone while it is displaying that error. On the web interface clicking the shutdown button causes it to stop, and have the Start Freenet button when the app is next opened, as expected

Update toast notification with node status (paused, running, etc)

When out of WiFi I can't to check/verify if Freenet Mobile status is compatible with my configuration of preserving data. For that I check the Toast notification, but it always says "Freenet is running", when I open the app it says it's paused.

I'd like to Toast notification to state the current status: Paused, Running, Stopped etc.

Video tutorial on installing Freenet mobile and running it

Installation steps:

  • Including configuring "unknown sources"
  • Downloading the APK

Usage:

  • Start and stop
  • The notification

Describe the main features and configuration options:

  • Preserve data, preserve battery, Freenet web
  • How to find content and navigate Freenet
  • Point to other resources and mention Darknet
  • Talk about the limitations of using freenet mobile (vs a complete node or darknet)

Walk-through script:

Presentation/Introduction
What is Freenet?
What is Freenet mobile?
    Use cases
Walk-through
    How to install
        Install through F-droid
        Manual install
    Running
        Start and stop, pause and resume
        The notification
        How to find content and navigate Freenet
    Configuration options
        Battery and data saving options
        Freenet Web
        Node configuration with FProxy
Limitations
    When to run a Desktop/server node instead

Notes

Include translations/subtitles for spanish, english, german, portuguese, french

Remove need to restart node when changing configurations

When configurations such as "Preserve battery" are changed (on, off) the app don't pick it up. The node needs to be restarted to be taken into account. While this is in general not a problem it can be annoying.

Describe the solution you'd like
The configuration should be picked up without having to restart the node.

Darknet is not stopped by Preserve Battery

I have Preserve Battery enabled. When I unplug the phone, then opennet is disabled, but darknet is still enabled, meaning it is still running Freenet and sending/receiving data to darknet nodes it is connected it. I'm assuming this will mean it will continue to use power.

Migrate dependencies to freenet-mobile org

Move these dependencies:

compile 'com.github.desyncr:onion-common:0.0.2'
compile 'com.github.desyncr:onion-fec:0.0.2'
compile 'com.github.desyncr:mantissa:0.0.2'
compile "com.github.desyncr:lzmajio:0.95.2"
compile "com.github.desyncr:bitcollider-core:0.0.2"
compile 'com.github.desyncr:freenet-ext:0.60.2'

To freenet-mobile org.

last release APK unsigned?

Looks like you forgot to sign the freenet-mobile-release-0.2.1.apk before attaching it to its release:

DOES NOT VERIFY
ERROR: No JAR signatures
package: name='org.freenetproject.mobile' versionCode='291' versionName='0.2.1' compileSdkVersion='30' compileSdkVersionCodename='11'

Could you please check and fix? Thanks!

Ship App's own default bookmarks configuration

Ship a clean bookmarks configuration for the mobile node. The default bookmarks points to various uncensored indexes that make a bad first impression.

Describe the solution you'd like
Ship a clean bookmark configuration (empty, or with carefully selected non-index freesites).

Describe alternatives you've considered
We currently ship with our own bootstrap site, but the user will eventually land on the index page of Fproxy.

Randomize IP binding and Port

To avoid scrapping on known IP and Ports it'd be convenient to randomize them.

Describe the solution you'd like
On setup the IP to bind and the Port should be configured under these ranges: "bindTo 127.x.y.z (with x,y,z each 1-254) with port between 5001 and 32767 (inclusive interval)"

Bindings to look for:

  • Fproxy's
  • FCP's

Additional context
These settings may be changed each start up.

Error

java.lang.NullPointerException: Attempt to invoke virtual method 'void freenet.node.MasterKeys.changePassword(java.io.File, java.lang.String, java.util.Random)' on a null object reference
at freenet.node.Node.changeMasterPassword(Node.java:4642)
at freenet.clients.http.SecurityLevelsToadlet.handleMethodPOST(SecurityLevelsToadlet.java:197)
at java.lang.reflect.Method.invoke(Native Method)
at freenet.clients.http.ToadletContextImpl.callToadletMethod(ToadletContextImpl.java:747)
at freenet.clients.http.ToadletContextImpl.handle(ToadletContextImpl.java:660)
at freenet.clients.http.SimpleToadletServer$SocketHandler.run(SimpleToadletServer.java:1055)
at freenet.support.PooledExecutor$MyThread.innerRun(PooledExecutor.java:249)
at freenet.support.PooledExecutor$MyThread.realRun(PooledExecutor.java:189)
at freenet.support.io.NativeThread.run(NativeThread.java:156)

Friend-to-Friend connections

Support exchanging noderefs through QR or similar.

https://freenet.mantishub.io/view.php?id=1343

ArneBab: desyncr: a next step for spreading would be to share the app via NFC: https://android.stackexchange.com/questions/39218/sending-an-application-apk-through-nfc
ArneBab: That way you with smartphone could just tell a friend "let’s connect" and tap the phones together. After startup the app of your friend could ask to tap once more to connect.

Use Secure RNG to gather entropy

Currently on Android (and other platforms as well, TBC) the following message is shown at start up:

I/System.out: Not enough entropy available.
    Trying to gather entropy (randomness) by reading the disk...
    You should consider installing a better random number generator e.g. haveged.

Describe the solution you'd like
A Secure RNG should be used to generate entropy. On Android: https://developer.android.com/reference/java/security/SecureRandom

Additional context
By gathering entropy from the disk the startup can take various minutes depending on the Device.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.