Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
641 commits
Select commit Hold shift + click to select a range
287051a
♻️ Add Node.getFreenetLocalhostAddress()
Bombe Feb 27, 2024
42898d9
♻️ Add Node.getArkFetcherContext()
Bombe Feb 27, 2024
43a16e3
♻️ Add Node.getLastBootId()
Bombe Feb 27, 2024
03c28ac
♻️ Add Node.getBootId()
Bombe Feb 27, 2024
b44afe0
♻️ Add Node.getStartupTime()
Bombe Feb 27, 2024
a966bfc
♻️ Add Node.getNonPersistentClientBulk()
Bombe Feb 27, 2024
688359f
♻️ Add Node.getNonPersistentClientRT()
Bombe Feb 27, 2024
b9e9291
♻️ Add Node.getOldPK()
Bombe Feb 27, 2024
00400b6
♻️ Add Node.getOldPKCache()
Bombe Feb 27, 2024
d1bf417
♻️ Add Node.getOldPKClientCache()
Bombe Feb 27, 2024
6d94639
♻️ Add OpennetManager.getNode()
Bombe Feb 27, 2024
d2d8248
♻️ Add OpennetManager.getCrypto()
Bombe Feb 27, 2024
4e4a09f
♻️ Add OpennetManager.getAnnouncer()
Bombe Feb 27, 2024
c5f6a95
♻️ Add OpennetManager.getSeedTracker()
Bombe Feb 27, 2024
8207a08
♻️ Add NodeUpdateManager.getNode()
Bombe Feb 27, 2024
839c9c8
♻️ Add NodeUpdateManager.getRevocationChecker()
Bombe Feb 27, 2024
deaa63b
♻️ Add NodeUpdateManager.getUpdateOverMandatory()
Bombe Feb 27, 2024
0c80930
♻️ Add NodeUpdateManager.getByteCounter()
Bombe Feb 27, 2024
ca1369b
♻️ Add NodeCrypto.getPacketMangler()
Bombe Feb 27, 2024
217f70e
♻️ Add NodeCrypto.isOpennet()
Bombe Feb 27, 2024
15d0c1a
♻️ Add NodeCrypto.getSocket()
Bombe Feb 27, 2024
3c03e7c
♻️ Add NodeCrypto.getPortNumber()
Bombe Feb 27, 2024
3c62522
♻️ Add NodeCrypto.getMyIdentity()
Bombe Feb 27, 2024
8606748
♻️ Add NodeCrypto.getIdentityHash()
Bombe Feb 27, 2024
a5da1e1
♻️ Add NodeCrypto.getIdentityHashHash()
Bombe Feb 27, 2024
fb31856
♻️ Add NodeCrypto.getEcdsaPubKeyHash()
Bombe Feb 27, 2024
121ebe3
♻️ Add NodeCrypto.getMyARK()
Bombe Feb 27, 2024
f1853b5
♻️ Add NodeCrypto.get/setMyARKNumber()
Bombe Feb 27, 2024
6713352
♻️ Add NodeCrypto.getConfig()
Bombe Feb 27, 2024
233ba52
♻️ Add NodeCrypto.getDetector()
Bombe Feb 27, 2024
e6d7d29
♻️ Use NodeCrypto.getAnonSetupCipher()
Bombe Feb 27, 2024
905fba5
♻️ Add PluginManager.getSingleUpdaterRequestClient()
Bombe Feb 28, 2024
5dfc96e
♻️ Add SimpleToadletServer.getPushDataManager()
Bombe Feb 28, 2024
126b28e
🐛 Fix JarClassLoaderTest to work with newer Java versions
Bombe Feb 28, 2024
37a2ff9
Remove parenthesis
Juiceman Mar 1, 2024
26a0ec1
[CI] Update actions, fix actions cache
AHOHNMYC Feb 29, 2024
64b487c
Merge branch 'increase-default-bandwidth-to-160kiB-up' of github.com:…
ArneBab Mar 16, 2024
63aa471
Merge branch 'remove-native-big-integer-dependency-of-crypt-api' of g…
ArneBab Mar 16, 2024
5cfb039
Merge branch 'estimate-compression-ratio-without-time' of github.com:…
ArneBab Mar 16, 2024
a9a867f
Merge branch 'Fix-typo-and-remove-extra-'+'' of github.com:Juiceman/f…
ArneBab Mar 16, 2024
e84b601
Merge branch 'spelling-and-typos' of github.com:Juiceman/fred into next
ArneBab Mar 16, 2024
5dbcfef
Merge branch 'html-fix' of github.com:Juiceman/fred into next
ArneBab Mar 16, 2024
0e7595e
Merge branch 'isEmpty()' of github.com:Juiceman/fred into next
ArneBab Mar 16, 2024
b85c258
Merge branch 'contains' of github.com:Juiceman/fred into next
ArneBab Mar 16, 2024
3f4c56a
Merge branch 'semicolons' of github.com:Juiceman/fred into next
ArneBab Mar 16, 2024
1ac643b
Merge branch 'mathMinMax' of github.com:Juiceman/fred into next
ArneBab Mar 16, 2024
82e6944
Merge branch 'switch-statements' of github.com:Juiceman/fred into next
ArneBab Mar 16, 2024
c8bc85a
Merge branch 'fix-java21-build' of github.com:ArneBab/fred-staging-1 …
ArneBab Mar 16, 2024
96076a0
Merge branch 'update-ci' of github.com:AHOHNMYC/fred into next
ArneBab Mar 16, 2024
3435573
Merge branch 'break-early' of github.com:Juiceman/fred into next
ArneBab Mar 16, 2024
6b5ba62
Merge branch 'fix/jar-class-loader-test-java-11' of github.com:Bombe/…
ArneBab Mar 16, 2024
94d4685
Merge branch 'refactoring/add-getters' of github.com:Bombe/fred into …
ArneBab Mar 16, 2024
2f5944b
allow 127.0.0.1 in bindTo
ArneBab Aug 29, 2023
59793a1
Make allowBindToLocalhost configurable
ArneBab Feb 18, 2024
c89cd99
Provide static methods for simpler boolean config creation
ArneBab Mar 9, 2024
e9c0906
Use simpler static config creation
ArneBab Mar 9, 2024
2dd80c8
Fix static boolean callback creation method, only used specialized
ArneBab Mar 16, 2024
80e2839
Add test for static method BooleanCallback.from().
ArneBab Mar 16, 2024
012643d
Add description of allowBindToLocalhost — thanks to s7r!
ArneBab Mar 16, 2024
9664a10
also make accepting localhost in NodeIPPortDetector configurable
ArneBab Mar 16, 2024
73f3708
Reduce recently failed and data not found wait times
ArneBab Mar 16, 2024
2828665
Remove unused import
ArneBab Mar 17, 2024
6cfbc58
make instance variable private
ArneBab Mar 17, 2024
7e8e364
Cleanup whitespace
ArneBab Mar 17, 2024
acce0ce
Add getter test.
ArneBab Mar 17, 2024
4be9084
Shorten description
ArneBab Mar 17, 2024
62bd7f6
Remove duplication of value in documentation
ArneBab Mar 17, 2024
55361ad
add m3u-player insertion test: is added at end of body
ArneBab Nov 27, 2022
4e7ccc0
Fix merge error
ArneBab Mar 17, 2024
82cc904
whitespace change reversal
ArneBab Mar 17, 2024
ebab0ac
check that m3u-filter-tag starts with <script and test in own method
ArneBab Mar 17, 2024
d17ca23
Merge branch 'allow-127.0.0.1-in-bindTo' of github.com:ArneBab/fred-s…
ArneBab Mar 17, 2024
1c9e8b7
Merge branch 'm3u-player-add-test-for-end-of-body-insertion' of githu…
ArneBab Mar 17, 2024
3c83d3f
Simplify string length checks
Juiceman Mar 18, 2024
7127d1e
Remove unnecessary boxing
Juiceman Mar 18, 2024
65d5ee0
Remove unnecessary unboxing
Juiceman Mar 18, 2024
3858925
Merge branch 'reduce-recently-failed-time' of github.com:ArneBab/fred…
ArneBab Mar 18, 2024
20b27b2
Merge branch 'next' into size-zero-to-isEmpty
Juiceman Mar 21, 2024
ed98d8c
Remove extra parenthesis
Juiceman Mar 21, 2024
c7c3caa
Merge remote-tracking branch 'Juiceman-origin/size-zero-to-isEmpty' i…
Juiceman Mar 21, 2024
5564298
Revert negation of ternary operators
Juiceman Mar 21, 2024
7525573
Revert negation of ternary operator
Juiceman Mar 21, 2024
47525eb
Restore parenthesis
Juiceman Mar 21, 2024
7e89e37
Merge branch 'next' into boxing-and-unboxing
Juiceman Mar 21, 2024
97b5bfc
Use compare method instead of boxing
Juiceman Mar 21, 2024
937880f
Remove redundant variables
Juiceman Mar 21, 2024
9378205
Remove redundant variables
Juiceman Mar 21, 2024
c98cfc7
Remove unnecessary variable
Juiceman Mar 27, 2024
d80ffe2
Merge branch 'next' of github.com:hyphanet/fred into next
ArneBab Apr 1, 2024
6c19436
Update default bookmark editions
ArneBab Apr 1, 2024
cec637d
Update default bookmark editions
ArneBab Apr 1, 2024
3106ed9
Build 1498
ArneBab Apr 1, 2024
2873fc1
Update NEWS for 1498
ArneBab Apr 1, 2024
b5860bb
Allow meta viewport
torusrxxx Apr 23, 2024
0a8d971
organize NEWS by topic
ArneBab Apr 26, 2024
3acf4e8
NEWS: add section high impact tasks
ArneBab Apr 26, 2024
0350536
add note
ArneBab Apr 26, 2024
8318eff
polish
ArneBab Apr 26, 2024
fbc723c
Merge branch 'patch-1' of github.com:torusrxxx/fred into next
ArneBab Apr 26, 2024
6077de2
NEWS: polish and note viewport
ArneBab Apr 26, 2024
d6d3bd8
removed superfluous -
ArneBab Apr 26, 2024
f559292
Merge branch 'next' of github.com:hyphanet/fred into next
ArneBab Apr 27, 2024
0d051d6
Update default bookmark editions
ArneBab Apr 27, 2024
afc352a
Revert "Build 1498" (which was a test release)
ArneBab Apr 27, 2024
f3899a0
Added user-facing changelog to NEWS.md
ArneBab Apr 28, 2024
92fc225
Add missing links
ArneBab Apr 28, 2024
8a4311c
NEWS: added more whitespace for structuring
ArneBab Apr 28, 2024
465b819
Update default bookmark editions
ArneBab Apr 28, 2024
249ae7a
Build 1498
ArneBab Apr 28, 2024
9f42891
Support abridged IPv6 address
torusrxxx May 10, 2024
e403cfa
Revert "Only link indexes via the index of indexes."
ArneBab Apr 26, 2024
be71966
Update comment to match changed code: wait time after failure 3 min
ArneBab May 10, 2024
ed0cc12
Merge branch 'next' into size-zero-to-isEmpty
Juiceman May 13, 2024
f573e5e
Merge branch 'next' into boxing-and-unboxing
Juiceman May 13, 2024
4072fb1
Add lossy WebP filter
torusrxxx May 3, 2024
392ce46
Add more tests and fix boundary checks
torusrxxx May 4, 2024
e1fadf5
Fixed processing of unexpected data after valid WebP image
torusrxxx May 5, 2024
f875d4b
Add test for lossy WebP image with alpha
torusrxxx May 6, 2024
523b6f0
Documentation and l10n
torusrxxx May 9, 2024
ac1d25f
Hide new load management statistics
torusrxxx May 19, 2024
0005fa3
Add copy of the cryptics general license (2-clause BSD)
ArneBab Jun 1, 2024
fdbe9ae
remove recommendation to turn off javascript helpers in fproxy.
ArneBab Jun 12, 2024
3da0ebd
Don’t skip plugin waiting when loaded plugins change in iteration
ArneBab Apr 28, 2024
a9f7eaf
fix typo
ArneBab Jun 15, 2024
11eb9d7
Fix bugs related to 1:2:3:4:5:6:7: and percentage scope
torusrxxx Jun 17, 2024
f2251de
note the installers and signing
ArneBab Jun 21, 2024
83b892b
Merge branch 'update-news-for-1498' of github.com:ArneBab/fred-stagin…
ArneBab Jun 23, 2024
c5b7946
Update default bookmark editions
ArneBab Jun 23, 2024
6956294
Update default bookmark editions
ArneBab Jun 23, 2024
3bf60cf
Fix indentation
ArneBab Jul 9, 2024
5602d08
Only hand out copies of the set of loading or loaded plugins.
ArneBab Jul 9, 2024
04024cb
fix typo in logging
ArneBab Jul 9, 2024
68e5f33
fix typo in logging
ArneBab Jul 9, 2024
9fe0c1b
Merge branch 'note-the-installers-and-signing' of github.com:ArneBab/…
ArneBab Jul 23, 2024
d204f9f
Merge branch 'do-not-recommend-disabling-js-helpers' of github.com:Ar…
ArneBab Jul 23, 2024
3696f54
Merge branch 'torusrxxx-patch-1' of github.com:torusrxxx/fred into next
ArneBab Jul 23, 2024
76562ef
Merge branch 'size-zero-to-isEmpty' of github.com:Juiceman/fred into …
ArneBab Jul 23, 2024
7101c76
When the update key is changed, subscribe to the new key.
ArneBab May 10, 2024
dce7e1b
Fix: factor out subscribe() from start() instead of duplicating code
ArneBab Jun 16, 2024
ca269b3
make method private
ArneBab Jul 23, 2024
02b7ea3
Remove useless this
ArneBab Jul 23, 2024
dc13510
Remove useless this
ArneBab Jul 23, 2024
30899ba
Fix false formatting
ArneBab Jul 23, 2024
7f9f0b0
Pass subscribe an onError runnable
ArneBab Jul 23, 2024
ff698b8
Merge branch 'IPV6addresses' of github.com:torusrxxx/fred into next
ArneBab Jul 25, 2024
4ebce69
Merge branch 'resilience-against-plugin-list-exception' of github.com…
ArneBab Jul 25, 2024
86bdd42
Merge branch 'next' into boxing-and-unboxing
Juiceman Jul 28, 2024
4c3ffb1
Replace Java 10 Set copy with Java 8 compatible creation
ArneBab Jul 28, 2024
3f0625f
added sha256 for dependencies
chris-ch Aug 6, 2024
4029f51
Merge branch 'chris-ch-next-upgrade-gradle-7.6' into next
ArneBab Aug 7, 2024
1c9e07c
Resolve Gradle Deprecation Warnings
ArneBab Aug 7, 2024
4b8566c
Gradle merge regression: update hamcrest and junit again
ArneBab Aug 8, 2024
f5689d6
update Japanese translation
qupo1 Aug 27, 2024
c186aaf
🐛 Run Git from the project directory
Bombe Sep 1, 2024
e863063
🐛 Build JAR file correctly
Bombe Sep 2, 2024
716196a
🚸 Prevent duplicate files in the JAR file
Bombe Sep 2, 2024
034caf0
🚸 Prevent hashing of files generated by disabled tasks
Bombe Sep 2, 2024
711b0a1
Merge branch 'next' into boxing-and-unboxing
Juiceman Sep 13, 2024
8d29fcc
Update Gradle to 8.9
ArneBab Sep 14, 2024
66815c2
update junit and hamcrest — thanks to Bombe!
ArneBab Sep 16, 2024
4288fe9
Update junit to 4.13.2
ArneBab Sep 16, 2024
a9f8b2b
upgraded dependencies
chris-ch Sep 17, 2024
373ddd6
reordered keys
chris-ch Sep 17, 2024
f8483d2
clean-up
chris-ch Sep 17, 2024
c962f9e
Merge branch 'l10n-ja' of github.com:qupo1/fred into next
ArneBab Sep 22, 2024
c2a0431
Merge branch 'fix/build-info-with-gradle-daemon' of github.com:Bombe/…
ArneBab Sep 22, 2024
6d58bed
Merge branch 'patch-1' of github.com:torusrxxx/fred into next
ArneBab Sep 22, 2024
f6972f1
Merge branch 'gradle-update-to-8.9' into next
ArneBab Sep 22, 2024
5cd3f78
Restore verification data for hamcrest 1.3
ArneBab Sep 22, 2024
523d84b
Merge branch 'fix/include-correct-version-in-jar-file' of github.com:…
ArneBab Sep 22, 2024
8f22e11
Note changes since 1498 in NEWS
ArneBab Sep 22, 2024
3986ce1
Merge branch 'next' into boxing-and-unboxing
Juiceman Sep 22, 2024
b2d78cd
Add image/webp as prefetch allowed types
torusrxxx Oct 1, 2024
fc1d41b
Remove pooling for SHA256 digests
bertm Oct 5, 2024
6eb3a17
Assume the SHA-256 digest is supported
bertm Oct 5, 2024
2b962e2
Remove all uses of SHA256.returnMessageDigest
bertm Oct 5, 2024
bef6ca0
Reduce SHA256 to a compatibility wrapper around HashType.SHA256
bertm Oct 5, 2024
7304175
Remove SHA-256 special case in PluginManager
bertm Oct 5, 2024
0496a60
Add new MIME types image/avif, heic, heif
torusrxxx Oct 6, 2024
8584c21
Allow bdi and main elements and auto value of dir attribute
torusrxxx Oct 17, 2024
7cf3133
Add elements figcaption,figure,mark,rp,rt,ruby
torusrxxx Oct 19, 2024
35a00bf
Add CSS global values revert,revert-layer, attribute writing-mode, up…
torusrxxx Oct 19, 2024
453a446
Add CSS colors rebeccapurple and rgba modern format
torusrxxx Oct 19, 2024
3d857a5
Add fonts system-ui,ui-serif,ui-sans-serif,ui-monospace,ui-rounded,em…
torusrxxx Oct 19, 2024
8617f30
Add more pseudo classes
torusrxxx Oct 19, 2024
ba0d911
Add inline-start,inline-end values of float CSS attribute
torusrxxx Oct 19, 2024
278a10f
Update CSS attributes clear,overflow,text-underline-position
torusrxxx Oct 19, 2024
86f216d
Fix StringIndexOutOfBoundsException when filtering "tr:tenth-child {}"
torusrxxx Oct 22, 2024
46f36f7
Add font size xxx-large and selector tests
torusrxxx Oct 22, 2024
5e0d013
Add background-blend-mode and mix-blend-mode and CSS tests
torusrxxx Oct 24, 2024
e33b534
Fix text-shadow parsing
torusrxxx Oct 25, 2024
c814ae1
Add attributes block-size,inline-size, length values min-content,max-…
torusrxxx Oct 25, 2024
cc74d98
fix NullPointerException with text-emphasis, fix deprecated attribute…
torusrxxx Oct 28, 2024
9591dba
Add tab-size,font-kerning, update word-break
torusrxxx Oct 28, 2024
47e72cc
Add object-fit
torusrxxx Oct 28, 2024
598c52f
Support "reversed" attribute of <ol> element
torusrxxx Oct 29, 2024
5b9f643
Add more types to list-style-type and also allow string
torusrxxx Oct 31, 2024
2dc724b
Add max-block-size,max-inline-size,min-block-size,min-inline-size
torusrxxx Nov 4, 2024
2bc2fc2
Fix text-wrap having nonstandard values
torusrxxx Nov 6, 2024
a6ba4c4
Merge branch 'torusrxxx--patch-5' into next
ArneBab Nov 11, 2024
e1aaf1a
Merge remote-tracking branch 'Juiceman/boxing-and-unboxing' into next
ArneBab Nov 11, 2024
9f625ad
Merge remote-tracking branch 'torusrxxx/patch-3' into next
ArneBab Nov 11, 2024
2418270
Merge remote-tracking branch 'bertm/simplify-sha256' into next
ArneBab Nov 11, 2024
20a2742
Merge remote-tracking branch 'torusrxxx/patch-2' into next
ArneBab Nov 11, 2024
a094d67
Merge branch 'add-cryptics-license' into next
ArneBab Nov 11, 2024
2553579
Merge branch 'doc-update-comment-to-changed-code' into next
ArneBab Nov 11, 2024
b892b9b
Merge branch 'fix-updater-subscribe-changed-key' into next
ArneBab Nov 11, 2024
cb162b7
Add text-combine-upright,text-decoration-thickness
torusrxxx Nov 12, 2024
bc641a5
Only prefer the REALTIME queue to BULK with 90% probability
ArneBab Sep 14, 2024
71b66ea
Update USK version number
ArneBab Sep 16, 2024
0e4d506
Reduce log level of known socket handler problem on Java 2f: it’s jus…
ArneBab Sep 16, 2024
2c49019
Merge remote-tracking branch 'torusrxxx/CSS' into next
ArneBab Nov 12, 2024
77b7062
GCJ is long dead, stop checking for it
bertm Nov 12, 2024
a33d443
Remove unused and outdated warnings for Oracle JVM use
bertm Nov 12, 2024
bf35aa0
Stop checking for JVMs that can no longer run fred
bertm Nov 12, 2024
578dad3
Remove references to whatever would be the EvilJVMBug
bertm Nov 12, 2024
0b520d1
Add dominant-baseline
torusrxxx Nov 13, 2024
1eee1f5
PeerMessageQueue: make fastWeakRandom final
ArneBab Nov 13, 2024
7818bcc
PeerMessageQueue: remove resolved TODO
ArneBab Nov 13, 2024
7a8a03b
PeerMessageQueue: remove unused import
ArneBab Nov 13, 2024
e71bd03
PeerMessageQueue: remove no longer needed TODO (starving prevented)
ArneBab Nov 13, 2024
44bfc61
PeerMessageQueue: actually use the 10% bulk fallback
ArneBab Nov 13, 2024
02129a6
Use DummyRandomSource in test
ArneBab Nov 13, 2024
97ae96e
Fix incorrect values of line-break
torusrxxx Nov 15, 2024
8cd909a
Merge remote-tracking branch 'bertm/evil-jvm-bugs' into update-junit-…
ArneBab Nov 15, 2024
e496dc1
Merge remote-tracking branch 'torusrxxx/CSS' into next
ArneBab Nov 15, 2024
2d05139
update README badge for build status
qupo1 Nov 17, 2024
6757905
CI: update Gradle wrapper validation to latest version
qupo1 Nov 17, 2024
51102fc
update URLs in README
qupo1 Nov 17, 2024
2e8481f
Fix copy-paste errors in backoff
bertm Nov 17, 2024
f1a9c2e
Don't attempt to "intern" byte[] and other mutable data
bertm Nov 17, 2024
f3edebf
Make ByteArrayWrapper safe for use as key in Map
bertm Nov 17, 2024
e878953
use version specific URLs to gradle docs
qupo1 Nov 18, 2024
dec8dfb
Display human-readable file sizes in file upload screen
bertm Nov 18, 2024
b72cc18
Improve directory listing table layout on file upload screen
bertm Nov 18, 2024
b433d55
Prevent creating or updating bookmarks with invalid or duplicate names
bertm Nov 18, 2024
b7c9b67
Fix bookmark editor indentation on Winterfacey theme
bertm Nov 18, 2024
fd23e41
Merge remote-tracking branch 'bertm/issue-06142' into next
ArneBab Nov 29, 2024
c2e341c
Merge remote-tracking branch 'bertm/issue-01956' into next
ArneBab Nov 29, 2024
2b13590
Merge remote-tracking branch 'bertm/fix-local-routing-backoff-bulk' i…
ArneBab Nov 29, 2024
c873c45
Merge branch 'probabilistic-queue-priorization' into next
ArneBab Nov 29, 2024
99536f7
Merge remote-tracking branch 'bertm/no-intern-byte-array' into next
ArneBab Nov 30, 2024
eec4ef1
Merge remote-tracking branch 'qupo1/readme-links' into next
ArneBab Nov 30, 2024
1e4e839
Merge remote-tracking branch 'qupo1/readme-badge' into next
ArneBab Nov 30, 2024
f126c89
Merge remote-tracking branch 'qupo1/gradle-actions' into next
ArneBab Nov 30, 2024
5963cce
fix typo — thanks to torusrxxx
ArneBab Nov 30, 2024
ed64823
Merge branch 'update-news-for-1499' into next
ArneBab Nov 30, 2024
175ed4b
Cleanup imports (plain optimize imports in IntelliJ)
ArneBab Nov 30, 2024
918ef8f
Merge branch 'next' into fred-deprecate-closer
ArneBab Nov 30, 2024
9170b31
Revert "Remove Closer class" (but keep removal of imports)
ArneBab Nov 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
68 changes: 68 additions & 0 deletions .github/workflows/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Build debian package
on:
push:
branches: [ 'master', 'next', 'debian-package' ]
tags:
- build**
- testing-**
pull_request:
jobs:
build-deb:
strategy:
matrix:
os: [ubuntu-latest]
distribution: [temurin]
java: [17]

