Todo

====== TODO ======

===== Improve IRCNow's infrastructure ===== ===== High Priority =====

    * Finish porting new UI to dokuwiki
  * **Security hardening**
    * Updated security issues page?
    * PF hardening
    * Setup underprivileged user accounts for each $service with limited permissions
      * root should only be used as last resort
        * only root can use fdisk
      * configure doas properly
    * Check permissions
    * <del>Implement **quotas/limits**</del>
   *  Setup **openrsync** and **sftp** on shell.ircnow.org 
   * Define **Disaster Recovery Plan**
      * Automated backups
      * Restore testing
    * Discuss and vote on privacy policy
   * Replace **nsd** with **DelphinusDNSd**
     * Setup DNSSEC

===== Medium Priority =====

  * Setup **mx2**
    * Implement both mx across whole infrastructure
  * Setup **cgit** and **cvsweb**
  * Setup **snmpd**
     * Monitor:
        * Resource utilization (CPU, RAM, swap. Disk IOps and space) globally
        * Filesystem inconsistencies, SSD/HDD errors/failure trough sysutils/smartmontools
        * Stopped daemons
        * Failed backups
        * Failed scripts
      * Send email and/or output on #mon
    * **Block undesired content** (ads, porn, malware) with hosts/DNS
      * Blacklist current $domain A/AAAA records and block outgoing packets to those IPS 
  * Implement ELIST functionality (advertise in RPL_ISUPPORT) for more flexible /LiST searching. See https://modern.ircdocs.horse/#list-message and https://modern.ircdocs.horse/#elist-parameter for specification details. Added to medium because currently IRCCloud cannot gain the /LIST at all, and it is a widely used client/bouncer

===== Low Priority =====

  * Setup **carp**
  * Write and deploy **compliance.ksh** to make sure our users are not breaking the terns they agreed)
    * Check processes
    * NSFW scanbot
  * Write and deploy IRC bot so users can easily request 1 or more services
    * !request [$service]
    * Invoke **$ircnowctl**
  * Write and deploy **ircnowctl** (k(sh) or perl)
    * Controller to automate:
      * **User management** (add/mod/del/suspend/ban)
      * Enable **ssh access** (pubkeys)
      * Update **DNS records**
      * **Quota management** (enable/disable/++/--)
      * Setup **chroot**
      * **Check and fix permissions**
      * **Service management** (add/del/suspend/ban)
        * Pipe to **$servicectl**
   * Setup **tor hidden services** for each service

===== marketing =====

business plans? Hosting plans?

Shell Ads?

  - Get added to: https://www.reddit.com/r/commandline/comments/8bfx/good_free_ssh_shell_accounts/
  - <del>https://aruljohn.com/freeshell/</del> -- sent emails
  - https://freeshells.info/ -- can't find email or way to get added
  - http://www.asgaur.com/wp/unix-free-shell-accounts/
  - <del>egghelp.org</del> -- sent email
  - <del>https://shells.red-pill.eu/</del> -- emailed, waiting for approval
  - https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe
  - Get listed on undeadly.org
  - Post on stack exchange: https://unix.stackexchange.com/questions/20511/are-free-shell-accounts-safe
  - <del>https://www.learnshell.org/</del> -- Sent suggestion
  - https://flaviocopes.com/shells/

For bouncer providers, get added here:

  - https://www.lowendtalk.com/discussion/29511/free-bnc
  - https://www.reddit.com/r/irc/comments/xbjfg/free_irc_bouncer/
  - https://fedoramagazine.org/never-leave-irc-znc/

Get our IRC network listed:

  - https://search.mibbit.com/
  - https://netsplit.de/

===== opers =====

  - Train opers in basic ngircd commands
  - Set up test ircd
  - Test out spam repos
  - Write anti-spam bots
  - Switch over to achurch's services, write anti-spam services

===== IRC services =====

  - MemeServ
  - HoneyServ
  - PasteServ
  - TrapServ
  - FileServ
  - KeyServ

===== VOIP =====

  - Setup asterisk
  - Free sip accounts for everyone
  - Charge for public telephone calls
  - Charge for DIDs
  - Include SIP clients with IRC clients
  - Provide free TURN/STUN servers

