New and better console based personal assistant
https://www.letscodeofficial.com/jarvis
visit https://www.letscodeofficial.com/jarvis_downloads
You can update jarvis by either running this command inside jarvis
update jarvis
OR just downloading and installing the latest version
visit - https://www.letscodeofficial.com/jarvis_downloadWindows2
visit - https://www.letscodeofficial.com/jarvis_downloadLinux2
You can run sudo jarvis command without entering password every time
just run this command in jarvis and follow instructions
add me to root
or run this command in terminal -
sudo gedit /etc/sudoers
then add this line to end of file
username ALL = (root) NOPASSWD: /bin/jarvis
remember to replace the username with your user name , you can find your username by running this command in terminal -
whoami
visit - https://www.letscodeofficial.com/jarvis_docs_home
link to previous gen jarvis - https://github.com/harshnative/JARVIS
from development point of view -
-
Designed with modularity in mind that is all the internal function and packages returnes data to main function instead of priting is write away making them reusable anywere
-
better error handling and logging system
-
better caching and optimising in internal function
-
easily scalable
-
many more features
Jarvis 2.O can do many things such as
- weather of any city
- speed test
- own settings file
- password manager with military class encryption
- Share file via both HTTP and FTP server with both wired and wireless medium.
- mispelled command detection
- auto complete command using tab
- in built troubleshooter
More comming soon (^_^)
Jarvis is currently desinged , tested and maintained for linux and windows only.
But project itself is made in python as has many other supported platform, making some changes the code should be able to make jarvis run on any operating system.
1. Weather
2. Speed Test
3. Settings
4. File Share
5. Password Manager
6. Auto Completion
7. TroubleShoot
weather cityName
Were cityName can be anything. ex - london , new york
If no city name is passed then Jarvis check for the city name in city file
you can set the default city name in settings file.
speed test
Will perform the speed test and average it 2 times by default to show you the most accurate real world result
speed test -b
If you want the result in mega bytes instead of mega bits
speed test 3
If you want the result to be averaged 3 times instead of 2
averaging is limited to max 5 times
speed test -b 3
You can combine the commands
open setting
To open the settings file
update setting
To apply the newly updates settings in Jarvis
restore setting
To restore the settings file to default value
Default settings file looks like - https://github.com/harshnative/Jarvis2.O/blob/main/defaultSettings.txt
start file share
To start a ftp server A window will be prompted to select the location to share
Options for start file share command -
- http
start file share http
To start a http server
usefull when you cannot access the ftp server as HTTP only require browser to work
Remember you can only download files using http server
- -d
start file share -d
To start a server at default folder grabed from the settings file
- -log
start file share -log
when you want to see realtime status of server
- -a
start file share -a
when you want to allow anonymous access to FTP server , that is without ID password , but anonymous access is read only
- command can be clubbed together
start file share http -d -log
now jarvis will start a http server with default dir from settings file in logging mode.
stop file share
To stop file share
set file share port PORTNUMBER
To set custom file share port if the default file share port is busy in your machine which is 5000
were PORTNUMBER can be from 1000 to 9999
when the port number assigned is busy , jarvis automatically chooses a free port
show file share
Show the output created by file share again to see the exact intructions to connect
username = user , password = 147896 - default user name and password , you can change these in settings file
Note - on linux you may not be able to access files shared via file share module due to permission issue you need to run this command to fix that
add file to me
it will ask for username which you find by running whoami command in terminal
to avoid entering your user again and again you can use -d option to use username from settings file
This command basically running chown command on linux
password
To start password manager
For the first time you will need to set the password for encryption.
password should be strong enough containing mixture of characters and min 8 chars in length.
You can also set a custom path to database in settings file (path should also contain the name of db like /user/mypasswords.db)
-a
To add a password
-a -m
To add a multi line password
You will need to press on a new line - ctrl + d on linux or ctrl + z on windows to stop entering and add it
-u
To update a password
-d
To delete a password
-s
To see a password
-sa
To see all password
-c
To change password
-sa all
Jarvis has started to crush the long references and passwords while showing them in -sa to maintian a cleaner look
To see all the characters in reference and passwords you can add all to the command
like -sa all -u all -d all
After writing some part of the command you can press tab to auto complete it
Auto completion does not work when entering variables.
You commands are automatically corrected when mispelled
troubleshoot
run this command to start the trouble shooter and follow the instructions
Troubleshooter can the end will upload the log file to server for developers to investigate , it does not contain any sensitive information and password module does not have looger.
If you participated in User experience programming then you dont need to re run the command , log file will directly be uploaded
you can always opt in or out of UEP in settings file
-
Storage directory : On windows jarvis stores user file such as logs , settings , data bases etc in C:\programData\JarvisData. While in ubuntu it stores in /opt/JarvisData.
-
Encryption used in password Data base - Jarvis uses military class encryption technique provided by easySED module to securely store your passwords. you learn more about easySED at https://www.letscodeofficial.com/pySEDDocs
More contributors are listed on website - https://www.letscodeofficial.com/jarvis_contributors
You can donate at https://www.letscodeofficial.com/jarvis_contribute
Comming soon
Jarvis is licensed under GNU GENERAL PUBLIC LICENSE VERSION 3
Visit www.letscodeofficial.com/gnuV3 for license terms