• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 09:43
CEST 15:43
KST 22:43
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
BGE Stara Zagora 2025: Info & Preview27Code S RO12 Preview: GuMiho, Bunny, SHIN, ByuN3The Memories We Share - Facing the Final(?) GSL46Code S RO12 Preview: Cure, Zoun, Solar, Creator4[ASL19] Finals Preview: Daunting Task30
Community News
[BSL20] ProLeague: Bracket Stage & Dates9GSL Ro4 and Finals moved to Sunday June 15th12Weekly Cups (May 27-June 1): ByuN goes back-to-back0EWC 2025 Regional Qualifier Results26Code S RO12 Results + RO8 Groups (2025 Season 2)3
StarCraft 2
General
BGE Stara Zagora 2025: Info & Preview The SCII GOAT: A statistical Evaluation Magnus Carlsen and Fabi review Clem's chess game. Jim claims he and Firefly were involved in match-fixing GSL Ro4 and Finals moved to Sunday June 15th
Tourneys
Bellum Gens Elite: Stara Zagora 2025 Sparkling Tuna Cup - Weekly Open Tournament SOOPer7s Showmatches 2025 Master Swan Open (Global Bronze-Master 2) $5,100+ SEL Season 2 Championship (SC: Evo)
Strategy
[G] Darkgrid Layout Simple Questions Simple Answers [G] PvT Cheese: 13 Gate Proxy Robo
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 476 Charnel House Mutation # 475 Hard Target Mutation # 474 Futile Resistance Mutation # 473 Cold is the Void
Brood War
General
BW General Discussion [BSL20] ProLeague: Bracket Stage & Dates Will foreigners ever be able to challenge Koreans? BGH auto balance -> http://bghmmr.eu/ I made an ASL quiz
Tourneys
[ASL19] Grand Finals [Megathread] Daily Proleagues [BSL20] ProLeague Bracket Stage - Day 2 [BSL20] ProLeague Bracket Stage - Day 1
Strategy
I am doing this better than progamers do. [G] How to get started on ladder as a new Z player
Other Games
General Games
Stormgate/Frost Giant Megathread What do you want from future RTS games? Path of Exile Nintendo Switch Thread Mechabellum
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
LiquidLegends to reintegrate into TL.net
Heroes of the Storm
Heroes of the Storm 2.0 Simple Questions, Simple Answers
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread Vape Nation Thread European Politico-economics QA Mega-thread
Fan Clubs
Maru Fan Club Serral Fan Club
Media & Entertainment
Korean Music Discussion [Manga] One Piece
Sports
2024 - 2025 Football Thread Formula 1 Discussion NHL Playoffs 2024
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Cleaning My Mechanical Keyboard
TL Community
The Automated Ban List
Blogs
Cognitive styles x game perf…
TrAiDoS
StarCraft improvement
iopq
Heero Yuy & the Tax…
KrillinFromwales
I was completely wrong ab…
jameswatts
Need Your Help/Advice
Glider
Trip to the Zoo
micronesia
Poker
Nebuchad
Customize Sidebar...

Website Feedback

Closed Threads



Active: 24369 users

CloudBleed Traffic Leak (TL NOT affected)

Forum Index > General Forum
Post a Reply
Team Liquid's community sites and Liquipedia are not affected by this. We use Cloudflare only for DNS, at no time do any of your requests pass through their network. -R1CH
Uvantak
Profile Blog Joined June 2011
Uruguay1381 Posts
Last Edited: 2017-02-24 06:51:28
February 24 2017 06:50 GMT
#1
#Cloudbleed HTTPS Traffic Leak

Between 2016-09-22 - 2017-02-18 passwords, private messages, API keys, and other sensitive data were leaked by Cloudflare to random requesters. Data was cached by search engines, and may have been collected by random adversaries over the past few months.