runs-on: '${{ matrix.os }}'
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Wrapper validation
uses: gradle/actions/wrapper-validation@v4

- name: Speedup dpkg
run: sudo sh -c "echo 'force-unsafe-io' > /etc/dpkg/dpkg.cfg.d/force-unsafe-io"

- name: Fix 'Setup Java' action Gradle caching
run: |
sudo mkdir -p /tmp/fred-build/gradle
sudo ln -s /tmp/fred-build/gradle ~/.gradle
sudo chmod o+rwx ~/.gradle

- name: Setup Java
uses: actions/setup-java@v4
with:
cache: 'gradle'
distribution: '${{ matrix.distribution }}'
java-version: '${{ matrix.java }}'

- name: Install dependencies
run: |
sudo apt update
sudo apt install build-essential debhelper devscripts equivs -y

- name: Install package build dependencies
run: |
install_tool="apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes"
sudo mk-build-deps --install -r --tool="${install_tool}" debian/control

- name: Build package
run: |
sudo gbp buildpackage --git-ignore-branch --git-upstream-tag="HEAD" -us -uc --git-ignore-new || (EDITOR=true dpkg-source --commit . hack-1 && sudo gbp buildpackage --git-ignore-branch --git-upstream-tag="HEAD" -us -uc --git-ignore-new)

