Add --token parameter to easyinstall.sh
Add --skip-token parameter to easyinstall.sh
Install required apt packages explicitly (--no-install-recommends)
Allow standalone RaSCSI and web UI installations to specify an auth token
Add development mode to web UI (web/start.sh --dev-mode)
Initial Docker-based development environment for Python and web UI
Bump protobuf version
Workaround for Flask development server and asyncio incompatibility
Build Python protobuf interface on container launch, if it doesn’t exist
Allow containers to be configured with environment variables, add support for token authentication
Move web UI live editing setup out of main Docker Compose config
Update dockerignore to exclude by default
Update README
Add OS_DISTRO, OS_VERSION and OS_ARCH build args
Allow extracted files to be moved to target when crossing a filesystem boundary
Reduce noise from watchmedo auto-restarts
Update Docker tag structure to rascsi:{build}-{platform}-{variant}
Prevent Docker Compose from attempting to pull images from Docker registry
Add workaround for issue #821
Allow container processes to be stopped with Ctrl+C
Update README, bind to ports 8080/8443 on the Docker host by default
Update README to clarify audience and no board connectivity
Add AIBOM and GAMERNIUM to --connect_type validation
Update cfilesystem.patch following rebase
* Use the pip3 alias to work on older systems, such as Buster
* Put Reloaded into the main menu
* Make sure working dirs are created earlier in the process. Issue#803
* Update web README to point to the right dir and url
* Notify that an ssl cert is being created.
* Document the de-facto release number strategy of this project.
Co-authored-by: RaSCSI User <user@rascsi.com>
* Fix data type of --rascsi-port argument
* Add support for --rascsi-host and --rascsi-port arguments
* Add short parameter names, increase specificity of web port parameter
* debounce interrupt events for rotary events and button presses with 400 microseconds by default.
* Massive improvements for the encoder detection. Removed numpy as a dependency.
* Debounce button presses which started to jump around.
* formatting cleanup.
* Use Netatalk 2.x v220101
* Correct removal of existing copy
* Add missing libavahi-client-dev
* Improve cleanup of previous Netatalk installation
* Print out systemd status after starting the services
* Add CUPS installation
* Trigger installation of the oled monitor script after installing rascsi; break out the token auth code and clarify wordings.
* Better logic for venv cleanup
* Skip git steps if no .git dir exists
* Tweak message
* Check for git repo in start.sh
* Fix logic & cleanup
* Make a different check for git repo
* Make a different check for git repo
* Make a different check for git repo
* Move the GCC v10 compiler flags into makefile instead of easyinstall.sh
* #504 - Update the bus settle time to match the SCSI standard
Co-authored-by: RaSCSI User <user@rascsi.com>
* Use the pi_shutdown method to restart the rascsi service
* Use the pi_shutdown method to restart the rascsi service
* Remove modifications to sudoers no longer needed
* Introduce sleeps attempting to connect to socket; reduce overall number of retries
* Remove systemd helped methods and the functionality that depends on it
* Attempts to speed up splash code
* Remove unneccessary verbosity
* Attempt to optimize service definition
* Backup rascsi.service AFTER compilation to avoid disabling the service when compilation fails
* Rename constant to match naming convention
* Introduce SYSTEMD_PATH global constant
* Rename constant to match naming convention
* Change method of checking for existing systemd services, to handle a corner case scenario where the service previously existed but the .service file had been removed unexpectedly
* Add flask-login library
* Add simplepam lib to requirements
* We don't use flask-login after all
* User authentication in the web app using simplepam
* Allow only users in the sudo group to log in
* Tweak string
* This way to enforce authenticated state doesn't work here
* Open links to github in new tab
* Disallow uploads when not authenticated
* Check for the rascsi group on the system to enable webapp auth. Allow only users in the rascsi group to authenticate.
* Make the AUTH_GROUP a global constant.
* Add easyinstall option for web interface auth
* Make AUTH_GROUP a constant
* More accurate change scope
* Introduce advanced options for installing stand-alone rascsi and rascsi-web
* Add usage notes message after configuration
* Adds code comments
* Separate function for managing the cfg dir
* Add code comments
* Update easyinstall.sh
* Add sudoCheck function to prompt for user password with a contextual message, and error out when not in sudoers group
* Up-front messages on the changes that will be made to the system
* Web service message
* Message about manpage installs
* One more manpage notice
* Update manpage targets
* Use a more sturdy parameter expansion syntax
* Use a more sturdy parameter expansion syntax
* Add support for 64px screen height
* Handle case when only one argument is passed
* Simplify arg parsing
* Update install script to handle screen height selection
* Cleanup
* Update README
* Add blurb on running start.sh standalone
* Format
* Global constant for LINE_SPACING
* Make FONT_SIZE a global constant; improve code comments
* Make install script portable
* Modify rascsi-web service to accommodate portability
* Remove initialChecks call
* Introduce USER global variable
* Make the web app portable
* Make netatalk installation script portable
* Cleanup
* Cleanup
* Configure default image dir in rascsi.service
* Read rotation from the 1st command line arg
* Configure screen rotation during installation
* Better argument validation + use human readable arguments
* Cleanup
* Script for installing Netatalk
* Fix errors
* Tweak labels
* Improve script
* Fix error
* Fix error
* Fix error
* Fix errors
* Fix errors
* Add message
* Clean up old config files
* Cleanup
* Fix errors
* Cleanup
* Avoid erroring out of script
* Improve help text
* Improve help text
* Flesh out help text
* Improve help text
* Fix minor errors in easyinstall.sh and start.sh
* Make easyinstall directory portable
* Make RASCSI-web directory portable in easyinstall.sh
* Remove directory check from easyinstall.sh
* Fix failed merge
* Fix copy of web files
* Fix VIRTUAL_DRIVER_PATH
* Revert to fixed checkout dir
* Simplify rascsi-web.service installation
* Fix bugs
* Better iptables-persistent check
* Revert line commented out for testing
* Fix unintentional indentation
* Add check for the existance of a remote branch
* Add echo message when detecing local branch
* Fallback name and email for git stash command
* Add quotation marks
* Add set -x for testing
* Avoid script to exit out when sudoIsReady check fails
* Tweak conditional check
* Pass argument with -S
* Options for testing
* Testing
* Testing
* Reset stdin for suspicious actions
* Reset stdin for suspicious actions
* Testing
* Testing
* Stop testing
Co-authored-by: Jonathan karras <karrots@users.noreply.github.com>
* Fix minor errors in easyinstall.sh and start.sh
* Make easyinstall directory portable
* Remove directory check from easyinstall.sh
* Revert to requiring the checkout dir to be /home/pi/RASCSI
Co-authored-by: Daniel Markstedt <markstedt@gmail.com>
* Handle a case where reserved ids on the Web UI side are not actually reserved on the backend side
* Better error handling when no device is found in list_devices
* Better warning message
* Tag message as error
* Fix device_info
* Get reserved ids from the server instead of storing a client side state, which caused front and backend to get out of sync in certain cases.
* Initial implementation of sidecar configuration reading and writing
* Use bytes for drive image creation internally
* Add named drive section
* Move header to base.html
* Create the disk profile list page
* Make lists of HDDs, CDRs, and Removable drives
* Implement disk image + sidecar creation
* Implement CD-ROM device sidecar creation method
* Add more device configurations
* Add disclaimer
* Hide URL if none is provided
* Make the web ui use the new protobuf parameter maps
* Make daynaport attaching UI more flexible
* Use the protobuf interface to create image files
* Use new create image method for the sidecar flow as well
* Move file deletion logic to protobuf commands; Refactor saving/loading config files
* Update disk image creation
* Fix error
* Disk images the script makes are in Mac format
* Add blurb about the risks with using Lido driver (issue#40) to the easyinstall script, while pushing less for using that feature.
* Make shutdown and reboot async operations
* More informative footer contents
* Wordsmith the Mac drive options
* Link to relevant section in the wiki
* Added GET_IMAGE_FILES
* Added default folder to GET_IMAGE_FILES
* Renaming
* Updated setting image folder
* Lists available net interfaces as a drop down when attaching daynaport
* Macs should use the hds image file ending
* Fixed default image folder handling
* Refer to device properties, instead of sidecars
* Added NETWORK_INTERFACES_INFO
* Filter "lo"
* Use PF_INET in favor of PF_INET6
* Added network interfaces to server info
* Drive property file ending defined in one place; Add handling of common urllib and file system exceptions.
* Use protobuf interface to get network interface info
* Use protobuf interface for list_files
* Repeated field cleanup
* Renaming
* Added DEVICE_TYPES_INFO
* Comment update
* Added -y option to rasctl
* Add the remaining recommended drive profiles provided by rpajarola
* Fix typos
* Add warnings to CD-ROM descriptions
* Add more recommended Sun drives
* Add capacity to name
* Move footer into base.html
* Handle removable drive insertion in the attach method (easy to do with protobuf)
* Limit which arguments to pass to an image injection command
* Cleanup
* Sort image and config files alphabetically
* Make compatible with updated protobuf interface
* Sort drives alphabetically by name
* Decriptive text for CD-ROM section
* Better description
* Hyperlink to disks page instead of button
Co-authored-by: Uwe Seimet <Uwe.Seimet@seimet.de>
* Making saving and loading config files work with protobuf
* Formatted the Status column, and fixed the available ID logic
* Updated handling of removed status for devices without image file support
* Comment update
* Fixed typo
* Updated logging
* Updated handling of removed status for devices without image file support
* Comment update
* Fixed typo
* Updated logging
* Better handling of device status
* Updated parameter handling
* Updated setting default interfaces
* Revert "Updated setting default interfaces"
This reverts commit 210abc775d.
* Revert "Updated parameter handling"
This reverts commit 35302addd5.
* Abort with a 404 if rascsi is not running. Use any protobuf response to determine whether rascsi is running (should hardly be required anymore due to the other change, but just in case).
* Move id reservation back into __main__
* Remove check for device type when validating Removed image
* Leverage device property data for better status messages
* Remove redundant string sanitation when reading config csv file
* Clean up device list generation
* Cleanup
* Remove duplicates before building valid scsi id list
* Fully translated cfilesystem.h code comments to English; partially translated cfilesystem.cpp
* rascsi supports reserving IDs
* Updated help message
* Replaced BOOL by bool
* Logging update
* Logging update
* Cleanup
* Restructure the easyinstall.sh script to combine the install/update flows, and disallow installing the webapp by itself
* Remove redundant steps handled in Makefile
* Add the functionality to specify connect_type through a parameter
* Add validation to the argument parser allowing only STANDARD and FULLSPEC as options
* Complete translation of code comments for cfilesystem.h; partial translation for cfilesystem.cpp
* Cleanup
* Merge parts of the Network Assistant script by sonique6784; fix the run_choice startup parameter
* Improve on the network setup messages
* Fix routing address
* Add checks for previous configuration; cleanup
* Cleanup
* Remove redundant step in wired setup. Improve messages.
* Cleanup
* Added default parameters to device properties
* Return parameters a device was set up with
* Add flows for configuring custom network settings; adopting some logic by sonique6784
* Improved device initialization
* Updated default parameter handling
* Updated default parameter handling
* Fixed typo
* Comment updates
* Comment update
* Make iso generation work again, and add error handling to urllib actions
* Manage default parameters in the respective device
* Print available network interfaces. Clean up step and improve descriptive messages.
* Make the script clean up previous configurations
* Make the script only show relevant interfaces
* Partial translation of cfilesystem.cpp
* Do not pass empty parameter string
* Added supports_params flag
* Completely translate code comments in cfilesystem.cpp
* Show rascsi-web status after installing
* Refactoring
* Made comparisons more consistent
* Updated error handling
* Updated exception handling
* Made comparisons more consistent
* Updated error handling
* Overlooked code comment translation
* Renaming
* Better error handling for socket connection
* Disable two NEC hd image types due to issue#232
* Comment update
* NEC sectors size must be 512 bytes
* Updated logging
* Updated vendor name handling
* Updated handling of media loading/unloading
* Comment update
* NEC sectors size must be 512 bytes
* Updated logging
* Updated vendor name handling
* Updated handling of media loading/unloading
* Better handling of removable disks in the web ui
* Added stoppable property and stopped status
* Made MO stoppable
* Removed duplicate code
* Removed duplicate code
* Copy read-only property
* Renaming
* Add an assistant for reserving scsi ids
* Don't show action if no device attached
* Implement a device_info app path, and cut down on device columns always shown
* Cleanup
* Removed duplicate code, added START/STOP
* Improved default parameter handling
* Updated load/eject handling
* Logging update
* Fixed typo
* Verified START/STOP UNIT
* Updated logging
* Updated status handling
* Updated status handling
* More status handling updates
* Logging update
* Made instance fields local variables
* Removed duplicate code, added START/STOP
* Improved default parameter handling
* Updated load/eject handling
* Logging update
* Fixed typo
* Verified START/STOP UNIT
* Updated logging
* Updated status handling
* Updated status handling
* More status handling updates
* Logging update
* Made instance fields local variables
* Made disk_t private
* Made some data structures private
* Fixed ARM compile issue
* Fast forward instead of rebase existing git repo
* Fixed ctapdriver initialization issue
* Reset read-only status when opening an image file
* Cleanup
* Cleanup
* Made logging more consistent
* Updated log level
* Cleanup
* Log load/eject on error level for testing
* Revert "Log load/eject on error level for testing"
This reverts commit d35a15ea8e.
* Assume drive is not ready after having been stopped
* Updated status handling
* Make the csv config files store all relevant device data for reading
* Read 9 column csv config files
* Fixed typo
* Rebuild manpage
* Fixed issue #234 (MODE SENSE (10) returns wrong mode parameter header)
* Removed unused code
* Enum data type update
* Removed duplicate range check
* Removed duplicate code
* Removed more duplicate code
* Logging update
* SCCD sector size was not meant to be configurable
* Better error handling for csv reading and writing
* Updated configurable sector size properties
* Removed assertion
* Improved error handling
* Updated error handling
* Re-added special error handling only relevant for SASI
* Added TODOs
* Comment update
* Added override modifier
* Removed obsolete debug flag (related code was not called)
* Comment and logging updates
* Removed obsolete try/catch
* Revert "Removed obsolete try/catch"
This reverts commit 39ca12d8b1.
* Comment update
* Removed duplicate code
* Updated error messages, use more foreach loops
* Avoid storing RaSCSI generated product info in config file
* Updated logging
* Logging update
* Save config files in json instead of csv
* Fix bugs with json config loading
* Refactoring & remove unused code
* Refactoring
* Display upper case file endings in file management list
* Only show product vendor for non-RaSCSI devices in the device list
* Translate code comment
* Refactoring
* Fix bad identation
* Improve valid file extension handling
* Add validation when attaching removable media
* Display valid file endings under the file list
* Cleanup
* Don't store 0 block size
* Fix indentation
* Read and write config files in key:pair format
* Add section for controlling logging
* README update
* Added block_count
* Cleanup, fix typos
* Support attaching CD-ROM with custom block size
* Evaluate block size when inserting a media
* rasctl display capacity if available
* Info message update
* Use kwargs for device attachment
* Fix bugs in attach_image kwargs; make config file more readable
* POC for attaching device with profile
* Only list product types valid for the particular image file
* Perform validation of HDD image size based on the product profile
* Implement sidecar config files for drive images.
* Added missing product name to NEC vital product data
* MO block size depends on capacity only
* Better error handling for device sidecar config loading
* Extended property/status display
* Property display update
* Updated error handling
* Handle image sizes in bytes internally
* Revert change
* Resolve bad merge
Co-authored-by: Uwe Seimet <Uwe.Seimet@seimet.de>
* Move to bjoern
* Stream upload
* wip
* Streams
* check for filename
* Allow easyinstall to be scripted
* Tell user we're done
* show help
* ignore hfdisk
* fix var
* Allow override of remote by setting GIT_REMOTE, default to origin
* Better handling of local changes
* Give user more info
* Fix#156 - show all supported types in web interface
* *.mos does not seem to be valid - ractl throws error
* Try some minor optomizations
Error handling
* gitignore
* New Web Interface
Fixed spacing/tabs in easy install
Added migration check
Fix update web not actually updating
Migrating from https://github.com/erichelgeson/RaSCSI-web
* Allow user to select multiple types when creating images
* Show all devices even if nothing is attached.
* If attaching an iso to a cd device, dont detach, just insert
* UI feedback and restart rascsi service
* Check for any non-0 exit code for apache2 detection
* Pretty/informative 502
* Add confirms to some actions. Works in netscape 4.7
* Fix order of params for create_new_image
* Move non-route method to service
* Add method for getting logs
* Move settings to single file
add ability to mock commands for local dev