"The greatest period of impact was from February 13 and February 18 with around 1 in every 3,300,000 HTTP requests through Cloudflare potentially resulting in memory leakage (that’s about 0.00003% of requests), potential of 100k-200k paged with private data leaked every day" -- source

You can see some of the leaked data yourself in search engine caches: https://duckduckgo.com/?q= {"scheme":"http"} CF-Host-Origin-IP&t=h_&ia=web

Source

> The greatest period of impact was from February 13 and February 18 with around 1 in every 3,300,000 HTTP requests through Cloudflare potentially resulting in memory leakage (that’s about 0.00003% of requests).

1) From the metrics I recalled when I interviewed there, and assuming the given probability is correct, that means a potential of 100k-200k paged with private data leaked every day.

2) What's the probably that a page is served to a cache engine? Not a clue. Let's assume 1/1000.

3) That puts a bound around a hundred leaked pages saved per day into caches.

4) Do the cache only provide the latest version of a page? I think most do but not all. Let's ignore that aspect.

5) What's the probably that a page contains private user information like auth tokens? Maybe 1/10?

6) So, that's 10 pages saved per day into the internet search caches.

7) That's on par with their announcement: "With the help of Google, Yahoo, Bing and others, we found 770 unique URIs that had been cached and which contained leaked memory. Those 770 unique URIs covered 161 unique domains." Well, not that we know for how long this was running.

8) Now, I don't want to downplay the issue, but leaking an dozen tokens per day is not that much of a disaster. Sure it's bad, but it's not remotely close to the leak of the millennia and it's certainly not internet scale leak.

9) For the record, CloudFlare serves over one BILLION human beings. Given the tone and the drama I expected way more data from this leak. This is a huge disappointment.

Happy Ending: You were probably not affected.


The list of affected sites is quite long, TL is there, so is Reddit, patreon, Yelp, stackoverflow and many others.

https://github.com/pirate/sites-using-cloudflare

We have got some very good Programmers here on TL, what insight can you guys give to the TL'ers?
@Kantuva | Mapmaker | KTVMaps.wordpress.com | Check my profile to see my TL map threads, and you can search for KTV in the Custom Games section to play them.
Grettin
Profile Joined April 2010
42381 Posts
Last Edited: 2017-02-24 09:38:06
February 24 2017 09:11 GMT
#2
Authy, Patreon, Uber, Stackoverflow(Apparently confirmed that not affected), Curse, Discord.. lots of sites that TLers most likely use fairly often.

Authy is what makes me a bit worried. Provides two-factor authentication for Twitch and Discord for example.


Here is the 'thread' by Tavis Ormandy, who found the vulnerability.

https://bugs.chromium.org/p/project-zero/issues/detail?id=1139

We fetched a few live samples, and we observed encryption keys, cookies, passwords, chunks of POST data and even HTTPS requests for other major cloudflare-hosted sites from other users. Once we understood what we were seeing and the implications, we immediately stopped and contacted cloudflare security.


Importantly though:

I worked with cloudflare over the weekend to help clean up where I could. I've verified that the original reproduction steps I sent cloudflare no longer work.


We've been trying to help clean up cached pages inadvertently crawled at Google. This is just a bandaid, but we're doing what we can. Cloudflare customers are going to need to decide if they need to rotate secrets and notify their users based on the facts we know.


I don't know if this issue was noticed and exploited, but I'm sure other crawlers have collected data and that users have saved or cached content and don't realize what they have, etc. We've discovered (and purged) cached pages that contain private messages from well-known services, PII from major sites that use cloudflare, and even plaintext API requests from a popular password manager that were sent over https (!!).


We keep finding more sensitive data that we need to cleanup. I didn't realize how much of the internet was sitting behind a Cloudflare CDN until this incident.

The examples we're finding are so bad, I cancelled some weekend plans to go into the office on Sunday to help build some tools to cleanup. I've informed cloudflare what I'm working on. I'm finding private messages from major dating sites, full messages from a well-known chat service, online password manager data, frames from adult video sites, hotel bookings. We're talking full https requests, client IP addresses, full responses, cookies, passwords, keys, data, everything.