- name: Get package info
run: |
dpkg -I ../freenet*.deb
file ../freenet*.deb
cp ../freenet*.deb ./

- name: Provide Debian Package
uses: actions/upload-artifact@v4
with:
name: debian-package
path: freenet_*.deb
# Since .deb file is compressed archive itself,
# additional compression useless
compression-level: 0
15 changes: 14 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,21 @@
*.iml
*.ipr
*.iws
.*
*~
\#*\#
/override.properties
/gradle.properties
debhelper-build-stamp
.debhelper
*.deb
*.dsc
*.build
*.buildinfo
*.changes
*.tar.gz
*.log
*.substvars
/debian/freenet/*
.gradle
gradle
debian/seednodes.fref
13 changes: 6 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ start with:
List only bugs filed against this repository by selecting "Freenet" in the
"Project" drop-down in the upper right. Do any of these look interesting?
* Check the [projects](https://wiki.freenetproject.org/Projects) page.
* Ask the [development mailing list](https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl)
or join us in [IRC](https://freenetproject.org/irc.html) - `#freenet` on
`chat.freenode.net`.
* Ask the [development mailing list](https://freenetproject.org/pages/help.html#mailing-lists)
or join us in [IRC](https://web.libera.chat/?nick=Rabbit|?#freenet) - `#freenet` on
`irc.libera.chat`.

# Code review

Expand All @@ -23,8 +23,7 @@ against the `next` branch. It's usually a good idea to work on a topic / feature
branch that starts at `next` and is specific to the pull request. Once you have
submitted a pull request, people will start reviewing it and providing feedback.
If you don't hear anything for a while feel free to bring it to the attention of
people in [IRC](https://freenetproject.org/irc.html) or the [mailing
list](https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl) - we may
people in [IRC](https://www.hyphanet.org/pages/help.html#chat-with-us) or the [mailing list](https://www.hyphanet.org/pages/help.html#mailing-lists) - we may
have missed it.

Code review helps improve code quality, ensures that multiple people know the
Expand All @@ -37,8 +36,8 @@ producing software that is readable, correct, and sufficiently efficient.
Breaking API creates an immense amount of work for developers of other projects,
so it is *not* something to be done lightly. If you feel you must make a change
that breaks API and cannot maintain backwards compatibility, please first raise
the issue with the community - the [mailing list](https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl)
and [IRC](https://freenetproject.org/irc.html) are good places to contact us.
the issue with the community - the [mailing list](https://www.hyphanet.org/pages/help.html#mailing-lists)
and [IRC](https://www.hyphanet.org/pages/help.html#chat-with-us) are good places to contact us.

Changing dependencies must be accompanied with changes in every
installer and updates to `dependencies.properties` and existing
Expand Down
249 changes: 248 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,253 @@
next:

-
- Update Gradle to 8.9 thanks to Christophe!
- replace length = 0 checks with isEmpty() — thanks to Juiceman!
- do not recommend disabling js helpers in fproxy (these are reviewed)
- add more resilient plugin list exception handling
- Remove gc meddling that hasn’t been necessary for many Java releases
- Add webp filter, thanks to Torusrxxx!
- Update Japanese localization, thanks to qupo1!
- Fix build info with gradle daemon, thanks to Bombe!
- Improve IPv6 handling, thanks to Torusrxxx!
- Hide no longer relevant new load management statistics, thanks to Torusrxxx!

1498:

# Short changelog:

This release resolves the last blocker for Freenet / Hyphanet 0.8 by
providing an official Debian package. Additionally it optimizes the
networking and data transfer core and provides many improvements for
website authors and user experience.


Starting with this release, Freenet / Hyphanet has an official Debian
package built automatically via github actions. This was the most
important [high-impact-task][] and the last release blocker of version
0.8 in our [Roadmap][]. Big thanks go to DC*!

With this finally realized, the next step is to get in contact with
the many privacy focussed distributions which build on Debian to make
`hyphanet-fred` available where it is most important. Once this is
done, tools which build on Hyphanet — like FMS, but also jSite and
tools from pyFreenet — can be packaged to work out of the box, using
Hyphanet as an ordinary background service. That’s a step towards
Hyphanet as decentralized, privacy-preserving communication backend for
other applications.

Another step towards this is accepting the Schema hypha[net] to
simplify writing browser extensions that forward hypha:-links to
Hyphanet.


The networking layer was optimized significantly. Searching packet
types is often stopped early and common or cheaper checks are done
before less common or time-consuming checks. This gives significant
reductions of CPU load, especially for very fast nodes.

Juiceman fixed a bug limiting MTU to 1280 where not needed.

And recently failed and data not found cooldown times were reduced to
5 minutes and 3 minutes, reducing one of the big annoyances when
accessing a site quickly after upload.

On the data transfer layer, healing was optimized. After 1495 strongly
increased the amount of healing to keep large files available for
longer, 1498 specializes healing to keys close to the node location.
This reduces healing per file, but improves privacy, because healing
inserts are then more similar to forwarding — they mostly send data
close to the nodes location — and it reduces the network load of
healing, because the specialized healing inserts need fewer hops to
reach the optimal storage location in the network.


In addition to these changes deep down, there are a number of directly
visible improvements.

The plugins KeepAlive and Sharesite are updated (the latter now uses
the new Night Zen Garden style). The UPnP2 plugin is now visible in
simple mode. It can replace UPnP and should work better. On the
flipside the Library plugin is moved to advanced plugins, because it
does not work reliably enough.

The plugin list is easier to navigate by removing the defunct option
to download plugins from the clearnet and by adding better styling.
Downloading from the clearnet was an unnecessary privacy risk since
we’ve been bundling essential plugins with the installer for a few
years now.


The noderef for friend-to-friend connections is shown in simple mode
again, because it is robust enough with the changes in recent years.
This should remove a barrier to adding direct connections and enabling
fully confidential messages between friends.

There are new configuration options to allow connecting via local
services. That’s a step towards making it easy to add a second layer
of security, for example confining connections to a local network.
Thanks goes to s7r for these changes!

When bandwidth detection fails, the upload bandwidth now defaults to
160KiB/s. Also the NLM config is now disabled statically. This was a
testing setup which could still be active in old nodes, but it would
break connectivity nowadays.


The default bookmarks include the Opennet SeedNodes statistics,
the generate media site to create decentralized streaming sites, and
the high-impact-tasks. The bookmarks are also re-ordered to be a
better match for newcomers. Starting category: first steps, clean
spider, Index of Indexes. For the software category ordered by ease of
use from fproxy.

For website authors, more CSS elements, selectors and combinators
(`:checked`, `word-wrap: anywhere`, `focus-within`, `^=`, `$=`, `*=`,
`>`, `+`, `~`) and additional HTML elements (`summary`, `details`,
`<meta name="Viewport"...>`) are available. This strongly expands the
possibilities of websites authors in Hyphanet, because Javascript or
webassembly are no viable options in an environment where a privacy
breach could put people at risk. We’ve seen with Java applets, that
untrusted code will always break out of its containment. The CSS
improvements in contrast provide a safe way to enable limited
interactivity.

Streaming support via m3u lists was improved to allow accessing
segments of up to 200MiB.

And using `-1` as version in a USK now properly finds version `0`, if
this is the only existing version.


There were a number of Java 21 fixes, including all our tests (thanks
to Bombe!), and improvement to the github actions (thanks to
AHOHNMYC).

In addition to that there was a lot of polish. Bert Massop and
Veniamin Fernandes replaced our homegrown CurrentTimeUTC with modern
Java options. Alex fixed the pronoun used in strings. Bombe added
getters for all direct field access in the node. Hiina reduced logging
level of store warnings so no unneeded backtraces are created for node
with large stores and Juiceman updated code to use more modern
structures.

Time-dependence of compressor selection was removed. This caused
non-determinism for inserts and could cause keys to be
non-reproducible on systems with faster or slower network.


And finally the new [exe signing workflow][] we built to fulfill the
requirements of SignPath, our new windows installer signing provider
for the upcoming releases, runs the [verify-build script][] on every
release to ensure that the jar we release has actually been built from
the sources. This provides a second safety net, in addition to
anonymous users running the script and posting the results (thanks to
all who did this — please keep it up, otherwise people have to fully
trust github). The release is not yet byte-by-byte reproducible,
because the jar MANIFEST defines among other info the exact java
version used to compile it, and the java version available differs by
distribution and time, so it would get harder over time to verify the
build.


A special thanks goes to Bombe for many careful reviews!

[high-impact-task]: https://github.com/hyphanet/wiki/wiki/High-Impact-tasks
[Roadmap]: https://github.com/hyphanet/wiki/wiki/Roadmap
[exe signing workflow]: https://github.com/hyphanet/sign-windows-installer
[verify-build script]: https://github.com/hyphanet/scripts/blob/master/verify-build

# Full changelog:


## high impact tasks
merge debian package as default build action thanks to DC*/desyncr! This resolves one of our high impact tasks.

