96 Commits

Author SHA1 Message Date
Kelson
4f06e80c6e
Merge pull request #14 from kiwix/first-README
First version of README
2022-09-10 16:38:01 +02:00
Emmanuel Engelhart
95bede99ce
First version of README 2022-09-10 16:37:34 +02:00
Kelson
731dfb3703
Merge pull request #8 from kiwix/merge_libkiwix_wrapper
Merge libkiwix wrapper
2022-07-02 15:46:57 +02:00
Matthieu Gautier
53415d8333 Merge tag 'libkiwix_10.1.1'
This commit merge a pruned version of libkiwix repository to keep only
android/java wrapper.
libkiwix version 10.1.1 is the last version of libkiwix with the java wrapper

The command used to prune the libkiwix repository was :
git-filter-repo --path-rename src/android/:src/wrapper/android/ --path android-kiwix-lib-publisher/ --path src/wrapper/ --tag-rename '':'libkiwix_' --no-ff
2022-06-29 16:17:15 +02:00
Matthieu Gautier
179864dc13 Merge pull request #747 from kiwix/version_10.1.1 2022-04-12 11:32:06 +02:00
Matthieu Gautier
64a74223b6 New version 10.1.1 2022-04-11 17:13:58 +02:00
Matthieu Gautier
071792b03d Merge pull request #734 from kiwix/br_10.1.0 2022-03-24 18:55:38 +01:00
Matthieu Gautier
629730934e New version 10.1.0 2022-03-24 18:26:35 +01:00
Matthieu Gautier
8075fbb707 Merge pull request #699 from kiwix/br_10.0.1 2022-02-02 16:06:18 +01:00
Matthieu Gautier
5b3be99b56 New version 10.0.1 2022-02-02 15:55:40 +01:00
Matthieu Gautier
62f3aa1f17 Merge pull request #529 from kiwix/libkiwix-github-url-fix
Fix Libkiwix Github repository URLS
2021-05-21 16:09:15 +02:00
Emmanuel Engelhart
180a1795da Fix Libkiwix Github repository URLS 2021-05-20 08:56:44 +02:00
Kelson
4b4e95633c
Initial commit 2021-05-13 10:31:08 +02:00
Kelson
2db5464a60 Merge pull request #459 from kiwix/opds_category_support
Support for book categories in OPDS feed
2021-03-17 12:37:16 +01:00
Veloman Yunkan
3c1e9c96a8 kiwix::Book::getCategory() 2021-03-17 14:09:48 +04:00
Kelson
02f658c41a Merge pull request #429 from kiwix/open_zimfile_by_fd
JNI interface to opening ZIM archives (including embedded ones) by fd
2021-02-26 09:20:58 +01:00
Veloman Yunkan
cc0abc7101 Fixed the Windows build
Opening ZIM archives by file descriptor (as well as embedded
ZIM archives) is not supported under Windows.
2021-02-10 14:19:47 +01:00
Veloman Yunkan
ae58f42b6c Testing of JNIKiwixReader.getDirectAccessInformation() 2021-02-10 14:19:47 +01:00
Veloman Yunkan
ec52bfb1f8 Renamed org.kiwix.kiwixlib.{Pair->DirectAccessInfo} 2021-02-10 14:19:47 +01:00
Veloman Yunkan
0511e818fa Java wrapper test checks favicon.png too 2021-02-10 14:19:47 +01:00
Veloman Yunkan
0f31fc7796 Android's java.io.FileDescriptor is different 2021-02-10 14:19:47 +01:00
Veloman Yunkan
f1c2fab3e6 JNIKiwixReader can open an embedded ZIM archive 2021-02-10 14:19:47 +01:00
Veloman Yunkan
7f0055a593 JNIKiwixReader ctor taking a file descriptor
... and a corresponding unit test
2021-02-10 14:19:47 +01:00
Veloman Yunkan
3f4b541303 Added testReader unit-test for the java wrapper 2021-02-10 14:19:47 +01:00
Veloman Yunkan
722cef852c Renamed the java wrapper unit test runner script 2021-02-10 14:19:47 +01:00
Veloman Yunkan
8e7db1961e Made the java wrapper unit test run & pass
The kiwixlib java wrapper unit test can be run manually via the
src/wrapper/java/org/kiwix/testing/compile_test.sh script.