===== shop =====

  - Use oscommerce
  - Add organic food products
  - Add specialty handicraft goods

===== shell accounts =====

  * offer prizes and competitions for dev
  * ask for help with wikis
  * set up easy eggdrops
  * fix cumulus cloud and h5ai
  * add rsync support
  * ffmpeg?
  * fix cloudmounter for mac
  * add rsync, sshfuse support for sftp
  * See https://blinkenshell.org/wiki/Info/ResourceLimits for reference
  * https://www.freeshells.org/wiki/index.php?title=Services
  * https://sdf.org/?tutorials
  * https://www.nyx.net/help.html#unix
  * https://www.freeshells.org/wiki/index.php?title=Services
  * https://www.grex.org/
  * https://www.unixporting.com/remote-accounts.html
  * https://sdfeu.org/w/
  * https://freeshell.de/~lysy/public/free.htm

Implement ssh automated account creation:

https://www.ostechnix.com/sdf-provides-free-shell-account-and-shell-access-to-all/

Hosting plans?

===== cronjobs =====

write cronjobs to automate wraith, bnc, acme-client

===== asterisk =====

  * Setup asterisk
  * Write documentation for SIP clients

===== ngircd =====

  * set up irc hidden service
  * Add connection/join/nick flood protection
  * Add +r restricted user mode
  * Add defcon mode
  * Add censor lists for unregistered users 
  * Verify hopm accuracy
  * Update terms of service
  * Fix /var/log/messages syslog messages for ngircd
  * Clean up patches
  * Nickserv/Chanserv flood protection
  * Migrate to atheme?
  * Add /ns and /cs aliases
  * Block nick juping  

===== ldap =====

  * Add single sign-in

===== Website =====

  * Write registration into app
  * Improve anycasting and redundancy

===== Git =====

  * Switch to stagit
  * Import git repos

===== PyLink =====

  * Fix spam filters

===== Bridges =====

  * Add support for matrix
  * Add bitlbee support for slack, twitter, telegram, discord, signal
  * Improve bitlbee documentation
  * Add telegram/discord for bnc3
  * Research bitlbee-telegram usernames foreign charset problem

===== SIP =====

  * We want to build an open source competitor that can fight head to head with discord and Skype and TeamSpeak
  * Provide free SIP accounts using Asterisk. Connect asterisk to the PSTN using a provider like callwithus.com
  * Free unlimited video calls within the network, outbound calls charge 20-50% premium
  * Put SIP softphone client in our custom IRC client, make it run natively on every major OS plus web
  * Add speech2text module to transcribe all audio into text for IRC for people who don't like typing/on mobile phones
  * Bake a SIP client into minetest so that virtual world gamers can have audio calls with our irc users
  * Bridge SIP to mumble so we can interop with the large mumble community
  * Create IRC/Web interface for registering DIDs so users can purchase their own phone numbers and get voicemail. We can charge 20-50% premium for DIDs
  * Provide free TURN/STUN services
  * Make software so easy to install and configure, a 10 year old child could do it, then charge enterprises money to help them install it in-house

===== Abuse =====

  * ban abjects, high times?
  * fix dns blacklist

===== Question2Answer =====

  * Convert to IRCNow

===== Minetest Gaming =====

  * Set up final minetest servers
  * Switch over to Fogle's craft because of better MIT license for Apple iOS and locked platforms

===== Security =====

  * Build security community
  * Add livestreaming audio/video played by bot, !play url
  * https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/identd/
  * create bot masquerades as a normal user and sets the user as +r upon receiving a PM           

====== Low Priority ======

  * Fileserv -- DCC
  * Pasteserv -- PRIVMSG
  * PM flood honeypot
  * Chan honeypot
  * NSFW scanbot
  * Write IRC games 
  * Write IRC messenger for Android, iOS, and web

===== psyBNC =====

  * Add contact lists
  * Add file upload

===== squirrel mail =====

13:39 < gry> after clicking send the page stays there for a

             few secs, i feel tempted to click send again

13:39 < gry> this might result in messages being sent twice

===== ilines =====

  * mh approved 50 per IPv6 and 50? ipv4 on ircnet
  * available on irc.us, eris.us, atw-inter.net (not ssl), and portlane.se