And for the laughs:

Cloudflare pointed out their bug bounty program, but I noticed it has a top-tier reward of a t-shirt.

https://hackerone.com/cloudflare

Needless to say, this did not convey to me that they take the program seriously.


Fuck me, rofl.
"If I had force-fields in Brood War, I'd never lose." -Bisu
Acrofales
Profile Joined August 2010
Spain17952 Posts
February 24 2017 10:49 GMT
#3
I have no idea what this means. I googled what CloudFlare does exactly, and it sounds rather useful, but I'm not sure what this vulnerability means. Shouldn't https to cloudflare be the same encrypted jibberish as https to anywhere else? So unless cloudflare is dumping unencrypted data somewhere somehow, what does this mean?
Yurie
Profile Blog Joined August 2010
11790 Posts
Last Edited: 2017-02-24 11:14:15
February 24 2017 11:11 GMT
#4
On February 24 2017 19:49 Acrofales wrote:
I have no idea what this means. I googled what CloudFlare does exactly, and it sounds rather useful, but I'm not sure what this vulnerability means. Shouldn't https to cloudflare be the same encrypted jibberish as https to anywhere else? So unless cloudflare is dumping unencrypted data somewhere somehow, what does this mean?


The parser failed to correctly upgrade HTTP content to encrypted HTTPS, resulting in data being made available without any protections.


http://www.wired.co.uk/article/cloudflare-cloudbleed-passwords-leaked-online
ahswtini
Profile Blog Joined June 2008
Northern Ireland22208 Posts
February 24 2017 11:13 GMT
#5
a company of cloudflare's size and coverage offering a t-shirt for its bug bounty reward? lol
"As I've said, balance isn't about strategies or counters, it's about probability and statistics." - paralleluniverse
Nukeface
Profile Joined March 2014
Netherlands1 Post
February 24 2017 11:34 GMT
#6
Cloudbleed means that any site that had it's data (http or https, doesn't matter) might be affected.

The effect of the error in code is that the servers of CF had memory-leaks. Memory leaks are exactly what they sound like, bits of the RAM data gets "leaked", or, more explained, returned to the server/user that did the request "causing" the leak.

