Skip to content
Snippets Groups Projects
Commit c1debe2a authored by Bob Mottram's avatar Bob Mottram
Browse files

An easy way to visit ipfs mesh sites

parent 045453e9
No related branches found
No related tags found
No related merge requests found
img/avatars/ipfs.jpg

1.14 KiB

......@@ -775,6 +775,16 @@ if [ \$no_of_users -gt 0 ]; then
chmod +x /home/$MY_USERNAME/Desktop/Users.desktop
chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Desktop/Users.desktop
if [ -f /home/$MY_USERNAME/.ipfs-users ]; then
echo 'Type=Application' >> /home/$MY_USERNAME/Desktop/sites.desktop
echo 'Comment=Visit a site' >> /home/$MY_USERNAME/Desktop/sites.desktop
echo 'Exec=bash /usr/local/bin/freedombone-mesh-visit-site' >> /home/$MY_USERNAME/Desktop/sites.desktop
echo 'Icon=/usr/share/freedombone/avatars/ipfs.jpg' >> /home/$MY_USERNAME/Desktop/sites.desktop
echo 'StartupNotify=false' >> /home/$MY_USERNAME/Desktop/sites.desktop
chmod +x /home/$MY_USERNAME/Desktop/sites.desktop
chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Desktop/sites.desktop
fi
if [ ! -f /home/$MY_USERNAME/runtox ]; then
echo 'qtox_running=\$(ps aux | grep qtox | grep data)' > /home/$MY_USERNAME/runtox
echo 'if [ \${#qtox_running} -eq 0 ]; then' >> /home/$MY_USERNAME/runtox
......@@ -801,6 +811,9 @@ else
if [ -f /home/$MY_USERNAME/Desktop/Users.desktop ]; then
rm /home/$MY_USERNAME/Desktop/Users.desktop
fi
if [ -f /home/$MY_USERNAME/Desktop/sites.desktop ]; then
rm /home/$MY_USERNAME/Desktop/sites.desktop
fi
if [ -f /home/$MY_USERNAME/Desktop/tox.desktop ]; then
rm /home/$MY_USERNAME/Desktop/tox.desktop
fi
......
#!/bin/bash
#
# .---. . .
# | | |
# |--- .--. .-. .-. .-.| .-. .--.--. |.-. .-. .--. .-.
# | | (.-' (.-' ( | ( )| | | | )( )| | (.-'
# ' ' --' --' -' - -' ' ' -' -' -' ' - --'
#
# Freedom in the Cloud
#
# Visit ipfs sites by entering a username
#
# License
# =======
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
PROJECT_NAME='freedombone'
export TEXTDOMAIN=${PROJECT_NAME}-mesh-visit-site
export TEXTDOMAINDIR="/usr/share/locale"
IPFS_URL='http://127.0.0.1:8080/ipns'
# The browser application to use
BROWSER=iceweasel
IPFS_USERS_FILE=/home/$USER/.ipfs-users
if [ ! -f $IPFS_USERS_FILE ]; then
exit 0
fi
USERS_FILE=/home/$USER/Users.txt
if [ ! -f $USERS_FILE ]; then
exit 0
fi
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --title $"Visit IPFS site" \
--backtitle $"Freedombone mesh" \
--inputbox $"Enter the username for the site you wish to visit" 8 60 2>$data
sel=$?
case $sel in
0)
TOX_USERNAME=$(<$data)
if [ ${#TOX_USERNAME} -gt 0 ]; then
if ! grep -q "$TOX_USERNAME" $USERS_FILE; then
dialog --title $"Visit IPFS site" \
--backtitle $"Freedombone mesh" \
--msgbox $"The user '$TOX_USERNAME' was not found on the mesh" 8 60
exit 2
fi
TOX_ID=$(cat "$USERS_FILE" | grep "$TOX_USERNAME" | head -n 1 | awk -F ' ' '{print $2}')
if ! grep -q "$TOX_ID" $IPFS_USERS_FILE; then
dialog --title $"Visit IPFS site" \
--backtitle $"Freedombone mesh" \
--msgbox $"An IPFS site was not found for the user '$TOX_USERNAME'" 8 60
exit 3
fi
IPFS_FULL_URL=${IPFS_URL}/$(cat "$IPFS_USERS_FILE" | grep $TOX_ID | head -n 1 | awk -F ':' '{print $2}')
$BROWSER $IPFS_FULL_URL
else
exit 1
fi
;;
esac
exit 0
......@@ -56,7 +56,6 @@ IPFS_PATH=/usr/bin
IPFS_COMMAND=$IPFS_PATH/ipfs
IPFS_USERS_FILE=/home/$MY_USERNAME/.ipfs-users
IPFS_PUBLIC=/home/$MY_USERNAME/.ipfs-public
IPFS_URL='http://127.0.0.1:8080/ipns'
MY_BLOG_STR=$"My Blog"
MY_MAIL_STR=$"My Mail"
......@@ -133,10 +132,7 @@ function ipfs_bootstrap {
ipfs_tox_id=$(echo "$ipfs_txt" | awk -F ':' '{print $2}')
$IPFS_COMMAND bootstrap add /ip4/${address}/tcp/${IPFS_PORT}/ipfs/${ipfs_peer_id}
if [ -d /home/$MY_USERNAME/Desktop ]; then
if grep -q "$ipfs_tox_id" $TOX_USERS_FILE; then
ipfs_tox_nick=$(cat $TOX_USERS_FILE | grep $ipfs_tox_id | awk -F ' ' '{print $1}')
echo "$ipfs_tox_nick:${IPFS_URL}/$ipfs_peer_id" >> ${IPFS_USERS_FILE}.new
fi
echo "$ipfs_tox_id:$ipfs_peer_id" >> ${IPFS_USERS_FILE}.new
fi
state=0
fi
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment