1# DuckDB
2
3[DuckDB](https://duckdb.org/) works on Val Town, with only one small tweak! We're basically using DuckDB in the same way you'd use it with a browser - using the WASM package with its dependencies fetched from [jsdelivr](https://www.jsdelivr.com/).
4
5The only trick is to create the worker ourselves rather than using `duckdb.createWorker`. DuckDB's built-in createWorker method doesn't specify a worker type, which causes `type` to default to `classic`, and Deno (our runtime) doesn't support classic workers.
1Fetches the PGN for a [Lichess](https://lichess.org) game.
2
3Migrated from folder: lichess/lichessPgn
1# GET /v1/me/runs
2
3Fetches information about runs of any val you author.
4
5Requires a secret called valtownToken, set to your API Token. See more about [authentication](https://docs.val.town/api/authentication) to understand how to generate a token.
1# GET `/v1/me`
2Fetches information about yourself.
3
4Requires a secret called `valtownToken`, set to your API Token. See more about [authentication](https://docs.val.town/api/authentication) to understand how to generate a token.
1Migrated from folder: webpush/handleFetchTextResponse
1I wanted to see if val.town forwards my client IP Address using the x-forwarded-for header, which it does, but cloudflare provides the True-Client-IP header as well. When you run a val on the website, it is actually running from val's servers so it won't come from your client IP. You'll need to copy the express fetch and run that from your client.
2
3Migrated from folder: helpers/whatIsMyIp
3Example of using the [are.na](https://dev.are.na/documentation/channels#Block43472) API to get the contents of an Are.na board - specifically my fun board that showcases websites with that "glossy black style."
4
5All you need is [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) to make this happen!
6
7Migrated from folder: API_Examples/arenaApiExample
1# ky
2
3The [ky module](https://www.npmjs.com/package/ky) is a nice abstraction around the [fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API), which is easily compatible with Deno. It's by the same creator as [got](https://npmjs.com/got), which more explicitly targets Node.js.
4
5Most of the time, the `fetch` method is all you need! But in a pinch, you can use `ky` to make things a little fancier.
6
7Migrated from folder: Modules/kyExample
1# Val Town API: Find a val by handle and name
2
3This val fetches itself via the [Val Town API](https://docs.val.town/api/reference)! Weird, right?
4
5Migrated from folder: Val_Town_API/valTownApiExampleVal
1# Fetch the source of a val
2
3> This val was created before the introduction of https://esm.town
13## Examples
14
15### Fetching the val code
16
17```console
21You can also use `js`, `jsx` and `ts` extension (only the content-type change, there is no transpilation).
22
23### Fetching private val
24
25Pass an api token as an username
29```
30
31### Fetching the val README
32
33```console
41```
42
43### Fetching a specific version of a val
44
45```console
49You need to be authenticated to use this method.
50
51### Fetching the val metadata
52
53```console