[Guide] Maptools for Android | Confirmed Working+Easy Script

Doc requests, organization, and submissions

Moderators: dorpond, trevor, Azhrei

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: [Guide] Maptools for Android | Confirmed Working+Easy Sc

Post by wolph42 »

Good update of the OP, however the images are still not showing! They only show when you are logged in in google and using chrome (which aint everyone). Maybe you should move them to photobucket or such?

User avatar
S0AndS0
Cave Troll
Posts: 60
Joined: Wed May 22, 2013 3:15 am
Location: USA
Contact:

Re: [Guide] Maptools for Android | Confirmed Working+Easy Sc

Post by S0AndS0 »

wolph42 wrote:Good update of the OP, however the images are still not showing! They only show when you are logged in in google and using chrome (which aint everyone). Maybe you should move them to photobucket or such?
Thanks; I'll be re-writing the OP in the next few days and I've got a photobucket account under the same username now and will be moving the screen caps over, likely by the end of the day today :-)

Updated 6pm- got the photobucket thing working and re-wrote OP a little as well as hiding the screen caps behind a spoiler to keep load times down for dial-up users and updated posty 3 with the other device I've tested this fully on. Also figured out the "code" wraper :roll: so that'll keep me from quoting the nameless.
I have ported Maptools Mobile for Android.
link to guide to do it yourself step by step
Maptools on ARM (Android & Pi)
or
rptools [Guide] thread
link to script to use after using section 1 of above guide
My github Repos
You may contact me through the document that I'm writing or though email or through one of the mirrors that I've posted this information on for public viewing such as XDA Developers or through PM through this very site.

arusiasotto
Kobold
Posts: 7
Joined: Fri Feb 28, 2014 12:30 am

Re: [Guide] Maptools for Android | Confirmed Working+Easy Sc

Post by arusiasotto »

Well,,that streamlines the process greatly, however, my system still doesn't recognize java. any attempt to run the commands ends with it not found.

User avatar
S0AndS0
Cave Troll
Posts: 60
Joined: Wed May 22, 2013 3:15 am
Location: USA
Contact:

Re: [Guide] Maptools for Android | Confirmed Working+Easy Sc

Post by S0AndS0 »

arusiasotto wrote:Well,,that streamlines the process greatly, however, my system still doesn't recognize java. any attempt to run the commands ends with it not found.
Updated script again, hopefully I found the issues, be sure that you're running Debian Squeeze and running as a "normal" user with sudo permissions; for example

Code: Select all

adduser newuser
adduser newuser sudo
and log in with

Code: Select all

login newuser
then run the script as the OP or github instruct because the sudo command when running as root user can cause issues with script functions.
I also added a mini how-to in the related Script_Runner on how to manualy set permissions and extract to the corect directory if the find script is still erroring out after this latest github push.

Update 03232014- java download script is down dew to cookie errors again, I'll be pushing updates tonight to fix it again.
Edit few minuets latter- java download script working again, didn't even have to wate :-) However now the installer is barffing on the update alternitive section... will be debugging tonight...
Update latter that night- ok got the bugs out again, both download and install scripts are working flawlessly again. Note I had to change the numbered options to mostly letter combos; this is dew to the new options that I'm adding to the ARM_Linux_Moder script, most are unrelated to Maptools but I do suggest the new tutorial script I'm writing "findNetworking_IPs" under the examples directory; this script is designed to step users through networking with Linux, read it in another window and follow along wile it runs to gain greater understanding of how to connect devices to one another and how to write your own scripts.

Update 03252014- both the hard and soft float installers should be fully debugged (only thing might be the "ln -s" command around line 90) I have also added to the "docs" directory relating spicificly rellating to LilDebi app and Hard Float Linux so check up there if you're looking to run the most cutting edge versions of Linux and Java on your Android devices.
In other news; the Bramble installer is almost fully functional for noobs, it'll get you started and installed but the machien file and your own programs will still nead to be modifide, but I added some assistence for this by linking in the scp helper script I wrote for aiding in trancfering files between devices.
Many more fetures to come; curently working on a setup script for LilDebi to run just after first login becuase certain packages (sudo... really?) are missing and causing errors with my other scripts.

Update 04102014- java installers working now and am working on new fetures.

Update 04172014- Big update here for those that want more capibility out of thier devices wile not running Maptools and a small update about Java.

- new functionalities -
~~~ criptocurancy mining : I've put togeather a script that will help set up a "prof-of-consept" mining rig for bitcoin, litecoin, and others.
https://github.com/S0AndS0/Debian-Kit-M ... oCurancies
Curently I've yet to code any safeties against hardware damage but; for people wondering what bitcoin is and how to get started and are able to read a man page or two this should help in setting up a mining rig. There are 4 different options for programs to install for mining available and curently they use the "make" command, which isn't the best for installation, eventually I'll be putting in options for either apt-get or dpkg installation so your Linux package manager handles dependancies and base configuration.
And I've also put togeather an installer/downloader for one proxy that is available for mining in a pool efishiontly. Note that mining on ARM of bitcoins is seen by that comunity to be inefishent because of the complexity of curent bitcoin problem solving but for litecoin and other less populated "holes" you could make a bit off this rig.
Or if you're a bitcoin only miner I've begun a USB mounting script/tutorial for adding USB mining hardware to your Android Linux enviroment so your rig can do real work on those and your Android just acts as a controller/wallet :-D meaning that in either senerio (CPU mining of "alt-"coins" or USB mining of bitcoins) it is now possible to make a bit of coinage out of unused devices.
And for those (like me) that can't see a reason to invest in extra hardware when I could just rig something up to first make the coins that can then be re-invested in buying the mining hardware; I'll be working on both the Brendal and Open Stack installers so that we can join a bunch of CPU's from Android devices and or PC's to do a little better at CPU mining of bitcoins. Meaning that once I have all the bugs irorned out you can have old upgrades chilling somewhere quietly making you "money" ;-)

~~~ Open Stack : this is still a very "manual" or time intencive process (working on automations) but the script pack I've compiled so far should aid even new users (open a few links wile it's installing in a browser if new) by providing links and tips along the way.
https://github.com/S0AndS0/Debian-Kit-M ... /OpenStack
This is something very experimental and I've yet to see many if anyone else atempting this kind of port method out in public and, providing that the install and networking works for your pile of old devices, will be very powerful. At minimum this will nead 3 devices running Open Stack on the same WiFi network (other networking options will be discussed bellow) which this script pack will aid you in ;) then choose the Linux OS that you want to boot ontop of your personal cloud server, install software, and proffit :-D... oh and for those that don't get why Open Stack is such a big deal, this suiet of packages allow you to make a "vertual computer/server" that runs off not one computing device but as many as you have to dedicate to it! meaning that you can take : one phone and set it up to act as a network/controller node and another to act as storage/compute node and another to act as compute/controller/host : you would end up with esentually a verual dual core processor (unless like me some of your devices have more than one core built in) then as you upgrade to new devices dedicate the old as more compute/storage nodes, add them to your cloud and have even more power :-D in my local area I can find pre-paid Android phones with duel 1Ghtz processors for just under $50 (which is the price of a raspbery pi with sdcard and case) which can be purchesed and added to the cloud without any contract or reocuring fees. Now if that doesn't get your mide a racing just scrole down to the bits about networking options.

~~~ Mounting USB devices from Android's USB OTG ("on the go" is also know as "host mode")
https://github.com/S0AndS0/Debian-Kit-M ... dLinux.txt
https://github.com/S0AndS0/Debian-Kit-M ... RM_USB_OTG
The first link is to a guide I'm working on compiling (nearly done) that aims to quickly educate readers on how to connect devices to thier Android Linux enviroment. This has some cool implicactions when combined with the othe scripts because a USB android to android connection will be more secure and likely faster for Open Stack and ataching mining hardware via USB for faster bitcoin mining is also a possibility. Also for those that want a "spy phone" theres a link in there that should help you lose sleep over ;-)
The second of the above links will eventualy be a sweet script to automaticly handle all of the connection mounting with the least amount of user interaction.
I'm also looking to add a USB hub or two into the mix and have the pins from the hub translate to a simulated GPIO board, which will remove nearly all defferances in owning a Raspbery Pi instead

~~~ Blue tooth scatter net on Android Linux
https://github.com/S0AndS0/Debian-Kit-M ... _Installer
This script (when compleated) will aid in setting up a network over bluetooth greater than 7+1 (one host and seven "slaves") for shairing data, messages, and processor load. This will eventually be incorperated with setting up network bridges combinding either or WiFi/USB so that the bandwith (amount if data that can be passed between devices during a given intervel) will be sinificantly increesed.
There are tons of places/situations that a network like this can be helpful; combined with the USB hacking I'm working on with simulated GPIO we could have networks in homes similar to what the Raspberry Pi and Arduino comunities are doing with home automation, such as turning on and off the lights in a room when you enter or leave a room but leave them on if someone else is still in the room you left; by having your dayly use phone's bluetooth mac address act as a triger for other old Android devices in the network that are connected to the hardware you want to control. But better than that is the price vers fetures you'll get when using Android this way in place of Pi and in some cases in tandem with them; on bord screen and such are why I use old phones before buying extra hardware.

~~~ Java installation through apt-get
http://m.webupd8.org/2013/12/oracle-jav ... t.html?m=1
http://forum.xda-developers.com/showthr ... ?t=2707512
The first link will take you to instructions on how to add thier repo to your Linux system and install with apt-get.
The second link is to where a user from XDA (Thanks mannyvzla;51977711) brought up that indeed these dev's do have an alternet way of installing Java from source; using apt-get. Under the hood though its yet again a download and extract kinda operation; I've yet to dig further into the source though to see if there's any magior differances in thier code.
I have ported Maptools Mobile for Android.
link to guide to do it yourself step by step
Maptools on ARM (Android & Pi)
or
rptools [Guide] thread
link to script to use after using section 1 of above guide
My github Repos
You may contact me through the document that I'm writing or though email or through one of the mirrors that I've posted this information on for public viewing such as XDA Developers or through PM through this very site.

User avatar
S0AndS0
Cave Troll
Posts: 60
Joined: Wed May 22, 2013 3:15 am
Location: USA
Contact:

Re: [Guide] Maptools for Android | Confirmed Working+Easy Sc

Post by S0AndS0 »

[content removed due to external links unrelated to gaming and for being kinda spammy]

I'm still active in checking around here for questions I can answer, so to any reader, feel free to hit me up with questions or requests related to Maptools or any of my other projects.
Last edited by aliasmask on Sat Aug 16, 2014 10:31 pm, edited 1 time in total.
Reason: spam related content removed
I have ported Maptools Mobile for Android.
link to guide to do it yourself step by step
Maptools on ARM (Android & Pi)
or
rptools [Guide] thread
link to script to use after using section 1 of above guide
My github Repos
You may contact me through the document that I'm writing or though email or through one of the mirrors that I've posted this information on for public viewing such as XDA Developers or through PM through this very site.

User avatar
S0AndS0
Cave Troll
Posts: 60
Joined: Wed May 22, 2013 3:15 am
Location: USA
Contact:

Re: [Guide] Maptools for Android | Confirmed Working+Easy Sc

Post by S0AndS0 »

Spoiler
Maptools on RPi
Maptools on RPi
Screenshot_2015-05-24-00-24-27.png (378.86 KiB) Viewed 19598 times
Quick update; Rasperry Pi model B plays Maptools version 1.3.b91 just fine. Though a bit choppy when pipped-out to my Android over xRDP the interface is still workable.
I've attached a screen shot of my RPi running Maptools above. The starter kits for about $70 on Amazon from Canakit (the middle priced one ;-)) came with everything required for headless operation and only required networking setup and download of Maptools software to get up and running. Java 8 was installed by default by the "Noobs" OS installer.

I'll be editing this post with links to the config files used for RPi networking among general headless server tips when I've cleaned up my notes.

Happy hacking and gaming.

For those that cannot wait
interfaces

Code: Select all

sudo nano /etc/network/interfaces

Code: Select all

auto lo
iface lo inet loopback

iface eth0 inet static
address 192.168.1.10
gateway 192.168.1.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8 8.8.4.4

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface wifi1 inet static
	address 192.168.1.10
	gateway 192.168.1.1
	netmask 255.255.255.0
	broadcast 192.168.2.255
	network 192.168.1.0
	dns-nameservers 8.8.8.8 8.8.4.4
wpa_supplicant.conf
Visable Secure

Code: Select all

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Code: Select all

ctrl_interface=/var/run/wpa_supplicant GROUP=netdev
update_config=1
ap_scan=2
eapol_version=1
network={
	ssid="YOUR_NETWORK_NAME"
	psk="YOUR_NETWORK_PASSWORD"
	proto=RSN
	key_mgmt=WPA-PSK
	pairwise=CCMP
	auth_alg=OPEN
	id_str="wifi1"
}
Hidden Secure

Code: Select all

ctrl_interface=/var/run/wpa_supplicant GROUP=netdev
update_config=1
ap_scan=2
eapol_version=1
network={
	ssid="YOUR-SSID-GOES-HERE"
	scan_ssid=1
	proto=WPA2
	pairwise=CCMP
	auth_alg=OPEN
	key_mgmt=WPA-PSK
	psk="YOUR-PASSWORD-GOES-HERE"
	id_str="wifi1"
}
How the above works
The id_str in wpa_supplicant is related to the custom iface in interface file example. You'll want to change the IP address asignmets to match your own NATs settings, but once set you can then use portforwarding on that NAT to reliably forward your static IP :-D
I have ported Maptools Mobile for Android.
link to guide to do it yourself step by step
Maptools on ARM (Android & Pi)
or
rptools [Guide] thread
link to script to use after using section 1 of above guide
My github Repos
You may contact me through the document that I'm writing or though email or through one of the mirrors that I've posted this information on for public viewing such as XDA Developers or through PM through this very site.

arusiasotto
Kobold
Posts: 7
Joined: Fri Feb 28, 2014 12:30 am

Re: [Guide] Maptools for Android | Confirmed Working+Easy Sc

Post by arusiasotto »

With the loss of the DebianKit app, what is the best way to install linux now?

EDIT:
So, I futzed around with it all day. Working with my HP Slate 21.
What I managed to get working was to use Linux Deploy.
https://play.google.com/store/apps/deta ... inuxdeploy
I did a Debian Installation, using GNOME as the UI (Windows guy, not sure what a linux UI is called).
My big hurdle was realizing that by default it seems to install a hard float point version. I think another option was Soft Float Point, but I wasn't sure.
So 6 Linux installs later, I VNC into GNOME, and run your ARM_Linux_Moder, install Hard Float Point. Unfortunately, your Maptool script never seems to unzip the downloaded file, so I had to manually unzip it. Tried it with b91, got it launched and running. I just have to figure out how to make a desktop shortcut of some sort, and My game table will be golden.
This should hold me till I get around to turning my entire glass table into a touchscreen windows machine :3

User avatar
S0AndS0
Cave Troll
Posts: 60
Joined: Wed May 22, 2013 3:15 am
Location: USA
Contact:

Re: [Guide] Maptools for Android | Confirmed Working+Easy Sc

Post by S0AndS0 »

DebianKit is still available via sourceforge; bit more work but still available. I've used LinuxDeploy many moons ago, HardFloat will generally be faster and less power hungery so use that if hardware supports it. I found lxde desktop to be sufficent for GUI related tasks but for the fastest refresh rate+lowest CPU cost you'll likely want to start Maptools without a desktop enviroment X11-forwarding is the key search term there.

Desktop shortcut : change /path/to/maptools.jar

Code: Select all

echo "java -jar /path/to/maptools.jar" | tee -a ~/Desktop/Maptools_Launch
chmod +x ~/Desktop/Maptools_Launch
I do have to fix that installer script; lots has changed than makes java easier to install, been working on making Android host apache websites and have been deep into that.
I have ported Maptools Mobile for Android.
link to guide to do it yourself step by step
Maptools on ARM (Android & Pi)
or
rptools [Guide] thread
link to script to use after using section 1 of above guide
My github Repos
You may contact me through the document that I'm writing or though email or through one of the mirrors that I've posted this information on for public viewing such as XDA Developers or through PM through this very site.

arusiasotto
Kobold
Posts: 7
Joined: Fri Feb 28, 2014 12:30 am

Re: [Guide] Maptools for Android | Confirmed Working+Easy Sc

Post by arusiasotto »

I will definitely look into using X-11 Forwarding via SSH. VNC is kind of bugging me...

Just not very Linux-fluent. I mostly have to use it when modifying Android files.

arusiasotto
Kobold
Posts: 7
Joined: Fri Feb 28, 2014 12:30 am

Re: [Guide] Maptools for Android | Confirmed Working+Easy Sc

Post by arusiasotto »

Alright. Success!
So, steps I took, for a simple installation.
1) Linux Deploy
https://play.google.com/store/apps/deta ... inuxdeploy
Download this. Select a flavor of linux you are comfortable with, but Debian seems to be the most stable. Check the installation options. By default it installs a Hard Float Point. All well and good, just remember if thats what you chose later. I installed the image on an SD card, as the file is 4gb. Installation takes a while. Roll a new bard. Once done, Click the start button at the top right.

2) Connectbot
https://play.google.com/store/apps/deta ... connectbot
Download this. You will need to to setup Java and the like. You could also use VNC, but it's annoying on small screens. default login should be android@localhost:22, the default password is changeme. At this point, go to the OP and follow his command lines to get GIT and install Java. Make sure you install Hard Float or Soft Float to match your Linux install. Skip the Maptool step. It is currently broken.
To download Maptool use this command:

Code: Select all

wget http://download.rptools.net/zip/maptool-1.3.b91.zip
you can change it to any version you like. Then unzip the package.

Code: Select all

unzip maptool-1.3.b91.zip
3) XServer XSDL
https://play.google.com/store/apps/deta ... org.server
Launch it. It should got to a blue screen. Tab out, you'll be back later

4) X Server
https://play.google.com/store/apps/deta ... de.XServer
at this point you could use VNC, but again the interface is counter-intuitive for maptool. The OP recommended X-11 Forwarding, and once I got it to work, sweet mother of Jeebus. Launch X Server. It should piggy back off Connectbot and ask for the same password. When it dumps you to command line you need this command:

Code: Select all

export DISPLAY=:0.0 
Then we launch Maptool. Assuming you've been lazy like me, its in your root folder.

Code: Select all

java -jar maptool-1.3.b91.jar
You should of course change it to the version you downloaded. It will then look like the program is hanging. It's not, we now go back to our last app.

5) Profit!
Go kill some dragons and acquire swag! You only need to do Steps 3 and 4 to launch maptools again. When done, I recommend you close all X Server sessions and stop the Linux Deploy app and exit it. It can use quite a bit of ram.

User avatar
S0AndS0
Cave Troll
Posts: 60
Joined: Wed May 22, 2013 3:15 am
Location: USA
Contact:

Re: [Guide] Maptools for Android | Confirmed Working+Easy Sc

Post by S0AndS0 »

@arusiasotto thank you for that detailed writeup on X-11! I've been struggeling with that way of accessing the GUI of spicific Linux apps, off and on, for a while. One suggestion I've seen is to use SSH's port forwarding commands to forward the server's X11 port (RPi) to an unused local port on the client (Android) mainly for connections flowing accross the general internet. This method of securing the GUI is generaly un-nessasary for connections within the local WiFi, ei using addresses like 192.168.*.* verses 76.76.*.* or domain name, the 192 would be local and 76 would be external. I'll be hosting a guide on the subject in a few days and post a link because one of the other binofits of using SSH's port forwarding is that there's no modifications to the firewall aside from allowing the normal SSH port; much more secure if you're not one to shutdown the RPi between uses. in the mean-time I've included the ruff draft bellow

___________________________________________________________________________________________________

Here's a simple configuration templet pare for SSH server and client relationships that functions as well as starts you off with lots of finite controlles.
The config files have dubble hashes "##" to signify comments vs. commented out options.
These are copy/pastableand will work once following some quick instructions.

sshd_config

Code: Select all

## Package generated configuration file
## See the sshd_config(5) manpage for details

## What ports, IPs and protocols we listen for
Port 22
## Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
## HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
##Privilege Separation is turned on for security
UsePrivilegeSeparation yes

## Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

## Logging
SyslogFacility AUTH
LogLevel INFO

## Authentication:
LoginGraceTime 120
#PermitRootLogin yes
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile	%h/.ssh/authorized_keys

## Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
## For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
## similar for protocol version 2
HostbasedAuthentication no
## Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

## To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

## Change to yes to enable challenge-response passwords (beware issues with
## some PAM modules and threads)
ChallengeResponseAuthentication no

## Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes
PasswordAuthentication no

## Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

## GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

## Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

## Set this to 'yes' to enable PAM authentication, account processing,
## and session processing. If this is enabled, PAM authentication will
## be allowed through the ChallengeResponseAuthentication and
## PasswordAuthentication.  Depending on your PAM configuration,
## PAM authentication via ChallengeResponseAuthentication may bypass
## the setting of "PermitRootLogin without-password".
## If you just want the PAM account and session checks to run without
## PAM authentication, then enable this but set PasswordAuthentication
## and ChallengeResponseAuthentication to 'no'.
UsePAM yes

## Costom server configs
#UseDNS no

AllowUsers pi
  AddressFamily inet
  KeepAlive yes
  TCPKeepAlive yes

## The above are not allowed bellow in Match arguments
##	Modify the script path(s) in ForceCommand to valid paths before uncommenting
##	The bellow matches for pi group but excludes root and any other users listed with !user syntax
## 	Using multiple configs for the same group but differant users allows for fine-grain control of server access

Match Group pi User !root
#  ForceCommand /some/script
  GSSAPIAuthentication no
  GatewayPorts yes
  PermitTunnel yes
  X11Forwarding yes
  AllowTcpForwarding yes
  AllowAgentForwarding yes
  KerberosAuthentication no

## The above the pi group but not root user special configs
## Bellow are configs to deny non-pi group and non-pi users the above options

Match Group !pi User !pi
  GatewayPorts no
  PermitTunnel no
  X11Forwarding no
  AllowTcpForwarding no
  AllowAgentForwarding no

## now to match by address of client connection
## best security can be achieved by adding a user without sudo permissions to handle forwards
##	and then using that account to forward your login attempts to sudo users

## Matching addresses outside local network that are also outside user groups permitted
Match Address *,!192.168.1.0/24 Group !pi User !pi
## Uncomment bellow to force any login matching above rules a non-working shell
#  ForceCommand /bin/false
## Matching addresses outside localhost ie non-forwarded connections
Match Address *,localhost Group !pi User !pi
#  ForceCommand /bin/false
Here is the conpanion config file for the SSH client that gets you started on the more advanced things SSH is capible of.
ssh_config

Code: Select all

## Custom commands list
# # Connect to Pi : Ports int 2222 to Ports ext 9999
## forwarding examples
###		ssh locPI -fN && ssh PI
###		ssh extPI -fN && ssh PI -C
## direct examples
###		ssh LPI
###		ssh EPI
#############################################################

## This is the ssh client system-wide configuration file.  See
## ssh_config(5) for more information.  This file provides defaults for
## users, and the values can be changed in per-user configuration files
## or on the command line.

## Configuration data is parsed as follows:
##  1. command line options
##  2. user-specific file
##  3. system-wide file
## Any configuration value is only changed the first time it is set.
## Thus, host-specific definitions should be at the beginning of the
## configuration file, and defaults at the end.
################
## Connect to pi tunnel
Host PI
    Protocol 2
    Port 9999
    Hostname localhost
    User pi
    IdentityFile ~/.ssh/id_rsa
## RPi local connection handlers run with -f and -N to force to background
## example: ssh -f locPI -N && ssh PI
## Port open to localhost : 9999 - for SSH
## Port open to localhost : 3389 - for xRDP
## Port open to localhost : 1080 - for Socks proxy
## Port open to tunnel 192.168.2.60 : 2220 - for FTP that is on same network as SSH server
Host locPI
    ExitOnForwardFailure yes
    BatchMode yes
    Protocol 2
    Port 22
    Hostname 192.168.1.50
    User pi
    IdentityFile ~/.ssh/id_rsa
    ForwardX11 yes
## Forward for ssh, vnc and xrdp on pi
    LocalForward 9999 192.168.1.50:2222
    LocalForward 3389 192.168.1.50:3389
    LocalForward 5901 192.168.1.50:5901
## Forward for FTP server
    RemoteForward 2220 192.168.2.60:2221
#    DynamicForward 1080
Host extPI
    ExitOnForwardFailure yes
    BatchMode yes
    Protocol 2
    Port 9988
#    Hostname <somedomain>.duckdns.org
    User pi
    IdentityFile ~/.ssh/id_rsa
    ForwardX11 yes
## Forward for ssh, vnc and xrdp on pi
    LocalForward 9999 <somedomain>duckdns.org:2222
    LocalForward 3389 <somedomain>duckdns.org:3389
    LocalForward 5901 <somedomain>duckdns.org:5901
## Forward for FTP server
    RemoteForward 2220 192.168.1.60:2221
    DynamicForward 1080
## Settings for connections through localhost
Host localhost
    RSAAuthentication yes
    PasswordAuthentication no
    GSSAPIAuthentication no
    GSSAPIDelegateCredentials no
    GSSAPIKeyExchange no
    GSSAPITrustDNS no
    HashKnownHosts yes
    ForwardX11Trusted yes
## Direct connection settings
Host EPI
    Protocol 2
    Port 9988
#    Hostname <somedomain>duckdns.org
    User pi
    IdentityFile ~/.ssh/id_rsa
Host LPI
    Protocol 2
    Port 2222
    Hostname 192.168.1.50
    User pi
    IdentityFile ~/.ssh/id_rsa
## Defaults for unknown hosts and known hosts alike
Host *
    ServerAliveInterval 400
    ConnectTimeout 30
    VisualHostKey yes
    SendEnv LANG LC_*
    EscapeChar ~
#    ForwardX11Trusted no
#    ForwardX11 no
    ForwardAgent yes
########## End of custom configs old ones commented out bellow
## Site-wide defaults for some commonly used options.  For a comprehensive
## list of available options, their meanings and defaults, please see the
## ssh_config(5) man page.
#Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/custom/ssh/key/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p gateway.example.com
#    SendEnv LANG LC_*
#    HashKnownHosts yes
#    GSSAPIAuthentication yes
#    GSSAPIDelegateCredentials no 
The above configuration pare when setup with a proper external IP or domain name address will allow for forwarded connections of VNC, xRDP, SSH, dynamic forwarding, and forwarding to another server within the SSH server's local network.
The only port that neads to be opened on your NAT for the above is; 9988 which points to 2222 at IP address 192.168.1.50
The only port that neads opened within the SSH server's firewall is 2222.
From there everything else should open up only when a forwarded connection is requested.

