Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
166 commits
Select commit Hold shift + click to select a range
21ba96a
Add 1.32 beta software version
GerryFerdinandus Apr 9, 2016
79d2887
add: screenshot pictures
GerryFerdinandus Sep 24, 2016
6072c8a
fix: broken url link to picture
GerryFerdinandus Sep 24, 2016
4e2907e
fix: bencode API. string -> UTF8String
GerryFerdinandus Oct 29, 2016
d2cd1e4
refactor: lazarus 1.4 -> 1.6
GerryFerdinandus Oct 29, 2016
93c2724
refactor: upgrade from 1.44 to 1.6
GerryFerdinandus Oct 29, 2016
0fc5fd0
refactor: upgrade travis to ubuntu 14.04
GerryFerdinandus Oct 29, 2016
88048e0
fix: go back to travis 12.04
GerryFerdinandus Oct 29, 2016
485e1e6
fix: suppress Travis WebLint warning
GerryFerdinandus Nov 4, 2016
3b442a4
fix: update build instruction
GerryFerdinandus Nov 5, 2016
e5e2e2d
update lazarus 1.6.0 -> 1.6.2
GerryFerdinandus Nov 21, 2016
141cf72
fix: Show only validated torrent file
GerryFerdinandus Dec 8, 2016
82b879a
fix: issue #17 program opened by dragging a file
GerryFerdinandus Dec 8, 2016
02416df
update submodule travis-lazarus
GerryFerdinandus Dec 9, 2016
9a4cd17
fix: downgrade linux build (1.6.2 -> 1.6.0)
GerryFerdinandus Dec 9, 2016
079ba02
add macOS lazarus icon to app bundle
GerryFerdinandus Dec 11, 2016
cbb5480
chore: change name 'Mac OS X' to 'macOS'
GerryFerdinandus Dec 11, 2016
248d909
Chore: Add download link for trackers
GerryFerdinandus Dec 21, 2016
baedf57
fix: issue #18 Need sanitize URL tracker
GerryFerdinandus Dec 21, 2016
9462f27
update submodule for ubuntu 14.04
GerryFerdinandus Dec 24, 2016
ca7cb51
Update for build with Ubuntu 14.04
GerryFerdinandus Dec 24, 2016
256dac6
chore: rename zip file 'OS X' to 'macOS'
GerryFerdinandus Dec 24, 2016
5e7caaf
chore: add url link to newtrackon.com
GerryFerdinandus Apr 27, 2017
70fc9a1
fix: Issue #20 support ws:// and wss://
GerryFerdinandus Apr 27, 2017
73597f8
Issue #19 Randomize tracker order for each torrent file
GerryFerdinandus Apr 27, 2017
e12ae22
Update version (1.32.0-RC.4) -> (1.32.0-RC.5)
GerryFerdinandus Apr 27, 2017
82adca5
fix: new travis api key
GerryFerdinandus Apr 29, 2017
2ee1fb1
chore: update text for 1.32.0.RC.5
GerryFerdinandus Apr 29, 2017
1939151
Update version (1.32.0-RC.5) -> (1.32.0)
GerryFerdinandus May 13, 2017
ea4f5c0
chore: update text for 1.32
GerryFerdinandus May 13, 2017
c9a8953
chore: use icon to show the software latest release
GerryFerdinandus Sep 1, 2017
6b4c101
feat: add OpenSSL 1.0.2L (windows)
GerryFerdinandus Sep 3, 2017
93935c9
fix: ignore bakup file
GerryFerdinandus Sep 3, 2017
20d689f
feat: add NewTrackon API routine
GerryFerdinandus Sep 3, 2017
bcac504
feat: add unit test project
GerryFerdinandus Sep 5, 2017
1035b85
feat: add unit test startup script
GerryFerdinandus Sep 5, 2017
1ea2065
feat: add appveyor file
GerryFerdinandus Sep 5, 2017
7e234b9
chore: add git submodule in AppVeyor
GerryFerdinandus Sep 25, 2017
c78d1aa
feat: add test torrent files
GerryFerdinandus Sep 25, 2017
3b9e03d
chore: show AppVeyor build status
GerryFerdinandus Sep 25, 2017
a8f686b
refactor: newtracon.pas
GerryFerdinandus Sep 25, 2017
22d6312
feat: add ngosang_trackerlist.pas
GerryFerdinandus Sep 25, 2017
9a99c00
refactor: test_newtrackon.pas
GerryFerdinandus Sep 25, 2017
8546f26
feat: add test for startup parameter
GerryFerdinandus Sep 25, 2017
281d33e
chore: remove obsolete test.bat files
GerryFerdinandus Sep 25, 2017
3e70765
fix: add folder enduser before filename
GerryFerdinandus Sep 26, 2017
49d76f2
chore: change from xcode 8.3 to 9
GerryFerdinandus Sep 27, 2017
110ac22
refactor: main.pas
GerryFerdinandus Sep 27, 2017
04c981e
fix: Assert COLUMN_COUNT compare.
GerryFerdinandus Sep 29, 2017
8084e9b
chore: build in debug mode
GerryFerdinandus Sep 29, 2017
7bb09ba
chore: Add project Debug build mode
GerryFerdinandus Sep 29, 2017
7a082b3
chore: build in debug and release mode
GerryFerdinandus Sep 29, 2017
014f639
fix: if exeption then shutdown the console
GerryFerdinandus Oct 6, 2017
c74f599
chore: a Bash script for testing under Ubuntu
GerryFerdinandus Oct 6, 2017
8dafb54
fix: ignore check for HTTPS download
GerryFerdinandus Oct 6, 2017
5c9f940
fix: compiler warning variable not initialize
GerryFerdinandus Oct 6, 2017
66e5e4d
[Issue #21] Verify status of public trackers.
GerryFerdinandus Oct 9, 2017
8d7e394
chore: add working trackers
GerryFerdinandus Oct 10, 2017
ba1046c
add: text about issue 21
GerryFerdinandus Oct 9, 2017
eecddfb
chore: add new feature item
GerryFerdinandus Oct 10, 2017
5a4a1aa
chore: add working trackers
GerryFerdinandus Oct 10, 2017
f51a816
chore: update picture to V1.33
GerryFerdinandus Oct 10, 2017
20e0670
Update version (1.32.0) -> (1.33.0.beta.1)
GerryFerdinandus Oct 11, 2017
2fb6dd7
fix: create new travis deployment key
GerryFerdinandus Oct 11, 2017
1bc7d09
fix: remove exit in bash script
GerryFerdinandus Oct 11, 2017
dabc5b3
chore: clean up unused command
GerryFerdinandus Oct 11, 2017
5f021b1
fix: notify some missing test
GerryFerdinandus Oct 11, 2017
bf3adb2
fix: cleanup files after testing
GerryFerdinandus Oct 12, 2017
3824800
fix: Randomize must be called one time
GerryFerdinandus Oct 13, 2017
3b65908
feature: Show error if torrent file failed to reload
GerryFerdinandus Oct 13, 2017
5c72aa4
chore: add .gitignore in project folder
GerryFerdinandus Oct 14, 2017
1617503
feature: add TrackerURLWithAnnounce()
GerryFerdinandus Oct 14, 2017
5fcc46b
fix: Tracker URL should end with /announce
GerryFerdinandus Oct 14, 2017
e6e4b86
feature: add show openSSL version
GerryFerdinandus Oct 14, 2017
19d49bc
refactor: constant file names
GerryFerdinandus Oct 15, 2017
c31b929
refactor: must use the same constant as main.pas
GerryFerdinandus Oct 15, 2017
cc16aed
refactor: console() function
GerryFerdinandus Oct 15, 2017
a9c5ad6
chore: travis.yml must use project variable
GerryFerdinandus Oct 15, 2017
9189a84
feature: add test for '/announce' missing
GerryFerdinandus Oct 15, 2017
3735c44
feature: add LoadConsoleLog() function
GerryFerdinandus Oct 15, 2017
e8d279b
feature: use LoadConsoleLog() function
GerryFerdinandus Oct 15, 2017
82694b5
fix: test should download tracker one time
GerryFerdinandus Oct 18, 2017
2352459
[Issue #22] Wrong tracker URL format unselected
GerryFerdinandus Oct 18, 2017
4ee4b45
[Issue #23] Upload trackers to newTrackon
GerryFerdinandus Oct 20, 2017
262013c
refactor: update test for the new function name
GerryFerdinandus Oct 20, 2017
e93561d
chore: update READ.ME with 1.33.0.beta.2
GerryFerdinandus Oct 20, 2017
504c7af
Update version (1.33.0.beta.1) -> (1.33.0.beta.2)
GerryFerdinandus Oct 20, 2017
2fe4131
fix: add secure key back in .travis.yml
GerryFerdinandus Oct 20, 2017
188a0aa
fix: restore deploy without variable
GerryFerdinandus Oct 20, 2017
f30a8c9
chore: update version.txt
GerryFerdinandus Oct 20, 2017
013481a
chore: Add wss://tracker.openwebtorrent.com
GerryFerdinandus Oct 24, 2017
dd5953b
feature: add WebTorrentTrackerURL() function
GerryFerdinandus Oct 24, 2017
2fa13bc
[Issue #24] WebTorrent do not have '/announce'
GerryFerdinandus Oct 24, 2017
b79b8b7
feature: add more test for tracker URL
GerryFerdinandus Oct 24, 2017
46ace41
Update version (1.33.0.beta.2) -> (1.33.0.beta.3)
GerryFerdinandus Oct 25, 2017
fc5a7f5
Small typos
CorralPeltzer Oct 26, 2017
22959a3
Merge pull request #25 from CorralPeltzer/patch-1
GerryFerdinandus Oct 27, 2017
a2e51de
fix: broken drag/drop to desktop link
GerryFerdinandus Oct 28, 2017
8e78ed7
update appveyor to latest beta lazarus 1.8.0.RC5
GerryFerdinandus Oct 28, 2017
c303ba7
refactor: add ShowUserErrorMessage()
GerryFerdinandus Oct 28, 2017
e144cd9
chore: remove appveyor file
GerryFerdinandus Oct 28, 2017
59d8a2d
refactor: add controler_treeview_torrent_data.pas
GerryFerdinandus Nov 4, 2017
e86563a
refactor: use controler_treeview_torrent_data.pas
GerryFerdinandus Nov 4, 2017
84b70de
fix: error string out of range
GerryFerdinandus Nov 5, 2017
8e58905
feature: add trackers upload API test
GerryFerdinandus Nov 5, 2017
fd8aa71
chore: update to the lastest travis-lazarus
GerryFerdinandus Nov 5, 2017
4370f32
chore: remove via linux wine build
GerryFerdinandus Nov 5, 2017
2a4dd06
chore: update project to Lazarus 1.8.0RC5
GerryFerdinandus Nov 5, 2017
990dce2
Update version (1.33.0.beta.3) -> (1.33.0.beta.4)
GerryFerdinandus Nov 5, 2017
36b5c8d
chore: remove Windows wine build text
GerryFerdinandus Nov 5, 2017
3278d67
fix: missing 'Created On:' date/time treeview
GerryFerdinandus Nov 5, 2017
97b28ec
chore: add compiler version
GerryFerdinandus Nov 12, 2017
cefd235
chore: add torrent console parameter number in the menu
GerryFerdinandus Nov 12, 2017
79d15fb
feature: add menu link to newTrackon site
GerryFerdinandus Nov 12, 2017
7d24260
[Issue #27] add support for '/announce.php'
GerryFerdinandus May 27, 2018
ad3fb49
Update version (1.33.0.beta.4) -> (1.33.0.beta.5)
GerryFerdinandus May 27, 2018
c9c0d82
change ubuntu trusty -> xenial
GerryFerdinandus Apr 27, 2019
c7f97c8
[Issue #35] add support for ngosang via menu
GerryFerdinandus Aug 24, 2019
ff5c2e4
feature: add extra tabpage for private torrent
GerryFerdinandus Aug 24, 2019
0b3b65f
chore: add SPDX-License-Identifier
GerryFerdinandus Aug 27, 2019
46cd7e2
chore: add "Please use the latest version"
GerryFerdinandus Sep 1, 2019
680a84e
fix: wrong -U8 in the menu item
GerryFerdinandus Sep 1, 2019
9e7ac71
Add (-SAC) to the form caption
GerryFerdinandus Sep 2, 2019
35da8b0
fix console mode -SAC being not process
GerryFerdinandus Sep 2, 2019
1715174
create function CheckForAnnounce()
GerryFerdinandus Sep 2, 2019
032a235
Update unit test for -SAC
GerryFerdinandus Sep 5, 2019
664bb78
chore: update version.txt
GerryFerdinandus Sep 5, 2019
7944f58
chore: update readme.txt with linux example
GerryFerdinandus Sep 5, 2019
32c4428
chore: remove tracker.leechers-paradise.org
GerryFerdinandus Sep 5, 2019
7924f22
update to latest version
GerryFerdinandus Sep 5, 2019
cb2219f
update: xenial -> bionic
GerryFerdinandus Sep 5, 2019
2c48a62
Add: provider Amazon S3
GerryFerdinandus Sep 7, 2019
989782e
Build must use lazarus 1.82 and 2.04
GerryFerdinandus Sep 7, 2019
fab4d2d
Skip unit test 'startup parameter' for macOS
GerryFerdinandus Sep 7, 2019
049b9de
Cleanup shell script
GerryFerdinandus Sep 7, 2019
75ef357
chore: update readme.md (1.33.0.beta.6)
GerryFerdinandus Sep 8, 2019
9127f8a
chore: add missing issue URL link
GerryFerdinandus Sep 8, 2019
fcd46b0
Add: Use sintel torrent in issue report.
GerryFerdinandus Sep 8, 2019
f6d504c
move RELEASE_ZIP_FILE to .travis.yml
GerryFerdinandus Sep 14, 2019
93e3945
Undo append license text
GerryFerdinandus Sep 14, 2019
a79343b
Remove debug build in .travis.yml
GerryFerdinandus Sep 14, 2019
ccb2c04
add: Acknowledgment text for OpenSSL
GerryFerdinandus Sep 14, 2019
22af5f9
update to the latest version
GerryFerdinandus May 20, 2020
5af0325
disable startup parameter for AArch64
GerryFerdinandus May 20, 2020
de93657
Add: install zip package in AArch64 server.
GerryFerdinandus May 20, 2020
1a00d0c
Add: start linux xvfb-run for unit test
GerryFerdinandus May 20, 2020
4176fa4
update: travis.yml with linux AArch64 build.
GerryFerdinandus May 20, 2020
4eef43b
add: windows build
GerryFerdinandus May 21, 2020
249624d
add: macOS sign and notarize process.
GerryFerdinandus May 29, 2020
e6e1354
fix: macOS do not create a new file inside app folder
GerryFerdinandus May 30, 2020
c82af9b
update to the latest travis-lazarus
GerryFerdinandus May 31, 2020
59bcc7b
travis: use choco 32bit package
GerryFerdinandus Jun 2, 2020
ea86991
add: startup parameter -TEST_SSL
GerryFerdinandus Jun 2, 2020
c1519fa
add: snap .desktop file
GerryFerdinandus Jun 18, 2020
e240dc8
add: detect Ubuntu snap process
GerryFerdinandus Jun 20, 2020
6ef46e8
add: Writeln to test setup
GerryFerdinandus Jun 20, 2020
26f5b53
add: snapcraft.yaml
GerryFerdinandus Jun 20, 2020
7155c4b
snapcraft add more package
GerryFerdinandus Jun 20, 2020
454b239
snapscaft use core18
GerryFerdinandus Jun 20, 2020
ade76c7
add: snapcraft openssl
GerryFerdinandus Jun 20, 2020
f76d2a1
snap: remove i386 version
GerryFerdinandus Jun 20, 2020
d966f8c
Update Reedme.md with snapcraft build status
GerryFerdinandus Jun 20, 2020
0483a90
update Readme.md for linux snap folder
GerryFerdinandus Jun 21, 2020
1e5be4d
snap: add i386
GerryFerdinandus Jun 22, 2020
606512f
Update README.md
GerryFerdinandus Jul 11, 2020
89307ee
Update README.md
GerryFerdinandus Jul 11, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
add: macOS sign and notarize process.
  • Loading branch information
GerryFerdinandus committed May 29, 2020
commit 249624dbefdbbf68ebc4104f99ebcdaa1f8301a4
12 changes: 12 additions & 0 deletions enduser/macos/entitlements.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
</dict>
</plist>
36 changes: 36 additions & 0 deletions scripts/travis_add_macos_cert.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/usr/bin/env sh

#must run on griet server only
if [ -z "${TRAVIS}" ]
then
echo "This is not TRAVIS CI build server "
exit 1
fi

# secure/hidden variable from travis
# CERTIFICATE_OSX_P12
# CERTIFICATE_PASSWORD


# constant variable
KEY_CHAIN=build.keychain
CERTIFICATE_P12=certificate.p12

# Recreate the certificate from the secure environment variable
echo $CERTIFICATE_OSX_P12 | base64 --decode > $CERTIFICATE_P12

# create a keychain
security create-keychain -p travis $KEY_CHAIN

# Make the keychain the default so identities are found
security default-keychain -s $KEY_CHAIN

# Unlock the keychain
security unlock-keychain -p travis $KEY_CHAIN

security import $CERTIFICATE_P12 -k $KEY_CHAIN -P $CERTIFICATE_PASSWORD -T /usr/bin/codesign;

security set-key-partition-list -S apple-tool:,apple: -s -k travis $KEY_CHAIN

# remove certs
rm -fr *.p12
14 changes: 4 additions & 10 deletions scripts/travis_deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,13 @@ elif [ "$TRAVIS_OS_NAME" = "osx" ]
then
# Apple macOS
echo "Building zip file for macOS"
cd enduser

# Move the executable to the application bundle
mv trackereditor trackereditor.app/Contents/MacOS
# Add certificate into the macOS system
source ./scripts/travis_add_macos_cert.sh

# Move the trackers list to application bundle
mv add_trackers.txt trackereditor.app/Contents/MacOS
mv remove_trackers.txt trackereditor.app/Contents/MacOS
# sign + zip the app
source ./scripts/travis_sign_macos_app.sh

# Create the zip file.
zip -j ../$RELEASE_ZIP_FILE *.txt
zip -r ../$RELEASE_ZIP_FILE trackereditor.app
cd ..
elif [ "$TRAVIS_OS_NAME" = "windows" ]
then
# Windows
Expand Down
142 changes: 142 additions & 0 deletions scripts/travis_sign_macos_app.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
#!/usr/bin/env sh

# secure/hidden variable from travis
#CERTIFICATE_ID="..."
#USERNAME="..."
#APP_SPECIFIC_PASSWORD="..."
#RELEASE_ZIP_FILE="..."

# path to app
FILE_APP='enduser/macos/app/trackereditor.app'
PLISTBUDDY_APP='/usr/libexec/PlistBuddy'

if [ ! -x "${PLISTBUDDY_APP}" ]
then
echo "Couldn't find PlistBuddy"
exit 1
fi

# copy everything into enduser/macos/app folder
#
# Move the executable to the application bundle
mv enduser/trackereditor enduser/macos/app/trackereditor.app/Contents/MacOS

# Move the trackers list to application bundle
mv enduser/add_trackers.txt enduser/macos/app/trackereditor.app/Contents/MacOS
mv enduser/remove_trackers.txt enduser/macos/app/trackereditor.app/Contents/MacOS

# move all the *.txt file
mv enduser/*.txt enduser/macos/app

# sign the app. -sign is the developer cetificate ID
# entitlements does not work at this moment
#codesign --timestamp --entitlements enduser/macos/entitlements.plist --force --options runtime --deep --sign $CERTIFICATE_ID $FILE_APP
codesign --timestamp --force --options runtime --deep --sign $CERTIFICATE_ID $FILE_APP

# Check exit code
exit_code=$?
if [ "${exit_code}" != "0" ]
then
echo "codesign failed: ${exit_code}"
exit 1
fi

#must use ditto to compress the file application folder only for notarize. Zip program will not work!
/usr/bin/ditto -c -k --keepParent "$FILE_APP" "$RELEASE_ZIP_FILE"

# upload zip to notarize service. for RequestUUID
# -- username is the normal apple ID. example [email protected]
# -- password is 'app specific password' generated via apple web site. Security -> app-specific password
echo "Uploading to notarize server"
xcrun altool --notarize-app --output-format xml --primary-bundle-id "trackereditor" --username $USERNAME --password $APP_SPECIFIC_PASSWORD --file $RELEASE_ZIP_FILE > "result.plist"

# remove the uploaded zip file. need to be created again later.
rm $RELEASE_ZIP_FILE


# Check exit code
exit_code=$?
if [ "${exit_code}" != "0" ]
then
echo "notarize-app failed: ${exit_code}"
cat "result.plist"
exit 1
fi

# Get the RequestUUID
RequestUUID="$("${PLISTBUDDY_APP}" -c "Print notarization-upload:RequestUUID" "result.plist")"
echo "RequestUUID: ${RequestUUID}"

# wait till notarize apple server is finish with the processing the zip upload.
for (( ; ; ))
do

# get status from apple notarize server
xcrun altool --output-format xml --notarization-info "${RequestUUID}" -u $USERNAME -p $APP_SPECIFIC_PASSWORD > "result.plist"
# Check exit code
exit_code=$?
if [ "${exit_code}" != "0" ]
then
echo "notarization-info failed: ${exit_code}"
cat "result.plist"
# print the error in the URL
LogFileURL="$("${PLISTBUDDY_APP}" -c "Print notarization-info:LogFileURL" "result.plist")"
if [ ! -z "${LogFileURL}" ]
then
curl "${LogFileURL}"
fi
exit 1
fi

# get the status.
StatusCode="$("${PLISTBUDDY_APP}" -c "Print notarization-info:Status" "result.plist")"
echo "Status: ${StatusCode}"

# if no status code present in result then it is still busy
if [ "${StatusCode}" == "in progress" ]
then
sleep 15
else
echo "Finish waiting."
#cat "result.plist"
# Check if everything is correct
StatusCode="$("${PLISTBUDDY_APP}" -c "Print notarization-info:'Status Code'" "result.plist")"
echo "Status code: ${StatusCode}"
if [ "${StatusCode}" == "0" ]
then
# there are no error.
break
else
# print the error in the URL
LogFileURL="$("${PLISTBUDDY_APP}" -c "Print notarization-info:LogFileURL" "result.plist")"
if [ ! -z "${LogFileURL}" ]
then
curl "${LogFileURL}"
fi
exit 1
fi
fi
done

# verify sign *.app is succes full
spctl --assess --type execute --verbose $FILE_APP
# Check exit code
exit_code=$?
if [ "${exit_code}" != "0" ]
then
echo "spctl failed: ${exit_code}"
exit 1
fi

# staple the *.app
xcrun stapler staple $FILE_APP
# Check exit code
exit_code=$?
if [ "${exit_code}" != "0" ]
then
echo "spctl stapler: ${exit_code}"
exit 1
fi

# zip only the app folder with extra text file.
/usr/bin/ditto -c -k "enduser/macos/app" "$RELEASE_ZIP_FILE"