forked from team/tilde.club
Compare commits
23 Commits
Author | SHA1 | Date |
---|---|---|
root | fd39ebf4a9 | |
sebboh | 65d9970cce | |
Ben Harris | 6eea70b65a | |
deepend-tildeclub | ea02194ebb | |
deepend-tildeclub | 2551877f19 | |
deepend-tildeclub | e220e42ac6 | |
deepend-tildeclub | 171c037c6e | |
deepend-tildeclub | 5e8f9abad2 | |
deepend-tildeclub | 553b2cb8b6 | |
deepend-tildeclub | 3dbc2a18da | |
deepend-tildeclub | 4a1996d514 | |
deepend-tildeclub | 6321f43b62 | |
deepend-tildeclub | c62b366a5d | |
deepend-tildeclub | 58f274c1f1 | |
deepend-tildeclub | 277b28cb94 | |
Mike | 276f13e9eb | |
Mike | 15f808088c | |
Mike | 8fc7ab3628 | |
Mike | 8c1329c4ef | |
Javier Arce | 2fa388f251 | |
Javier Arce | 8aad792168 | |
vimes1984 | cde84ec65d | |
vimes1984 | 756ea0405a |
|
@ -0,0 +1,12 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
patreon: # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: tilde.club # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
otechie: # Replace with a single Otechie username
|
||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
@ -5,7 +5,7 @@ This is the set of code and utilities for running and managing the
|
|||
tilde.club server.
|
||||
|
||||
# What is tilde.club?
|
||||
- [http://tilde.club](http://tilde.club) is one unmodified unix server on the Internet
|
||||
- [https://tilde.club](https://tilde.club) is one unmodified unix server on the Internet
|
||||
- Several hundred people have accounts
|
||||
- It was launched at the end of September 2014
|
||||
- Tilde.Club is *also* an emerging, mutually supportive community of <del>dozens</del> <del>hundreds</del> thousands of people launching similar servers.
|
||||
|
@ -15,8 +15,8 @@ tilde.club server.
|
|||
- Especially new users who want to learn but don't like being laughed at.
|
||||
- _We won't laugh at you because we know how hard it is to learn about technology._
|
||||
- _If this is confusing we will try to help._
|
||||
- [Here is the story of how tilde.club started](https://medium.com/message/tilde-club-i-had-a-couple-drinks-and-woke-up-with-1-000-nerds-a8904f0a2ebf). Basically, one person had a few too many drinks and launched a cheap computer in the cloud. Github user @ftrain is the initiator and de-facto coordinator until he burns out.
|
||||
- [Here is the FAQ](http://tilde.club/~faq/) which is being developed here at this GitHub repository.
|
||||
- [Here is the story of how tilde.club started](https://medium.com/message/tilde-club-i-had-a-couple-drinks-and-woke-up-with-1-000-nerds-a8904f0a2ebf). Basically, one person had a few too many drinks and launched a cheap computer in the cloud. Github user @ftrain is the initiator and recently Github user @mbuchholz81 has taken over tilde.club from @ftrain.
|
||||
- [Here is the FAQ](https://tilde.club/wiki/faq.html) which is being developed here at this GitHub repository.
|
||||
- No particular entity controls tilde.club. It's emerging as sort of an open, basically free mini-Internet for people who need some refuge from the regular Internet. It was founded with the rule, "no drama," a rule directly inspired by the Mary J. Blige song "No More Drama." So far there's only been a little drama. It's only been three weeks, though. If we're honest with ourselves there is going to be drama.
|
||||
|
||||
It's all moving very fast.
|
||||
|
|
6
TODO.org
6
TODO.org
|
@ -1,6 +0,0 @@
|
|||
* TODO [#A] Get help
|
||||
* TODO [#B] Set up quotas
|
||||
* TODO [#B] Figure out chat so that people can chat with a mission, maybe a local tiny irc?
|
||||
* TODO [#B] Set up mailing list manager
|
||||
* TODO [#A] FUN FOR ME: Set up Usenet News Server
|
||||
* TODO [#A]
|
|
@ -0,0 +1 @@
|
|||
theme: jekyll-theme-minimal
|
|
@ -50,29 +50,29 @@ my $Verbose;
|
|||
# Compute $root from $domain if not set
|
||||
$root ||= "http://$domain/";
|
||||
|
||||
say("$0: domain=$domain, root=$root, since-hours=$window, destdir=$destdir",
|
||||
verbose("$0: domain=$domain, root=$root, since-hours=$window, destdir=$destdir",
|
||||
" update-every=$updatePeriod");
|
||||
|
||||
do {
|
||||
say("Scanning...");
|
||||
verbose("Scanning...");
|
||||
my @updated = getUpdated($window);
|
||||
say("Found", scalar @updated, "items.");
|
||||
verbose("Found", scalar @updated, "items.");
|
||||
|
||||
my $html = join("", map{ html( $root, @{$_} ) } @updated);
|
||||
spew("$destdir/tilde.${window}h.html", <<"EOF");
|
||||
<!DOCTYPE html>
|
||||
<html><head><title>$domain Updates (last $window hours)</title></head>
|
||||
<body>
|
||||
<html><head><link rel="stylesheet" href="/css/hacker.css"><title>$domain Updates (last $window hours)</title></head>
|
||||
<body><div class="container">
|
||||
<h1>$domain home pages updated in last $window hours</h1>
|
||||
<p> Times are in the server's time zone.</p>
|
||||
<p> There's also <a href="tilde.${window}h.json">a JSON version of this
|
||||
data</a>.</p>
|
||||
<ul>$html</ul>
|
||||
</body>
|
||||
</div></body>
|
||||
</html>
|
||||
EOF
|
||||
|
||||
my $json = join("", map{ json( $root, @{$_} ) } @updated);
|
||||
my $json = join(",\n", map{ json( $root, @{$_} ) } @updated);
|
||||
spew("$destdir/tilde.${window}h.json", "{ \"pagelist\" : [\n$json]}\n");
|
||||
|
||||
sleep($updatePeriod) if $updatePeriod > 0;
|
||||
|
@ -81,7 +81,7 @@ EOF
|
|||
|
||||
# Print the arguments to STDOUT with a newline only if $Verbose is
|
||||
# true.
|
||||
sub say {
|
||||
sub verbose {
|
||||
print join(" ", @_), "\n" if $Verbose;
|
||||
}
|
||||
|
||||
|
@ -168,7 +168,7 @@ sub json {
|
|||
{ "username" : "$user",
|
||||
"homepage" : "$url",
|
||||
"modtime" : "$mrtime",
|
||||
"changed" : "$fileUrl"},
|
||||
"changed" : "$fileUrl"}
|
||||
EOF
|
||||
}
|
||||
|
||||
|
|
|
@ -1,36 +1,113 @@
|
|||
The [tilde.etcskel repository](https://github.com/tildeclub/tilde.etcskel) contains the contents of the `/etc/skel/` directory, but since git repositories can't reproduce permissions on the files, here are the current permissions for those contents:
|
||||
|
||||
```
|
||||
[root@tilde skel]# ls -alR
|
||||
root@tilde /e/skel (master)# ls -alR
|
||||
.:
|
||||
total 40
|
||||
drwxr-xr-x 5 root root 4096 Oct 10 20:36 .
|
||||
drwxr-xr-x 90 root root 4096 Oct 15 02:39 ..
|
||||
-rw-r--r-- 1 root root 29 Oct 10 12:02 .bash_logout
|
||||
-rw-r--r-- 1 root root 176 Sep 26 00:25 .bash_profile
|
||||
-rw-r--r-- 1 root root 124 Sep 26 00:25 .bashrc
|
||||
-rw-r--r-- 1 root root 500 Sep 4 2013 .emacs
|
||||
drwx------ 2 root root 4096 Oct 10 14:23 .irssi
|
||||
-rw-r--r-- 1 root root 11 Oct 10 12:03 .logout
|
||||
drwxr-xr-x 2 root root 4096 Oct 13 19:39 public_html
|
||||
drwx------ 2 root root 4096 Oct 10 20:36 .ssh
|
||||
total 52
|
||||
drwxr-xr-x. 9 root root 258 Aug 2 17:22 ./
|
||||
drwxr-xr-x. 132 root root 12288 Sep 21 06:08 ../
|
||||
-rw-r--r--. 1 root root 29 Sep 15 2019 .bash_logout
|
||||
-rw-r--r--. 1 root root 3318 Mar 27 03:52 .bashrc
|
||||
drwxr-xr-x 3 root root 303 Oct 8 2019 .byobu/
|
||||
-rw-r--r--. 1 root root 500 Sep 15 2019 .emacs
|
||||
drwxr-xr-x. 8 root root 185 Mar 27 06:19 .git/
|
||||
drwxr-xr-x. 2 root root 35 Sep 20 2019 .irssi/
|
||||
-rw-r--r--. 1 root root 11 Sep 15 2019 .logout
|
||||
-rw-r--r--. 1 root root 124 May 17 02:01 .mkshrc
|
||||
-rw-r--r-- 1 root root 0 Mar 27 01:48 .new_user
|
||||
-rw-r--r-- 1 root root 816 Mar 27 03:05 .profile
|
||||
drwxr-xr-x. 2 root root 23 Sep 15 2019 public_gopher/
|
||||
drwxr-xr-x. 2 root root 24 Jul 7 03:43 public_html/
|
||||
-rw-r--r--. 1 root root 12 Sep 15 2019 .scrollzrc
|
||||
drwx------. 2 root root 29 Sep 15 2019 .ssh/
|
||||
drwxr-xr-x. 11 root root 4096 Dec 16 2019 .weechat/
|
||||
-rw-r--r--. 1 root root 658 Feb 24 2020 .zshrc
|
||||
|
||||
./.byobu:
|
||||
total 52
|
||||
drwxr-xr-x 3 root root 303 Oct 8 2019 ./
|
||||
drwxr-xr-x. 9 root root 258 Aug 2 17:22 ../
|
||||
-rw-r--r-- 1 root root 19 Aug 23 2018 backend
|
||||
drwxr-xr-x 2 root root 6 Aug 23 2018 bin/
|
||||
-rw-r--r-- 1 root root 38 Aug 23 2018 color
|
||||
-rw-r--r-- 1 root root 96 Aug 23 2018 color.tmux
|
||||
-rw-r--r-- 1 root root 45 Aug 23 2018 datetime.tmux
|
||||
-rw-r--r-- 1 root root 52 Aug 23 2018 keybindings
|
||||
-rw-r--r-- 1 root root 73 Aug 23 2018 keybindings.tmux
|
||||
-rw-r--r-- 1 root root 0 Aug 23 2018 .metadata_available
|
||||
-rw-r--r-- 1 root root 49 Aug 23 2018 profile
|
||||
-rw-r--r-- 1 root root 47 Aug 23 2018 profile.tmux
|
||||
-rw-r--r-- 1 root root 95 Aug 24 2018 prompt
|
||||
-rw-r--r-- 1 root root 0 Aug 23 2018 .screenrc
|
||||
-rw-r--r-- 1 root root 2833 Aug 23 2018 status
|
||||
-rw-r--r-- 1 root root 2558 Oct 8 2019 statusrc
|
||||
-rw-r--r-- 1 root root 114 Mar 27 04:00 .tmux.conf
|
||||
-rw-r--r-- 1 root root 0 Aug 23 2018 windows
|
||||
-rw-r--r-- 1 root root 8 Aug 23 2018 windows.tmux
|
||||
|
||||
./.byobu/bin:
|
||||
total 0
|
||||
drwxr-xr-x 2 root root 6 Aug 23 2018 ./
|
||||
drwxr-xr-x 3 root root 303 Oct 8 2019 ../
|
||||
|
||||
./.irssi:
|
||||
total 20
|
||||
drwx------ 2 root root 4096 Oct 10 14:23 .
|
||||
drwxr-xr-x 5 root root 4096 Oct 10 20:36 ..
|
||||
-rw-r----- 1 root root 4910 Oct 11 14:18 config
|
||||
-rw-r--r-- 1 root root 12 Oct 10 14:23 startup
|
||||
total 12
|
||||
drwxr-xr-x. 2 root root 35 Sep 20 2019 ./
|
||||
drwxr-xr-x. 9 root root 258 Aug 2 17:22 ../
|
||||
-rw-r--r--. 1 root root 4971 Sep 20 2019 config
|
||||
-rw-r--r--. 1 root root 34 Sep 15 2019 startup
|
||||
|
||||
./public_gopher:
|
||||
total 4
|
||||
drwxr-xr-x. 2 root root 23 Sep 15 2019 ./
|
||||
drwxr-xr-x. 9 root root 258 Aug 2 17:22 ../
|
||||
-rw-r--r--. 1 root root 153 Sep 15 2019 gophermap
|
||||
|
||||
./public_html:
|
||||
total 12
|
||||
drwxr-xr-x 2 root root 4096 Oct 13 19:39 .
|
||||
drwxr-xr-x 5 root root 4096 Oct 10 20:36 ..
|
||||
-rw-r--r-- 1 root root 323 Oct 13 19:44 index.html
|
||||
total 4
|
||||
drwxr-xr-x. 2 root root 24 Jul 7 03:43 ./
|
||||
drwxr-xr-x. 9 root root 258 Aug 2 17:22 ../
|
||||
-rw-r--r-- 1 root root 1223 Jul 7 03:43 index.html
|
||||
|
||||
./.ssh:
|
||||
total 8
|
||||
drwx------ 2 root root 4096 Oct 10 20:36 .
|
||||
drwxr-xr-x 5 root root 4096 Oct 10 20:36 ..
|
||||
-rw-r--r-- 1 root root 0 Oct 10 20:36 authorized_keys
|
||||
```
|
||||
total 0
|
||||
drwx------. 2 root root 29 Sep 15 2019 ./
|
||||
drwxr-xr-x. 9 root root 258 Aug 2 17:22 ../
|
||||
-rw-------. 1 root root 0 Sep 15 2019 authorized_keys
|
||||
|
||||
./.weechat:
|
||||
total 120
|
||||
drwxr-xr-x. 11 root root 4096 Dec 16 2019 ./
|
||||
drwxr-xr-x. 9 root root 258 Aug 2 17:22 ../
|
||||
-rw-------. 1 root root 872 Sep 16 2019 alias.conf
|
||||
-rw-------. 1 root root 1128 Sep 16 2019 buflist.conf
|
||||
-rw-------. 1 root root 315 Sep 16 2019 charset.conf
|
||||
-rw-------. 1 root root 378 Sep 16 2019 exec.conf
|
||||
-rw-------. 1 root root 293 Sep 16 2019 fifo.conf
|
||||
-rw-------. 1 root root 2313 Sep 16 2019 fset.conf
|
||||
drwxr-xr-x. 3 root root 22 Sep 16 2019 guile/
|
||||
-rw-------. 1 root root 299 Sep 16 2019 guile.conf
|
||||
-rw------- 1 root root 4370 Dec 16 2019 irc.conf
|
||||
-rw-------. 1 root root 598 Sep 16 2019 logger.conf
|
||||
drwx------. 2 root root 37 Sep 16 2019 logs/
|
||||
drwxr-xr-x. 3 root root 22 Sep 16 2019 lua/
|
||||
-rw-------. 1 root root 297 Sep 16 2019 lua.conf
|
||||
drwxr-xr-x. 3 root root 22 Sep 16 2019 perl/
|
||||
-rw-------. 1 root root 298 Sep 16 2019 perl.conf
|
||||
-rw-------. 1 root root 265 Sep 16 2019 plugins.conf
|
||||
drwxr-xr-x. 3 root root 22 Sep 16 2019 python/
|
||||
-rw-------. 1 root root 300 Sep 16 2019 python.conf
|
||||
-rw-------. 1 root root 1043 Sep 16 2019 relay.conf
|
||||
drwxr-xr-x. 3 root root 22 Sep 16 2019 ruby/
|
||||
-rw-------. 1 root root 298 Sep 16 2019 ruby.conf
|
||||
drwxr-xr-x. 2 root root 6 Sep 16 2019 script/
|
||||
-rw-------. 1 root root 1254 Sep 16 2019 script.conf
|
||||
-rw-------. 1 root root 329 Sep 16 2019 sec.conf
|
||||
-rw-------. 1 root root 653 Sep 16 2019 spell.conf
|
||||
drwxr-xr-x. 3 root root 22 Sep 16 2019 tcl/
|
||||
-rw-------. 1 root root 297 Sep 16 2019 tcl.conf
|
||||
-rw-------. 1 root root 2363 Sep 16 2019 trigger.conf
|
||||
-rw-------. 1 root root 20156 Sep 16 2019 weechat.conf
|
||||
-rw-r--r--. 1 root root 5741 Sep 16 2019 weechat.log
|
||||
drwx------. 2 root root 6 Sep 16 2019 xfer/
|
||||
-rw-------. 1 root root 915 Sep 16 2019 xfer.conf
|
||||
|
|
|
@ -1,34 +1,23 @@
|
|||
When we're ready to allow other tilde.club IRC servers to connect to us, these are we'll need bits of information from the remote server admin.
|
||||
### Tildeverse IRC Network
|
||||
|
||||
1. remote IRC server IP address (this needs to be the externally-reachable IP address)
|
||||
1. port the server is listening on (specifically the SSL port; we only support SSL connections)
|
||||
1. the name of the remote IRC server (if it's a charybdis server, this is `name` in the `serverinfo` section of its `ircd.conf` file)
|
||||
1. two passwords, one we will send to the remote server, and one we will receive from the remote server
|
||||
Although we are not looking for more servers to connect to our network currently, We welcome all tildes to use our network and enjoy conversations with the rest of the tildeverse.
|
||||
|
||||
The remote server must choose an [SID](http://www.stack.nl/~jilles/irc/charybdis-oper-guide/configlines.htm) (one digit and two characters which can be digits or letters); these need to be unique across the peer network. (See the bottom of this page for the current list in our peer network.) This SID then goes into the `serverinfo` block of the remote server's `ircd.conf` file.
|
||||
## How to connect
|
||||
|
||||
IRC is highly DNS-dependent; the remote IRC server must be using a DNS server which can resolve hostnames for its clients' IP addresses. So that means that if the IRC server is running on the shell server box, and clients will be connecting to `localhost`, then the DNS server needs to be able to resolve `127.0.0.1` to its valid tilde hostname; if it can't, then clients will appear as *username@127.0.0.1* rather than *username@tildehost.tld*. We're running `dnsmasq`, which is super-lightweight and uses `/etc/hosts` for its configuration -- so we were able to just add a line such as `127.0.0.1 tildehost.tld localhost` in our `/etc/hosts` and everything worked as it shoudl.
|
||||
You can connect to irc.tilde.chat on port 6697 with ssl
|
||||
|
||||
Finally, the remote shell server should be running an identd daemon (a la `oidentd`). This is because IRC is the one service out there that really, really tries to use identd to determine the non-spoofed username of the user connecting to it.
|
||||
irc.tilde.chat is a round-robin host that will return any of the available servers
|
||||
|
||||
Then, these are the configurations changes that we'll need to make at our end to enable the connections.
|
||||
if you're getting a higher ping than you'd like, try one of the geo-round-robins: na.tilde.chat, eu.tilde.chat, and au.tilde.chat on port 6697 with ssl.
|
||||
|
||||
### Firewall or EC2 security group
|
||||
or localhost 6667 from a shell on any of the member tildes :) (port 7766 on ~town)
|
||||
|
||||
The main tilde.club IRC server needs to allow traffic from the remote server; this means that we need to allow traffic from the specific IP address to port `6697` (SSL connections).
|
||||
## Current linked tilde's
|
||||
|
||||
### charybdis ircd.conf file
|
||||
|
||||
There needs to be [a `connect` section](https://github.com/tildeclub/tilde.club/blob/master/docs/ircserver.md#connect-section) in the `ircd.conf` file for each remote server. See [the documentation for our server setup](https://github.com/tildeclub/tilde.club/blob/master/docs/ircserver.md#connect-section) for full information about how this is configured.
|
||||
|
||||
## Debugging the connections
|
||||
|
||||
You should have the `/var/log/charybdis/serverinfo` log file enabled, and it's this file that will contain the pertinent information about the success or failure of server connections.
|
||||
|
||||
## Current peered hosts and server SIDs
|
||||
|
||||
* tilde.club (us): `01A`
|
||||
* yester.host: `42y`
|
||||
* tilde.red: `42X`
|
||||
* tilde.works: `42Z`
|
||||
* irc.club6.nl: `6NL`
|
||||
* tilde.club (Canada) (club.tilde.chat)
|
||||
* tilde.team (Canada) (team.tilde.chat)
|
||||
* tilde.town (US) (town.tilde.chat)
|
||||
* ctrl-c.club (ctrl-c.tilde.chat
|
||||
* aussies.space (Australia) (aussies.tilde.chat)
|
||||
* thunix.net (thunix.tilde.chat)
|
||||
* tilde.institute (institute.tilde.chat)
|
||||
|
|
133
docs/server.org
133
docs/server.org
|
@ -1,22 +1,16 @@
|
|||
#+TITLE: Server Configuration
|
||||
|
||||
* Pre-preface
|
||||
|
||||
Org-mode is amazing but not great for everyone. I will be migrating
|
||||
these docs into markdown in the future.
|
||||
|
||||
* Preface
|
||||
|
||||
This is a literate shell program written. The formatting is pretty
|
||||
straightforward. You can have documentation and code mixed up and make
|
||||
nice PDFs but also spit out code. It's good for public projects. It
|
||||
looks okay on Github. I'll set it up so that it automatically exports
|
||||
a companion shell script in time.
|
||||
looks okay on Github.
|
||||
|
||||
Let's set up a tilde.club server!
|
||||
|
||||
* Base machine
|
||||
- A standard unix server, Ubuntu or CentOS.
|
||||
- A standard unix server, Ubuntu or Fedora or Centos.
|
||||
- [TK explain servers and server math]
|
||||
|
||||
* TODO Getting started
|
||||
|
@ -28,7 +22,9 @@ First we automatically upgrade the system
|
|||
|
||||
#+begin_src bash
|
||||
echo "Installing basics"
|
||||
yum upgrade
|
||||
dnf update
|
||||
dnf upgrade
|
||||
reboot
|
||||
#+end_src
|
||||
|
||||
And we remove Java; it's a beast and it takes a lot of memory and is
|
||||
|
@ -36,63 +32,50 @@ generally a pretty bad citizen on machines that many people share.
|
|||
|
||||
#+begin_src bash
|
||||
echo "Removing java"
|
||||
yum uninstall java
|
||||
dnf uninstall java
|
||||
#+end_src
|
||||
|
||||
* Shells
|
||||
#+begin_src bash
|
||||
yum install zsh
|
||||
yum install csh
|
||||
yum-config-manager --add-repo http://fishshell.com/files/linux/RedHat_RHEL-6/fish.release:2.repo
|
||||
yum install fish
|
||||
dnf install zsh
|
||||
dnf install csh
|
||||
dnf install fish
|
||||
|
||||
#+end_src
|
||||
|
||||
* Data
|
||||
#+begin_src bash
|
||||
yum install rrdtool
|
||||
yum install jq
|
||||
dnf install rrdtool
|
||||
dnf install jq
|
||||
#+end_src
|
||||
|
||||
|
||||
* Games
|
||||
#+begin_src bash
|
||||
yum install frotz
|
||||
yum install mlmmj
|
||||
dnf install frotz
|
||||
dnf install mlmmj
|
||||
#+end_src
|
||||
|
||||
I also downloaded and installed nethack. which was a terrible pain and requires much configuration. When we move to Ubuntu it won't be necessary since there's a package so I'm ignoring it for now.
|
||||
|
||||
* Editors
|
||||
#+begin_src bash
|
||||
yum install mg vile zile
|
||||
dnf install mg vile zile nano vim
|
||||
#+end_src
|
||||
|
||||
* Usenet
|
||||
Slrn is a pain to get working on CentOS.
|
||||
|
||||
#+begin_src bash
|
||||
yum install slang slang-devel slang-static slang-slsh
|
||||
dnf install slang slang-devel slang-static slang-slsh
|
||||
#+end_src
|
||||
|
||||
Then download slrn and do a manual install
|
||||
#+begin_src bash
|
||||
dnf install slrn
|
||||
#+end_src
|
||||
|
||||
Same with tin
|
||||
|
||||
Download tin and do a manual install
|
||||
No special config
|
||||
|
||||
* Languages
|
||||
|
||||
#+begin_src bash
|
||||
yum install R
|
||||
chmod 700 /usr/bin/java*
|
||||
#=end_src bash
|
||||
|
||||
R is a huge, shitty install that requires, like LaTeX. And Java. And
|
||||
AWS wants Java too. Rather than fight the Java virus I just made it
|
||||
700 root.
|
||||
|
||||
dnf install tin
|
||||
#+end_src
|
||||
|
||||
* Servers
|
||||
Now we install servers, which allow client software to connect and
|
||||
|
@ -103,59 +86,49 @@ tool that you can use from the web.
|
|||
|
||||
#+begin_src bash
|
||||
echo "Installing servers"
|
||||
echo "1) Webmin"
|
||||
yum install perl-Net-SSLeay # (so that webmin uses HTTPS rather than HTTP)
|
||||
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.710-1.noarch.rpm
|
||||
rpm -U webmin-1.710-1.noarch.rpm
|
||||
echo "2) HTTPD/Apache"
|
||||
yum install httpd
|
||||
echo "2) nginx"
|
||||
dnf install nginx
|
||||
echo "3) Unix Talk"
|
||||
yum install talk-server
|
||||
dnf install talk-server
|
||||
echo "4) postfix mail server"
|
||||
yum install postfix
|
||||
dnf install postfix
|
||||
echo "5) dovecot IMAP server"
|
||||
dnf install dovecot
|
||||
#+end_src
|
||||
|
||||
** TODO Is postfix even necessary?
|
||||
|
||||
- [ ] We could just do maildrop.
|
||||
- [ ] I do not know.
|
||||
|
||||
** TODO Log into webmin and set things up?
|
||||
|
||||
* Applications
|
||||
#+begin_src bash
|
||||
yum install emacs
|
||||
yum install tmux
|
||||
yum install htop
|
||||
yum install elinks
|
||||
yum install nail # [?why did I did this]
|
||||
yum install lynx
|
||||
yum install figlet
|
||||
yum install ImageMagick
|
||||
yum --enablerepo=epel install -y mosh
|
||||
# Irc clients
|
||||
yum install ScrollZ
|
||||
yum install irssi
|
||||
yum install alpine
|
||||
yum install pico
|
||||
yum install readline
|
||||
yum install tig
|
||||
yum install sbcl
|
||||
yum install fortune-mod
|
||||
yum install tidy
|
||||
yum install jq
|
||||
yum install git-core
|
||||
yum --enablerepo=epel install nodejs
|
||||
yum --enablerepo=epel install npm
|
||||
#+end_src
|
||||
dnf install emacs
|
||||
dnf install tmux
|
||||
dnf install htop
|
||||
dnf install elinks
|
||||
dnf install nail # [?why did I did this]
|
||||
dnf install lynx
|
||||
dnf install links
|
||||
dnf install figlet
|
||||
dnf install ImageMagick
|
||||
dnf --enablerepo=epel install -y mosh
|
||||
|
||||
** TODO Figure out mosh ports
|
||||
** TODO Decided if we want mailman for internal private mailing lists. Probably so!
|
||||
# Irc clients
|
||||
dnf install ScrollZ
|
||||
dnf install irssi
|
||||
dnf install alpine
|
||||
dnf install pico
|
||||
dnf install readline
|
||||
dnf install tig
|
||||
dnf install sbcl
|
||||
dnf install fortune-mod
|
||||
dnf install tidy
|
||||
dnf install jq
|
||||
dnf install git-core
|
||||
dnf --enablerepo=epel install nodejs
|
||||
dnf --enablerepo=epel install npm
|
||||
#+end_src
|
||||
|
||||
* Development Tools
|
||||
#+begin_src bash
|
||||
yum groupinstall "Development Tools"
|
||||
yum install gcc
|
||||
dnf groupinstall "Development Tools"
|
||||
dnf install gcc
|
||||
chmod 700 /usr/bin/gcc*
|
||||
chmod 700 /usr/bin/cc*
|
||||
#+end_src
|
||||
|
|
136
docs/usenet.md
136
docs/usenet.md
|
@ -2,73 +2,54 @@
|
|||
|
||||
## Installation
|
||||
|
||||
Create Linux machine
|
||||
Create Linux machine (This is based on Fedora 32)
|
||||
|
||||
$ sudo -i
|
||||
root # yum update
|
||||
root $ dnf update
|
||||
|
||||
|
||||
root # yum install gcc
|
||||
root # yum install cpan
|
||||
root # yum install python-devel
|
||||
root $ dnf install innd
|
||||
|
||||
root # Get the Mime parser (for controlchan [idk wtf that is])
|
||||
root # cpan -f install Mime::Parser
|
||||
|
||||
root # wget ftp://ftp.isc.org/isc/inn/inn-2.5.4.tar.gz
|
||||
root # tar xvf inn-2.5.4.tar.gz
|
||||
root # cd inn-2.5.4
|
||||
|
||||
root # groupadd news
|
||||
root # useradd -g news -d /usr/local/news news
|
||||
|
||||
root # ./configure \
|
||||
--with-python \
|
||||
--enable-libtool \
|
||||
--with-gnu-ld \
|
||||
--with-sendmail=/usr/sbin/sendmail \
|
||||
--enable-tagged-hash \
|
||||
--enable-shared \
|
||||
LIBS="-lpthread"
|
||||
|
||||
root # vim /etc/hostname # set your hostname to something like `news`
|
||||
root # vim /etc/hosts # change local.localdomain to the new hostname
|
||||
root $ vim /etc/hostname # set your hostname to something like `news`
|
||||
root $ vim /etc/hosts # change local.localdomain to the new hostname
|
||||
|
||||
# should probably restart the machine to get the new hostname
|
||||
|
||||
root # su - news
|
||||
news $ vim etc/inn.conf
|
||||
root $ sudo -u news bash
|
||||
news $ vim /etc/inn.conf
|
||||
|
||||
The top of my `inn.conf` looks like:
|
||||
|
||||
mta: "/usr/sbin/sendmail -oi -oem %s"
|
||||
organization: "tilde.club"
|
||||
ovmethod: tradindexed
|
||||
hismethod: hisv6
|
||||
pathhost: news.tilde.club
|
||||
pathnews: /usr/local/news
|
||||
|
||||
mta: "/usr/sbin/sendmail -oi -oem %s"
|
||||
organization: "tilde.club"
|
||||
ovmethod: tradindexed
|
||||
hismethod: hisv6
|
||||
pathhost: news
|
||||
pathnews: /usr/local/news
|
||||
#runasuser:
|
||||
#runasgroup:
|
||||
|
||||
#runasuser: # default: news
|
||||
#runasgroup: # default: news
|
||||
# General Settings
|
||||
|
||||
# General Settings
|
||||
|
||||
domain: news.tilde.club
|
||||
#innflags:
|
||||
mailcmd: /usr/local/news/bin/innmail
|
||||
#server:
|
||||
domain: news.tilde.club
|
||||
#innflags:
|
||||
mailcmd: /usr/libexec/news/innmail
|
||||
server: news.tilde.club
|
||||
#syntaxchecks: [ no-laxmid ]
|
||||
|
||||
|
||||
Then you need to configure `readers.conf` to say who can connect, how, and what
|
||||
kind of things they get when they log in.
|
||||
|
||||
news $ mv etc/readers.conf etc/readers.conf.old
|
||||
news $ vim etc/readers.conf
|
||||
news $ mv /etc/news/readers.conf /etc/news/readers.conf.old
|
||||
news $ vim /etc/readers.conf
|
||||
|
||||
A rudimentary `readers.conf` looks like:
|
||||
|
||||
# as this machine will only listen to connections from the tilde.club server, I don't mind having
|
||||
# Since tilde.club is very open and inviting, I don't mind having
|
||||
# such a wild rule.
|
||||
|
||||
auth tilde.club {
|
||||
hosts: *
|
||||
default: <PUBLIC>
|
||||
|
@ -86,27 +67,64 @@ A rudimentary `readers.conf` looks like:
|
|||
perlfilter: false
|
||||
}
|
||||
|
||||
Ensure that all the history files have the right permissions:
|
||||
And finally set up the cron job to expire messages. Make sure you add this as
|
||||
the `news` user cron:
|
||||
|
||||
news $ chmod 644 ~/db/*
|
||||
|
||||
And finally set up the cron job to expire messages. Make sure you run this as
|
||||
the `news` user:
|
||||
|
||||
0 3 * * * ~/bin/news.daily expireover lowmark
|
||||
0 6 * * * /usr/libexec/news/news.daily > dev/null
|
||||
|
||||
## Running the server
|
||||
|
||||
There are some scripts in the `contrib` which will help you get started, namely
|
||||
`sample.init.script`. I think it goes into `/etc/init.d`, though I might be
|
||||
mistaken. Another option is a long-running tmux session. Either way, the
|
||||
following runs the server:
|
||||
This can be accomplished via systemd.
|
||||
|
||||
news $ bin/rc.news start
|
||||
Here is how to enable it to start automatically:
|
||||
|
||||
root $ systemctl enable innd
|
||||
|
||||
The following runs the server:
|
||||
|
||||
root $ systemctl start innd
|
||||
|
||||
And the following stops it:
|
||||
|
||||
news $ bin/rc.news stop
|
||||
root $ systemctl stop innd
|
||||
|
||||
All errors are logged to `~/log/`. `~/log/errlog` is a good resource for finding
|
||||
All errors are logged to `/var/log/news`. `/var/log/errlog` is a good resource for finding
|
||||
out why your news server isn't running.
|
||||
|
||||
|
||||
|
||||
## Troubleshooting the server
|
||||
|
||||
If you know there are articles on the server and for some reason they do not show when you connect with a client, you can rebuild your history and index's.
|
||||
|
||||
root $ systemctl stop innd
|
||||
|
||||
root $ sudo -u news bash
|
||||
|
||||
news $ cd /var/lib/news/
|
||||
|
||||
news $ time /usr/libexec/news/makehistory -b -O -f history.n
|
||||
|
||||
news $ awk 'NF == 2 { print }' < history >> history.n
|
||||
|
||||
news $ /usr/libexec/news/makedbz -s `wc -l < history` -f history.n
|
||||
|
||||
news $ mv history.n history
|
||||
|
||||
news $ mv history.n.dir history.dir
|
||||
|
||||
news $ mv history.n.hash history.hash
|
||||
|
||||
news $ mv history.n.index history.index
|
||||
|
||||
news $ exit
|
||||
|
||||
root $ systemctl innd start
|
||||
|
||||
root $ sudo -u news /usr/libexec/news/ctlinnd renumber ''
|
||||
|
||||
Above guide was copied/modified from: https://lists.isc.org/pipermail/inn-workers/2003-September/012007.html
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
"based on revison https://github.com/tildeclub/tilde.club/commit/6a35a61621150a9547fb63201524c95ab513177b "
|
||||
# FAQ EN ESPAÑOL
|
||||
|
||||
________________________________________
|
||||
/ BIENVENIDO A TILDE.CLUB Un lugar para \
|
||||
\ las páginas web /
|
||||
----------------------------------------
|
||||
\ ^__^
|
||||
\ (oo)\_______
|
||||
(__)\ )\/\
|
||||
||----w |
|
||||
|| ||
|
||||
|
||||
## ¿Quieres unirte? ¡Estaremos encantados de conocerte!
|
||||
|
||||
Tenemos algún que otro problema de capacidad y organización que solucionar, pero estamos trabajando activamente en ello. ¡[Sigue la conversación aquí](https://github.com/tildeclub/tilde.club/issues/18) y únete a la lista de espera [aquí](http://goo.gl/forms/gRMRT1YBU4)!
|
||||
|
||||
[Varios clubs alternativos han surgido](http://tilde.club/%7Epfhawkins/othertildes.html) y carecen de lista de espera. Únete a alguno de ellos mientras trabajamos en la forma de conectarnos en una feliz e hipervinculada red de intereses comunes.
|
||||
|
||||
## ¿Cómo surgió esta cosa accidentalmente increíble?
|
||||
|
||||
[Paul ha escrito una explicacion en Medium](https://medium.com/message/tilde-club-i-had-a-couple-drinks-and-woke-up-with-1-000-nerds-a8904f0a2ebf) y puedes leer su ideas [en su blog en tilde](http://tilde.club/~ford/).
|
||||
|
||||
## Ya estoy en Tilde, ¿y ahora qué?
|
||||
|
||||
Tilde cuenta con un gran espíritu de communidad y estamos intentando por todos los medios que se mantenga así. Estamos redactando unas normas de etiqueta para los recién llegados. Mientras tanto…
|
||||
|
||||
- ¡NO PIRATEES EL GIBSON!
|
||||
- Nada de dramas. Se respetuoso. Diviértete. Nos estamos esforzando y estamos todos juntos en esto.
|
||||
|
||||
## Lo he pillado, no seas un capullo. Pero cómo, ehhh, ¿hago cosas?
|
||||
|
||||
[~anthonydpaul te tiene cubierto con el tutorial oficial no oficial introductorio](http://tilde.club/~anthonydpaul/primer.html).
|
||||
|
||||
## Otros enlaces
|
||||
|
||||
- [Github](https://github.com/tildeclub/tilde.club)
|
||||
- [Webring](http://tilde.club/~harper/link.html?action=join)
|
||||
- [Skillswap](http://goo.gl/forms/LT2bDgtmwH)
|
||||
|
||||
Estamos deseando conocerte.
|
||||
|
||||
|
||||
|
||||
__ .' '.
|
||||
_/__) . . .
|
||||
(8|)_}}- . . .
|
||||
`\__) '. . ' ' . . '
|
||||
|
62
faq.md
62
faq.md
|
@ -1,62 +0,0 @@
|
|||
# FAQ
|
||||
|
||||
_______________________________________
|
||||
/ WELCOME TO TILDE.CLUB A place for web \
|
||||
\ pages /
|
||||
---------------------------------------
|
||||
\ ^__^
|
||||
\ (oo)\_______
|
||||
(__)\ )\/\
|
||||
||----w |
|
||||
|| ||
|
||||
|
||||
## Looking to join? We can't wait to meet you!
|
||||
|
||||
[Several alternate sites have sprouted up](http://tilde.club/%7Epfhawkins/othertildes.html) and they have no waiting list. Feel free to join one and we can start working on ways to get everyone connected into one happy hyperlinked network of shared interests. [Here is a "where we are at now" statement](http://tilde.club/~ford/index.html#journal-2014-12-03) that explains some things.
|
||||
|
||||
## How did this accidentally awesome thing get started?
|
||||
|
||||
[Paul wrote an explanation on Medium](https://medium.com/message/tilde-club-i-had-a-couple-drinks-and-woke-up-with-1-000-nerds-a8904f0a2ebf) and you can follow along with his thinking [on his tilde blog](http://tilde.club/~ford/).
|
||||
|
||||
## I'm on Tilde, now what?
|
||||
|
||||
Tilde has a great community culture and we're trying hard to keep it that way. We're working on some netiquette outlines for people who are new to all of this. In the meantime...
|
||||
|
||||
- DON'T HACK THE GIBSON.
|
||||
- no drama. be respectful. have fun. we're all trying, and we're all in this together :)
|
||||
|
||||
## Got it, don't be a jerk. But how do I, like, do things?
|
||||
|
||||
Here are some good places to start
|
||||
|
||||
- [the unofficial official tilde primer](http://tilde.club/~anthonydpaul/primer.html)
|
||||
- [some quick tips](http://tilde.club/~procload/)
|
||||
- [some more quick tips](http://tilde.club/~pfhawkins/tipsntricks.html)
|
||||
- [how do I usenet in Alpine](http://tilde.club/~cortex/usenet_in_pine.txt)?
|
||||
- [help me understand 'screen'](http://tilde.club/~jonathan/screen/)
|
||||
|
||||
## Who are all these folks and what are they up to?
|
||||
|
||||
- [tell me some lore](http://tilde.club/~joeld/tildelore.html)?
|
||||
- [who is online right now](http://tilde.club/~whitneymcn/whoville.shtml)?
|
||||
- [who updated their websites recently](http://tilde.club/~delfuego/tilde.24h.html)?
|
||||
- [who links to each other](http://tilde.club/~ford/social.html)?
|
||||
- [can you give me a blogroll](http://tilde.club/~_/)?
|
||||
|
||||
## Other links
|
||||
- [Github](https://github.com/tildeclub/tilde.club)
|
||||
- [Webring](http://tilde.club/~harper/link.html?action=join)
|
||||
- [Skillswap](http://goo.gl/forms/LT2bDgtmwH)
|
||||
|
||||
## How do you pronounce "tilde"?
|
||||
|
||||
Tilde the word is pronounced TIL-duh. Tilde the community is pronounced TIL-dee.
|
||||
|
||||
We can't wait to meet you. Seriously.
|
||||
|
||||
|
||||
__ .' '.
|
||||
_/__) . . .
|
||||
(8|)_}}- . . .
|
||||
`\__) '. . ' ' . . '
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
|
||||
# NETIQUETTE
|
||||
|
||||
Coming soon. We should have one, but let's discuss how to link to it.
|
Loading…
Reference in New Issue