Compare commits

...

15 Commits

18 changed files with 104 additions and 33 deletions

View File

@ -109,7 +109,17 @@ build/licenses: build
mkdir -p build/licenses mkdir -p build/licenses
cp license/* build/licenses cp license/* build/licenses
cp LICENSE.md build/licenses/MIT.txt cp LICENSE.md build/licenses/MIT.txt
unix2dos build/licenses/LICENSE.index cat build/licenses/LICENSE.index \
build/licenses/EPL.txt \
build/licenses/GPL+CLASSPATH.txt \
build/licenses/HTTPS-Everywhere.txt \
build/licenses/LICENSE.tor \
build/licenses/MIT.txt \
build/licenses/MPL2.txt \
build/licenses/NoScript.txt \
build/licenses/NSS.txt \
build/licenses/I2P.txt > build/licenses/LICENSE.txt
unix2dos build/licenses/LICENSE.txt
clean: clean:
rm -rf build app-profile-*.tgz profile-*.tgz I2P-Profile-Installer-*.exe *.deb src/I2P/config *.su3 .version *.url make.log rm -rf build app-profile-*.tgz profile-*.tgz I2P-Profile-Installer-*.exe *.deb src/I2P/config *.su3 .version *.url make.log

View File

@ -59,6 +59,14 @@ console wrapper.
install.exe - the windows installer, which sets up shortcuts to install.exe - the windows installer, which sets up shortcuts to
launch Firefox on Windows. launch Firefox on Windows.
When generating a Windows build it's important to make sure that the
licenses for all the bundled softare are included. This should happen
automatically. When bundling software, describe the terms and where
they are applied in the `LICENSE.index`, then add the full license
to the `licenses` directory. Then, add the full license to the `cat`
command in the `build/licenses` make target. The build/licenses
target is run automatically during the build process.
Unix Support Unix Support
------------ ------------

View File

@ -39,11 +39,9 @@ sleep 5s
HERE="$PWD" HERE="$PWD"
if [ ! -d "$HERE/../i2p.i2p.jpackage-build/" ]; then if [ ! -d "$HERE/../i2p.i2p.jpackage-build/" ]; then
git clone --depth 1 -b "$VERSION" https://i2pgit.org/i2p-hackers/i2p.i2p "$HERE/../i2p.i2p.jpackage-build/" git clone -b "$VERSION" https://i2pgit.org/i2p-hackers/i2p.i2p "$HERE/../i2p.i2p.jpackage-build/"
fi fi
cd "$HERE/../i2p.i2p.jpackage-build/" cd "$HERE/../i2p.i2p.jpackage-build/"
git pull --tags
git checkout "$VERSION"
for i in $COUNT; do for i in $COUNT; do
echo -n "$i...."; sleep 1s echo -n "$i...."; sleep 1s
done done
@ -55,7 +53,6 @@ RES_DIR="$HERE/../i2p.i2p.jpackage-build/installer/resources"
I2P_JARS="$I2P_PKG/lib" I2P_JARS="$I2P_PKG/lib"
I2P_JBIGI="$HERE/../i2p.i2p.jpackage-build/installer/lib/jbigi" I2P_JBIGI="$HERE/../i2p.i2p.jpackage-build/installer/lib/jbigi"
echo "compiling custom launcher" echo "compiling custom launcher"
mkdir -p build mkdir -p build
cp "$I2P_JARS"/*.jar build cp "$I2P_JARS"/*.jar build
@ -99,3 +96,6 @@ echo "preparing to invoke jpackage for I2P version $I2P_VERSION"
$JPACKAGE_OPTS \ $JPACKAGE_OPTS \
--resource-dir build \ --resource-dir build \
--input build --main-jar launcher.jar --main-class net.i2p.router.WinLauncher --input build --main-jar launcher.jar --main-class net.i2p.router.WinLauncher
cp "$I2P_PKG/licenses/"* license/
cp "$HERE/../i2p.i2p.jpackage-build/LICENSE.txt" license/I2P.txt

View File

@ -1,5 +1,8 @@
#! /usr/bin/env sh #! /usr/bin/env sh
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd "$SCRIPT_DIR" || exit 1
here=$(pwd) here=$(pwd)
cd ../i2p.i2p.jpackage-build/ cd ../i2p.i2p.jpackage-build/
ant distclean ant distclean

View File

@ -1,5 +1,8 @@
#! /usr/bin/env sh #! /usr/bin/env sh
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd "$SCRIPT_DIR" || exit 1
### How to set up this script: ### How to set up this script:
# #
# This script will not work unless you give it a Github API key. # This script will not work unless you give it a Github API key.
@ -8,7 +11,7 @@
# containing this key as the variable GITHUB_TOKEN. # containing this key as the variable GITHUB_TOKEN.
# github-release-config.sh must also contain: # github-release-config.sh must also contain:
# GITHUB_USERNAME=your github username # GITHUB_USERNAME=your github username
git clean -fdx git clean -fd
git checkout . git checkout .
./unsigned.sh ./unsigned.sh

View File

@ -6,12 +6,12 @@ export JNA_VERSION=5.11.0
#Comment this out to build from an alternate branch or #Comment this out to build from an alternate branch or
# the tip of the master branch. # the tip of the master branch.
VERSIONMAJOR=1 VERSIONMAJOR=1
VERSIONMINOR=7 VERSIONMINOR=8
VERSIONBUILD=7 VERSIONBUILD=0
I2P_VERSION="$VERSIONMAJOR.$VERSIONMINOR.$VERSIONBUILD" I2P_VERSION="$VERSIONMAJOR.$VERSIONMINOR.$VERSIONBUILD"
export I2P_VERSION="$VERSIONMAJOR.$VERSIONMINOR.$VERSIONBUILD" export I2P_VERSION="$VERSIONMAJOR.$VERSIONMINOR.$VERSIONBUILD"
VERSION=i2p-jpackage-1.7.1 VERSION=i2p-1.8.0
export VERSION=i2p-jpackage-1.7.1 export VERSION=i2p-1.8.0
#Uncomment this to build from the tip of the master. #Uncomment this to build from the tip of the master.
#I2P_VERSION=1.8.0 #I2P_VERSION=1.8.0

View File

@ -65,18 +65,17 @@ public class WinLauncher {
System.exit(1); System.exit(1);
} }
if (i2pIsRunning()) {
logger.warning("I2P is already running");
System.exit(0);
}
System.setProperty("i2p.dir.base", programs.getAbsolutePath()); System.setProperty("i2p.dir.base", programs.getAbsolutePath());
System.setProperty("i2p.dir.config", home.getAbsolutePath()); System.setProperty("i2p.dir.config", home.getAbsolutePath());
System.setProperty("router.pid", String.valueOf(ProcessHandle.current().pid())); System.setProperty("router.pid", String.valueOf(ProcessHandle.current().pid()));
logger.info("\t" + System.getProperty("i2p.dir.base") + "\n\t" + System.getProperty("i2p.dir.config") logger.info("\t" + System.getProperty("i2p.dir.base") + "\n\t" + System.getProperty("i2p.dir.config")
+ "\n\t" + System.getProperty("router.pid")); + "\n\t" + System.getProperty("router.pid"));
// do a quick check to see of port 7657 is already occupied
if (i2pIsRunning()) {
logger.warning("I2P is already running");
System.exit(0);
}
// wupp.i2pRouter = new Router(System.getProperties()); // wupp.i2pRouter = new Router(System.getProperties());
logger.info("Router is configured"); logger.info("Router is configured");
@ -91,6 +90,17 @@ public class WinLauncher {
private static boolean i2pIsRunning() { private static boolean i2pIsRunning() {
// check if there's something listening on port 7657 // check if there's something listening on port 7657
// check for the existence of router.ping file, if it's less then 2 minutes old,
// exit
File home = selectHome();
File ping = new File(home, "router.ping");
if (ping.exists()) {
long diff = System.currentTimeMillis() - ping.lastModified();
if (diff < 2 * 60 * 1000) {
logger.info("router.ping exists and is less than 2 minutes old, I2P appears to be running already.");
return true;
}
}
try { try {
InetAddress localhost = InetAddress.getLocalHost(); InetAddress localhost = InetAddress.getLocalHost();
Socket s = new Socket(localhost, 7657); Socket s = new Socket(localhost, 7657);

View File

@ -5,11 +5,38 @@ and they are distributed with this package in the "licenses" directory.
1. MIT License 1. MIT License
* all original material in this repository * all original material in this repository
2. Mozilla Public License 2.0(From Mozilla Installer) 2. Mozilla Public License 2.0(From Mozilla Installer)
* ./i2pbrowser-mozcompat.nsi * ./src/win/i2pbrowser-mozcompat.nsi
3. Modified BSD License(From Tor Browser Bundle) 3. Modified BSD License(From Tor Browser Bundle)
* ./firefox.profile.i2p/user.js * ./src/*/user.js
4. GNU General Public License 2.0(NoScript and HTTPS Everywhere) 4. GNU General Public License 2.0(NoScript and HTTPS Everywhere)
* ./firefox.profile.i2p/extensions/ * ./src/*/extensions/
5. GNU General Public License 3.0(Part of HTTPS Everywhere) 5. GNU General Public License 3.0(Part of HTTPS Everywhere)
* ./firefox.profike.i2p/extensions/https-everywhere@eff.org.xpi * ./src/*/extensions/
6. GNU GPLv2 With Classpath Exception(Java libraries included via Jpackage)
* ./I2P
Additionally, the Jpackaged I2P Router contains software which is licensed
under multiple Free/Open Source Software Licenses.
ABOUT-Jetty.html LICENSE-ECLIPSE-1.0.html
LICENSE-Addressbook.txt LICENSE-ElGamalDSA.txt
LICENSE-Apache2.0.txt LICENSE-FatCowIcons.txt
LICENSE-BlockFile.txt LICENSE-Feather.txt
LICENSE-Boost.txt LICENSE-fontawesome.txt
LICENSE-BSD.txt LICENSE-forked-subprocess.swift.txt
LICENSE-CC0-1.0-Universal.txt LICENSE-Foxtrot.txt
LICENSE-Cryptix.txt LICENSE-FugueIcons.txt
LICENSE-DesktopGUI.txt LICENSE-GPLv2.txt
LICENSE-GPLv3.txt LICENSE-LGPLv2.1.txt
LICENSE-Launch4j.txt LICENSE-SilkIcons.txt
LICENSE-HashCash.txt LICENSE-LGPLv3.txt
LICENSE-I2PTunnel.txt LICENSE-Ministreaming.txt
LICENSE-Identicon.txt LICENSE-NDT.txt
LICENSE-InstallCert.txt LICENSE-Noise.txt
LICENSE-jBCrypt.txt LICENSE-sbt-wrapper.txt
LICENSE-JGoodies-Forms.txt LICENSE-Scala.md
LICENSE-JGoodies-Looks.txt LICENSE-SHA256.txt
NOTICE-Tomcat.txt NOTICE-Jetty.html
LICENSE-UPnP.txt LICENSE-SNTP.txt
LICENSE-Wrapper.txt LICENSE-Undraw.txt
LICENSE-XStream.txt NOTICE-Commons-Logging.txt