The test ZIM files in src/wrapper/java/org/kiwix/testing were created
using the create_test_zimfiles. They must be updated/re-generated and
committed in git whenever their source data or the create_test_zimfiles
script changes. Note: small.zim.embedded is not used at this point, it
was created for testing the enhancement coming in a few commits.
2021-02-10 14:19:47 +01:00
Matthieu Gautier
d2709b8bb4 Merge pull request #455 from kiwix/api-break-bumpup-major-version
Bump-up version to 10.0.0
2021-02-10 10:47:06 +01:00
Emmanuel Engelhart
6bfa1689d6 Bump-up version to 10.0.0 2021-02-10 10:31:01 +01:00
Kelson
9dabe6453d Merge pull request #452 from kiwix/version-update
Bump-up version (and libzim required version)
2021-02-08 21:30:11 +01:00
Veloman Yunkan
508a2174aa Bump-up version (and libzim required version) 2021-02-07 19:53:46 +04:00
Matthieu Gautier
3157cd155b Merge pull request #445 from kiwix/no_pthread 2021-01-26 18:06:16 +01:00
Matthieu Gautier
da247042c0 Use c++11 std::thread instead of pthread. 2021-01-26 17:53:25 +01:00
Kelson
50314fdae8 Merge pull request #428 from kiwix/libzim_next
Adapt kiwx-lib to the new api of libzim (libzim_next).
2020-12-03 09:11:28 +01:00
Matthieu Gautier
6706e04f50 Adapt kiwix-lib to the new libzim api. 2020-12-02 12:16:48 +01:00
Matthieu Gautier
6d527a9245 New version 9.4.1 2020-11-17 15:42:13 +01:00
Matthieu Gautier
9b4ac7997f New version 9.4.0 2020-08-28 16:04:40 +02:00
Matthieu Gautier
b5e458eb63 New version 9.3.1 2020-07-15 16:42:16 +02:00
Matthieu Gautier
e1433f8dea Release 9.3.0 2020-07-02 15:17:46 +02:00
Matthieu Gautier
e16a1937d2 Merge pull request #374 from kiwix/new_api_multithread_suggestion
Add new thread safe suggestion API.
2020-07-02 14:12:12 +02:00
Matthieu Gautier
995ad90a59 Add new thread safe suggestion API.
Previous API were using an internal vector to store the suggestions search
results.

The new API takes a vector as out argument. So user can call the functions
without having to protect the search.

We should change the android API to reflect the change but it is a bit
more complex to do at JNI level. As android do not call it multithreaded
we are safe for now. And we need the new API asap for kiwix-desktop.

So we keep the same API on android for now, the new api will be made
in next version.
2020-07-01 17:16:13 +02:00
Matthieu Gautier
86ca1f6468 Release 9.2.3 2020-07-01 11:33:30 +02:00
Matthieu Gautier
ff2dcb7e73 New version 9.2.2 2020-06-03 10:47:39 +02:00
Matthieu Gautier
add69cbcb3 New version 9.2.1 2020-06-02 10:18:12 +02:00
Matthieu Gautier
2420d6134a New version 9.2 2020-05-18 15:23:01 +02:00
Matthieu Gautier
92546e54ba New version 9.1.2 2020-04-20 15:31:14 +02:00
Matthieu Gautier
492ac43253 New version 9.1.1 2020-04-17 17:36:11 +02:00
Matthieu Gautier
25f9082a9e New version 9.1.0 2020-04-08 15:38:25 +02:00
Matthieu Gautier
edc88eb872 Merge pull request #330 from kiwix/block-external-links
Add external links blocking in serve
2020-03-30 16:57:08 +02:00
renaud gaudin
10523168bc moved blockExternalLink outside of taskbar
- `setBlockExternalLinks()` on server
- zero-dependency JS code
- JS script added in `inject_externallinks_blocker()`
- changed URL to `/catch/external?source=<source>`
2020-03-27 11:25:39 +00:00
renaud gaudin
1d38e7ae73 Add external links blocking in serve
In many use cases, it is not wanted to have user accidentaly click on external links
and leave the served ZIM content.
This could be because the result is unpredictible (reader not implementing this properly)
or because the serve user knows there's no backup internet connexion or because there is
an induced cost behind external links that doesn't affect served content.

using a new flag (`blockExternalLinks`) on `Response`/`setTaskBar`, a piece of JS code
is injected into the taskbar code.
This code adds a JS handler on all link click events and verifies the destination.
If the destination appears to be an external link (1), the link target is changed to
a specific URL:

```
/external?source=<original_uri>
```

(1) external is a link that's not on the same origin and starts with either `http:` `https:` or `//`.

Server implements a new handler on `/external` that displays a new page (`captured_external.html`)
which returns a generic message explaining the situation and offering to click on the link
again should the user really want to.
This is done by specifically asking `set_taskbar` to not block external requests on that page.

This approach allows integrators using a reverse proxy to handle that endpoint differently (rebrand it)

1. `Server` now has an `m_blockExternalLinks` defaulting to `false`
1. `Server.setTaskbar` is extended to support an additional bool to set the variable.
1. `Response` now has an `m_blockExternalLinks`
1. `Response` constr expects an additional bool for `blockExternalLinks`.
1. `Response.set_taskbar` is extended to support an additional bool to set the variable.
1. JNI/Java Wrapper reflects the extensions.
1. New resource file `templates/block_external.js` (included in head_part). Should it be in skin?
1. New resource file `templates/captured_external.html` for `handle_captured_external()`
1. Added a comment on `head_part.html` to help with JS insertion at the right place
1. `introduce_taskbar()` conditionnaly inserts the JS inside the taskbar
2020-03-26 12:06:36 +00:00