## Plugins
Update KeepAlive to commit 86e47a101f26fd1d3be0437681a043aa4ae3f22c
Update Sharesite to 0.5.1
Move UPnP2 to normal plugins. It does not seem broken, but UPnP does
Move Library plugin to advanced plugins because new users tend to get lost with it
💄 Add better styling to the plugin list in winterfacey to make it easier to understand at a glance — thanks to Bombe
🔥 Remove option to load plugins from central server — thanks to Bombe! This was an unnecessary privacy risk, since we’re already bundling essential plugins with the installer, and it made plugin handling harder to understand.

## Bookmarks
Add high-impact-tasks to bookmarks
Add generate media site to the default bookmarks
Add Opennet SeedNodes stats site
Reorder starting bookmarks: FFS → clean spider → Index of Indexes
Reorder default software bookmarks by ease of use from fproxy
Disable activelink for Index of Indexes (workaround, because it fails)

## Optimize networking and transfer layer
break early when condition is met — thanks to Juiceman
Check the HashCode before equals. This saves ~20% method-runtime.
Re-order or’ed MessageFilters so the most likely is checked first
specialize healing to keys close to the node
fix healing decision: do not divide 0-1 by MAX_VALUE — thanks to Bombe for the review!
Reduce recently failed and data not found wait times