Thus, if I were a Google Server and requested all of the pages of Team Liquid (.net), and that data would go through CF, I might also get data returned that the TL host, through CF, might have accessed (and thus had placed in RAM on the server). It might not be all, could just be snippets of data. Just that... those snippets include: everything. (usernames, passwords, "secrets" from 2FA (two-factor-authentication), frames from video files, a corner of a .jpg file. Anything.

To make sure that, apart from any possible data that is now already "public" (ie., indexed by search engines) you (users and admins alike) change the following:
- database passwords
- server passwords
- SSH keys to/from servers/user accounts
- other encryption/authentication keys

Also change passwords to password managers! (like LastPass, confirmed was that 1Password was not affected, saw the link somewhere, cant find it in my history anymore though).

So yea, this is potentially very serious as ANY information that should've been kept secret "might" now be publicly available in a search engine index.

For example, some of the leaked data via this link: https://duckduckgo.com/?q= {"scheme":"http"} CF-Host-Origin-IP&t=h_&ia=web
Or run your own search on DDG using: {"scheme":"http"} CF-Host-Origin-IP

Happy changing your privates
Acrofales
Profile Joined August 2010
Spain17952 Posts
February 24 2017 11:42 GMT
#7
On February 24 2017 20:11 Yurie wrote:
Show nested quote +
On February 24 2017 19:49 Acrofales wrote:
I have no idea what this means. I googled what CloudFlare does exactly, and it sounds rather useful, but I'm not sure what this vulnerability means. Shouldn't https to cloudflare be the same encrypted jibberish as https to anywhere else? So unless cloudflare is dumping unencrypted data somewhere somehow, what does this mean?


Show nested quote +
The parser failed to correctly upgrade HTTP content to encrypted HTTPS, resulting in data being made available without any protections.


http://www.wired.co.uk/article/cloudflare-cloudbleed-passwords-leaked-online

Okay, that makes sense. Thanks. They link through to this site:
https://medium.com/@octal/cloudbleed-how-to-deal-with-it-150e907fd165#.xdw2fw4tq for what end users should do, but I don't understand the advice:
From an individual perspective, this is straightforward —the most effective mitigation is to change your passwords. While this might not be necessary (it is unlikely your passwords were exposed in this incident), it will absolutely improve your security from both this potential compromise and many other, far more likely security issues. Cloudflare is behind many of the largest consumer web services (Uber, Fitbit, OKCupid, …), so rather than trying to identify which services are on Cloudflare, it’s probably most prudent to use this as an opportunity to rotate ALL passwords on all of your sites. Best practice is to use a long random string for each password, unique for each site, and to manage that collection using a “password manager”, such as 1Password, LastPass, or the built-in password managers in modern web browsers. Users should also log out and log in to their mobile applications after this update. While you’re at it, if it’s possible to use 2FA or 2SV with sites you consider important (using something like TOTP/Google Authenticator or U2F), that’s a meaningful security upgrade, too.


2FA or 2SV makes sense. Obviously using unique passwords for different sites also makes sense. But because such passwords are impossible to remember (hell, I use about 6 different passwords and "obsolete" them every now and then by replacing them, yet still have problems remembering which password I used where), you would absolutely need one of those password managers. But doesn't this return us to a single point of failure? What if the service you happen to choose is insecure (lets say 1Password gets hacked)? Why is that better in any way, shape or form, than Google getting hacked?
So all it seems to do is add an extra way to hack my Google account (can go straight to Google, or go through 1Password). Either way they have access to my emails (and if they have full access, they can easily get access to most of my other accounts by having the password reset and sent to my email account). So what exactly is the point? Using the browser's password manager is a more secure solution (you'd need physical access to the machine), but also means that you can only log on from one machine, because there's no way you can remember a whole list of randomly generated unique passwords.
Yurie
Profile Blog Joined August 2010
11790 Posts
February 24 2017 11:48 GMT
#8
On February 24 2017 20:42 Acrofales wrote:
Show nested quote +
On February 24 2017 20:11 Yurie wrote:
On February 24 2017 19:49 Acrofales wrote:
I have no idea what this means. I googled what CloudFlare does exactly, and it sounds rather useful, but I'm not sure what this vulnerability means. Shouldn't https to cloudflare be the same encrypted jibberish as https to anywhere else? So unless cloudflare is dumping unencrypted data somewhere somehow, what does this mean?


The parser failed to correctly upgrade HTTP content to encrypted HTTPS, resulting in data being made available without any protections.


http://www.wired.co.uk/article/cloudflare-cloudbleed-passwords-leaked-online

Okay, that makes sense. Thanks. They link through to this site:
https://medium.com/@octal/cloudbleed-how-to-deal-with-it-150e907fd165#.xdw2fw4tq for what end users should do, but I don't understand the advice:
Show nested quote +
From an individual perspective, this is straightforward —the most effective mitigation is to change your passwords. While this might not be necessary (it is unlikely your passwords were exposed in this incident), it will absolutely improve your security from both this potential compromise and many other, far more likely security issues. Cloudflare is behind many of the largest consumer web services (Uber, Fitbit, OKCupid, …), so rather than trying to identify which services are on Cloudflare, it’s probably most prudent to use this as an opportunity to rotate ALL passwords on all of your sites. Best practice is to use a long random string for each password, unique for each site, and to manage that collection using a “password manager”, such as 1Password, LastPass, or the built-in password managers in modern web browsers. Users should also log out and log in to their mobile applications after this update. While you’re at it, if it’s possible to use 2FA or 2SV with sites you consider important (using something like TOTP/Google Authenticator or U2F), that’s a meaningful security upgrade, too.