Usage instructions:
Use the sshd_config file on the ssh server you wish to connect to and the ssh_config file on the device that is to connect to the server.
Change the port and host assignments carefully to match your own client server relationship.

Dependencies:

Code: Select all

sudo apt-get install openssh-server
Further customization:
Additinal accounts maybe added for spicific usage, ie one account only setup to forward connections with no other permissions and another account that is singed into that only accepts forwarded connections with it's own key pare.
This organization of useraccounts for spicific perpioses and permissions is one of the binofits of Linux systems and I encurage you to read more on the subject before testing on production level servers.

For highten security you my consider knocker

Code: Select all

sudo apt-cache search knocker
~ which can keep port 2222 locked down untill a spicific set of probes from a client are detected.
Further search terms you may wish to look into are;
--- two factor authentication for openssh
--- honeypot for Linux server hosts
But these are beyond the scope of this post, yet worth metioning as each layer of security you add makes it that much more fun for those that wish un-authorized entrence to make thier attempts against.

Lastly failtoban is another wonderfull tool that you may wish to imploment so that it is much more difficult to brute force attack your ssh server.

Final notes:
There are tones of other usefull configuration pare combos out there, mine sertainly looks a bit differant, so I'll encurage you to experoment and find new ways to automate your connections securly.

___________________________________________________________________________________________________

In the case of Maptools both "LocalForward 5901 <somedomain>duckdns.org:5901" and the other LocalForward rule should be modified for your X-11 port and then your client (Android) would connect to localhost:<port> for getting the server's (RPi) GUI over local or external network connections. If using a non-standared username you'll want to change every "pi" to your server's username in the config files that match and revers match. If using WiFi on your Pi you may have issues with your Android seeing devices also attached to the same router, resetting the Android's WiFi or connecting via external network address fixes this for a time, re-booting the RPi's SSH server ocasionally will also help resolve issues with ports thinking thier still in use.

As stated above I'll be posting a set of guides covering some setups and scripts;
http://coins.ml
~ the above link will take you to the landing page, guides and scripts will be under a self-signed cert for https and pritty'ifide via WordPress. This link is still under heavy backend development and running off a RPi so it may go down for more than an hour if I'm doing horable things to the server :-P usually its a heat issue but I'm working on solving that with a fan and GPIO pins.
I have ported Maptools Mobile for Android.
link to guide to do it yourself step by step
Maptools on ARM (Android & Pi)
or
rptools [Guide] thread
link to script to use after using section 1 of above guide
My github Repos
You may contact me through the document that I'm writing or though email or through one of the mirrors that I've posted this information on for public viewing such as XDA Developers or through PM through this very site.

arusiasotto
Kobold
Posts: 7
Joined: Fri Feb 28, 2014 12:30 am

Re: [Guide] Maptools for Android | Confirmed Working+Easy Sc

Post by arusiasotto »

Having just gotten a Pi in the house, I may get to try and test this soon. We're thinking of frosting a glass tabletop I have and throwing a projector under it. Maps the size of a table? Yes please...

User avatar
S0AndS0
Cave Troll
Posts: 60
Joined: Wed May 22, 2013 3:15 am
Location: USA
Contact:

Re: [Guide] Maptools for Android | Confirmed Working+Easy Sc

Post by S0AndS0 »

Sounds like it'll be really futurisic. One thing you may consider is adapting the face reconition work being done on RPi to reconizing minitures; here's a link to the start of that rabbit hole
http://letsmakerobots.com/node/36947
~ Then you could have phisical minitures placed ontop of the table with a web camara pointed down at it for relating a digital version underneeth and to remote Maptools users.
I have ported Maptools Mobile for Android.
link to guide to do it yourself step by step
Maptools on ARM (Android & Pi)
or
rptools [Guide] thread
link to script to use after using section 1 of above guide
My github Repos
You may contact me through the document that I'm writing or though email or through one of the mirrors that I've posted this information on for public viewing such as XDA Developers or through PM through this very site.

Post Reply

Return to “Documentation Requests/Discussion”