## Filters
CSS: Fix: checked only the first char of the key part of CSS selectors, Add test that would catch too lax filtering.
CSS: Support pseudo-element checked. This enables limited interactivity via CSS.
CSS: Support the attribute selectors ^= $= *=, Add tests.
CSS: Support Combinators > + and ~, add test for ~ and simplify the implementation
CSS: Support word-wrap: anywhere and CSS selector focus-within.
HTML: allow summary and details html element. Thanks to naejadu
HTML: accept <meta name="Viewport" ...>, thanks to torusrxxx

## Constants
Show the noderef in basic-mode: it is now robust enough

## Configuration
accepting localhost in NodeIPPortDetector and allowBindToLocalhost configurable — thanks to s7r!
Provide static methods for simpler boolean config creation
Increase default bandwidth to 160KiB upload, when detection fails
disable setting for new-load-management (NLM broke nodes)
add utility to disable a config option, thanks to Bombe

## Misc
add m3u-player insertion test: is added at end of body
[CI] Update actions, fix actions cache
♻️ add and use getters and setters for access to node fields
Increase max transparent passthrough to 200MiB links in m3u-lists.
Remove time-dependence of compressor selection. This caused
non-determinism for inserts and could cause keys to be
non-reproducible.
improve date object construction in CurrentTimeUTC.get()
Support Schema hypha[net] to simplify writing browser extensions that forward hypha://-links to Hyphanet.
polish: show datastore size warning with GiB suffix
Remove hash generation to native big integer to reduce dependencies. This had come in when merging an old pull request and added a new dependency without need.

