An easy way to visit ipfs mesh sites
This commit is contained in:
parent
045453e9ec
commit
c1debe2a20
Binary file not shown.
After Width: | Height: | Size: 1.1 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
|
||||
|
|
|
@ -0,0 +1,79 @@
|
|||
#!/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
|
||||
|
|
Loading…
Reference in New Issue