Skip to content

New and better console based personal assistant

License

GPL-3.0, GPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE
GPL-3.0
LICENSE.txt
Notifications You must be signed in to change notification settings

harshnative/Jarvis2.O

Repository files navigation

Jarvis2.O

New and better console based personal assistant






Website

https://www.letscodeofficial.com/jarvis






Download

visit https://www.letscodeofficial.com/jarvis_downloads






Updating

You can update jarvis by either running this command inside jarvis

update jarvis

OR just downloading and installing the latest version






Installing


1. Windows

visit - https://www.letscodeofficial.com/jarvis_downloadWindows2

2. Linux (Ubuntu/Debian)

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





Online Documentation

visit - https://www.letscodeofficial.com/jarvis_docs_home






Improvement to previous Gen Jarvis

link to previous gen jarvis - https://github.com/harshnative/JARVIS

from development point of view -

  1. 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

  2. better error handling and logging system

  3. better caching and optimising in internal function

  4. easily scalable

  5. many more features






Features

Jarvis 2.O can do many things such as

  1. weather of any city
  2. speed test
  3. own settings file
  4. password manager with military class encryption
  5. Share file via both HTTP and FTP server with both wired and wireless medium.
  6. mispelled command detection
  7. auto complete command using tab
  8. in built troubleshooter

More comming soon (^_^)






OS suppport

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.






Documentation

1. Weather
2. Speed Test
3. Settings
4. File Share
5. Password Manager
6. Auto Completion
7. TroubleShoot






1. Weather

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.






2. Speed Test

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






3. Settings

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




4. File Share

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 -
  1. 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

  1. -d
start file share -d

To start a server at default folder grabed from the settings file

  1. -log
start file share -log

when you want to see realtime status of server

  1. -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

  1. 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






5. Password Manager

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






6. Auto-Completion

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






7. Troubleshoot

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






Some backend details

  1. 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.

  2. 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






Contributors

Lets Code Official




Harsh Native

More contributors are listed on website - https://www.letscodeofficial.com/jarvis_contributors






Donate 🥰

You can donate at https://www.letscodeofficial.com/jarvis_contribute






Contribute

Comming soon






license

Jarvis is licensed under GNU GENERAL PUBLIC LICENSE VERSION 3

Visit www.letscodeofficial.com/gnuV3 for license terms

About

New and better console based personal assistant

Resources

License

GPL-3.0, GPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE
GPL-3.0
LICENSE.txt

Stars

Watchers

Forks

Packages

No packages published

Languages