## Polish
Replace indexOf with .contains()
Change more string comparisons into .isEmpty() checks
Capitalize L in literal longs
Add missing Global flag to GetFailed FCP message. Thanks to oishii and Bombe!
Fix links to mailing lists and IRC in CONTRIBUTING.md — thanks to Juiceman!
Deprecated custom datetime handling class CurrentTimeUTC
replace GregorianCalendar with java.time.OffsetDateTime in CurrentTimeUTC — thanks to Veniamin Fernandes
Refine ClientRequestSelectorTest, PersistentJobRunnerImplTest, SplitFileFetcherStorageTest, and SplitFileInserterStorageTest — thanks to Veniamin Fernandes
Change deprecated jcenter() maven repo to mavenCentral() — thanks to Veniamin Fernandes
Added tests for PebbleUtils — thanks to Bombe!
🐛 Fix NPE when subsets are not initialized — thanks to Bombe
reduce logging for too many excluded sub-arrays thanks to Hiina
fix the flag size of nepal — thanks to Percept0r@NYZkOs7eQ…!
Switch swiss flag to civil and state ensign — thanks to Percept0r@NY

## Fixes
Thanks to Bombe all our tests work again on Java 21!
🐛 Fix JarClassLoader’s ability to work with ServiceLoader — thanks to Bombe!
gzip: replace test workaround by fixing the output of the compressor — thanks to Bombe for the SingleOffsetReplacingOutputStream!
fix: invalid max store size showed bytes with GiB suffix


Also a special thanks to Bombe for many careful reviews!


1497:

- fixed severe path folding vulnerability.


1496:

Expand Down
Loading