No description
| .gitignore | ||
| app.go | ||
| cmd.go | ||
| config.go | ||
| forwarder.go | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| README.md | ||
| ssh.go | ||
| timewarrior | ||
| tracker_sqlite.go | ||
Work Time Management and Remote Connection Tool
Description
This Golang program is a versatile tool for work time management and remote connections. It offers various functions such as starting and stopping work time tracking, displaying work time summaries, waking remote computers, and establishing SSH and RDP connections.
Main Features
- Work time tracking with
timew(TimeWarrior) - Remote computer wake-up function (Wake-on-LAN)
- SSH tunneling and port forwarding
- RDP connection establishment
Prerequisites
- Go (Golang) installed
- TimeWarrior (
timew) installed - SSH access to remote systems
- xfreerdp for RDP connections
Configuration
The program expects a configuration file with the following settings:
- SSHHost, SSHPort, SSHUser
- VardaHost, VardaUser
- LouIP, LouHost, LouMac
- RDPUser, RDPPassword
Make sure these configuration details are correctly set before running the program.
Usage
The program provides various commands that can be invoked through a user interface or command line:
Start: Starts work time tracking and establishes connectionsstop Work: Stops work time trackingstart break/stop break: Manages breaksshow week summary/show month summary: Displays work time summarieswake lou: Wakes the remote computer "Lou"connect to varda/connect to lou: Establishes connections to remote systemsstart rdp connection: Initiates an RDP connection
Security Notes
- Use secure passwords and SSH keys.
- Check network security settings for port forwarding.
- Be cautious when using
ssh.InsecureIgnoreHostKey()in production environments.
Troubleshooting
If you encounter issues, check:
- Network connections and firewalls
- SSH keys and permissions
- Correct IP addresses and port numbers in the configuration
Contribution
Contributions to improve this tool are welcome. Please create a pull request or report issues using the repository's Issues feature.