View File

@ -11,7 +11,7 @@ prepupdate:
su3: $(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools su3: $(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools
$(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools -name "I2P-Profile-Installer-$(PROFILE_VERSION)-signed" -signer "$(SIGNER)" -version "$(I2P_VERSION)" $(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools -name "I2P-Profile-Installer-$(PROFILE_VERSION)-signed" -signer "$(SIGNER)" -version "$(I2P_VERSION)"
java -cp "$(HOME)/i2p/lib/*" net.i2p.crypto.SU3File sign -c ROUTER -f EXE I2P-Profile-Installer-$(PROFILE_VERSION)-signed.exe I2P-Profile-Installer-$(PROFILE_VERSION)-signed.su3 "$(HOME)/.i2p-plugin-keys/news-su3-keystore.ks" "$(I2P_VERSION)" $(SIGNER) java -cp "$(HOME)/i2p/lib/*" net.i2p.crypto.SU3File sign -c ROUTER -f EXE I2P-Profile-Installer-$(PROFILE_VERSION)-signed.exe I2P-Profile-Installer-$(PROFILE_VERSION)-signed.su3 "$(HOME)/.i2p-plugin-keys/news-su3-keystore.ks" $(PROFILE_VERSION) $(SIGNER)
i2pwinupdate.su3.torrent: prepupdate su3 i2pwinupdate.su3.torrent: prepupdate su3
mktorrent \ mktorrent \
@ -22,11 +22,11 @@ i2pwinupdate.su3.torrent: prepupdate su3
torrent: i2pwinupdate.su3.torrent torrent: i2pwinupdate.su3.torrent
releases.json: torrent releases.json:
@echo "[" | tee ../i2p.newsxml/data/win/beta/releases.json @echo "[" | tee ../i2p.newsxml/data/win/beta/releases.json
@echo " {" | tee -a ../i2p.newsxml/data/win/beta/releases.json @echo " {" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"date\": \"$(I2P_DATE)\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json @echo " \"date\": \"$(I2P_DATE)\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"version\": \"$(I2P_VERSION)\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json @echo " \"version\": \"$(PROFILE_VERSION)\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"minVersion\": \"1.5.0\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json @echo " \"minVersion\": \"1.5.0\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"minJavaVersion\": \"1.8\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json @echo " \"minJavaVersion\": \"1.8\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"updates\": {" | tee -a ../i2p.newsxml/data/win/beta/releases.json @echo " \"updates\": {" | tee -a ../i2p.newsxml/data/win/beta/releases.json

View File

@ -1,4 +1,7 @@
#!/bin/bash #!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd "$SCRIPT_DIR" || exit 1
./unsigned.sh ./unsigned.sh
./sign.sh ./sign.sh

View File

@ -1,5 +1,8 @@
#!/bin/bash #!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd "$SCRIPT_DIR" || exit 1
. i2pversion . i2pversion
if [ -f i2pversion_override ]; then if [ -f i2pversion_override ]; then

View File

@ -1 +1 @@
1.7.7 1.8.0

View File

@ -36,7 +36,7 @@ SetOverwrite on
InstallDir "$PROGRAMFILES64\${COMPANYNAME}\${APPNAME}" InstallDir "$PROGRAMFILES64\${COMPANYNAME}\${APPNAME}"
# rtf or txt file - remember if it is txt, it must be in the DOS text format (\r\n) # rtf or txt file - remember if it is txt, it must be in the DOS text format (\r\n)
LicenseData "licenses\LICENSE.index" LicenseData "licenses\LICENSE.txt"
# This will be in the installer/uninstaller's title bar # This will be in the installer/uninstaller's title bar
Name "${COMPANYNAME} - ${APPNAME}" Name "${COMPANYNAME} - ${APPNAME}"
Icon ui2pbrowser_icon.ico Icon ui2pbrowser_icon.ico
@ -129,7 +129,7 @@ RequestExecutionLevel user
PageEx license PageEx license
licensetext "${LICENSE_TITLE}" licensetext "${LICENSE_TITLE}"
licensedata "licenses\LICENSE.index" licensedata "licenses\LICENSE.txt"
#PageCallbacks elevatorCallback #PageCallbacks elevatorCallback
PageExEnd PageExEnd
PageEx directory PageEx directory

View File

@ -1 +1 @@
!define I2P_VERSION 1.7.7 !define I2P_VERSION 1.8.0

View File

@ -1,3 +1,3 @@
!define VERSIONMAJOR 1 !define VERSIONMAJOR 1
!define VERSIONMINOR 7 !define VERSIONMINOR 8
!define VERSIONBUILD 7 !define VERSIONBUILD 0

View File

@ -1 +1 @@
1.7.7 1.8.0

View File

@ -3,14 +3,15 @@
SET MYPATH=%~dp0 SET MYPATH=%~dp0
call "%MYPATH%common.bat" call "%MYPATH%common.bat"
echo "check if I2P is already running" echo "check if I2P is already running"
::only launch I2P if the proxy is not up on 4444 ::only launch I2P if the proxy is not up on 4444
netstat /o /a /n | findstr "LISTENING" | findstr "4444" >nul 2>nul && ( netstat /o /a /n | findstr "LISTENING" | findstr "7657" >nul 2>nul && (
echo "I2P is already running, not launching" echo "I2P is already running, not launching"
) || ( ) || (
echo "I2P is not running, launching" echo "I2P is not running, launching"
echo start "i2p" /D "%I2PPath%" i2p.exe echo start "i2p" /D %I2PPath% i2p.exe
start "i2p" /D "%I2PPath%" i2p.exe start "i2p" /D %I2PPath% i2p.exe
) )

3
unsigned.sh Normal file → Executable file
View File

@ -1,5 +1,8 @@
#!/bin/bash #!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd "$SCRIPT_DIR" || exit 1
./clean.sh ./clean.sh
wsl make distclean wsl make distclean
wsl make clean-extensions wsl make clean-extensions