2FA or 2SV makes sense. Obviously using unique passwords for different sites also makes sense. But because such passwords are impossible to remember (hell, I use about 6 different passwords and "obsolete" them every now and then by replacing them, yet still have problems remembering which password I used where), you would absolutely need one of those password managers. But doesn't this return us to a single point of failure? What if the service you happen to choose is insecure (lets say 1Password gets hacked)? Why is that better in any way, shape or form, than Google getting hacked?
So all it seems to do is add an extra way to hack my Google account (can go straight to Google, or go through 1Password). Either way they have access to my emails (and if they have full access, they can easily get access to most of my other accounts by having the password reset and sent to my email account). So what exactly is the point? Using the browser's password manager is a more secure solution (you'd need physical access to the machine), but also means that you can only log on from one machine, because there's no way you can remember a whole list of randomly generated unique passwords.


There are offline password managers where they have to snatch your file and then break your password on it. Most popular is Keepass. Many keep a copy of their file on dropbox so they can use it on different devices. Doesn't really matter if somebody gets the file since you have a very very strong master password memorised for it.
KOFgokuon
Profile Blog Joined August 2004
United States14893 Posts
February 24 2017 12:31 GMT
#9
So this reads like it's a big deal, but if it is, why isn't this being highlighted more strongly by TL management?
Yurie
Profile Blog Joined August 2010
11790 Posts
February 24 2017 12:35 GMT
#10
On February 24 2017 21:31 KOFgokuon wrote:
So this reads like it's a big deal, but if it is, why isn't this being highlighted more strongly by TL management?


Because it isn't a big deal and it has been hours since the story broke. It is at most a medium deal and TL still needs time to check the facts and come out with a statement that is correct and relevant.
Ragnarork
Profile Blog Joined June 2011
France9034 Posts
Last Edited: 2017-02-24 12:47:07
February 24 2017 12:46 GMT
#11
On February 24 2017 21:35 Yurie wrote:
Show nested quote +
On February 24 2017 21:31 KOFgokuon wrote:
So this reads like it's a big deal, but if it is, why isn't this being highlighted more strongly by TL management?


Because it isn't a big deal and it has been hours since the story broke. It is at most a medium deal and TL still needs time to check the facts and come out with a statement that is correct and relevant.


It is a big deal. The story broke a few hours ago, but the leak has been happening for months. Changing all your passwords is the least you can do the be somewhat safe. Enabling 2FA is another step that would be suited to be even safer.
LiquipediaWanderer
Grettin
Profile Joined April 2010
42381 Posts
February 24 2017 13:22 GMT
#12
"If I had force-fields in Brood War, I'd never lose." -Bisu
salle
Profile Blog Joined August 2010
Sweden5554 Posts
Last Edited: 2017-02-24 13:24:14
February 24 2017 13:23 GMT
#13
So I was 99% sure we weren't affected but I wanted to wait for R1CH to confirm.

Changed the thread title to reflect this.

EDIT: Still, changing passwords and using a password manager that creates a unique password for each website or service you use is highly recommended.
Administrator"Ambitious but rubbish!" - Jeremy Clarkson
Clubfan
Profile Blog Joined May 2013
Germany913 Posts
February 24 2017 13:23 GMT
#14
Looks like TL isn't affected, someone should probably re-name the thread:


The list on GitHub apparently lists all (or at least a lot of) Cloudflare's DNS users, but that service isn't really the problem for the data breach. Nonehteless, it's a good idea to use password managers and not re-use passwords.
LiquipediaLickyPiddy manager
Merano
Profile Joined January 2008
Austria105 Posts
February 24 2017 13:24 GMT
#15
R1CH already posted that TL is not affected:
https://www.reddit.com/r/DotA2/comments/5vwhkb/massive_password_leak_including_teamliquidnet/de5lel1/
flamewheel
Profile Blog Joined December 2009
FREEAGLELAND26781 Posts
February 24 2017 13:57 GMT
#16
R1CH \o/
Writerdamn, i was two days from retirement
Shock710
Profile Blog Joined December 2009
Australia6097 Posts
February 24 2017 14:09 GMT
#17
R1CH is the man i was worried there for a second phew... TL! TL! TL!
dAPhREAk gives Shock a * | [23:55] <Shock710> that was out of context -_- [16:26] <@motbob> Good question, Shock!
salle
Profile Blog Joined August 2010
Sweden5554 Posts
Last Edited: 2017-02-24 14:12:44
February 24 2017 14:12 GMT
#18
He tweeted this last night:


Administrator"Ambitious but rubbish!" - Jeremy Clarkson
Please log in or register to reply.
Live Events Refresh
AllThingsProtoss
11:00
Team League - Grand Finals
Gemini_19224
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Hui .294
EnDerr 101
ProTech94
StarCraft: Brood War
Sea 10586
Calm 6298
Horang2 2909
Rain 2805
Shuttle 2377
Bisu 1036
firebathero 663
Jaedong 654
EffOrt 553
Hyuk 534
[ Show more ]
Snow 370
actioN 291
Mini 265
ggaemo 192
Last 125
sorry 97
Hyun 84
TY 80
JYJ73
Aegong 70
Pusan 62
sSak 53
Sea.KH 38
Barracks 38
Rush 34
Killer 28
Mong 26
Yoon 23
GoRush 20
Sacsri 19
JulyZerg 17
Sharp 17
Terrorterran 13
yabsab 9
soO 8
ivOry 4
sas.Sziky 4
Britney 0
Dota 2
Gorgc5964
qojqva2298
XcaliburYe355
Fuzer 273
syndereN214
Counter-Strike
olofmeister1130
allub351
Heroes of the Storm
Khaldor294
Other Games
singsing2200
B2W.Neo814
mouzStarbuck454
XaKoH 78
ArmadaUGS38
Organizations
Dota 2
PGL Dota 2 - Main Stream8086
StarCraft 2
angryscii 28
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• Adnapsc2 17
• MJG 7
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Michael_bg 9
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• C_a_k_e 3295
League of Legends
• Jankos1449
Upcoming Events
Fire Grow Cup
1h 18m
BSL: ProLeague
4h 18m
HBO vs Doodle
spx vs Tech
DragOn vs Hawk
Dewalt vs TerrOr
Replay Cast
10h 18m
Replay Cast
1d 10h
Replay Cast
1d 20h
WardiTV Invitational
1d 21h
WardiTV Invitational
1d 21h
GSL Code S
2 days
Rogue vs GuMiho
Maru vs Solar
Online Event
3 days
GSL Code S
3 days
herO vs TBD
Classic vs TBD
[ Show More ]
The PondCast
3 days
Replay Cast
4 days
WardiTV Invitational
4 days
Korean StarCraft League
5 days
CranKy Ducklings
5 days
WardiTV Invitational
5 days
Cheesadelphia
6 days
GSL Code S
6 days
Sparkling Tuna Cup
6 days
Liquipedia Results

Completed

Proleague 2025-06-05
BGE Stara Zagora 2025
Heroes 10 EU

Ongoing

JPL Season 2
BSL 2v2 Season 3
BSL Season 20
KCM Race Survival 2025 Season 2
NPSL S3
Rose Open S1
CSL Season 17: Qualifier 2
2025 GSL S2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
ECL Season 49: Europe
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025
YaLLa Compass Qatar 2025
PGL Bucharest 2025
BLAST Open Spring 2025

Upcoming

CSL 17: 2025 SUMMER
Copa Latinoamericana 4
CSLPRO Last Chance 2025
CSLPRO Chat StarLAN 3
K-Championship
SEL Season 2 Championship
Esports World Cup 2025
HSC XXVII
Championship of Russia 2025
Murky Cup #2
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.